WordPress.org

Make WordPress Core

Ticket #2640: dos2unix-updated.diff

File dos2unix-updated.diff, 66.0 KB (added by nbachiyski, 8 years ago)
  • wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php

     
    1 <?php 
    2 /** 
    3  * $RCSfile: tinyspell.php,v $ 
    4  * $Revision: 1.1 $ 
    5  * $Date: 2006/03/14 17:33:47 $ 
    6  * 
    7  * @author Moxiecode 
    8  * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved. 
    9  */ 
    10  
    11         require_once("config.php"); 
    12  
    13         $id = sanitize($_POST['id'], "loose"); 
    14  
    15         if (!$spellCheckerConfig['enabled']) { 
    16                 header('Content-type: text/xml; charset=utf-8'); 
    17                 echo '<?xml version="1.0" encoding="utf-8" ?><res id="' . $id . '" error="true" msg="You must enable the spellchecker by modifying the config.php file." />'; 
    18                 die; 
    19         } 
    20  
    21         // Basic config 
    22         $defaultLanguage = $spellCheckerConfig['default.language']; 
    23         $defaultMode = $spellCheckerConfig['default.mode']; 
    24  
    25         // Normaly not required to configure 
    26         $defaultSpelling = $spellCheckerConfig['default.spelling']; 
    27         $defaultJargon = $spellCheckerConfig['default.jargon']; 
    28         $defaultEncoding = $spellCheckerConfig['default.encoding']; 
    29         $outputType = "xml"; // Do not change 
    30  
    31         // Get input parameters. 
    32  
    33         $check = $_POST['check']; 
    34         $cmd = sanitize($_POST['cmd']); 
    35         $lang = sanitize($_POST['lang'], "strict"); 
    36         $mode = sanitize($_POST['mode'], "strict"); 
    37         $spelling = sanitize($_POST['spelling'], "strict"); 
    38         $jargon = sanitize($_POST['jargon'], "strict"); 
    39         $encoding = sanitize($_POST['encoding'], "strict"); 
    40         $sg = sanitize($_POST['sg'], "bool"); 
    41         $words = array(); 
    42  
    43         $validRequest = true; 
    44  
    45         if (empty($check)) 
    46                 $validRequest = false; 
    47  
    48         if (empty($lang)) 
    49                 $lang = $defaultLanguage; 
    50  
    51         if (empty($mode)) 
    52                 $mode = $defaultMode; 
    53  
    54         if (empty($spelling)) 
    55                 $spelling = $defaultSpelling; 
    56  
    57         if (empty($jargon)) 
    58                 $jargon = $defaultJargon; 
    59  
    60         if (empty($encoding)) 
    61                 $encoding = $defaultEncoding; 
    62  
    63         function sanitize($str, $type="strict") { 
    64                 switch ($type) { 
    65                         case "strict": 
    66                                 $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str); 
    67                         break; 
    68                         case "loose": 
    69                                 $str = preg_replace("/</i", "&gt;", $str); 
    70                                 $str = preg_replace("/>/i", "&lt;", $str); 
    71                         break; 
    72                         case "bool": 
    73                                 if ($str == "true" || $str == true) 
    74                                         $str = true; 
    75                                 else 
    76                                         $str = false; 
    77                         break; 
    78                 } 
    79  
    80                 return $str; 
    81         } 
    82  
    83         $result = array(); 
    84         $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding); 
    85  
    86         if (count($tinyspell->errorMsg) == 0) { 
    87                 switch($cmd) { 
    88                         case "spell": 
    89                                 // Space for non-exec version and \n for the exec version. 
    90                                 $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY); 
    91                                 $result = $tinyspell->checkWords($words); 
    92                         break; 
    93                         case "suggest": 
    94                                 $result = $tinyspell->getSuggestion($check); 
    95                         break; 
    96                         default: 
    97                                 // Just use this for now. 
    98                                 $tinyspell->errorMsg[] = "No command."; 
    99                                 $outputType = $outputType . "error"; 
    100                         break; 
    101                 } 
    102         } else 
    103                 $outputType = $outputType . "error"; 
    104  
    105         if (!$result) 
    106                 $result = array(); 
    107  
    108         // Output data 
    109         switch($outputType) { 
    110                 case "xml": 
    111                         header('Content-type: text/xml; charset=utf-8'); 
    112                         echo '<?xml version="1.0" encoding="utf-8" ?>'; 
    113                         echo "\n"; 
    114                         if (count($result) == 0) 
    115                                 echo '<res id="' . $id . '" cmd="'. $cmd .'" />'; 
    116                         else 
    117                                 echo '<res id="' . $id . '" cmd="'. $cmd .'">'. utf8_encode(implode(" ", $result)) .'</res>'; 
    118  
    119                 break; 
    120                 case "xmlerror"; 
    121                         header('Content-type: text/xml; charset=utf-8'); 
    122                         echo '<?xml version="1.0" encoding="utf-8" ?>'; 
    123                         echo "\n"; 
    124                         echo '<res id="' . $id . '" cmd="'. $cmd .'" error="true" msg="'. implode(" ", $tinyspell->errorMsg) .'" />'; 
    125                 break; 
    126                 case "html": 
    127                         var_dump($result); 
    128                 break; 
    129                 case "htmlerror": 
    130                         echo "Error"; 
    131                 break; 
    132         } 
    133 ?>  
     1<?php 
     2/** 
     3 * $RCSfile: tinyspell.php,v $ 
     4 * $Revision: 1.1 $ 
     5 * $Date: 2006/03/14 17:33:47 $ 
     6 * 
     7 * @author Moxiecode 
     8 * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved. 
     9 */ 
     10 
     11        require_once("config.php"); 
     12 
     13        $id = sanitize($_POST['id'], "loose"); 
     14 
     15        if (!$spellCheckerConfig['enabled']) { 
     16                header('Content-type: text/xml; charset=utf-8'); 
     17                echo '<?xml version="1.0" encoding="utf-8" ?><res id="' . $id . '" error="true" msg="You must enable the spellchecker by modifying the config.php file." />'; 
     18                die; 
     19        } 
     20 
     21        // Basic config 
     22        $defaultLanguage = $spellCheckerConfig['default.language']; 
     23        $defaultMode = $spellCheckerConfig['default.mode']; 
     24 
     25        // Normaly not required to configure 
     26        $defaultSpelling = $spellCheckerConfig['default.spelling']; 
     27        $defaultJargon = $spellCheckerConfig['default.jargon']; 
     28        $defaultEncoding = $spellCheckerConfig['default.encoding']; 
     29        $outputType = "xml"; // Do not change 
     30 
     31        // Get input parameters. 
     32 
     33        $check = $_POST['check']; 
     34        $cmd = sanitize($_POST['cmd']); 
     35        $lang = sanitize($_POST['lang'], "strict"); 
     36        $mode = sanitize($_POST['mode'], "strict"); 
     37        $spelling = sanitize($_POST['spelling'], "strict"); 
     38        $jargon = sanitize($_POST['jargon'], "strict"); 
     39        $encoding = sanitize($_POST['encoding'], "strict"); 
     40        $sg = sanitize($_POST['sg'], "bool"); 
     41        $words = array(); 
     42 
     43        $validRequest = true; 
     44 
     45        if (empty($check)) 
     46                $validRequest = false; 
     47 
     48        if (empty($lang)) 
     49                $lang = $defaultLanguage; 
     50 
     51        if (empty($mode)) 
     52                $mode = $defaultMode; 
     53 
     54        if (empty($spelling)) 
     55                $spelling = $defaultSpelling; 
     56 
     57        if (empty($jargon)) 
     58                $jargon = $defaultJargon; 
     59 
     60        if (empty($encoding)) 
     61                $encoding = $defaultEncoding; 
     62 
     63        function sanitize($str, $type="strict") { 
     64                switch ($type) { 
     65                        case "strict": 
     66                                $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str); 
     67                        break; 
     68                        case "loose": 
     69                                $str = preg_replace("/</i", "&gt;", $str); 
     70                                $str = preg_replace("/>/i", "&lt;", $str); 
     71                        break; 
     72                        case "bool": 
     73                                if ($str == "true" || $str == true) 
     74                                        $str = true; 
     75                                else 
     76                                        $str = false; 
     77                        break; 
     78                } 
     79 
     80                return $str; 
     81        } 
     82 
     83        $result = array(); 
     84        $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding); 
     85 
     86        if (count($tinyspell->errorMsg) == 0) { 
     87                switch($cmd) { 
     88                        case "spell": 
     89                                // Space for non-exec version and \n for the exec version. 
     90                                $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY); 
     91                                $result = $tinyspell->checkWords($words); 
     92                        break; 
     93                        case "suggest": 
     94                                $result = $tinyspell->getSuggestion($check); 
     95                        break; 
     96                        default: 
     97                                // Just use this for now. 
     98                                $tinyspell->errorMsg[] = "No command."; 
     99                                $outputType = $outputType . "error"; 
     100                        break; 
     101                } 
     102        } else 
     103                $outputType = $outputType . "error"; 
     104 
     105        if (!$result) 
     106                $result = array(); 
     107 
     108        // Output data 
     109        switch($outputType) { 
     110                case "xml": 
     111                        header('Content-type: text/xml; charset=utf-8'); 
     112                        echo '<?xml version="1.0" encoding="utf-8" ?>'; 
     113                        echo "\n"; 
     114                        if (count($result) == 0) 
     115                                echo '<res id="' . $id . '" cmd="'. $cmd .'" />'; 
     116                        else 
     117                                echo '<res id="' . $id . '" cmd="'. $cmd .'">'. utf8_encode(implode(" ", $result)) .'</res>'; 
     118 
     119                break; 
     120                case "xmlerror"; 
     121                        header('Content-type: text/xml; charset=utf-8'); 
     122                        echo '<?xml version="1.0" encoding="utf-8" ?>'; 
     123                        echo "\n"; 
     124                        echo '<res id="' . $id . '" cmd="'. $cmd .'" error="true" msg="'. implode(" ", $tinyspell->errorMsg) .'" />'; 
     125                break; 
     126                case "html": 
     127                        var_dump($result); 
     128                break; 
     129                case "htmlerror": 
     130                        echo "Error"; 
     131                break; 
     132        } 
     133?>  
  • wp-includes/js/tinymce/plugins/spellchecker/config.php

     
    1 <?php 
    2         $spellCheckerConfig = array(); 
    3  
    4         // General settings 
    5         $spellCheckerConfig['enabled'] = true; 
    6  
    7         // Pspell shell specific settings 
    8         $spellCheckerConfig['tinypspellshell.aspell'] = '/usr/bin/aspell'; 
    9         $spellCheckerConfig['tinypspellshell.tmp'] = '/tmp'; 
    10  
    11         // Default settings 
    12         $spellCheckerConfig['default.language'] = 'en'; 
    13         $spellCheckerConfig['default.mode'] = PSPELL_FAST; 
    14  
    15         // Normaly not required to configure 
    16         $spellCheckerConfig['default.spelling'] = ""; 
    17         $spellCheckerConfig['default.jargon'] = ""; 
    18         $spellCheckerConfig['default.encoding'] = ""; 
    19  
    20         // Spellchecker class use 
    21         if ( function_exists('pspell_new') ) 
    22                 require_once("classes/TinyPspell.class.php"); // Internal PHP version 
    23  
    24         elseif ( file_exists($spellCheckerConfig['tinypspellshell.aspell']) ) 
    25                 require_once("classes/TinyPspellShell.class.php"); // Command line pspell 
    26  
    27         else 
    28                 require_once("classes/TinyGoogleSpell.class.php"); // Google web service 
    29 ?> 
     1<?php 
     2        $spellCheckerConfig = array(); 
     3 
     4        // General settings 
     5        $spellCheckerConfig['enabled'] = true; 
     6 
     7        // Pspell shell specific settings 
     8        $spellCheckerConfig['tinypspellshell.aspell'] = '/usr/bin/aspell'; 
     9        $spellCheckerConfig['tinypspellshell.tmp'] = '/tmp'; 
     10 
     11        // Default settings 
     12        $spellCheckerConfig['default.language'] = 'en'; 
     13        $spellCheckerConfig['default.mode'] = PSPELL_FAST; 
     14 
     15        // Normaly not required to configure 
     16        $spellCheckerConfig['default.spelling'] = ""; 
     17        $spellCheckerConfig['default.jargon'] = ""; 
     18        $spellCheckerConfig['default.encoding'] = ""; 
     19 
     20        // Spellchecker class use 
     21        if ( function_exists('pspell_new') ) 
     22                require_once("classes/TinyPspell.class.php"); // Internal PHP version 
     23 
     24        elseif ( file_exists($spellCheckerConfig['tinypspellshell.aspell']) ) 
     25                require_once("classes/TinyPspellShell.class.php"); // Command line pspell 
     26 
     27        else 
     28                require_once("classes/TinyGoogleSpell.class.php"); // Google web service 
     29?> 
  • wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php

     
    1 <?php 
    2 /* *  
    3  * Tiny Spelling Interface for TinyMCE Spell Checking. 
    4  * 
    5  * Copyright © 2006 Moxiecode Systems AB 
    6  * 
    7  */ 
    8  
    9 class TinyPspellShell { 
    10         var $lang; 
    11         var $mode; 
    12         var $string; 
    13         var $error; 
    14         var $errorMsg; 
    15  
    16         var $cmd; 
    17         var $tmpfile; 
    18  
    19         var $jargon; 
    20         var $spelling; 
    21         var $encoding; 
    22  
    23         function TinyPspellShell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
    24                 $this->lang = $lang; 
    25                 $this->mode = $mode; 
    26                 $this->error = false; 
    27                 $this->errorMsg = array(); 
    28  
    29                 $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell"); 
    30         $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang; 
    31         } 
    32  
    33         // Returns array with bad words or false if failed. 
    34         function checkWords($wordArray) { 
    35                 if ($fh = fopen($this->tmpfile, "w")) { 
    36                         fwrite($fh, "!\n"); 
    37                         foreach($wordArray as $key => $value) 
    38                                 fwrite($fh, "^" . $value . "\n"); 
    39  
    40                         fclose($fh); 
    41                 } else { 
    42                         $this->errorMsg[] = "PSpell not found."; 
    43                         return array(); 
    44                 } 
    45  
    46                 $data = shell_exec($this->cmd); 
    47                 $returnData = array(); 
    48                 $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); 
    49  
    50                 foreach($dataArr as $dstr) { 
    51                         $matches = array(); 
    52  
    53                         // Skip this line. 
    54                         if (strpos($dstr, "@") === 0) 
    55                                 continue; 
    56  
    57                         preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches); 
    58  
    59                         if (!empty($matches[1])) 
    60                                 $returnData[] = $matches[1]; 
    61                 } 
    62  
    63                 return $returnData; 
    64         } 
    65  
    66         // Returns array with suggestions or false if failed. 
    67         function getSuggestion($word) { 
    68                 if ($fh = fopen($this->tmpfile, "w")) { 
    69                         fwrite($fh, "!\n"); 
    70                         fwrite($fh, "^$word\n"); 
    71                         fclose($fh); 
    72                 } else 
    73                         die("Error opening tmp file."); 
    74  
    75                 $data = shell_exec($this->cmd); 
    76                 $returnData = array(); 
    77                 $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); 
    78  
    79                 foreach($dataArr as $dstr) { 
    80                         $matches = array(); 
    81  
    82                         // Skip this line. 
    83                         if (strpos($dstr, "@") === 0) 
    84                                 continue; 
    85  
    86                         preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches); 
    87  
    88                         if (!empty($matches[1])) { 
    89                                 // For some reason, the exec version seems to add commas? 
    90                                 $returnData[] = str_replace(",", "", $matches[1]); 
    91                         } 
    92                 } 
    93                 return $returnData; 
    94         } 
    95 } 
    96  
    97 // Setup classname, should be the same as the name of the spellchecker class 
    98 $spellCheckerConfig['class'] = "TinyPspellShell"; 
    99  
     1<?php 
     2/* *  
     3 * Tiny Spelling Interface for TinyMCE Spell Checking. 
     4 * 
     5 * Copyright © 2006 Moxiecode Systems AB 
     6 * 
     7 */ 
     8 
     9class TinyPspellShell { 
     10        var $lang; 
     11        var $mode; 
     12        var $string; 
     13        var $error; 
     14        var $errorMsg; 
     15 
     16        var $cmd; 
     17        var $tmpfile; 
     18 
     19        var $jargon; 
     20        var $spelling; 
     21        var $encoding; 
     22 
     23        function TinyPspellShell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
     24                $this->lang = $lang; 
     25                $this->mode = $mode; 
     26                $this->error = false; 
     27                $this->errorMsg = array(); 
     28 
     29                $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell"); 
     30        $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang; 
     31        } 
     32 
     33        // Returns array with bad words or false if failed. 
     34        function checkWords($wordArray) { 
     35                if ($fh = fopen($this->tmpfile, "w")) { 
     36                        fwrite($fh, "!\n"); 
     37                        foreach($wordArray as $key => $value) 
     38                                fwrite($fh, "^" . $value . "\n"); 
     39 
     40                        fclose($fh); 
     41                } else { 
     42                        $this->errorMsg[] = "PSpell not found."; 
     43                        return array(); 
     44                } 
     45 
     46                $data = shell_exec($this->cmd); 
     47                $returnData = array(); 
     48                $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); 
     49 
     50                foreach($dataArr as $dstr) { 
     51                        $matches = array(); 
     52 
     53                        // Skip this line. 
     54                        if (strpos($dstr, "@") === 0) 
     55                                continue; 
     56 
     57                        preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches); 
     58 
     59                        if (!empty($matches[1])) 
     60                                $returnData[] = $matches[1]; 
     61                } 
     62 
     63                return $returnData; 
     64        } 
     65 
     66        // Returns array with suggestions or false if failed. 
     67        function getSuggestion($word) { 
     68                if ($fh = fopen($this->tmpfile, "w")) { 
     69                        fwrite($fh, "!\n"); 
     70                        fwrite($fh, "^$word\n"); 
     71                        fclose($fh); 
     72                } else 
     73                        die("Error opening tmp file."); 
     74 
     75                $data = shell_exec($this->cmd); 
     76                $returnData = array(); 
     77                $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); 
     78 
     79                foreach($dataArr as $dstr) { 
     80                        $matches = array(); 
     81 
     82                        // Skip this line. 
     83                        if (strpos($dstr, "@") === 0) 
     84                                continue; 
     85 
     86                        preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches); 
     87 
     88                        if (!empty($matches[1])) { 
     89                                // For some reason, the exec version seems to add commas? 
     90                                $returnData[] = str_replace(",", "", $matches[1]); 
     91                        } 
     92                } 
     93                return $returnData; 
     94        } 
     95} 
     96 
     97// Setup classname, should be the same as the name of the spellchecker class 
     98$spellCheckerConfig['class'] = "TinyPspellShell"; 
     99 
    100100?> 
     101 No newline at end of file 
  • wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php

     
    1 <?php 
    2 /* *  
    3  * Tiny Spelling Interface for TinyMCE Spell Checking. 
    4  * 
    5  * Copyright © 2006 Moxiecode Systems AB 
    6  */ 
    7  
    8 require_once("HttpClient.class.php"); 
    9  
    10 class TinyGoogleSpell { 
    11         var $lang; 
    12  
    13         function TinyGoogleSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
    14                 $this->lang = $lang; 
    15         } 
    16  
    17         // Returns array with bad words or false if failed. 
    18         function checkWords($word_array) { 
    19                 $words = array(); 
    20                 $wordstr = implode(' ', $word_array); 
    21  
    22                 $matches = $this->_getMatches($wordstr); 
    23  
    24                 for ($i=0; $i<count($matches); $i++) 
    25                         $words[] = substr($wordstr, $matches[$i][1], $matches[$i][2]); 
    26  
    27                 return $words; 
    28         } 
    29  
    30         // Returns array with suggestions or false if failed. 
    31         function getSuggestion($word) { 
    32                 $sug = array(); 
    33  
    34                 $matches = $this->_getMatches($word); 
    35  
    36                 if (count($matches) > 0) 
    37                         $sug = explode("\t", $matches[0][4]); 
    38  
    39                 return $sug; 
    40         } 
    41  
    42         function _getMatches($word_list) { 
    43                 $xml = ""; 
    44  
    45                 // Setup HTTP Client 
    46                 $client = new HttpClient('www.google.com'); 
    47                 $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR'); 
    48                 $client->setHandleRedirects(false); 
    49                 $client->setDebug(false); 
    50  
    51                 // Setup XML request 
    52                 $xml .= '<?xml version="1.0" encoding="utf-8" ?>'; 
    53                 $xml .= '<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">'; 
    54                 $xml .= '<text>' . htmlentities($word_list) . '</text></spellrequest>'; 
    55  
    56                 // Execute HTTP Post to Google 
    57                 if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) { 
    58                         $this->errorMsg[] = 'An error occurred: ' . $client->getError(); 
    59                         return array(); 
    60                 } 
    61  
    62                 // Grab and parse content 
    63                 $xml = $client->getContent(); 
    64                 preg_match_all('/<c o="([^"]*)" l="([^"]*)" s="([^"]*)">([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); 
    65  
    66                 return $matches; 
    67         } 
    68 } 
    69  
    70 // Setup classname, should be the same as the name of the spellchecker class 
    71 $spellCheckerConfig['class'] = "TinyGoogleSpell"; 
    72  
    73 ?> 
     1<?php 
     2/* *  
     3 * Tiny Spelling Interface for TinyMCE Spell Checking. 
     4 * 
     5 * Copyright © 2006 Moxiecode Systems AB 
     6 */ 
     7 
     8require_once("HttpClient.class.php"); 
     9 
     10class TinyGoogleSpell { 
     11        var $lang; 
     12 
     13        function TinyGoogleSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
     14                $this->lang = $lang; 
     15        } 
     16 
     17        // Returns array with bad words or false if failed. 
     18        function checkWords($word_array) { 
     19                $words = array(); 
     20                $wordstr = implode(' ', $word_array); 
     21 
     22                $matches = $this->_getMatches($wordstr); 
     23 
     24                for ($i=0; $i<count($matches); $i++) 
     25                        $words[] = substr($wordstr, $matches[$i][1], $matches[$i][2]); 
     26 
     27                return $words; 
     28        } 
     29 
     30        // Returns array with suggestions or false if failed. 
     31        function getSuggestion($word) { 
     32                $sug = array(); 
     33 
     34                $matches = $this->_getMatches($word); 
     35 
     36                if (count($matches) > 0) 
     37                        $sug = explode("\t", $matches[0][4]); 
     38 
     39                return $sug; 
     40        } 
     41 
     42        function _getMatches($word_list) { 
     43                $xml = ""; 
     44 
     45                // Setup HTTP Client 
     46                $client = new HttpClient('www.google.com'); 
     47                $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR'); 
     48                $client->setHandleRedirects(false); 
     49                $client->setDebug(false); 
     50 
     51                // Setup XML request 
     52                $xml .= '<?xml version="1.0" encoding="utf-8" ?>'; 
     53                $xml .= '<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">'; 
     54                $xml .= '<text>' . htmlentities($word_list) . '</text></spellrequest>'; 
     55 
     56                // Execute HTTP Post to Google 
     57                if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) { 
     58                        $this->errorMsg[] = 'An error occurred: ' . $client->getError(); 
     59                        return array(); 
     60                } 
     61 
     62                // Grab and parse content 
     63                $xml = $client->getContent(); 
     64                preg_match_all('/<c o="([^"]*)" l="([^"]*)" s="([^"]*)">([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); 
     65 
     66                return $matches; 
     67        } 
     68} 
     69 
     70// Setup classname, should be the same as the name of the spellchecker class 
     71$spellCheckerConfig['class'] = "TinyGoogleSpell"; 
     72 
     73?> 
  • wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php

     
    1 <?php 
    2 /* *  
    3  * Tiny Spelling Interface for TinyMCE Spell Checking. 
    4  * 
    5  * Copyright © 2006 Moxiecode Systems AB 
    6  * 
    7  */ 
    8  
    9 class TinyPSpell { 
    10         var $lang; 
    11         var $mode; 
    12         var $string; 
    13         var $plink; 
    14         var $errorMsg; 
    15  
    16         var $jargon; 
    17         var $spelling; 
    18         var $encoding; 
    19  
    20         function TinyPSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
    21                 $this->lang = $lang; 
    22                 $this->mode = $mode; 
    23                 $this->plink = false; 
    24                 $this->errorMsg = array(); 
    25  
    26                 if (!function_exists("pspell_new")) { 
    27                         $this->errorMsg[] = "PSpell not found."; 
    28                         return; 
    29                 } 
    30  
    31                 $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode); 
    32         } 
    33  
    34         // Returns array with bad words or false if failed. 
    35         function checkWords($wordArray) { 
    36                 if (!$this->plink) { 
    37                         $this->errorMsg[] = "No PSpell link found for checkWords."; 
    38                         return array(); 
    39                 } 
    40  
    41                 $wordError = array(); 
    42                 foreach($wordArray as $word) { 
    43                         if(!pspell_check($this->plink, trim($word))) 
    44                                 $wordError[] = $word; 
    45                 } 
    46  
    47                 return $wordError; 
    48         } 
    49  
    50         // Returns array with suggestions or false if failed. 
    51         function getSuggestion($word) { 
    52                 if (!$this->plink) { 
    53                         $this->errorMsg[] = "No PSpell link found for getSuggestion."; 
    54                         return array(); 
    55                 } 
    56  
    57                 return pspell_suggest($this->plink, $word); 
    58         } 
    59 } 
    60  
    61 // Setup classname, should be the same as the name of the spellchecker class 
    62 $spellCheckerConfig['class'] = "TinyPspell"; 
    63  
     1<?php 
     2/* *  
     3 * Tiny Spelling Interface for TinyMCE Spell Checking. 
     4 * 
     5 * Copyright © 2006 Moxiecode Systems AB 
     6 * 
     7 */ 
     8 
     9class TinyPSpell { 
     10        var $lang; 
     11        var $mode; 
     12        var $string; 
     13        var $plink; 
     14        var $errorMsg; 
     15 
     16        var $jargon; 
     17        var $spelling; 
     18        var $encoding; 
     19 
     20        function TinyPSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) { 
     21                $this->lang = $lang; 
     22                $this->mode = $mode; 
     23                $this->plink = false; 
     24                $this->errorMsg = array(); 
     25 
     26                if (!function_exists("pspell_new")) { 
     27                        $this->errorMsg[] = "PSpell not found."; 
     28                        return; 
     29                } 
     30 
     31                $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode); 
     32        } 
     33 
     34        // Returns array with bad words or false if failed. 
     35        function checkWords($wordArray) { 
     36                if (!$this->plink) { 
     37                        $this->errorMsg[] = "No PSpell link found for checkWords."; 
     38                        return array(); 
     39                } 
     40 
     41                $wordError = array(); 
     42                foreach($wordArray as $word) { 
     43                        if(!pspell_check($this->plink, trim($word))) 
     44                                $wordError[] = $word; 
     45                } 
     46 
     47                return $wordError; 
     48        } 
     49 
     50        // Returns array with suggestions or false if failed. 
     51        function getSuggestion($word) { 
     52                if (!$this->plink) { 
     53                        $this->errorMsg[] = "No PSpell link found for getSuggestion."; 
     54                        return array(); 
     55                } 
     56 
     57                return pspell_suggest($this->plink, $word); 
     58        } 
     59} 
     60 
     61// Setup classname, should be the same as the name of the spellchecker class 
     62$spellCheckerConfig['class'] = "TinyPspell"; 
     63 
    6464?> 
     65 No newline at end of file 
  • wp-content/themes/default/functions.php

     
    1 <?php 
    2  
    3 function kubrick_head() { 
    4         $head = "<style type='text/css'>\n<!--"; 
    5         $output = ''; 
    6         if ( kubrick_header_image() ) { 
    7                 $url =  kubrick_header_image_url() ; 
    8                 $output .= "#header { background: url('$url') no-repeat bottom center; }\n"; 
    9         } 
    10         if ( false !== ( $color = kubrick_header_color() ) ) { 
    11                 $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n"; 
    12         } 
    13         if ( false !== ( $display = kubrick_header_display() ) ) { 
    14                 $output .= "#headerimg { display: $display }\n"; 
    15         } 
    16         $foot = "--></style>\n"; 
    17         if ( '' != $output ) 
    18                 echo $head . $output . $foot; 
    19 } 
    20  
    21 add_action('wp_head', 'kubrick_head'); 
    22  
    23 function kubrick_header_image() { 
    24         return apply_filters('kubrick_header_image', get_settings('kubrick_header_image')); 
    25 } 
    26  
    27 function kubrick_upper_color() { 
    28         if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
    29                 parse_str(substr($url, strpos($url, '?') + 1), $q); 
    30                 return $q['upper']; 
    31         } else 
    32                 return '69aee7'; 
    33 } 
    34  
    35 function kubrick_lower_color() { 
    36         if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
    37                 parse_str(substr($url, strpos($url, '?') + 1), $q); 
    38                 return $q['lower']; 
    39         } else 
    40                 return '4180b6'; 
    41 } 
    42  
    43 function kubrick_header_image_url() { 
    44         if ( $image = kubrick_header_image() ) 
    45                 $url = get_template_directory_uri() . '/images/' . $image; 
    46         else 
    47                 $url = get_template_directory_uri() . '/images/kubrickheader.jpg'; 
    48  
    49         return $url; 
    50 } 
    51  
    52 function kubrick_header_color() { 
    53         return apply_filters('kubrick_header_color', get_settings('kubrick_header_color')); 
    54 } 
    55  
    56 function kubrick_header_color_string() { 
    57         $color = kubrick_header_color(); 
    58         if ( false === $color ) 
    59                 return 'white'; 
    60  
    61         return $color; 
    62 } 
    63  
    64 function kubrick_header_display() { 
    65         return apply_filters('kubrick_header_display', get_settings('kubrick_header_display')); 
    66 } 
    67  
    68 function kubrick_header_display_string() { 
    69         $display = kubrick_header_display(); 
    70         return $display ? $display : 'inline'; 
    71 } 
    72  
    73 add_action('admin_menu', 'kubrick_add_theme_page'); 
    74  
    75 function kubrick_add_theme_page() { 
    76         if ( $_GET['page'] == basename(__FILE__) ) { 
    77                 if ( 'save' == $_REQUEST['action'] ) { 
    78                         if ( isset($_REQUEST['njform']) ) { 
    79                                 if ( isset($_REQUEST['defaults']) ) { 
    80                                         delete_option('kubrick_header_image'); 
    81                                         delete_option('kubrick_header_color'); 
    82                                         delete_option('kubrick_header_display'); 
    83                                 } else { 
    84                                         if ( '' == $_REQUEST['njfontcolor'] ) 
    85                                                 delete_option('kubrick_header_color'); 
    86                                         else 
    87                                                 update_option('kubrick_header_color', $_REQUEST['njfontcolor']); 
    88  
    89                                         if ( preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njuppercolor'], $uc) && preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njlowercolor'], $lc) ) { 
    90                                                 $uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0]; 
    91                                                 $lc = ( strlen($lc[0]) == 3 ) ? $lc[0]{0}.$lc[0]{0}.$lc[0]{1}.$lc[0]{1}.$lc[0]{2}.$lc[0]{2} : $lc[0]; 
    92                                                 update_option('kubrick_header_image', "header-img.php?upper=$uc&amp;lower=$lc"); 
    93                                         } 
    94  
    95                                         if ( isset($_REQUEST['toggledisplay']) ) { 
    96                                                 if ( false === get_settings('kubrick_header_display') ) 
    97                                                         update_option('kubrick_header_display', 'none'); 
    98                                                 else 
    99                                                         delete_option('kubrick_header_display'); 
    100                                         } 
    101                                 } 
    102                         } else { 
    103  
    104                                 if ( isset($_REQUEST['headerimage']) ) { 
    105                                         if ( '' == $_REQUEST['headerimage'] ) 
    106                                                 delete_option('kubrick_header_image'); 
    107                                         else 
    108                                                 update_option('kubrick_header_image', $_REQUEST['headerimage']); 
    109                                 } 
    110  
    111                                 if ( isset($_REQUEST['fontcolor']) ) { 
    112                                         if ( '' == $_REQUEST['fontcolor'] ) 
    113                                                 delete_option('kubrick_header_color'); 
    114                                         else 
    115                                                 update_option('kubrick_header_color', $_REQUEST['fontcolor']); 
    116                                 } 
    117  
    118                                 if ( isset($_REQUEST['fontdisplay']) ) { 
    119                                         if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) 
    120                                                 delete_option('kubrick_header_display'); 
    121                                         else 
    122                                                 update_option('kubrick_header_display', 'none'); 
    123                                 } 
    124                         } 
    125                         //print_r($_REQUEST); 
    126                         header("Location: themes.php?page=functions.php&saved=true"); 
    127                         die; 
    128                 } 
    129                 add_action('admin_head', 'kubrick_theme_page_head'); 
    130         } 
    131         add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page'); 
    132 } 
    133  
    134 function kubrick_theme_page_head() { 
    135 ?> 
    136 <script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script> 
    137 <script type='text/javascript'> 
    138         function pickColor(color) { 
    139                 ColorPicker_targetInput.value = color; 
    140                 kUpdate(ColorPicker_targetInput.id); 
    141         } 
    142         function PopupWindow_populate(contents) { 
    143                 contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>'; 
    144                 this.contents = contents; 
    145                 this.populated = false; 
    146         } 
    147         function PopupWindow_hidePopup(magicword) { 
    148                 if ( magicword != 'prettyplease' ) 
    149                         return false; 
    150                 if (this.divName != null) { 
    151                         if (this.use_gebi) { 
    152                                 document.getElementById(this.divName).style.visibility = "hidden"; 
    153                         } 
    154                         else if (this.use_css) { 
    155                                 document.all[this.divName].style.visibility = "hidden"; 
    156                         } 
    157                         else if (this.use_layers) { 
    158                                 document.layers[this.divName].visibility = "hidden"; 
    159                         } 
    160                 } 
    161                 else { 
    162                         if (this.popupWindow && !this.popupWindow.closed) { 
    163                                 this.popupWindow.close(); 
    164                                 this.popupWindow = null; 
    165                         } 
    166                 } 
    167                 return false; 
    168         } 
    169         function colorSelect(t,p) { 
    170                 if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" ) 
    171                         cp.hidePopup('prettyplease'); 
    172                 else { 
    173                         cp.p = p; 
    174                         cp.select(t,p); 
    175                 } 
    176         } 
    177         function PopupWindow_setSize(width,height) { 
    178                 this.width = 162; 
    179                 this.height = 210; 
    180         } 
    181  
    182         var cp = new ColorPicker(); 
    183         function advUpdate(val, obj) { 
    184                 document.getElementById(obj).value = val; 
    185                 kUpdate(obj); 
    186         } 
    187         function kUpdate(oid) { 
    188                 if ( 'uppercolor' == oid || 'lowercolor' == oid ) { 
    189                         uc = document.getElementById('uppercolor').value.replace('#', ''); 
    190                         lc = document.getElementById('lowercolor').value.replace('#', ''); 
    191                         hi = document.getElementById('headerimage'); 
    192                         hi.value = 'header-img.php?upper='+uc+'&lower='+lc; 
    193                         document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat'; 
    194                         document.getElementById('advuppercolor').value = '#'+uc; 
    195                         document.getElementById('advlowercolor').value = '#'+lc; 
    196                 } 
    197                 if ( 'fontcolor' == oid ) { 
    198                         document.getElementById('header').style.color = document.getElementById('fontcolor').value; 
    199                         document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value; 
    200                 } 
    201                 if ( 'fontdisplay' == oid ) { 
    202                         document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
    203                 } 
    204         } 
    205         function toggleDisplay() { 
    206                 td = document.getElementById('fontdisplay'); 
    207                 td.value = ( td.value == 'none' ) ? 'inline' : 'none'; 
    208                 kUpdate('fontdisplay'); 
    209         } 
    210         function toggleAdvanced() { 
    211                 a = document.getElementById('jsAdvanced'); 
    212                 if ( a.style.display == 'none' ) 
    213                         a.style.display = 'block'; 
    214                 else 
    215                         a.style.display = 'none'; 
    216         } 
    217         function kDefaults() { 
    218                 document.getElementById('headerimage').value = ''; 
    219                 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7'; 
    220                 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6'; 
    221                 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat'; 
    222                 document.getElementById('header').style.color = '#FFFFFF'; 
    223                 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = ''; 
    224                 document.getElementById('fontdisplay').value = 'inline'; 
    225                 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
    226         } 
    227         function kRevert() { 
    228                 document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>'; 
    229                 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>'; 
    230                 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>'; 
    231                 document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat'; 
    232                 document.getElementById('header').style.color = ''; 
    233                 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>'; 
    234                 document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>'; 
    235                 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
    236         } 
    237         function kInit() { 
    238                 document.getElementById('jsForm').style.display = 'block'; 
    239                 document.getElementById('nonJsForm').style.display = 'none'; 
    240         } 
    241         addLoadEvent(kInit); 
    242 </script> 
    243 <style type='text/css'> 
    244         #headwrap { 
    245                 text-align: center; 
    246         } 
    247         #kubrick-header { 
    248                 font-size: 80%; 
    249         } 
    250         #kubrick-header .hibrowser { 
    251                 width: 780px; 
    252                 height: 260px; 
    253                 overflow: scroll; 
    254         } 
    255         #kubrick-header #hitarget { 
    256                 display: none; 
    257         } 
    258         #kubrick-header #header h1 { 
    259                 font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif; 
    260                 font-weight: bold; 
    261                 font-size: 4em; 
    262                 text-align: center; 
    263                 padding-top: 70px; 
    264                 margin: 0; 
    265         } 
    266  
    267         #kubrick-header #header .description { 
    268                 font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; 
    269                 font-size: 1.2em; 
    270                 text-align: center; 
    271         } 
    272         #kubrick-header #header { 
    273                 text-decoration: none; 
    274                 color: <?php echo kubrick_header_color_string(); ?>; 
    275                 padding: 0; 
    276                 margin: 0; 
    277                 height: 200px; 
    278                 text-align: center; 
    279                 background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat; 
    280         } 
    281         #kubrick-header #headerimg { 
    282                 margin: 0; 
    283                 height: 200px; 
    284                 width: 100%; 
    285                 display: <?php echo kubrick_header_display_string(); ?>; 
    286         } 
    287         #jsForm { 
    288                 display: none; 
    289                 text-align: center; 
    290         } 
    291         #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button { 
    292                 padding: 0px; 
    293                 margin: 0px; 
    294         } 
    295         #advanced { 
    296                 text-align: center; 
    297                 width: 620px; 
    298         } 
    299         html>body #advanced { 
    300                 text-align: center; 
    301                 position: relative; 
    302                 left: 50%; 
    303                 margin-left: -380px; 
    304         } 
    305         #jsAdvanced { 
    306                 text-align: right; 
    307         } 
    308         #nonJsForm { 
    309                 position: relative; 
    310                 text-align: left; 
    311                 margin-left: -370px; 
    312                 left: 50%; 
    313         } 
    314         #nonJsForm label { 
    315                 padding-top: 6px; 
    316                 padding-right: 5px; 
    317                 float: left; 
    318                 width: 100px; 
    319                 text-align: right; 
    320         } 
    321         .defbutton { 
    322                 font-weight: bold; 
    323         } 
    324         .zerosize { 
    325                 width: 0px; 
    326                 height: 0px; 
    327                 overflow: hidden; 
    328         } 
    329         #colorPickerDiv a, #colorPickerDiv a:hover { 
    330                 padding: 1px; 
    331                 text-decoration: none; 
    332                 border-bottom: 0px; 
    333         } 
    334 </style> 
    335 <?php 
    336 } 
    337  
    338 function kubrick_theme_page() { 
    339         if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>'; 
    340 ?> 
    341 <div class='wrap'> 
    342         <div id="kubrick-header"> 
    343                 <h2>Header Image and Color</h2> 
    344                 <div id="headwrap"> 
    345                         <div id="header"> 
    346                                 <div id="headerimg"> 
    347                                         <h1><?php bloginfo('name'); ?></h1> 
    348                                         <div class="description"><?php bloginfo('description'); ?></div> 
    349                                 </div> 
    350                         </div> 
    351                 </div> 
    352                 <br /> 
    353                 <div id="nonJsForm"> 
    354                         <form method="POST"> 
    355                                 <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div> 
    356                                 <label for="njfontcolor">Font Color:</label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo kubrick_header_color(); ?>" /> Any CSS color (<code>red</code> or <code>#FF0000</code> or <code>rgb(255, 0, 0)</code>)<br /> 
    357                                 <label for="njuppercolor">Upper Color:</label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo kubrick_upper_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br /> 
    358                                 <label for="njlowercolor">Lower Color:</label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo kubrick_lower_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br /> 
    359                                 <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" /> 
    360                                 <label> </label><input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" /> 
    361                                 <input type="submit" name="defaults" value="Use Defaults" /> 
    362                                 <input type="submit" class="defbutton" name="submitform" value="&nbsp;&nbsp;Save&nbsp;&nbsp;" /> 
    363                                 <input type="hidden" name="action" value="save" /> 
    364                                 <input type="hidden" name="njform" value="true" /> 
    365                         </form> 
    366                 </div> 
    367                 <div id="jsForm"> 
    368                         <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    369                                 <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input> 
    370                                 <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input> 
    371                                 <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input> 
    372                                 <input type="button" name="revert" value="Revert" onclick="kRevert()" /> 
    373                                 <input type="button" value="Advanced" onclick="toggleAdvanced()" /> 
    374                                 <input type="submit" name="submitform" class="defbutton" value="Save" onclick="cp.hidePopup('prettyplease')" /> 
    375                                 <input type="hidden" name="action" value="save" /> 
    376                                 <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" /> 
    377                                 <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" /> 
    378                                 <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" /> 
    379                                 <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" /> 
    380                                 <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" /> 
    381                         </form> 
    382                         <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div> 
    383                         <div id="advanced"> 
    384                                 <form id="jsAdvanced" style="display:none;"> 
    385                                         <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br /> 
    386                                         <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br /> 
    387                                         <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br /> 
    388                                         <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br /> 
    389                                         <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br /> 
    390                                 </form> 
    391                         </div> 
    392                 </div> 
    393         </div> 
    394 </div> 
    395 <?php } ?> 
     1<?php 
     2 
     3function kubrick_head() { 
     4        $head = "<style type='text/css'>\n<!--"; 
     5        $output = ''; 
     6        if ( kubrick_header_image() ) { 
     7                $url =  kubrick_header_image_url() ; 
     8                $output .= "#header { background: url('$url') no-repeat bottom center; }\n"; 
     9        } 
     10        if ( false !== ( $color = kubrick_header_color() ) ) { 
     11                $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n"; 
     12        } 
     13        if ( false !== ( $display = kubrick_header_display() ) ) { 
     14                $output .= "#headerimg { display: $display }\n"; 
     15        } 
     16        $foot = "--></style>\n"; 
     17        if ( '' != $output ) 
     18                echo $head . $output . $foot; 
     19} 
     20 
     21add_action('wp_head', 'kubrick_head'); 
     22 
     23function kubrick_header_image() { 
     24        return apply_filters('kubrick_header_image', get_settings('kubrick_header_image')); 
     25} 
     26 
     27function kubrick_upper_color() { 
     28        if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
     29                parse_str(substr($url, strpos($url, '?') + 1), $q); 
     30                return $q['upper']; 
     31        } else 
     32                return '69aee7'; 
     33} 
     34 
     35function kubrick_lower_color() { 
     36        if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
     37                parse_str(substr($url, strpos($url, '?') + 1), $q); 
     38                return $q['lower']; 
     39        } else 
     40                return '4180b6'; 
     41} 
     42 
     43function kubrick_header_image_url() { 
     44        if ( $image = kubrick_header_image() ) 
     45                $url = get_template_directory_uri() . '/images/' . $image; 
     46        else 
     47                $url = get_template_directory_uri() . '/images/kubrickheader.jpg'; 
     48 
     49        return $url; 
     50} 
     51 
     52function kubrick_header_color() { 
     53        return apply_filters('kubrick_header_color', get_settings('kubrick_header_color')); 
     54} 
     55 
     56function kubrick_header_color_string() { 
     57        $color = kubrick_header_color(); 
     58        if ( false === $color ) 
     59                return 'white'; 
     60 
     61        return $color; 
     62} 
     63 
     64function kubrick_header_display() { 
     65        return apply_filters('kubrick_header_display', get_settings('kubrick_header_display')); 
     66} 
     67 
     68function kubrick_header_display_string() { 
     69        $display = kubrick_header_display(); 
     70        return $display ? $display : 'inline'; 
     71} 
     72 
     73add_action('admin_menu', 'kubrick_add_theme_page'); 
     74 
     75function kubrick_add_theme_page() { 
     76        if ( $_GET['page'] == basename(__FILE__) ) { 
     77                if ( 'save' == $_REQUEST['action'] ) { 
     78                        if ( isset($_REQUEST['njform']) ) { 
     79                                if ( isset($_REQUEST['defaults']) ) { 
     80                                        delete_option('kubrick_header_image'); 
     81                                        delete_option('kubrick_header_color'); 
     82                                        delete_option('kubrick_header_display'); 
     83                                } else { 
     84                                        if ( '' == $_REQUEST['njfontcolor'] ) 
     85                                                delete_option('kubrick_header_color'); 
     86                                        else 
     87                                                update_option('kubrick_header_color', $_REQUEST['njfontcolor']); 
     88 
     89                                        if ( preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njuppercolor'], $uc) && preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njlowercolor'], $lc) ) { 
     90                                                $uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0]; 
     91                                                $lc = ( strlen($lc[0]) == 3 ) ? $lc[0]{0}.$lc[0]{0}.$lc[0]{1}.$lc[0]{1}.$lc[0]{2}.$lc[0]{2} : $lc[0]; 
     92                                                update_option('kubrick_header_image', "header-img.php?upper=$uc&amp;lower=$lc"); 
     93                                        } 
     94 
     95                                        if ( isset($_REQUEST['toggledisplay']) ) { 
     96                                                if ( false === get_settings('kubrick_header_display') ) 
     97                                                        update_option('kubrick_header_display', 'none'); 
     98                                                else 
     99                                                        delete_option('kubrick_header_display'); 
     100                                        } 
     101                                } 
     102                        } else { 
     103 
     104                                if ( isset($_REQUEST['headerimage']) ) { 
     105                                        if ( '' == $_REQUEST['headerimage'] ) 
     106                                                delete_option('kubrick_header_image'); 
     107                                        else 
     108                                                update_option('kubrick_header_image', $_REQUEST['headerimage']); 
     109                                } 
     110 
     111                                if ( isset($_REQUEST['fontcolor']) ) { 
     112                                        if ( '' == $_REQUEST['fontcolor'] ) 
     113                                                delete_option('kubrick_header_color'); 
     114                                        else 
     115                                                update_option('kubrick_header_color', $_REQUEST['fontcolor']); 
     116                                } 
     117 
     118                                if ( isset($_REQUEST['fontdisplay']) ) { 
     119                                        if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) 
     120                                                delete_option('kubrick_header_display'); 
     121                                        else 
     122                                                update_option('kubrick_header_display', 'none'); 
     123                                } 
     124                        } 
     125                        //print_r($_REQUEST); 
     126                        header("Location: themes.php?page=functions.php&saved=true"); 
     127                        die; 
     128                } 
     129                add_action('admin_head', 'kubrick_theme_page_head'); 
     130        } 
     131        add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page'); 
     132} 
     133 
     134function kubrick_theme_page_head() { 
     135?> 
     136<script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script> 
     137<script type='text/javascript'> 
     138        function pickColor(color) { 
     139                ColorPicker_targetInput.value = color; 
     140                kUpdate(ColorPicker_targetInput.id); 
     141        } 
     142        function PopupWindow_populate(contents) { 
     143                contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>'; 
     144                this.contents = contents; 
     145                this.populated = false; 
     146        } 
     147        function PopupWindow_hidePopup(magicword) { 
     148                if ( magicword != 'prettyplease' ) 
     149                        return false; 
     150                if (this.divName != null) { 
     151                        if (this.use_gebi) { 
     152                                document.getElementById(this.divName).style.visibility = "hidden"; 
     153                        } 
     154                        else if (this.use_css) { 
     155                                document.all[this.divName].style.visibility = "hidden"; 
     156                        } 
     157                        else if (this.use_layers) { 
     158                                document.layers[this.divName].visibility = "hidden"; 
     159                        } 
     160                } 
     161                else { 
     162                        if (this.popupWindow && !this.popupWindow.closed) { 
     163                                this.popupWindow.close(); 
     164                                this.popupWindow = null; 
     165                        } 
     166                } 
     167                return false; 
     168        } 
     169        function colorSelect(t,p) { 
     170                if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" ) 
     171                        cp.hidePopup('prettyplease'); 
     172                else { 
     173                        cp.p = p; 
     174                        cp.select(t,p); 
     175                } 
     176        } 
     177        function PopupWindow_setSize(width,height) { 
     178                this.width = 162; 
     179                this.height = 210; 
     180        } 
     181 
     182        var cp = new ColorPicker(); 
     183        function advUpdate(val, obj) { 
     184                document.getElementById(obj).value = val; 
     185                kUpdate(obj); 
     186        } 
     187        function kUpdate(oid) { 
     188                if ( 'uppercolor' == oid || 'lowercolor' == oid ) { 
     189                        uc = document.getElementById('uppercolor').value.replace('#', ''); 
     190                        lc = document.getElementById('lowercolor').value.replace('#', ''); 
     191                        hi = document.getElementById('headerimage'); 
     192                        hi.value = 'header-img.php?upper='+uc+'&lower='+lc; 
     193                        document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat'; 
     194                        document.getElementById('advuppercolor').value = '#'+uc; 
     195                        document.getElementById('advlowercolor').value = '#'+lc; 
     196                } 
     197                if ( 'fontcolor' == oid ) { 
     198                        document.getElementById('header').style.color = document.getElementById('fontcolor').value; 
     199                        document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value; 
     200                } 
     201                if ( 'fontdisplay' == oid ) { 
     202                        document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
     203                } 
     204        } 
     205        function toggleDisplay() { 
     206                td = document.getElementById('fontdisplay'); 
     207                td.value = ( td.value == 'none' ) ? 'inline' : 'none'; 
     208                kUpdate('fontdisplay'); 
     209        } 
     210        function toggleAdvanced() { 
     211                a = document.getElementById('jsAdvanced'); 
     212                if ( a.style.display == 'none' ) 
     213                        a.style.display = 'block'; 
     214                else 
     215                        a.style.display = 'none'; 
     216        } 
     217        function kDefaults() { 
     218                document.getElementById('headerimage').value = ''; 
     219                document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7'; 
     220                document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6'; 
     221                document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat'; 
     222                document.getElementById('header').style.color = '#FFFFFF'; 
     223                document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = ''; 
     224                document.getElementById('fontdisplay').value = 'inline'; 
     225                document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
     226        } 
     227        function kRevert() { 
     228                document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>'; 
     229                document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>'; 
     230                document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>'; 
     231                document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat'; 
     232                document.getElementById('header').style.color = ''; 
     233                document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>'; 
     234                document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>'; 
     235                document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
     236        } 
     237        function kInit() { 
     238                document.getElementById('jsForm').style.display = 'block'; 
     239                document.getElementById('nonJsForm').style.display = 'none'; 
     240        } 
     241        addLoadEvent(kInit); 
     242</script> 
     243<style type='text/css'> 
     244        #headwrap { 
     245                text-align: center; 
     246        } 
     247        #kubrick-header { 
     248                font-size: 80%; 
     249        } 
     250        #kubrick-header .hibrowser { 
     251                width: 780px; 
     252                height: 260px; 
     253                overflow: scroll; 
     254        } 
     255        #kubrick-header #hitarget { 
     256                display: none; 
     257        } 
     258        #kubrick-header #header h1 { 
     259                font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif; 
     260                font-weight: bold; 
     261                font-size: 4em; 
     262                text-align: center; 
     263                padding-top: 70px; 
     264                margin: 0; 
     265        } 
     266 
     267        #kubrick-header #header .description { 
     268                font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; 
     269                font-size: 1.2em; 
     270                text-align: center; 
     271        } 
     272        #kubrick-header #header { 
     273                text-decoration: none; 
     274                color: <?php echo kubrick_header_color_string(); ?>; 
     275                padding: 0; 
     276                margin: 0; 
     277                height: 200px; 
     278                text-align: center; 
     279                background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat; 
     280        } 
     281        #kubrick-header #headerimg { 
     282                margin: 0; 
     283                height: 200px; 
     284                width: 100%; 
     285                display: <?php echo kubrick_header_display_string(); ?>; 
     286        } 
     287        #jsForm { 
     288                display: none; 
     289                text-align: center; 
     290        } 
     291        #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button { 
     292                padding: 0px; 
     293                margin: 0px; 
     294        } 
     295        #advanced { 
     296                text-align: center; 
     297                width: 620px; 
     298        } 
     299        html>body #advanced { 
     300                text-align: center; 
     301                position: relative; 
     302                left: 50%; 
     303                margin-left: -380px; 
     304        } 
     305        #jsAdvanced { 
     306                text-align: right; 
     307        } 
     308        #nonJsForm { 
     309                position: relative; 
     310                text-align: left; 
     311                margin-left: -370px; 
     312                left: 50%; 
     313        } 
     314        #nonJsForm label { 
     315                padding-top: 6px; 
     316                padding-right: 5px; 
     317                float: left; 
     318                width: 100px; 
     319                text-align: right; 
     320        } 
     321        .defbutton { 
     322                font-weight: bold; 
     323        } 
     324        .zerosize { 
     325                width: 0px; 
     326                height: 0px; 
     327                overflow: hidden; 
     328        } 
     329        #colorPickerDiv a, #colorPickerDiv a:hover { 
     330                padding: 1px; 
     331                text-decoration: none; 
     332                border-bottom: 0px; 
     333        } 
     334</style> 
     335<?php 
     336} 
     337 
     338function kubrick_theme_page() { 
     339        if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>'; 
     340?> 
     341<div class='wrap'> 
     342        <div id="kubrick-header"> 
     343                <h2>Header Image and Color</h2> 
     344                <div id="headwrap"> 
     345                        <div id="header"> 
     346                                <div id="headerimg"> 
     347                                        <h1><?php bloginfo('name'); ?></h1> 
     348                                        <div class="description"><?php bloginfo('description'); ?></div> 
     349                                </div> 
     350                        </div> 
     351                </div> 
     352                <br /> 
     353                <div id="nonJsForm"> 
     354                        <form method="POST"> 
     355                                <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div> 
     356                                <label for="njfontcolor">Font Color:</label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo kubrick_header_color(); ?>" /> Any CSS color (<code>red</code> or <code>#FF0000</code> or <code>rgb(255, 0, 0)</code>)<br /> 
     357                                <label for="njuppercolor">Upper Color:</label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo kubrick_upper_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br /> 
     358                                <label for="njlowercolor">Lower Color:</label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo kubrick_lower_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br /> 
     359                                <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" /> 
     360                                <label> </label><input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" /> 
     361                                <input type="submit" name="defaults" value="Use Defaults" /> 
     362                                <input type="submit" class="defbutton" name="submitform" value="&nbsp;&nbsp;Save&nbsp;&nbsp;" /> 
     363                                <input type="hidden" name="action" value="save" /> 
     364                                <input type="hidden" name="njform" value="true" /> 
     365                        </form> 
     366                </div> 
     367                <div id="jsForm"> 
     368                        <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     369                                <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input> 
     370                                <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input> 
     371                                <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input> 
     372                                <input type="button" name="revert" value="Revert" onclick="kRevert()" /> 
     373                                <input type="button" value="Advanced" onclick="toggleAdvanced()" /> 
     374                                <input type="submit" name="submitform" class="defbutton" value="Save" onclick="cp.hidePopup('prettyplease')" /> 
     375                                <input type="hidden" name="action" value="save" /> 
     376                                <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" /> 
     377                                <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" /> 
     378                                <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" /> 
     379                                <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" /> 
     380                                <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" /> 
     381                        </form> 
     382                        <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div> 
     383                        <div id="advanced"> 
     384                                <form id="jsAdvanced" style="display:none;"> 
     385                                        <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br /> 
     386                                        <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br /> 
     387                                        <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br /> 
     388                                        <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br /> 
     389                                        <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br /> 
     390                                </form> 
     391                        </div> 
     392                </div> 
     393        </div> 
     394</div> 
     395<?php } ?> 
  • wp-content/themes/default/images/header-img.php

     
    1 <?php 
    2  
    3 $img = 'kubrickheader.jpg'; 
    4  
    5 // If we don't have image processing support, redirect. 
    6 if ( ! function_exists('imagecreatefromjpeg') ) 
    7         die(header("Location: kubrickheader.jpg")); 
    8  
    9 // Assign and validate the color values 
    10 $default = false; 
    11 $vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2')); 
    12 foreach ( $vars as $var => $subvars ) { 
    13         if ( isset($_GET[$var]) ) { 
    14                 foreach ( $subvars as $index => $subvar ) { 
    15                         $length = strlen($_GET[$var]) / 3; 
    16                         $v = substr($_GET[$var], $index * $length, $length); 
    17                         if ( $length == 1 ) $v = '' . $v . $v; 
    18                         $$subvar = hexdec( $v ); 
    19                         if ( $$subvar < 0 || $$subvar > 255 ) 
    20                                 $default = true; 
    21                 } 
    22         } else { 
    23                 $default = true; 
    24         } 
    25 } 
    26  
    27 if ( $default ) 
    28         list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 ); 
    29  
    30 // Create the image 
    31 $im = imagecreatefromjpeg($img); 
    32  
    33 // Get the background color, define the rectangle height 
    34 $white = imagecolorat( $im, 15, 15 ); 
    35 $h = 182; 
    36  
    37 // Define the boundaries of the rounded edges ( y => array ( x1, x2 ) ) 
    38 $corners = array( 
    39         0 => array ( 25, 734 ), 
    40         1 => array ( 23, 736 ), 
    41         2 => array ( 22, 737 ), 
    42         3 => array ( 21, 738 ), 
    43         4 => array ( 21, 738 ), 
    44         177 => array ( 21, 738 ), 
    45         178 => array ( 21, 738 ), 
    46         179 => array ( 22, 737 ), 
    47         180 => array ( 23, 736 ), 
    48         181 => array ( 25, 734 ), 
    49         ); 
    50  
    51 // Blank out the blue thing 
    52 for ( $i = 0; $i < $h; $i++ ) { 
    53         $x1 = 19; 
    54         $x2 = 740; 
    55         imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white ); 
    56 } 
    57  
    58 // Draw a new color thing 
    59 for ( $i = 0; $i < $h; $i++ ) { 
    60         $x1 = 20; 
    61         $x2 = 739; 
    62         $r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1; 
    63         $g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1; 
    64         $b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1; 
    65         $color = imagecolorallocate( $im, $r, $g, $b ); 
    66         if ( array_key_exists($i, $corners) ) { 
    67                 imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white ); 
    68                 list ( $x1, $x2 ) = $corners[$i]; 
    69         } 
    70         imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color ); 
    71 } 
    72  
    73 //die; 
    74 header("Content-Type: image/jpeg"); 
    75 imagejpeg($im, '', 92); 
    76 imagedestroy($im); 
    77 ?> 
     1<?php 
     2 
     3$img = 'kubrickheader.jpg'; 
     4 
     5// If we don't have image processing support, redirect. 
     6if ( ! function_exists('imagecreatefromjpeg') ) 
     7        die(header("Location: kubrickheader.jpg")); 
     8 
     9// Assign and validate the color values 
     10$default = false; 
     11$vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2')); 
     12foreach ( $vars as $var => $subvars ) { 
     13        if ( isset($_GET[$var]) ) { 
     14                foreach ( $subvars as $index => $subvar ) { 
     15                        $length = strlen($_GET[$var]) / 3; 
     16                        $v = substr($_GET[$var], $index * $length, $length); 
     17                        if ( $length == 1 ) $v = '' . $v . $v; 
     18                        $$subvar = hexdec( $v ); 
     19                        if ( $$subvar < 0 || $$subvar > 255 ) 
     20                                $default = true; 
     21                } 
     22        } else { 
     23                $default = true; 
     24        } 
     25} 
     26 
     27if ( $default ) 
     28        list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 ); 
     29 
     30// Create the image 
     31$im = imagecreatefromjpeg($img); 
     32 
     33// Get the background color, define the rectangle height 
     34$white = imagecolorat( $im, 15, 15 ); 
     35$h = 182; 
     36 
     37// Define the boundaries of the rounded edges ( y => array ( x1, x2 ) ) 
     38$corners = array( 
     39        0 => array ( 25, 734 ), 
     40        1 => array ( 23, 736 ), 
     41        2 => array ( 22, 737 ), 
     42        3 => array ( 21, 738 ), 
     43        4 => array ( 21, 738 ), 
     44        177 => array ( 21, 738 ), 
     45        178 => array ( 21, 738 ), 
     46        179 => array ( 22, 737 ), 
     47        180 => array ( 23, 736 ), 
     48        181 => array ( 25, 734 ), 
     49        ); 
     50 
     51// Blank out the blue thing 
     52for ( $i = 0; $i < $h; $i++ ) { 
     53        $x1 = 19; 
     54        $x2 = 740; 
     55        imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white ); 
     56} 
     57 
     58// Draw a new color thing 
     59for ( $i = 0; $i < $h; $i++ ) { 
     60        $x1 = 20; 
     61        $x2 = 739; 
     62        $r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1; 
     63        $g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1; 
     64        $b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1; 
     65        $color = imagecolorallocate( $im, $r, $g, $b ); 
     66        if ( array_key_exists($i, $corners) ) { 
     67                imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white ); 
     68                list ( $x1, $x2 ) = $corners[$i]; 
     69        } 
     70        imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color ); 
     71} 
     72 
     73//die; 
     74header("Content-Type: image/jpeg"); 
     75imagejpeg($im, '', 92); 
     76imagedestroy($im); 
     77?> 
  • wp-content/index.php

     
    1 <?php 
    2 // Silence is golden. 
     1<?php 
     2// Silence is golden. 
    33?> 
     4 No newline at end of file 
  • wp-admin/post-new.php

     
    1 <?php 
    2 require_once('admin.php'); 
    3 $title = __('Create New Post'); 
    4 $parent_file = 'post-new.php'; 
    5 $editing = true; 
    6 require_once ('./admin-header.php'); 
    7  
    8 if ( ! current_user_can('edit_posts') ) { ?> 
    9 <div class="wrap"> 
    10 <p><?php printf(__('Since you&#8217;re a newcomer, you&#8217;ll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br /> 
    11 You can also <a href="mailto:%s?subject=Promotion?">e-mail the admin</a> to ask for a promotion.<br /> 
    12 When you&#8217;re promoted, just reload this page and you&#8217;ll be able to blog. :)'), get_settings('admin_email')); ?> 
    13 </p> 
    14 </div> 
    15 <?php 
    16         include('admin-footer.php'); 
    17         exit(); 
    18 } 
    19  
    20 if ( isset($_GET['posted']) ) : ?> 
    21 <div id="message" class="updated fade"><p><?php printf(__('Post saved. <a href="%s">View site &raquo;</a>'), get_bloginfo('home') . '/'); ?></p></div> 
    22 <?php 
    23 endif; 
    24  
    25 if ( $drafts = get_users_drafts( $user_ID ) ) { ?> 
    26 <div class="wrap"> 
    27 <p><strong><?php _e('Your Drafts:') ?></strong> 
    28 <?php 
    29 // Show drafts. 
    30         $num_drafts = count($drafts); 
    31         if ( $num_drafts > 15 ) $num_drafts = 15; 
    32         for ( $i = 0; $i < $num_drafts; $i++ ) { 
    33                 $draft = $drafts[$i]; 
    34                 if ( 0 != $i ) 
    35                         echo ', '; 
    36                 if ( empty($draft->post_title) ) 
    37                         $draft->post_title = sprintf(__('Post # %s'), $draft->ID); 
    38                 echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>"; 
    39         } 
    40  
    41         if ( 15 < count($drafts) ) { ?> 
    42                 , <a href="edit.php"><?php echo sprintf(__('and %s more'), (count($drafts) - 15) ); ?> &raquo;</a> 
    43         <?php } ?> 
    44 .</p> 
    45 </div> 
    46 <?php 
    47 } 
    48  
    49 // Show post form. 
    50 $post = get_default_post_to_edit(); 
    51 include('edit-form-advanced.php'); 
    52 ?> 
    53  
    54 <?php if ( $is_NS4 || $is_gecko || $is_winIE ) { ?> 
    55 <div class="wrap"> 
    56 <h3><?php _e('WordPress bookmarklet'); ?></h3> 
    57 <p><?php _e('Right click on the following link and choose "Add to favorites" to create a posting shortcut.'); ?></p> 
    58 <p> 
    59  
    60 <?php 
    61 if ($is_NS4 || $is_gecko) { 
    62 ?> 
    63 <a href="javascript:if(navigator.userAgent.indexOf('Safari') >= 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press It - %s'), wp_specialchars(get_settings('blogname'))); ?></a>  
    64 <?php 
    65 } else if ($is_winIE) { 
    66 ?> 
    67 <a href="javascript:Q='';if(top.frames.length==0)Q=document.selection.createRange().text;location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a> 
    68 <script type="text/javascript"> 
    69 <!-- 
    70 function oneclickbookmarklet(blah) { 
    71 window.open ("profile.php?action=IErightclick", "oneclickbookmarklet", "width=500, height=450, location=0, menubar=0, resizable=0, scrollbars=1, status=1, titlebar=0, toolbar=0, screenX=120, left=120, screenY=120, top=120"); 
    72 } 
    73 // --> 
    74 </script> 
    75 <br /> 
    76 <br /> 
    77 <?php _e('One-click bookmarklet:') ?><br /> 
    78 <a href="javascript:oneclickbookmarklet(0);"><?php _e('click here') ?></a>  
    79 <?php 
    80 } else if ($is_opera) { 
    81 ?> 
    82 <a href="javascript:location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/post-new.php?popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>  
    83 <?php 
    84 } else if ($is_macIE) { 
    85 ?> 
    86 <a href="javascript:Q='';location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/bookmarklet.php?text='+escape(document.getSelection())+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>  
    87 <?php 
    88 } 
    89 ?> 
    90 </p> 
    91 </div> 
    92 <?php } ?> 
    93  
     1<?php 
     2require_once('admin.php'); 
     3$title = __('Create New Post'); 
     4$parent_file = 'post-new.php'; 
     5$editing = true; 
     6require_once ('./admin-header.php'); 
     7 
     8if ( ! current_user_can('edit_posts') ) { ?> 
     9<div class="wrap"> 
     10<p><?php printf(__('Since you&#8217;re a newcomer, you&#8217;ll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br /> 
     11You can also <a href="mailto:%s?subject=Promotion?">e-mail the admin</a> to ask for a promotion.<br /> 
     12When you&#8217;re promoted, just reload this page and you&#8217;ll be able to blog. :)'), get_settings('admin_email')); ?> 
     13</p> 
     14</div> 
     15<?php 
     16        include('admin-footer.php'); 
     17        exit(); 
     18} 
     19 
     20if ( isset($_GET['posted']) ) : ?> 
     21<div id="message" class="updated fade"><p><?php printf(__('Post saved. <a href="%s">View site &raquo;</a>'), get_bloginfo('home') . '/'); ?></p></div> 
     22<?php 
     23endif; 
     24 
     25if ( $drafts = get_users_drafts( $user_ID ) ) { ?> 
     26<div class="wrap"> 
     27<p><strong><?php _e('Your Drafts:') ?></strong> 
     28<?php 
     29// Show drafts. 
     30        $num_drafts = count($drafts); 
     31        if ( $num_drafts > 15 ) $num_drafts = 15; 
     32        for ( $i = 0; $i < $num_drafts; $i++ ) { 
     33                $draft = $drafts[$i]; 
     34                if ( 0 != $i ) 
     35                        echo ', '; 
     36                if ( empty($draft->post_title) ) 
     37                        $draft->post_title = sprintf(__('Post # %s'), $draft->ID); 
     38                echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>"; 
     39        } 
     40 
     41        if ( 15 < count($drafts) ) { ?> 
     42                , <a href="edit.php"><?php echo sprintf(__('and %s more'), (count($drafts) - 15) ); ?> &raquo;</a> 
     43        <?php } ?> 
     44.</p> 
     45</div> 
     46<?php 
     47} 
     48 
     49// Show post form. 
     50$post = get_default_post_to_edit(); 
     51include('edit-form-advanced.php'); 
     52?> 
     53 
     54<?php if ( $is_NS4 || $is_gecko || $is_winIE ) { ?> 
     55<div class="wrap"> 
     56<h3><?php _e('WordPress bookmarklet'); ?></h3> 
     57<p><?php _e('Right click on the following link and choose "Add to favorites" to create a posting shortcut.'); ?></p> 
     58<p> 
     59 
     60<?php 
     61if ($is_NS4 || $is_gecko) { 
     62?> 
     63<a href="javascript:if(navigator.userAgent.indexOf('Safari') >= 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press It - %s'), wp_specialchars(get_settings('blogname'))); ?></a>  
     64<?php 
     65} else if ($is_winIE) { 
     66?> 
     67<a href="javascript:Q='';if(top.frames.length==0)Q=document.selection.createRange().text;location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a> 
     68<script type="text/javascript"> 
     69<!-- 
     70function oneclickbookmarklet(blah) { 
     71window.open ("profile.php?action=IErightclick", "oneclickbookmarklet", "width=500, height=450, location=0, menubar=0, resizable=0, scrollbars=1, status=1, titlebar=0, toolbar=0, screenX=120, left=120, screenY=120, top=120"); 
     72} 
     73// --> 
     74</script> 
     75<br /> 
     76<br /> 
     77<?php _e('One-click bookmarklet:') ?><br /> 
     78<a href="javascript:oneclickbookmarklet(0);"><?php _e('click here') ?></a>  
     79<?php 
     80} else if ($is_opera) { 
     81?> 
     82<a href="javascript:location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/post-new.php?popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>  
     83<?php 
     84} else if ($is_macIE) { 
     85?> 
     86<a href="javascript:Q='';location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/bookmarklet.php?text='+escape(document.getSelection())+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>  
     87<?php 
     88} 
     89?> 
     90</p> 
     91</div> 
     92<?php } ?> 
     93 
    9494<?php include('admin-footer.php'); ?> 
     95 No newline at end of file