WordPress.org

Make WordPress Core

Ticket #2640: dos2unix.diff

File dos2unix.diff, 66.0 KB (added by nbachiyski, 12 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