Changeset 745


Ignore:
Timestamp:
11/22/12 00:23:57 (2 years ago)
Author:
ofer
Message:

Debug has entered the settings, needs more cleanups and testing

Location:
trunk/WordPress/plugin/transposh
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/WordPress/plugin/transposh

    • Property svn:ignore
      •  

        old new  
        33nbproject 
        44.settings 
         5.idea 
  • trunk/WordPress/plugin/transposh/core

    • Property svn:ignore set to
      firephp
  • trunk/WordPress/plugin/transposh/core/FirePHP.class.php

    r722 r745  
    11<?php 
     2 
    23// Authors: 
    34// - cadorn, Christoph Dorn <christoph@christophdorn.com>, Copyright 2007, New BSD License 
     
    3738 * @package         FirePHPCore 
    3839 */ 
    39  
    4040/** 
    4141 * @see http://code.google.com/p/firephp/issues/detail?id=112 
     
    5252if (!defined('E_USER_DEPRECATED')) { 
    5353    define('E_USER_DEPRECATED', 16384); 
    54 }  
    55   
     54} 
     55 
    5656/** 
    5757 * Sends the given data to the FirePHP Firefox Extension. 
     
    6666 * @package         FirePHPCore 
    6767 */ 
    68 class FirePHP { 
    69  
     68// added _tp suffix to avoid conflict with other plugins including same library 
     69class FirePHP_tp { 
    7070    /** 
    7171     * FirePHP version 
     
    7373     * @var string 
    7474     */ 
    75     const VERSION = '1.0.0b1rc7';     
     75 
     76    const VERSION = '1.0.0b1rc7'; 
    7677 
    7778    /** 
     
    8384     */ 
    8485    const LOG = 'LOG'; 
    85    
     86 
    8687    /** 
    8788     * Firebug INFO level 
     
    9293     */ 
    9394    const INFO = 'INFO'; 
    94      
     95 
    9596    /** 
    9697     * Firebug WARN level 
     
    101102     */ 
    102103    const WARN = 'WARN'; 
    103      
     104 
    104105    /** 
    105106     * Firebug ERROR level 
     
    110111     */ 
    111112    const ERROR = 'ERROR'; 
    112      
     113 
    113114    /** 
    114115     * Dumps a variable to firebug's server panel 
     
    117118     */ 
    118119    const DUMP = 'DUMP'; 
    119      
     120 
    120121    /** 
    121122     * Displays a stack trace in firebug console 
     
    124125     */ 
    125126    const TRACE = 'TRACE'; 
    126      
     127 
    127128    /** 
    128129     * Displays an exception in firebug console 
     
    133134     */ 
    134135    const EXCEPTION = 'EXCEPTION'; 
    135      
     136 
    136137    /** 
    137138     * Displays an table in firebug console 
     
    140141     */ 
    141142    const TABLE = 'TABLE'; 
    142      
     143 
    143144    /** 
    144145     * Starts a group in firebug console 
     
    147148     */ 
    148149    const GROUP_START = 'GROUP_START'; 
    149      
     150 
    150151    /** 
    151152     * Ends a group in firebug console 
     
    154155     */ 
    155156    const GROUP_END = 'GROUP_END'; 
    156      
     157 
    157158    /** 
    158159     * Singleton instance of FirePHP 
     
    161162     */ 
    162163    protected static $instance = null; 
    163      
     164 
    164165    /** 
    165166     * Flag whether we are logging from within the exception handler 
     
    168169     */ 
    169170    protected $inExceptionHandler = false; 
    170      
     171 
    171172    /** 
    172173     * Flag whether to throw PHP errors that have been converted to ErrorExceptions 
     
    175176     */ 
    176177    protected $throwErrorExceptions = true; 
    177      
     178 
    178179    /** 
    179180     * Flag whether to convert PHP assertion errors to Exceptions 
     
    182183     */ 
    183184    protected $convertAssertionErrorsToExceptions = true; 
    184      
     185 
    185186    /** 
    186187     * Flag whether to throw PHP assertion errors that have been converted to Exceptions 
     
    196197     */ 
    197198    protected $messageIndex = 1; 
    198      
     199 
    199200    /** 
    200201     * Options for the library 
     
    203204     */ 
    204205    protected $options = array('maxDepth' => 10, 
    205                                'maxObjectDepth' => 5, 
    206                                'maxArrayDepth' => 5, 
    207                                'useNativeJsonEncode' => true, 
    208                                'includeLineNumbers' => true); 
     206        'maxObjectDepth' => 5, 
     207        'maxArrayDepth' => 5, 
     208        'useNativeJsonEncode' => true, 
     209        'includeLineNumbers' => true); 
    209210 
    210211    /** 
     
    243244     *  
    244245     * @return array 
    245      */   
    246     public function __sleep() 
    247     { 
     246     */ 
     247    public function __sleep() { 
    248248        return array('options', 'objectFilters', 'enabled'); 
    249249    } 
    250      
     250 
    251251    /** 
    252252     * Gets singleton instance of FirePHP 
     
    255255     * @return FirePHP 
    256256     */ 
    257     public static function getInstance($autoCreate = false) 
    258     { 
     257    public static function getInstance($autoCreate = false) { 
    259258        if ($autoCreate === true && !self::$instance) { 
    260259            self::init(); 
     
    262261        return self::$instance; 
    263262    } 
    264      
     263 
    265264    /** 
    266265     * Creates FirePHP object and stores it for singleton access 
     
    268267     * @return FirePHP 
    269268     */ 
    270     public static function init() 
    271     { 
     269    public static function init() { 
    272270        return self::setInstance(new self()); 
    273271    } 
     
    279277     * @return FirePHP 
    280278     */ 
    281     public static function setInstance($instance) 
    282     { 
     279    public static function setInstance($instance) { 
    283280        return self::$instance = $instance; 
    284281    } 
     
    290287     * @return void 
    291288     */ 
    292     public function setLogToInsightConsole($console) 
    293     { 
     289    public function setLogToInsightConsole($console) { 
    294290        if (is_string($console)) { 
    295291            if (get_class($this) != 'FirePHP_Insight' && !is_subclass_of($this, 'FirePHP_Insight')) { 
     
    308304     * @return void 
    309305     */ 
    310     public function setEnabled($enabled) 
    311     { 
    312        $this->enabled = $enabled; 
    313     } 
    314      
     306    public function setEnabled($enabled) { 
     307        $this->enabled = $enabled; 
     308    } 
     309 
    315310    /** 
    316311     * Check if logging is enabled 
     
    318313     * @return boolean TRUE if enabled 
    319314     */ 
    320     public function getEnabled() 
    321     { 
     315    public function getEnabled() { 
    322316        return $this->enabled; 
    323317    } 
    324      
     318 
    325319    /** 
    326320     * Specify a filter to be used when encoding an object 
     
    332326     * @return void 
    333327     */ 
    334     public function setObjectFilter($class, $filter) 
    335     { 
     328    public function setObjectFilter($class, $filter) { 
    336329        $this->objectFilters[strtolower($class)] = $filter; 
    337330    } 
    338    
     331 
    339332    /** 
    340333     * Set some options for the library 
     
    350343     * @return void 
    351344     */ 
    352     public function setOptions($options) 
    353     { 
     345    public function setOptions($options) { 
    354346        $this->options = array_merge($this->options, $options); 
    355347    } 
     
    360352     * @return array The currently set options 
    361353     */ 
    362     public function getOptions() 
    363     { 
     354    public function getOptions() { 
    364355        return $this->options; 
    365356    } 
     
    372363     * @return void 
    373364     * @throws Exception 
    374      */   
    375     public function setOption($name, $value) 
    376     { 
     365     */ 
     366    public function setOption($name, $value) { 
    377367        if (!isset($this->options[$name])) { 
    378368            throw $this->newException('Unknown option: ' . $name); 
     
    388378     * @throws Exception 
    389379     */ 
    390     public function getOption($name) 
    391     { 
     380    public function getOption($name) { 
    392381        if (!isset($this->options[$name])) { 
    393382            throw $this->newException('Unknown option: ' . $name); 
     
    403392     * @return mixed Returns a string containing the previously defined error handler (if any) 
    404393     */ 
    405     public function registerErrorHandler($throwErrorExceptions = false) 
    406     { 
     394    public function registerErrorHandler($throwErrorExceptions = false) { 
    407395        //NOTE: The following errors will not be caught by this error handler: 
    408396        //      E_ERROR, E_PARSE, E_CORE_ERROR, 
    409397        //      E_CORE_WARNING, E_COMPILE_ERROR, 
    410398        //      E_COMPILE_WARNING, E_STRICT 
    411      
     399 
    412400        $this->throwErrorExceptions = $throwErrorExceptions; 
    413      
     401 
    414402        return set_error_handler(array($this, 'errorHandler')); 
    415403    } 
     
    426414     * @param array $errcontext 
    427415     */ 
    428     public function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) 
    429     { 
     416    public function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) { 
    430417        // Don't throw exception if error reporting is switched off 
    431418        if (error_reporting() == 0) { 
     
    443430        } 
    444431    } 
    445    
     432 
    446433    /** 
    447434     * Register FirePHP as your exception handler 
     
    451438     *               If no previous handler was defined, NULL is also returned. 
    452439     */ 
    453     public function registerExceptionHandler() 
    454     { 
     440    public function registerExceptionHandler() { 
    455441        return set_exception_handler(array($this, 'exceptionHandler')); 
    456442    } 
    457    
     443 
    458444    /** 
    459445     * FirePHP's exception handler 
     
    464450     * @throws Exception 
    465451     */ 
    466     function exceptionHandler($exception) 
    467     { 
     452    function exceptionHandler($exception) { 
    468453        $this->inExceptionHandler = true; 
    469      
     454 
    470455        header('HTTP/1.1 500 Internal Server Error'); 
    471      
     456 
    472457        try { 
    473458            $this->fb($exception); 
     
    475460            echo 'We had an exception: ' . $e; 
    476461        } 
    477          
     462 
    478463        $this->inExceptionHandler = false; 
    479464    } 
    480    
     465 
    481466    /** 
    482467     * Register FirePHP driver as your assert callback 
     
    486471     * @return mixed Returns the original setting or FALSE on errors 
    487472     */ 
    488     public function registerAssertionHandler($convertAssertionErrorsToExceptions = true, $throwAssertionExceptions = false) 
    489     { 
     473    public function registerAssertionHandler($convertAssertionErrorsToExceptions = true, $throwAssertionExceptions = false) { 
    490474        $this->convertAssertionErrorsToExceptions = $convertAssertionErrorsToExceptions; 
    491475        $this->throwAssertionExceptions = $throwAssertionExceptions; 
    492          
     476 
    493477        if ($throwAssertionExceptions && !$convertAssertionErrorsToExceptions) { 
    494478            throw $this->newException('Cannot throw assertion exceptions as assertion errors are not being converted to exceptions!'); 
    495479        } 
    496          
     480 
    497481        return assert_options(ASSERT_CALLBACK, array($this, 'assertionHandler')); 
    498482    } 
    499    
     483 
    500484    /** 
    501485     * FirePHP's assertion handler 
     
    507491     * @param mixed $code Assertion code 
    508492     */ 
    509     public function assertionHandler($file, $line, $code) 
    510     { 
     493    public function assertionHandler($file, $line, $code) { 
    511494        if ($this->convertAssertionErrorsToExceptions) { 
    512            
    513           $exception = new ErrorException('Assertion Failed - Code[ ' . $code . ' ]', 0, null, $file, $line); 
    514      
    515           if ($this->throwAssertionExceptions) { 
    516               throw $exception; 
    517           } else { 
    518               $this->fb($exception); 
    519           } 
    520          
     495 
     496            $exception = new ErrorException('Assertion Failed - Code[ ' . $code . ' ]', 0, null, $file, $line); 
     497 
     498            if ($this->throwAssertionExceptions) { 
     499                throw $exception; 
     500            } else { 
     501                $this->fb($exception); 
     502            } 
    521503        } else { 
    522             $this->fb($code, 'Assertion Failed', FirePHP::ERROR, array('File' => $file, 'Line' => $line)); 
    523         } 
    524     } 
    525    
     504            $this->fb($code, 'Assertion Failed', FirePHP_tp::ERROR, array('File' => $file, 'Line' => $line)); 
     505        } 
     506    } 
     507 
    526508    /** 
    527509     * Start a group for following messages. 
     
    536518     * @throws Exception 
    537519     */ 
    538     public function group($name, $options = null) 
    539     { 
    540      
     520    public function group($name, $options = null) { 
     521 
    541522        if (!$name) { 
    542523            throw $this->newException('You must specify a label for the group!'); 
     
    552533        } 
    553534 
    554         return $this->fb(null, $name, FirePHP::GROUP_START, $options); 
    555     } 
    556    
     535        return $this->fb(null, $name, FirePHP_tp::GROUP_START, $options); 
     536    } 
     537 
    557538    /** 
    558539     * Ends a group you have started before 
     
    561542     * @throws Exception 
    562543     */ 
    563     public function groupEnd() 
    564     { 
    565         return $this->fb(null, null, FirePHP::GROUP_END); 
     544    public function groupEnd() { 
     545        return $this->fb(null, null, FirePHP_tp::GROUP_END); 
    566546    } 
    567547 
     
    569549     * Log object with label to firebug console 
    570550     * 
    571      * @see FirePHP::LOG 
     551     * @see FirePHP_tp::LOG 
    572552     * @param mixes $object 
    573553     * @param string $label 
     
    575555     * @throws Exception 
    576556     */ 
    577     public function log($object, $label = null, $options = array()) 
    578     { 
    579         return $this->fb($object, $label, FirePHP::LOG, $options); 
    580     }  
     557    public function log($object, $label = null, $options = array()) { 
     558        return $this->fb($object, $label, FirePHP_tp::LOG, $options); 
     559    } 
    581560 
    582561    /** 
    583562     * Log object with label to firebug console 
    584563     * 
    585      * @see FirePHP::INFO 
     564     * @see FirePHP_tp::INFO 
    586565     * @param mixes $object 
    587566     * @param string $label 
     
    589568     * @throws Exception 
    590569     */ 
    591     public function info($object, $label = null, $options = array()) 
    592     { 
    593         return $this->fb($object, $label, FirePHP::INFO, $options); 
    594     }  
     570    public function info($object, $label = null, $options = array()) { 
     571        return $this->fb($object, $label, FirePHP_tp::INFO, $options); 
     572    } 
    595573 
    596574    /** 
    597575     * Log object with label to firebug console 
    598576     * 
    599      * @see FirePHP::WARN 
     577     * @see FirePHP_tp::WARN 
    600578     * @param mixes $object 
    601579     * @param string $label 
     
    603581     * @throws Exception 
    604582     */ 
    605     public function warn($object, $label = null, $options = array()) 
    606     { 
    607         return $this->fb($object, $label, FirePHP::WARN, $options); 
    608     }  
     583    public function warn($object, $label = null, $options = array()) { 
     584        return $this->fb($object, $label, FirePHP_tp::WARN, $options); 
     585    } 
    609586 
    610587    /** 
    611588     * Log object with label to firebug console 
    612589     * 
    613      * @see FirePHP::ERROR 
     590     * @see FirePHP_tp::ERROR 
    614591     * @param mixes $object 
    615592     * @param string $label 
     
    617594     * @throws Exception 
    618595     */ 
    619     public function error($object, $label = null, $options = array()) 
    620     { 
    621         return $this->fb($object, $label, FirePHP::ERROR, $options); 
    622     }  
     596    public function error($object, $label = null, $options = array()) { 
     597        return $this->fb($object, $label, FirePHP_tp::ERROR, $options); 
     598    } 
    623599 
    624600    /** 
    625601     * Dumps key and variable to firebug server panel 
    626602     * 
    627      * @see FirePHP::DUMP 
     603     * @see FirePHP_tp::DUMP 
    628604     * @param string $key 
    629605     * @param mixed $variable 
     
    631607     * @throws Exception 
    632608     */ 
    633     public function dump($key, $variable, $options = array()) 
    634     { 
     609    public function dump($key, $variable, $options = array()) { 
    635610        if (!is_string($key)) { 
    636611            throw $this->newException('Key passed to dump() is not a string'); 
     
    642617            throw $this->newException('Key passed to dump() contains invalid characters [a-zA-Z0-9-_\.:]'); 
    643618        } 
    644         return $this->fb($variable, $key, FirePHP::DUMP, $options); 
    645     } 
    646    
     619        return $this->fb($variable, $key, FirePHP_tp::DUMP, $options); 
     620    } 
     621 
    647622    /** 
    648623     * Log a trace in the firebug console 
    649624     * 
    650      * @see FirePHP::TRACE 
     625     * @see FirePHP_tp::TRACE 
    651626     * @param string $label 
    652627     * @return true 
    653628     * @throws Exception 
    654629     */ 
    655     public function trace($label) 
    656     { 
    657         return $this->fb($label, FirePHP::TRACE); 
    658     }  
     630    public function trace($label) { 
     631        return $this->fb($label, FirePHP_tp::TRACE); 
     632    } 
    659633 
    660634    /** 
    661635     * Log a table in the firebug console 
    662636     * 
    663      * @see FirePHP::TABLE 
     637     * @see FirePHP_tp::TABLE 
    664638     * @param string $label 
    665639     * @param string $table 
     
    667641     * @throws Exception 
    668642     */ 
    669     public function table($label, $table, $options = array()) 
    670     { 
    671         return $this->fb($table, $label, FirePHP::TABLE, $options); 
     643    public function table($label, $table, $options = array()) { 
     644        return $this->fb($table, $label, FirePHP_tp::TABLE, $options); 
    672645    } 
    673646 
     
    677650     * @see Insight_Helper::to() 
    678651     */ 
    679     public static function to() 
    680     { 
     652    public static function to() { 
    681653        $instance = self::getInstance(); 
    682654        if (!method_exists($instance, '_to')) { 
    683             throw new Exception('FirePHP::to() implementation not loaded'); 
     655            throw new Exception('FirePHP_tp::to() implementation not loaded'); 
    684656        } 
    685657        $args = func_get_args(); 
     
    692664     * @see Insight_Helper::plugin() 
    693665     */ 
    694     public static function plugin() 
    695     { 
     666    public static function plugin() { 
    696667        $instance = self::getInstance(); 
    697668        if (!method_exists($instance, '_plugin')) { 
    698             throw new Exception('FirePHP::plugin() implementation not loaded'); 
     669            throw new Exception('FirePHP_tp::plugin() implementation not loaded'); 
    699670        } 
    700671        $args = func_get_args(); 
     
    707678     * @return boolean 
    708679     */ 
    709     public function detectClientExtension() 
    710     { 
     680    public function detectClientExtension() { 
    711681        // Check if FirePHP is installed on client via User-Agent header 
    712682        if (@preg_match_all('/\sFirePHP\/([\.\d]*)\s?/si', $this->getUserAgent(), $m) && 
    713            version_compare($m[1][0], '0.0.6', '>=')) { 
     683                version_compare($m[1][0], '0.0.6', '>=')) { 
    714684            return true; 
    715685        } else 
    716686        // Check if FirePHP is installed on client via X-FirePHP-Version header 
    717687        if (@preg_match_all('/^([\.\d]*)$/si', $this->getRequestHeader('X-FirePHP-Version'), $m) && 
    718            version_compare($m[1][0], '0.0.6', '>=')) { 
     688                version_compare($m[1][0], '0.0.6', '>=')) { 
    719689            return true; 
    720690        } 
    721691        return false; 
    722692    } 
    723   
     693 
    724694    /** 
    725695     * Log varible to Firebug 
     
    730700     * @throws Exception 
    731701     */ 
    732     public function fb($object) 
    733     { 
     702    public function fb($object) { 
    734703        if ($this instanceof FirePHP_Insight && method_exists($this, '_logUpgradeClientMessage')) { 
    735704            if (!FirePHP_Insight::$upgradeClientMessageLogged) { // avoid infinite recursion as _logUpgradeClientMessage() logs a message 
     
    753722            } 
    754723        } 
    755        
     724 
    756725        $type = null; 
    757726        $label = null; 
    758727        $options = array(); 
    759        
     728 
    760729        if (func_num_args() == 1) { 
     730             
    761731        } else if (func_num_args() == 2) { 
    762732            switch (func_get_arg(1)) { 
     
    861831        $meta = array(); 
    862832        $skipFinalObjectEncode = false; 
    863        
     833 
    864834        if ($object instanceof Exception) { 
    865      
     835 
    866836            $meta['file'] = $this->_escapeTraceFile($object->getFile()); 
    867837            $meta['line'] = $object->getLine(); 
    868            
     838 
    869839            $trace = $object->getTrace(); 
    870840            if ($object instanceof ErrorException 
    871                && isset($trace[0]['function']) 
    872                && $trace[0]['function'] == 'errorHandler' 
    873                && isset($trace[0]['class']) 
    874                && $trace[0]['class'] == 'FirePHP') { 
    875                 
     841                    && isset($trace[0]['function']) 
     842                    && $trace[0]['function'] == 'errorHandler' 
     843                    && isset($trace[0]['class']) 
     844                    && $trace[0]['class'] == 'FirePHP') { 
     845 
    876846                $severity = false; 
    877847                switch ($object->getSeverity()) { 
     
    912882                        break; 
    913883                } 
    914                     
     884 
    915885                $object = array('Class' => get_class($object), 
    916                                 'Message' => $severity . ': ' . $object->getMessage(), 
    917                                 'File' => $this->_escapeTraceFile($object->getFile()), 
    918                                 'Line' => $object->getLine(), 
    919                                 'Type' => 'trigger', 
    920                                 'Trace' => $this->_escapeTrace(array_splice($trace, 2))); 
     886                    'Message' => $severity . ': ' . $object->getMessage(), 
     887                    'File' => $this->_escapeTraceFile($object->getFile()), 
     888                    'Line' => $object->getLine(), 
     889                    'Type' => 'trigger', 
     890                    'Trace' => $this->_escapeTrace(array_splice($trace, 2))); 
    921891                $skipFinalObjectEncode = true; 
    922892            } else { 
    923893                $object = array('Class' => get_class($object), 
    924                                 'Message' => $object->getMessage(), 
    925                                 'File' => $this->_escapeTraceFile($object->getFile()), 
    926                                 'Line' => $object->getLine(), 
    927                                 'Type' => 'throw', 
    928                                 'Trace' => $this->_escapeTrace($trace)); 
     894                    'Message' => $object->getMessage(), 
     895                    'File' => $this->_escapeTraceFile($object->getFile()), 
     896                    'Line' => $object->getLine(), 
     897                    'Type' => 'throw', 
     898                    'Trace' => $this->_escapeTrace($trace)); 
    929899                $skipFinalObjectEncode = true; 
    930900            } 
    931901            $type = self::EXCEPTION; 
    932            
    933902        } else if ($type == self::TRACE) { 
    934            
     903 
    935904            $trace = debug_backtrace(); 
    936905            if (!$trace) return false; 
    937906            for ($i = 0; $i < sizeof($trace); $i++) { 
    938      
     907 
    939908                if (isset($trace[$i]['class']) 
    940                    && isset($trace[$i]['file']) 
    941                    && ($trace[$i]['class'] == 'FirePHP' 
    942                        || $trace[$i]['class'] == 'FB') 
    943                    && (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php' 
    944                        || substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) { 
     909                        && isset($trace[$i]['file']) 
     910                        && ($trace[$i]['class'] == 'FirePHP' 
     911                        || $trace[$i]['class'] == 'FB') 
     912                        && (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php' 
     913                        || substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) { 
    945914                    /* Skip - FB::trace(), FB::send(), $firephp->trace(), $firephp->fb() */ 
    946915                } else 
    947916                if (isset($trace[$i]['class']) 
    948                    && isset($trace[$i+1]['file']) 
    949                    && $trace[$i]['class'] == 'FirePHP' 
    950                    && substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
     917                        && isset($trace[$i + 1]['file']) 
     918                        && $trace[$i]['class'] == 'FirePHP' 
     919                        && substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
    951920                    /* Skip fb() */ 
    952921                } else 
    953922                if ($trace[$i]['function'] == 'fb' 
    954                    || $trace[$i]['function'] == 'trace' 
    955                    || $trace[$i]['function'] == 'send') { 
     923                        || $trace[$i]['function'] == 'trace' 
     924                        || $trace[$i]['function'] == 'send') { 
    956925 
    957926                    $object = array('Class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : '', 
    958                                     'Type' => isset($trace[$i]['type']) ? $trace[$i]['type'] : '', 
    959                                     'Function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : '', 
    960                                     'Message' => $trace[$i]['args'][0], 
    961                                     'File' => isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : '', 
    962                                     'Line' => isset($trace[$i]['line']) ? $trace[$i]['line'] : '', 
    963                                     'Args' => isset($trace[$i]['args']) ? $this->encodeObject($trace[$i]['args']) : '', 
    964                                     'Trace' => $this->_escapeTrace(array_splice($trace, $i + 1))); 
    965          
     927                        'Type' => isset($trace[$i]['type']) ? $trace[$i]['type'] : '', 
     928                        'Function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : '', 
     929                        'Message' => $trace[$i]['args'][0], 
     930                        'File' => isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : '', 
     931                        'Line' => isset($trace[$i]['line']) ? $trace[$i]['line'] : '', 
     932                        'Args' => isset($trace[$i]['args']) ? $this->encodeObject($trace[$i]['args']) : '', 
     933                        'Trace' => $this->_escapeTrace(array_splice($trace, $i + 1))); 
     934 
    966935                    $skipFinalObjectEncode = true; 
    967936                    $meta['file'] = isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : ''; 
     
    970939                } 
    971940            } 
    972      
    973941        } else 
    974942        if ($type == self::TABLE) { 
    975            
     943 
    976944            if (isset($object[0]) && is_string($object[0])) { 
    977945                $object[1] = $this->encodeTable($object[1]); 
     
    979947                $object = $this->encodeTable($object); 
    980948            } 
    981      
     949 
    982950            $skipFinalObjectEncode = true; 
    983            
    984951        } else if ($type == self::GROUP_START) { 
    985            
     952 
    986953            if (!$label) { 
    987954                throw $this->newException('You must specify a label for the group!'); 
    988955            } 
    989            
    990956        } else { 
    991957            if ($type === null) { 
     
    993959            } 
    994960        } 
    995          
     961 
    996962        if ($this->options['includeLineNumbers']) { 
    997963            if (!isset($meta['file']) || !isset($meta['line'])) { 
    998      
     964 
    999965                $trace = debug_backtrace(); 
    1000966                for ($i = 0; $trace && $i < sizeof($trace); $i++) { 
    1001            
     967 
    1002968                    if (isset($trace[$i]['class']) 
    1003                        && isset($trace[$i]['file']) 
    1004                        && ($trace[$i]['class'] == 'FirePHP' 
    1005                            || $trace[$i]['class'] == 'FB') 
    1006                        && (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php' 
    1007                            || substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) { 
     969                            && isset($trace[$i]['file']) 
     970                            && ($trace[$i]['class'] == 'FirePHP' 
     971                            || $trace[$i]['class'] == 'FB') 
     972                            && (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php' 
     973                            || substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) { 
    1008974                        /* Skip - FB::trace(), FB::send(), $firephp->trace(), $firephp->fb() */ 
    1009975                    } else 
    1010976                    if (isset($trace[$i]['class']) 
    1011                        && isset($trace[$i + 1]['file']) 
    1012                        && $trace[$i]['class'] == 'FirePHP' 
    1013                        && substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
     977                            && isset($trace[$i + 1]['file']) 
     978                            && $trace[$i]['class'] == 'FirePHP' 
     979                            && substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
    1014980                        /* Skip fb() */ 
    1015981                    } else 
    1016982                    if (isset($trace[$i]['file']) 
    1017                        && substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
     983                            && substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php') { 
    1018984                        /* Skip FB::fb() */ 
    1019985                    } else { 
     
    1022988                        break; 
    1023989                    } 
    1024                 }       
     990                } 
    1025991            } 
    1026992        } else { 
     
    1031997        $this->setHeader('X-Wf-Protocol-1', 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2'); 
    1032998        $this->setHeader('X-Wf-1-Plugin-1', 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/' . self::VERSION); 
    1033       
     999 
    10341000        $structureIndex = 1; 
    10351001        if ($type == self::DUMP) { 
     
    10391005            $this->setHeader('X-Wf-1-Structure-1', 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1'); 
    10401006        } 
    1041        
     1007 
    10421008        if ($type == self::DUMP) { 
    10431009            $msg = '{"' . $label . '":' . $this->jsonEncode($object, $skipFinalObjectEncode) . '}'; 
     
    10561022            $msg = '[' . $this->jsonEncode($msgMeta) . ',' . $this->jsonEncode($object, $skipFinalObjectEncode) . ']'; 
    10571023        } 
    1058          
     1024 
    10591025        $parts = explode("\n", chunk_split($msg, 5000, "\n")); 
    10601026 
    10611027        for ($i = 0; $i < count($parts); $i++) { 
    1062              
     1028 
    10631029            $part = $parts[$i]; 
    10641030            if ($part) { 
    1065                  
     1031 
    10661032                if (count($parts) > 2) { 
    10671033                    // Message needs to be split into multiple parts 
    1068                     $this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, 
    1069                                      (($i == 0) ? strlen($msg) : '') 
    1070                                      . '|' . $part . '|' 
    1071                                      . (($i < count($parts) - 2) ? '\\' : '')); 
     1034                    $this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, (($i == 0) ? strlen($msg) : '') 
     1035                            . '|' . $part . '|' 
     1036                            . (($i < count($parts) - 2) ? '\\' : '')); 
    10721037                } else { 
    1073                     $this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, 
    1074                                      strlen($part) . '|' . $part . '|'); 
    1075                 } 
    1076                  
     1038                    $this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, strlen($part) . '|' . $part . '|'); 
     1039                } 
     1040 
    10771041                $this->messageIndex++; 
    1078                  
     1042 
    10791043                if ($this->messageIndex > 99999) { 
    1080                     throw $this->newException('Maximum number (99,999) of messages reached!');              
    1081                 } 
    1082             } 
    1083         } 
    1084      
     1044                    throw $this->newException('Maximum number (99,999) of messages reached!'); 
     1045                } 
     1046            } 
     1047        } 
     1048 
    10851049        $this->setHeader('X-Wf-1-Index', $this->messageIndex - 1); 
    1086      
     1050 
    10871051        return true; 
    10881052    } 
    1089    
     1053 
    10901054    /** 
    10911055     * Standardizes path for windows systems. 
     
    10941058     * @return string 
    10951059     */ 
    1096     protected function _standardizePath($path) 
    1097     { 
     1060    protected function _standardizePath($path) { 
    10981061        return preg_replace('/\\\\+/', '/', $path); 
    10991062    } 
    1100    
     1063 
    11011064    /** 
    11021065     * Escape trace path for windows systems 
     
    11051068     * @return array 
    11061069     */ 
    1107     protected function _escapeTrace($trace) 
    1108     { 
     1070    protected function _escapeTrace($trace) { 
    11091071        if (!$trace) return $trace; 
    11101072        for ($i = 0; $i < sizeof($trace); $i++) { 
     
    11161078            } 
    11171079        } 
    1118         return $trace;     
    1119     } 
    1120    
     1080        return $trace; 
     1081    } 
     1082 
    11211083    /** 
    11221084     * Escape file information of trace for windows systems 
     
    11251087     * @return string 
    11261088     */ 
    1127     protected function _escapeTraceFile($file) 
    1128     { 
     1089    protected function _escapeTraceFile($file) { 
    11291090        /* Check if we have a windows filepath */ 
    11301091        if (strpos($file, '\\')) { 
     
    11441105     * @param integer $linenum 
    11451106     */ 
    1146     protected function headersSent(&$filename, &$linenum) 
    1147     { 
     1107    protected function headersSent(&$filename, &$linenum) { 
    11481108        return headers_sent($filename, $linenum); 
    11491109    } 
     
    11551115     * @param string $value 
    11561116     */ 
    1157     protected function setHeader($name, $value) 
    1158     { 
     1117    protected function setHeader($name, $value) { 
    11591118        return header($name . ': ' . $value); 
    11601119    } 
     
    11651124     * @return string|false 
    11661125     */ 
    1167     protected function getUserAgent() 
    1168     { 
     1126    protected function getUserAgent() { 
    11691127        if (!isset($_SERVER['HTTP_USER_AGENT'])) return false; 
    11701128        return $_SERVER['HTTP_USER_AGENT']; 
     
    11761134     * @return array 
    11771135     */ 
    1178     public static function getAllRequestHeaders() 
    1179     { 
     1136    public static function getAllRequestHeaders() { 
    11801137        static $_cachedHeaders = false; 
    11811138        if ($_cachedHeaders !== false) { 
     
    12021159     * @return string|false 
    12031160     */ 
    1204     protected function getRequestHeader($name) 
    1205     { 
     1161    protected function getRequestHeader($name) { 
    12061162        $headers = self::getAllRequestHeaders(); 
    12071163        if (isset($headers[strtolower($name)])) { 
     
    12171173     * @return Exception 
    12181174     */ 
    1219     protected function newException($message) 
    1220     { 
     1175    protected function newException($message) { 
    12211176        return new Exception($message); 
    12221177    } 
    1223    
     1178 
    12241179    /** 
    12251180     * Encode an object into a JSON string 
     
    12311186     * @return string The JSON string 
    12321187     */ 
    1233     public function jsonEncode($object, $skipObjectEncode = false) 
    1234     { 
     1188    public function jsonEncode($object, $skipObjectEncode = false) { 
    12351189        if (!$skipObjectEncode) { 
    12361190            $object = $this->encodeObject($object); 
    12371191        } 
    1238          
     1192 
    12391193        if (function_exists('json_encode') 
    1240            && $this->options['useNativeJsonEncode'] != false) { 
    1241      
     1194                && $this->options['useNativeJsonEncode'] != false) { 
     1195 
    12421196            return json_encode($object); 
    12431197        } else { 
     
    12511205     * @param array $table The table to be encoded 
    12521206     * @return array 
    1253      */   
    1254     protected function encodeTable($table) 
    1255     { 
     1207     */ 
     1208    protected function encodeTable($table) { 
    12561209        if (!$table) return $table; 
    1257          
     1210 
    12581211        $newTable = array(); 
    12591212        foreach ($table as $row) { 
     
    12811234     * @return array All members of the object 
    12821235     */ 
    1283     protected function encodeObject($object, $objectDepth = 1, $arrayDepth = 1, $maxDepth = 1) 
    1284     { 
     1236    protected function encodeObject($object, $objectDepth = 1, $arrayDepth = 1, $maxDepth = 1) { 
    12851237        if ($maxDepth > $this->options['maxDepth']) { 
    12861238            return '** Max Depth (' . $this->options['maxDepth'] . ') **'; 
     
    12881240 
    12891241        $return = array(); 
    1290      
     1242 
    12911243        if (is_resource($object)) { 
    1292      
     1244 
    12931245            return '** ' . (string) $object . ' **'; 
    1294      
    12951246        } else if (is_object($object)) { 
    1296      
     1247 
    12971248            if ($objectDepth > $this->options['maxObjectDepth']) { 
    12981249                return '** Max Object Depth (' . $this->options['maxObjectDepth'] . ') **'; 
    12991250            } 
    1300              
     1251 
    13011252            foreach ($this->objectStack as $refVal) { 
    13021253                if ($refVal === $object) { 
     
    13051256            } 
    13061257            array_push($this->objectStack, $object); 
    1307                      
     1258 
    13081259            $return['__className'] = $class = get_class($object); 
    13091260            $classLower = strtolower($class); 
     
    13141265                $properties[$property->getName()] = $property; 
    13151266            } 
    1316                  
    1317             $members = (array)$object; 
    1318      
     1267 
     1268            $members = (array) $object; 
     1269 
    13191270            foreach ($properties as $plainName => $property) { 
    1320      
     1271 
    13211272                $name = $rawName = $plainName; 
    13221273                if ($property->isStatic()) { 
     
    13321283                    $rawName = "\0" . '*' . "\0" . $rawName; 
    13331284                } 
    1334      
     1285 
    13351286                if (!(isset($this->objectFilters[$classLower]) 
    1336                      && is_array($this->objectFilters[$classLower]) 
    1337                      && in_array($plainName, $this->objectFilters[$classLower]))) { 
    1338      
     1287                        && is_array($this->objectFilters[$classLower]) 
     1288                        && in_array($plainName, $this->objectFilters[$classLower]))) { 
     1289 
    13391290                    if (array_key_exists($rawName, $members) && !$property->isStatic()) { 
    13401291                        $return[$name] = $this->encodeObject($members[$rawName], $objectDepth + 1, 1, $maxDepth + 1); 
     
    13541305                } 
    13551306            } 
    1356              
     1307 
    13571308            // Include all members that are not defined in the class 
    13581309            // but exist in the object 
    13591310            foreach ($members as $rawName => $value) { 
    1360      
     1311 
    13611312                $name = $rawName; 
    13621313 
     
    13671318 
    13681319                $plainName = $name; 
    1369      
     1320 
    13701321                if (!isset($properties[$name])) { 
    13711322                    $name = 'undeclared:' . $name; 
    1372      
     1323 
    13731324                    if (!(isset($this->objectFilters[$classLower]) 
    1374                          && is_array($this->objectFilters[$classLower]) 
    1375                          && in_array($plainName, $this->objectFilters[$classLower]))) { 
    1376      
     1325                            && is_array($this->objectFilters[$classLower]) 
     1326                            && in_array($plainName, $this->objectFilters[$classLower]))) { 
     1327 
    13771328                        $return[$name] = $this->encodeObject($value, $objectDepth + 1, 1, $maxDepth + 1); 
    13781329                    } else { 
     
    13811332                } 
    13821333            } 
    1383              
     1334 
    13841335            array_pop($this->objectStack); 
    1385              
    13861336        } elseif (is_array($object)) { 
    1387      
     1337 
    13881338            if ($arrayDepth > $this->options['maxArrayDepth']) { 
    13891339                return '** Max Array Depth (' . $this->options['maxArrayDepth'] . ') **'; 
    13901340            } 
    1391            
    1392             foreach ($object as $key => $val) {                 
     1341 
     1342            foreach ($object as $key => $val) { 
    13931343 
    13941344                // Encoding the $GLOBALS PHP array causes an infinite loop 
     
    13971347                // with to stop infinite recursion in this case. 
    13981348                if ($key == 'GLOBALS' 
    1399                    && is_array($val) 
    1400                    && array_key_exists('GLOBALS', $val)) { 
     1349                        && is_array($val) 
     1350                        && array_key_exists('GLOBALS', $val)) { 
    14011351                    $val['GLOBALS'] = '** Recursion (GLOBALS) **'; 
    14021352                } 
     
    14241374     * @return boolean 
    14251375     */ 
    1426     protected function is_utf8($str) 
    1427     { 
     1376    protected function is_utf8($str) { 
    14281377        if (function_exists('mb_detect_encoding')) { 
    14291378            return ( 
    1430                 mb_detect_encoding($str, 'UTF-8', true) == 'UTF-8' && 
    1431                 ($str === null || $this->jsonEncode($str, true) !== 'null') 
    1432             ); 
     1379                    mb_detect_encoding($str, 'UTF-8', true) == 'UTF-8' && 
     1380                    ($str === null || $this->jsonEncode($str, true) !== 'null') 
     1381                    ); 
    14331382        } 
    14341383        $c = 0; 
     
    14471396                else return false; 
    14481397                if (($i + $bits) > $len) return false; 
    1449                 while($bits > 1) { 
     1398                while ($bits > 1) { 
    14501399                    $i++; 
    14511400                    $b = ord($str[$i]); 
     
    14561405        } 
    14571406        return ($str === null || $this->jsonEncode($str, true) !== 'null'); 
    1458     }  
     1407    } 
    14591408 
    14601409    /** 
     
    15131462     * @link        http://pear.php.net/pepr/pepr-proposal-show.php?id=198 
    15141463     */ 
    1515     
    1516       
     1464 
    15171465    /** 
    15181466     * Keep a list of objects as we descend into the array so we can detect recursion. 
     
    15201468    private $json_objectStack = array(); 
    15211469 
    1522  
    1523    /** 
    1524     * convert a string from one UTF-8 char to one UTF-16 char 
    1525     * 
    1526     * Normally should be handled by mb_convert_encoding, but 
    1527     * provides a slower PHP-only method for installations 
    1528     * that lack the multibye string extension. 
    1529     * 
    1530     * @param    string  $utf8   UTF-8 character 
    1531     * @return   string  UTF-16 character 
    1532     * @access   private 
    1533     */ 
    1534     private function json_utf82utf16($utf8) 
    1535     { 
     1470    /** 
     1471     * convert a string from one UTF-8 char to one UTF-16 char 
     1472     * 
     1473     * Normally should be handled by mb_convert_encoding, but 
     1474     * provides a slower PHP-only method for installations 
     1475     * that lack the multibye string extension. 
     1476     * 
     1477     * @param    string  $utf8   UTF-8 character 
     1478     * @return   string  UTF-16 character 
     1479     * @access   private 
     1480     */ 
     1481    private function json_utf82utf16($utf8) { 
    15361482        // oh please oh please oh please oh please oh please 
    15371483        if (function_exists('mb_convert_encoding')) { 
     
    15491495                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    15501496                return chr(0x07 & (ord($utf8{0}) >> 2)) 
    1551                        . chr((0xC0 & (ord($utf8{0}) << 6)) 
    1552                        | (0x3F & ord($utf8{1}))); 
     1497                        . chr((0xC0 & (ord($utf8{0}) << 6)) 
     1498                                | (0x3F & ord($utf8{1}))); 
    15531499 
    15541500            case 3: 
     
    15561502                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    15571503                return chr((0xF0 & (ord($utf8{0}) << 4)) 
    1558                        | (0x0F & (ord($utf8{1}) >> 2))) 
    1559                        . chr((0xC0 & (ord($utf8{1}) << 6)) 
    1560                        | (0x7F & ord($utf8{2}))); 
     1504                                | (0x0F & (ord($utf8{1}) >> 2))) 
     1505                        . chr((0xC0 & (ord($utf8{1}) << 6)) 
     1506                                | (0x7F & ord($utf8{2}))); 
    15611507        } 
    15621508 
     
    15651511    } 
    15661512 
    1567    /** 
    1568     * encodes an arbitrary variable into JSON format 
    1569     * 
    1570     * @param    mixed   $var    any number, boolean, string, array, or object to be encoded. 
    1571     *                           see argument 1 to Services_JSON() above for array-parsing behavior. 
    1572     *                           if var is a strng, note that encode() always expects it 
    1573     *                           to be in ASCII or UTF-8 format! 
    1574     * 
    1575     * @return   mixed   JSON string representation of input var or an error if a problem occurs 
    1576     * @access   public 
    1577     */ 
    1578     private function json_encode($var) 
    1579     { 
     1513    /** 
     1514     * encodes an arbitrary variable into JSON format 
     1515     * 
     1516     * @param    mixed   $var    any number, boolean, string, array, or object to be encoded. 
     1517     *                           see argument 1 to Services_JSON() above for array-parsing behavior. 
     1518     *                           if var is a strng, note that encode() always expects it 
     1519     *                           to be in ASCII or UTF-8 format! 
     1520     * 
     1521     * @return   mixed   JSON string representation of input var or an error if a problem occurs 
     1522     * @access   public 
     1523     */ 
     1524    private function json_encode($var) { 
    15801525        if (is_object($var)) { 
    15811526            if (in_array($var, $this->json_objectStack)) { 
     
    15831528            } 
    15841529        } 
    1585            
     1530 
    15861531        switch (gettype($var)) { 
    15871532            case 'boolean': 
     
    16031548                $strlen_var = strlen($var); 
    16041549 
    1605                /* 
    1606                 * Iterate over every character in the string, 
    1607                 * escaping with a slash or encoding to UTF-8 where necessary 
    1608                 */ 
     1550                /* 
     1551                 * Iterate over every character in the string, 
     1552                 * escaping with a slash or encoding to UTF-8 where necessary 
     1553                 */ 
    16091554                for ($c = 0; $c < $strlen_var; ++$c) { 
    16101555 
     
    16521597                            // characters U-00000800 - U-0000FFFF, mask 1110XXXX 
    16531598                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    1654                             $char = pack('C*', $ord_var_c, 
    1655                                          ord($var{$c + 1}), 
    1656                                          ord($var{$c + 2})); 
     1599                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2})); 
    16571600                            $c += 2; 
    16581601                            $utf16 = $this->json_utf82utf16($char); 
     
    16631606                            // characters U-00010000 - U-001FFFFF, mask 11110XXX 
    16641607                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    1665                             $char = pack('C*', $ord_var_c, 
    1666                                          ord($var{$c + 1}), 
    1667                                          ord($var{$c + 2}), 
    1668                                          ord($var{$c + 3})); 
     1608                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3})); 
    16691609                            $c += 3; 
    16701610                            $utf16 = $this->json_utf82utf16($char); 
     
    16751615                            // characters U-00200000 - U-03FFFFFF, mask 111110XX 
    16761616                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    1677                             $char = pack('C*', $ord_var_c, 
    1678                                          ord($var{$c + 1}), 
    1679                                          ord($var{$c + 2}), 
    1680                                          ord($var{$c + 3}), 
    1681                                          ord($var{$c + 4})); 
     1617                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3}), ord($var{$c + 4})); 
    16821618                            $c += 4; 
    16831619                            $utf16 = $this->json_utf82utf16($char); 
     
    16881624                            // characters U-04000000 - U-7FFFFFFF, mask 1111110X 
    16891625                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 
    1690                             $char = pack('C*', $ord_var_c, 
    1691                                          ord($var{$c + 1}), 
    1692                                          ord($var{$c + 2}), 
    1693                                          ord($var{$c + 3}), 
    1694                                          ord($var{$c + 4}), 
    1695                                          ord($var{$c + 5})); 
     1626                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3}), ord($var{$c + 4}), ord($var{$c + 5})); 
    16961627                            $c += 5; 
    16971628                            $utf16 = $this->json_utf82utf16($char); 
     
    17241655                // treat as a JSON object 
    17251656                if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) { 
    1726                    
     1657 
    17271658                    $this->json_objectStack[] = $var; 
    17281659 
    1729                     $properties = array_map(array($this, 'json_name_value'), 
    1730                                             array_keys($var), 
    1731                                             array_values($var)); 
     1660                    $properties = array_map(array($this, 'json_name_value'), array_keys($var), array_values($var)); 
    17321661 
    17331662                    array_pop($this->json_objectStack); 
     
    17621691                $this->json_objectStack[] = $var; 
    17631692 
    1764                 $properties = array_map(array($this, 'json_name_value'), 
    1765                                         array_keys($vars), 
    1766                                         array_values($vars)); 
     1693                $properties = array_map(array($this, 'json_name_value'), array_keys($vars), array_values($vars)); 
    17671694 
    17681695                array_pop($this->json_objectStack); 
    1769                
     1696 
    17701697                foreach ($properties as $property) { 
    17711698                    if ($property instanceof Exception) { 
     
    17731700                    } 
    17741701                } 
    1775                       
     1702 
    17761703                return '{' . join(',', $properties) . '}'; 
    17771704 
     
    17811708    } 
    17821709 
    1783    /** 
    1784     * array-walking function for use in generating JSON-formatted name-value pairs 
    1785     * 
    1786     * @param    string  $name   name of key to use 
    1787     * @param    mixed   $value  reference to an array element to be encoded 
    1788     * 
    1789     * @return   string  JSON-formatted name-value pair, like '"name":value' 
    1790     * @access   private 
    1791     */ 
    1792     private function json_name_value($name, $value) 
    1793     { 
     1710    /** 
     1711     * array-walking function for use in generating JSON-formatted name-value pairs 
     1712     * 
     1713     * @param    string  $name   name of key to use 
     1714     * @param    mixed   $value  reference to an array element to be encoded 
     1715     * 
     1716     * @return   string  JSON-formatted name-value pair, like '"name":value' 
     1717     * @access   private 
     1718     */ 
     1719    private function json_name_value($name, $value) { 
    17941720        // Encoding the $GLOBALS PHP array causes an infinite loop 
    17951721        // if the recursion is not reset here as it contains 
     
    17971723        // with to stop infinite recursion in this case. 
    17981724        if ($name == 'GLOBALS' 
    1799            && is_array($value) 
    1800            && array_key_exists('GLOBALS', $value)) { 
     1725                && is_array($value) 
     1726                && array_key_exists('GLOBALS', $value)) { 
    18011727            $value['GLOBALS'] = '** Recursion **'; 
    18021728        } 
    1803      
     1729 
    18041730        $encodedValue = $this->json_encode($value); 
    18051731 
     
    18141740     * @deprecated 
    18151741     */ 
    1816     public function setProcessorUrl($URL) 
    1817     { 
    1818         trigger_error('The FirePHP::setProcessorUrl() method is no longer supported', E_USER_DEPRECATED); 
     1742    public function setProcessorUrl($URL) { 
     1743        trigger_error('The FirePHP_tp::setProcessorUrl() method is no longer supported', E_USER_DEPRECATED); 
    18191744    } 
    18201745 
     
    18221747     * @deprecated 
    18231748     */ 
    1824     public function setRendererUrl($URL) 
    1825     { 
    1826         trigger_error('The FirePHP::setRendererUrl() method is no longer supported', E_USER_DEPRECATED); 
    1827     } 
     1749    public function setRendererUrl($URL) { 
     1750        trigger_error('The FirePHP_tp::setRendererUrl() method is no longer supported', E_USER_DEPRECATED); 
     1751    } 
     1752 
    18281753} 
  • trunk/WordPress/plugin/transposh/core/logging.php

    r673 r745  
    2020require_once('FirePHP.class.php'); 
    2121 
    22 define('TP_LOG_FILE', '/tmp/transposh.log'); 
     22class tp_logger { 
    2323 
    24 class logger { 
     24    /** @var string Name of file to log into */ 
     25    private $logfile; 
    2526 
    2627    /** @var int Tracing level, 0 is disabled (almost) and higher numbers show more debug info */ 
    2728    private $debug_level = 3; 
     29 
    2830    /** @var boolean should logging be outputted to stdout */ 
    2931    public $printout = false; 
     32 
    3033    /** @var boolean should logging outputted to stdout include an EOL */ 
    3134    public $eolprint = false; 
     35 
    3236    /** @var boolean shell we show which function called the logger */ 
    3337    public $show_caller = true; 
     38 
    3439    /** @var FirePHP used for outputing into firephp output */ 
    3540    private $firephp; 
     41 
     42    /** @var used for remote firephp debugging */ 
     43    private $remoteip; 
     44 
    3645    /** @var logger Singelton instance of our logger */ 
    3746    protected static $instance = null; 
     
    4251            ob_start(); 
    4352        } 
    44         $this->firephp = FirePHP::getInstance(true); 
     53        $this->firephp = FirePHP_tp::getInstance(true); 
    4554    } 
    4655 
     
    5059     * @param int $severity 
    5160     */ 
    52     function do_log($msg, $severity=3, $do_backtrace = false, $nest = 0) { 
     61    function do_log($msg, $severity = 3, $do_backtrace = false, $nest = 0) { 
    5362        if ($severity <= $this->debug_level) { 
    5463            if ($this->show_caller) { 
    5564                $trace = debug_backtrace(); 
    56                 if ($do_backtrace) 
    57                     $this->firephp->log($trace[3]); 
    58                 if (isset($trace[2+$nest]['class'])) { 
    59                     $log_prefix = str_pad("{$trace[2+$nest]['class']}::{$trace[2+$nest]['function']} {$trace[1+$nest]['line']}", 55+$nest, '_'); 
     65                if ($do_backtrace) $this->firephp->log($trace[3]); 
     66                if (isset($trace[2 + $nest]['class'])) { 
     67                    $log_prefix = str_pad("{$trace[2 + $nest]['class']}::{$trace[2 + $nest]['function']} {$trace[1 + $nest]['line']}", 55 + $nest, '_'); 
    6068                } else { 
    61                     $prefile = substr($trace[1+$nest]['file'], strrpos($trace[1+$nest]['file'], "/")); 
    62                     $log_prefix = str_pad("{$prefile}::{$trace[1+$nest]['function']} {$trace[1+$nest]['line']}", 55+$nest, '_'); 
     69                    $prefile = substr($trace[1 + $nest]['file'], strrpos($trace[1 + $nest]['file'], "/")); 
     70                    $log_prefix = str_pad("{$prefile}::{$trace[1 + $nest]['function']} {$trace[1 + $nest]['line']}", 55 + $nest, '_'); 
    6371                } 
    6472            } 
    65             if (!is_array($msg) && !is_object($msg)) { 
    66                 error_log(date(DATE_RFC822) . " $log_prefix: " . $msg . "\n", 3, TP_LOG_FILE); 
    67             } else { 
    68                 if (is_array($msg)) { 
    69                     error_log(date(DATE_RFC822) . " $log_prefix: Array start\n", 3, TP_LOG_FILE); 
     73            if (isset($this->logfile) && $this->logfile) { 
     74                if (!is_array($msg) && !is_object($msg)) { 
     75                    error_log(date(DATE_W3C) . " $log_prefix: " . $msg . "\n", 3, $this->logfile); 
    7076                } else { 
    71                     error_log(date(DATE_RFC822) . " $log_prefix: Object start\n", 3, TP_LOG_FILE); 
     77                    if (is_array($msg)) { 
     78                        error_log(date(DATE_W3C) . " $log_prefix: Array start\n", 3, $this->logfile); 
     79                    } else { 
     80                        error_log(date(DATE_W3C) . " $log_prefix: Object start\n", 3, $this->logfile); 
     81                    } 
     82                    foreach ($msg as $key => $item) { 
     83                        if (!is_array($item)) { 
     84                            if (!is_object($item) || method_exists($item, '__toString')) 
     85                                    error_log(date(DATE_W3C) . " $log_prefix: $key => $item\n", 3, $this->logfile); 
     86                        } else { 
     87                            error_log(date(DATE_W3C) . " $log_prefix: subarray -> $key\n", 3, $this->logfile); 
     88                            $this->do_log($item, $severity, false, $nest + 1); 
     89                        } 
     90                    } 
     91                    error_log(date(DATE_W3C) . " $log_prefix: Array stop\n", 3, $this->logfile); 
    7292                } 
    73                 foreach ($msg as $key => $item) { 
    74                     if (!is_array($item)) { 
    75                         if (!is_object($item) || method_exists($item, '__toString')) 
    76                                 error_log(date(DATE_RFC822) . " $log_prefix: $key => $item\n", 3, TP_LOG_FILE); 
    77                     } else { 
    78                         error_log(date(DATE_RFC822) . " $log_prefix: subarray -> $key\n", 3, TP_LOG_FILE); 
    79                         $this->do_log($item, $severity, false, $nest+1); 
    80                     } 
    81                 } 
    82                 error_log(date(DATE_RFC822) . " $log_prefix: Array stop\n", 3, TP_LOG_FILE); 
    8393            } 
    8494            if ($this->printout || !isset($this->firephp)) { 
     
    8696                echo ($this->eolprint) ? "\n" : "<br/>"; 
    8797            } else { 
     98                if ($this->remoteip != $_SERVER['REMOTE_ADDR']) return; 
    8899                if ((is_array($msg) || is_object($msg)) && $this->show_caller) { 
    89100                    $this->firephp->log("$log_prefix:"); 
     
    105116     * @return logger 
    106117     */ 
    107     public static function getInstance($AutoCreate=false) { 
     118    public static function getInstance($AutoCreate = false) { 
    108119        if ($AutoCreate === true && !self::$instance) { 
    109120            self::init(); 
     
    124135    } 
    125136 
     137    public function set_log_file($filename) { 
     138        $this->logfile = $filename; 
     139    } 
     140 
     141    public function set_remoteip($remoteip) { 
     142        $this->remoteip = $remoteip; 
     143    } 
     144 
    126145} 
    127146 
    128147// We create a global singelton instance 
    129 $GLOBALS['logger'] = logger::getInstance(true); 
     148$GLOBALS['tp_logger'] = tp_logger::getInstance(true); 
    130149 
    131150/** 
     
    134153 * @param int $severity 
    135154 */ 
    136 function logger($msg, $severity=3, $do_backtrace = false) { 
    137     $GLOBALS['logger']->do_log($msg, $severity, $do_backtrace); 
    138 } 
     155/* function tp_logger($msg, $severity = 3, $do_backtrace = false) { 
     156  $GLOBALS['tp_logger']->do_log($msg, $severity, $do_backtrace); 
     157  } */ 
    139158 
    140159/* 
    141160 *  sample of how to modify logging parameters from anywhere 
    142161 *  
    143   $GLOBALS['logger'] = logger::getInstance(true); 
    144   $GLOBALS['logger']->show_caller = true; 
     162  $GLOBALS['tp_logger'] = tp_logger::getInstance(true); 
     163  $GLOBALS['tp_logger']->show_caller = true; 
    145164 */ 
    146165?> 
  • trunk/WordPress/plugin/transposh/core/parser.php

    r744 r745  
    1717require_once("utils.php"); 
    1818 
    19  
    2019/** 
    2120 * parserstats class - holds parser statistics 
     
    10099    private $num_breaks = true; 
    101100    private $ent_breaks = true; 
    102  
    103101    // functions that need to be defined... // 
    104102    public $url_rewrite_func = null; 
     
    291289     */ 
    292290    function is_entity_letter($entity) { 
    293         logger("checking ($entity) - " . htmlentities($entity), 4); 
     291        tp_logger("checking ($entity) - " . htmlentities($entity), 4); 
    294292        $entnum = (int) substr($entity, 2); 
    295293        // skip multiply and divide (215, 247)  
     
    343341//        logger (''); 
    344342        if ($this->in_get_text > $this->in_get_text_inner) { 
    345             logger('not tagging ' . $phrase . ' assumed gettext translated', 4); 
     343            tp_logger('not tagging ' . $phrase . ' assumed gettext translated', 4); 
    346344            return; 
    347345        } 
    348346        if ($phrase) { 
    349             logger($phrase, 4); 
     347            tp_logger('tagged phrase: ' . $phrase, 4); 
    350348            $node = new simple_html_dom_node($this->html); 
    351349            $node->tag = 'phrase'; 
     
    384382                $entity = substr($string, $pos, $len_of_entity); 
    385383                if (($this->is_white_space(@$string[$pos + $len_of_entity]) || $this->is_entity_breaker($entity)) && !$this->is_entity_letter($entity)) { 
    386                     logger("entity ($entity) breaks", 4); 
     384                    tp_logger("entity ($entity) breaks", 4); 
    387385                    $this->tag_phrase($string, $start, $pos); 
    388386                    $start = $pos + $len_of_entity; 
     
    401399//                $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string); 
    402400//                $closers = ($string[$pos] == TP_GTXT_BRK) ? '': 'closer'; 
    403 //                logger(" $closers TEXT breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text, 3); 
     401//                tp_logger(" $closers TEXT breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text, 3); 
    404402                $this->tag_phrase($string, $start, $pos); 
    405403                ($string[$pos] == TP_GTXT_BRK) ? $this->in_get_text += 1 : $this->in_get_text -= 1; 
     
    412410//                $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string); 
    413411//                $closers = ($string[$pos] == TP_GTXT_IBRK) ? '': 'closer'; 
    414 //                logger("   $closers INNER text breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text_inner, 3); 
    415                 //logger("inner text breaker $start $pos $string " . (($this->in_get_text_inner) ? 'true' : 'false'), 5); 
     412//                tp_logger("   $closers INNER text breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text_inner, 3); 
     413                //tp_logger("inner text breaker $start $pos $string " . (($this->in_get_text_inner) ? 'true' : 'false'), 5); 
    416414                $this->tag_phrase($string, $start, $pos); 
    417415                if ($this->in_get_text) 
     
    552550            if ($this->url_rewrite_func) { 
    553551                $node->src = call_user_func_array($this->url_rewrite_func, array($node->src)); 
    554                 logger($node->src); 
     552                tp_logger('iframe: ' . $node->src, 4); 
    555553            } 
    556554        } 
     
    641639        $this->ent_breaks = $entities; 
    642640    } 
    643      
     641 
    644642    /** 
    645643     * Main function - actually translates a given HTML 
     
    655653                $jsoner = json_decode($string); 
    656654                if ($jsoner != null) { 
    657                     logger("json detected", 4); 
     655                    tp_logger("json detected (buddypress?)", 4); 
    658656                    // currently we only handle contents (which buddypress heavily use) 
    659657                    if ($jsoner->contents) { 
     
    691689        if ($this->feed_fix) { 
    692690            // fix urls on feed 
    693             logger('fixing feed'); 
     691            tp_logger('fixing rss feed', 3); 
    694692            foreach (array('link', 'wfw:commentrss', 'comments') as $tag) { 
    695693                foreach ($this->html->find($tag) as $e) { 
     
    726724            foreach (array('title', 'value') as $title) { 
    727725                foreach ($this->html->find('[' . $title . ']') as $e) { 
    728                     if (isset($e->nodes)) foreach ($e->nodes as $ep) { 
     726                    if (isset($e->nodes)) 
     727                            foreach ($e->nodes as $ep) { 
    729728                            if ($ep->phrase) $originals[$ep->phrase] = true; 
    730729                        } 
     
    769768            if ($e->href) 
    770769                    $e->href = call_user_func_array($this->url_rewrite_func, array($e->href)); 
    771             } 
     770        } 
    772771        foreach ($this->otags as $e) { 
    773772            if ($e->value) 
     
    827826                    $saved_outertext = $e->outertext; 
    828827                } 
    829                 logger("$title-original: $e->$title}", 4); 
    830                 if (isset($e->nodes)) foreach ($e->nodes as $ep) { 
     828                tp_logger("$title-original: $e->$title}", 4); 
     829                if (isset($e->nodes)) 
     830                        foreach ($e->nodes as $ep) { 
    831831                        if ($ep->tag == 'phrase') { 
    832832                            list ($source, $translated_text) = call_user_func_array($this->fetch_translate_func, array($ep->phrase, $this->lang)); 
     
    900900                    } 
    901901                    if (!$translated_text && $this->is_auto_translate && !$this->is_edit_mode) { 
    902                         logger('untranslated meta for ' . $ep->phrase . ' ' . $this->lang); 
     902                        tp_logger('untranslated meta for ' . $ep->phrase . ' ' . $this->lang); 
    903903                        if ($this->is_edit_mode || $this->is_auto_translate) { // FIX 
    904904                        } 
     
    908908            if ($newtext) { 
    909909                $e->content = $newtext . $right; 
    910                 logger("content-phrase: $newtext", 4); 
     910                tp_logger("content-phrase: $newtext", 4); 
    911911            } 
    912912        } 
  • trunk/WordPress/plugin/transposh/core/utils.php

    r727 r745  
    6060        //remove the language from the url permalink (if in start of path, and is a defined language) 
    6161        $home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/"); 
    62         logger("home: $home_path " . $parsedurl['path'], 5); 
     62        tp_logger("home: $home_path " . $parsedurl['path'], 5); 
    6363        if ($home_path && strpos($parsedurl['path'], $home_path) === 0) { 
    64             logger("homein!: $home_path", 5); 
     64            tp_logger("homein!: $home_path", 5); 
    6565            $parsedurl['path'] = substr($parsedurl['path'], strlen($home_path)); 
    6666            $gluebackhome = true; 
     
    7272            $prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1); 
    7373            if (isset(transposh_consts::$languages[$prevlang])) { 
    74                 logger("prevlang: " . $prevlang, 4); 
     74                tp_logger("prevlang: " . $prevlang, 4); 
    7575                $parsedurl['path'] = substr($parsedurl['path'], $secondslashpos); 
    7676            } 
     
    9595// Should send a transposh interface to here TODO - enable permalinks rewrite 
    9696// TODO - Should be able to not write default language for url (done with empty lang?) 
    97     public static function rewrite_url_lang_param($url, $home_url, $enable_permalinks_rewrite, $lang, $is_edit, $use_params_only=FALSE) { 
    98         logger("rewrite old url: $url, permalinks: $enable_permalinks_rewrite, lang: $lang, is_edit: $is_edit, home_url: $home_url", 5); 
     97    public static function rewrite_url_lang_param($url, $home_url, $enable_permalinks_rewrite, $lang, $is_edit, $use_params_only = FALSE) { 
     98        tp_logger("rewrite old url: $url, permalinks: $enable_permalinks_rewrite, lang: $lang, is_edit: $is_edit, home_url: $home_url", 5); 
    9999 
    100100        $newurl = str_replace('&#038;', '&', $url); 
     
    121121        $gluebackhome = false; 
    122122        $home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/"); 
    123         logger("home: $home_path " . $parsedurl['path'], 5); 
     123        tp_logger("home: $home_path " . $parsedurl['path'], 5); 
    124124        if ($home_path && strpos($parsedurl['path'], $home_path) === 0) { 
    125             logger("homein!: $home_path", 5); 
     125            tp_logger("homein!: $home_path", 5); 
    126126            $parsedurl['path'] = substr($parsedurl['path'], strlen($home_path)); 
    127127            $gluebackhome = true; 
     
    132132            $prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1); 
    133133            if (isset(transposh_consts::$languages[$prevlang])) { 
    134                 logger("prevlang: " . $prevlang, 4); 
     134                tp_logger("prevlang: " . $prevlang, 4); 
    135135                $parsedurl['path'] = substr($parsedurl['path'], $secondslashpos); 
    136136            } 
     
    160160        if (isset($params) && $params) { 
    161161            $parsedurl['query'] = implode('&', $params); 
    162             logger($params, 4); 
     162            tp_logger($params, 4); 
    163163        } 
    164164 
     
    168168        //    $url = htmlentities($url, ENT_NOQUOTES); 
    169169        $url = transposh_utils::glue_url($parsedurl); 
    170         logger("new url: $url", 5); 
     170        tp_logger("new url: $url", 5); 
    171171        return $url; 
    172172    } 
     
    338338        // TODO: Consider sanitize_title_with_dashes 
    339339        // TODO : need to handle params.... 
    340         //logger(substr($url,strlen($url)-1)); 
     340        //tp_logger(substr($url,strlen($url)-1)); 
    341341        //if (substr($url,strlen($url)-1) == '/') $url2 .= '/'; 
    342342        //$url2 = rtrim($url2,'/'); 
    343         // logger("h $home_url hr $href ur $url ur2 $url2"); 
     343        // tp_logger("h $home_url hr $href ur $url ur2 $url2"); 
    344344        //$href = $this->home_url.$url2; 
    345345        if (substr($href, strlen($href) - 1) == '/') $url2.='/'; 
     
    382382     * @return string 
    383383     */ 
    384     public static function prefered_language($available_languages, $default_lang="auto", $http_accept_language="auto") { 
     384    public static function prefered_language($available_languages, $default_lang = "auto", $http_accept_language = "auto") { 
    385385        // if $http_accept_language was left out, read it from the HTTP-Header 
    386386        if ($http_accept_language == "auto") 
  • trunk/WordPress/plugin/transposh/transposh.php

    r743 r745  
    119119        $this->third_party = new transposh_3rdparty($this); 
    120120 
     121        // initialize logger 
     122        if ($this->options->debug_enable) { 
     123            $GLOBALS['tp_logger'] = tp_logger::getInstance(true); 
     124            $GLOBALS['tp_logger']->show_caller = true; 
     125            $GLOBALS['tp_logger']->set_debug_level($this->options->debug_loglevel); 
     126            $GLOBALS['tp_logger']->set_log_file($this->options->debug_logfile); 
     127            $GLOBALS['tp_logger']->set_remoteip($this->options->debug_remoteip); 
     128        } 
     129 
    121130        // "global" vars 
    122131        $this->home_url = get_option('home'); 
     
    132141        $this->transposh_plugin_dir = plugin_dir_path(__FILE__); 
    133142 
    134         logger('Object created: ' . $_SERVER['REQUEST_URI'], 3); 
     143        if ($this->options->debug_enable) 
     144                tp_logger('Transposh object created: ' . $_SERVER['REQUEST_URI'], 3); 
    135145 
    136146        //Register some functions into wordpress 
    137         logger(preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), 4); // includes transposh dir and php 
     147        if ($this->options->debug_enable) 
     148                tp_logger(preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), 4); // includes transposh dir and php 
     149             
    138150        // TODO: get_class_methods to replace said mess, other way? 
    139151        add_filter('plugin_action_links_' . preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), array(&$this, 'plugin_action_links')); 
     
    230242        if ($this->options->is_default_language($this->target_language)) 
    231243                return $location; 
    232         logger($status . ' ' . $location); 
     244        tp_logger($status . ' ' . $location); 
    233245        // $trace = debug_backtrace(); 
    234         // logger($trace); 
    235         // logger($this->target_language); 
     246        // tp_logger($trace); 
     247        // tp_logger($this->target_language); 
    236248        $location = $this->rewrite_url($location); 
    237249        return $location; 
     
    256268     */ 
    257269    function on_redirect_canonical($red, $req) { 
    258         logger("$red .. $req", 4); 
     270        tp_logger("$red .. $req", 4); 
    259271        // if the urls are actually the same, don't redirect (same - if it had our proper take care of) 
    260272        if ($this->rewrite_url($red) == urldecode($req)) return false; 
     
    278290 
    279291//    function update() { 
    280     //  echo 'hi'; 
    281 //        logger('meo'); 
    282292//        require_once('./admin-header.php'); 
    283293 
     
    309319     */ 
    310320    function process_page(&$buffer) { 
    311         logger('processing page hit with language:' . $this->target_language); 
     321        tp_logger('processing page hit with language:' . $this->target_language, 1); 
    312322        $start_time = microtime(TRUE); 
    313323 
    314324        // Refrain from touching the administrative interface and important pages 
    315325        if ($this->is_special_page($_SERVER['REQUEST_URI'])) { 
    316             logger("Skipping translation for admin pages", 3); 
     326            tp_logger("Skipping translation for admin pages", 3); 
    317327        } 
    318328        // This one fixed a bug transposh created with other pages (xml generator for other plugins - such as the nextgen gallery) 
    319329        // TODO: need to further investigate (will it be needed?) 
    320330        elseif ($this->target_language == '') { 
    321             logger("Skipping translation where target language is unset", 3); 
     331            tp_logger("Skipping translation where target language is unset", 3); 
    322332        } 
    323333        // Don't translate the default language unless specifically allowed to... 
    324334        elseif ($this->options->is_default_language($this->target_language) && !$this->options->enable_default_translate) { 
    325             logger("Skipping translation for default language {$this->target_language}", 3); 
     335            tp_logger("Skipping translation for default language {$this->target_language}", 3); 
    326336        } else { 
    327337            // This one allows to redirect to a static element which we can find, since the redirection will remove 
     
    330340                global $wp; 
    331341                if (isset($wp->query_vars['pagename']) && file_exists(ABSPATH . $wp->query_vars['pagename'])) { // Hmm 
    332                     logger('Redirecting a static file ' . $wp->query_vars['pagename'], 1); 
     342                    tp_logger('Redirecting a static file ' . $wp->query_vars['pagename'], 1); 
    333343                    $this->tp_redirect('/' . $wp->query_vars['pagename'], 301); 
    334344                } 
    335345            } 
    336346 
    337             logger("Translating {$_SERVER['REQUEST_URI']} to: {$this->target_language}", 1); 
     347            tp_logger("Translating {$_SERVER['REQUEST_URI']} to: {$this->target_language}", 1); 
    338348 
    339349            //translate the entire page 
     
    352362            // TODO - check this! 
    353363            if (stripos($_SERVER['REQUEST_URI'], '/feed/') !== FALSE) { 
    354                 logger("in feed!"); 
     364                tp_logger("in rss feed!", 2); 
    355365                $parse->is_auto_translate = false; 
    356366                $parse->is_edit_mode = false; 
     
    361371 
    362372            $end_time = microtime(TRUE); 
    363             logger('Translation completed in ' . ($end_time - $start_time) . ' seconds', 1); 
     373            tp_logger('Translation completed in ' . ($end_time - $start_time) . ' seconds', 1); 
    364374        } 
    365375 
     
    368378 
    369379//    function on_admin_init() { 
    370 //        logger("admin init called"); 
     380//        tp_logger("admin init called"); 
    371381//    } 
    372382 
     
    376386     */ 
    377387    function on_init() { 
    378         logger($_SERVER['REQUEST_URI'], 4); 
     388        tp_logger('init ' . $_SERVER['REQUEST_URI'], 4); 
    379389 
    380390        // the wp_rewrite is not available earlier so we can only set the enable_permalinks here 
    381391        if (is_object($GLOBALS['wp_rewrite'])) { 
    382392            if ($GLOBALS['wp_rewrite']->using_permalinks() && $this->options->enable_permalinks) { 
    383                 logger("enabling permalinks"); 
     393                tp_logger("enabling permalinks"); 
    384394                $this->enable_permalinks_rewrite = TRUE; 
    385395            } 
     
    388398        // this is an ajax special case, currently crafted and tested on buddy press, lets hope this won't make hell break loose. 
    389399        // it basically sets language based on referred when accessing wp-load.php (which is the way bp does ajax) 
    390         logger(substr($_SERVER['SCRIPT_FILENAME'], -11), 4); 
     400        tp_logger(substr($_SERVER['SCRIPT_FILENAME'], -11), 4); 
    391401        if (substr($_SERVER['SCRIPT_FILENAME'], -11) == 'wp-load.php') { 
    392402            $this->target_language = transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url); 
     
    414424     */ 
    415425    function update_rewrite_rules($rules) { 
    416         logger("Enter update_rewrite_rules"); 
     426        tp_logger("Enter update_rewrite_rules", 2); 
    417427 
    418428        if (!$this->options->enable_permalinks) { 
    419             logger("Not touching rewrite rules - permalinks modification disabled by admin"); 
     429            tp_logger("Not touching rewrite rules - permalinks modification disabled by admin", 2); 
    420430            return $rules; 
    421431        } 
     
    428438        //catch the root url 
    429439        $newRules[$lang_prefix . "?$"] = "index.php?lang=\$matches[1]"; 
    430         logger("\t {$lang_prefix} ?$  --->  index.php?lang=\$matches[1]"); 
     440        tp_logger("\t {$lang_prefix} ?$  --->  index.php?lang=\$matches[1]", 4); 
    431441 
    432442        foreach ($rules as $key => $value) { 
     
    444454            $value .= $lang_parameter; 
    445455 
    446             logger("\t $key ---> $value", 4); 
     456            tp_logger("\t $key ---> $value", 5); 
    447457 
    448458 
     
    450460            $newRules[$original_key] = $original_value; 
    451461 
    452             logger(": \t{$original_key} ---> {$original_value}", 4); 
    453         } 
    454  
    455         logger("Exit update_rewrite_rules"); 
     462            tp_logger(": \t{$original_key} ---> {$original_value}", 4); 
     463        } 
     464 
     465        tp_logger("Exit update_rewrite_rules", 2); 
    456466        return $newRules; 
    457467    } 
    458468 
    459469    //function flush_transposh_rewrite_rules() { 
    460         //add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules')); 
     470    //add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules')); 
    461471//        $GLOBALS['wp_rewrite']->flush_rules();         
    462472    //} 
    463      
    464      
     473 
    465474    /** 
    466475     * Let WordPress know which parameters are of interest to us. 
     
    469478     */ 
    470479    function parameter_queryvars($vars) { 
    471         logger('inside query vars', 4); 
     480        tp_logger('inside query vars', 4); 
    472481        $vars[] = LANG_PARAM; 
    473482        $vars[] = EDIT_PARAM; 
    474         logger($vars, 4); 
     483        tp_logger($vars, 4); 
    475484        return $vars; 
    476485    } 
     
    481490     */ 
    482491    function on_parse_request($wp) { 
    483         logger('on_parse_req'); 
    484         logger($wp->query_vars); 
     492        tp_logger('on_parse_req', 3); 
     493        tp_logger($wp->query_vars); 
    485494 
    486495        // fix for custom-permalink (and others that might be double parsing?) 
     
    491500          if (!$this->target_language) 
    492501          $this->target_language = $this->options->default_language; 
    493           logger("requested language: {$this->target_language}"); */ 
     502          tp_logger("requested language: {$this->target_language}"); */ 
    494503        // TODO TOCHECK!!!!!!!!!!!!!!!!!!!!!!!!!!1 
    495504        $this->target_language = $this->tgl; 
     
    502511        if (!$this->target_language) 
    503512                $this->target_language = $this->options->default_language; 
    504         logger("requested language: {$this->target_language}"); 
     513        tp_logger("requested language: {$this->target_language}", 3); 
    505514 
    506515 
     
    521530            // no redirections if we already redirected in this session or we suspect cyclic redirections 
    522531            if (!isset($_SESSION['TR_REDIRECTED']) && !(isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == $_SERVER['REQUEST_URI'])) { 
    523                 logger('session redirection never happened (yet)'); 
     532                tp_logger('session redirection never happened (yet)', 2); 
    524533                // we redirect once per session 
    525534                $_SESSION['TR_REDIRECTED'] = true; 
     
    531540                        //TODO - fix wrt translation 
    532541                                $url = transposh_utils::cleanup_url($_SERVER["REQUEST_URI"], $this->home_url); 
    533                         logger("redirected to $url because of cookie", 4); 
     542                        tp_logger("redirected to $url because of cookie", 4); 
    534543                        $this->tp_redirect($url); 
    535544                        exit; 
     
    543552                        //TODO - fix wrt translation 
    544553                                $url = transposh_utils::cleanup_url($_SERVER['REQUEST_URI'], $this->home_url); 
    545                         logger("redirected to $url because of bestlang", 4); 
     554                        tp_logger("redirected to $url because of bestlang", 4); 
    546555                        $this->tp_redirect($url); 
    547556                        exit; 
     
    549558                } 
    550559            } else { 
    551                 logger('session was already redirected'); 
     560                tp_logger('session was already redirected', 2); 
    552561            } 
    553562        } 
     
    577586        unset($wp->query_vars[LANG_PARAM]); 
    578587        unset($wp->query_vars[EDIT_PARAM]); 
    579         logger("edit mode: " . $this->edit_mode); 
     588        tp_logger("edit mode: " . ($this->edit_mode) ? 'enabled' : 'disabled', 2); 
    580589    } 
    581590 
     
    601610     */ 
    602611    function plugin_activate() { 
    603         logger("plugin_activate enter: " . dirname(__FILE__)); 
     612        tp_logger("plugin_activate enter: " . dirname(__FILE__), 1); 
    604613 
    605614        $this->database->setup_db(); 
     
    611620        @unlink($this->transposh_plugin_dir . 'core/globals.php'); 
    612621 
    613         logger("plugin_activate exit: " . dirname(__FILE__)); 
    614         logger("testing name:" . plugin_basename(__FILE__)); 
    615         logger("testing name2:" . $this->get_plugin_name()); 
     622        tp_logger("plugin_activate exit: " . dirname(__FILE__), 1); 
     623        tp_logger("testing name:" . plugin_basename(__FILE__), 4); 
     624        tp_logger("testing name2:" . $this->get_plugin_name(), 4); 
    616625        //activate_plugin($plugin); 
    617626    } 
     
    621630     */ 
    622631    function plugin_deactivate() { 
    623         logger("plugin_deactivate enter: " . dirname(__FILE__)); 
     632        tp_logger("plugin_deactivate enter: " . dirname(__FILE__), 2); 
    624633 
    625634        // this handles the permalink rewrite 
    626635        $GLOBALS['wp_rewrite']->flush_rules(); 
    627636 
    628         logger("plugin_deactivate exit: " . dirname(__FILE__)); 
     637        tp_logger("plugin_deactivate exit: " . dirname(__FILE__), 2); 
    629638    } 
    630639 
     
    633642     */ 
    634643    function plugin_install_error() { 
    635         logger("install error!", 0); 
     644        tp_logger("install error!", 1); 
    636645 
    637646        echo '<div class="updated"><p>'; 
     
    655664     */ 
    656665    function plugin_loaded() { 
    657         logger("Enter", 4); 
     666        tp_logger("Enter", 4); 
    658667 
    659668        //TODO: fix this... 
     
    664673            //$this->admin_msg = "Translation database version ($db_version) is not comptabile with this plugin (". DB_VERSION . ")  <br>"; 
    665674 
    666             logger("Updating database in plugin loaded", 0); 
     675            tp_logger("Updating database in plugin loaded", 1); 
    667676            //Some error occured - notify admin and deactivate plugin 
    668677            //add_action('admin_notices', 'plugin_install_error'); 
     
    675684            $this->admin_msg = "Failed to locate the translation table  <em> " . TRANSLATIONS_TABLE . "</em> in local database. <br>"; 
    676685 
    677             logger("Messsage to admin: {$this->admin_msg}", 0); 
     686            tp_logger("Messsage to admin: {$this->admin_msg}", 1); 
    678687            //Some error occured - notify admin and deactivate plugin 
    679688            add_action('admin_notices', array(&$this, 'plugin_install_error')); 
     
    694703        //keep only the file name and its parent directory 
    695704        $file = preg_replace('/.*\/([^\/]+\/[^\/]+)$/', '$1', $file); 
    696         logger("Plugin path - $file", 4); 
     705        tp_logger("Plugin path - $file", 4); 
    697706        return $file; 
    698707    } 
     
    711720        wp_enqueue_style('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/transposh.css', array(), TRANSPOSH_PLUGIN_VER); 
    712721 
    713         logger('Added transposh_css', 4); 
     722        tp_logger('Added transposh_css', 4); 
    714723    } 
    715724 
     
    720729        //not in any translation mode - no need for any js. 
    721730        if (!($this->edit_mode || $this->is_auto_translate_permitted() || is_admin() || $this->options->widget_allow_set_deflang)) 
    722             // TODO: need to include if allowing of setting default language - but smaller! 
     731        // TODO: need to include if allowing of setting default language - but smaller! 
    723732                return; // TODO, check just for settings page admin and pages with our translate 
    724733        wp_register_script('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposh.js', array('jquery'), TRANSPOSH_PLUGIN_VER, $this->options->enable_footer_scripts); 
     
    753762        if ($this->options->oht_id && $this->options->oht_key && in_array($this->target_language, transposh_consts::$oht_languages) && current_user_can('manage_options')) 
    754763                $script_params['oht'] = 1; 
    755         if ($this->options->widget_progressbar) 
    756                 $script_params['progress'] = 1; 
    757         if (!$this->options->enable_autotranslate) 
    758                 $script_params['noauto'] = 1; 
     764        if ($this->options->widget_progressbar) $script_params['progress'] = 1; 
     765        if (!$this->options->enable_autotranslate) $script_params['noauto'] = 1; 
    759766 
    760767        // load translations needed for edit interface 
     
    776783            wp_enqueue_script('transposh'); 
    777784        } 
    778         logger('Added transposh_js', 4); 
     785        tp_logger('Added transposh_js', 4); 
    779786    } 
    780787 
     
    785792        if (is_404()) return; 
    786793        $widget_args = $this->widget->create_widget_args($this->get_clean_url()); 
    787         logger($widget_args, 4); 
     794        tp_logger($widget_args, 4); 
    788795        foreach ($widget_args as $lang) { 
    789796            if (!$lang['active']) { 
     
    817824     */ 
    818825    function is_auto_translate_permitted() { 
    819         logger("checking auto translatability", 4); 
     826        tp_logger("checking auto translatability", 4); 
    820827 
    821828        if (!$this->options->enable_autotranslate) return false; 
     
    875882     */ 
    876883    function rewrite_url($href) { 
    877         logger("got: $href", 5); 
     884        tp_logger("got: $href", 5); 
    878885        // fix what might be messed up -- TODO 
    879886        $href = str_replace(array(TP_GTXT_BRK, TP_GTXT_IBRK, TP_GTXT_BRK_CLOSER, TP_GTXT_IBRK_CLOSER), '', $href); 
     
    895902 
    896903        // we don't really know, but we sometime rewrite urls when we are in the default language (canonicals?), so just clean them up 
    897  //       if ($this->target_language == $this->options->default_language)  
    898         if ($this->options->is_default_language($this->target_language))  
    899         { 
     904        //       if ($this->target_language == $this->options->default_language)  
     905        if ($this->options->is_default_language($this->target_language)) { 
    900906            $href = transposh_utils::cleanup_url($href, $this->home_url); 
    901             logger("cleaned up: $href", 4); 
     907            tp_logger("cleaned up: $href", 4); 
    902908            return $href; 
    903909        } 
     
    908914        } 
    909915        $href = transposh_utils::rewrite_url_lang_param($href, $this->home_url, $this->enable_permalinks_rewrite, $this->target_language, $this->edit_mode, $use_params); 
    910         logger("rewritten: $href", 4); 
     916        tp_logger("rewritten: $href", 4); 
    911917        return $href; 
    912918    } 
     
    918924     */ 
    919925    function plugin_action_links($links) { 
    920         logger('in plugin action'); 
     926        tp_logger('in plugin action', 5); 
    921927        return array_merge(array('<a href="' . admin_url('options-general.php?page=' . TRANSPOSH_ADMIN_PAGE_NAME) . '">' . __('Settings') . '</a>'), $links); 
    922928    } 
     
    927933     */ 
    928934    function pre_post_search($query) { 
    929         logger('pre post', 4); 
    930         logger($query->query_vars, 4); 
     935        tp_logger('pre post', 4); 
     936        tp_logger($query->query_vars, 4); 
    931937        // we hide the search query var from further proccesing, because we do this later 
    932938        if ($query->query_vars['s']) { 
     
    943949    function posts_where_request($where) { 
    944950 
    945         logger($where); 
     951        tp_logger($where, 3); 
    946952        // from query.php line 1742 (v2.8.6) 
    947953        // If a search pattern is specified, load the posts that match 
     
    984990            } 
    985991        } 
    986         logger($search); 
     992        tp_logger($search, 3); 
    987993        return $search . $where; 
    988994    } 
     
    992998     */ 
    993999    function run_backup() { 
    994         logger('backup run..'); 
     1000        tp_logger('backup run..', 2); 
    9951001        $my_transposh_backup = new transposh_backup($this); 
    9961002        $my_transposh_backup->do_backup(); 
     
    10011007     */ 
    10021008    function run_restore() { 
    1003         logger('restoring..'); 
     1009        tp_logger('restoring..', 2); 
    10041010        $my_transposh_backup = new transposh_backup($this); 
    10051011        $my_transposh_backup->do_restore(); 
     
    10431049            } 
    10441050        } 
    1045         logger("$comment_lang " . get_comment_ID(), 4); 
     1051        tp_logger("$comment_lang " . get_comment_ID(), 4); 
    10461052        return $text; 
    10471053    } 
     
    10761082        if ($lang) { 
    10771083            if (strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit') !== false) { 
    1078                 logger('iamhere?' . strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit')); 
     1084                tp_logger('iamhere?' . strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit')); 
    10791085                $plugpath = parse_url($this->transposh_plugin_url, PHP_URL_PATH); 
    10801086                list($langeng, $langorig, $langflag) = explode(',', transposh_consts::$languages[$lang]); 
     
    10981104        $lang = transposh_utils::get_language_from_url($requri, $this->home_url); 
    10991105        if ($lang && !$this->got_request) { 
    1100             logger('Trying to find original url'); 
     1106            tp_logger('Trying to find original url'); 
    11011107            $this->got_request = true; 
    11021108            // the trick is to replace the URI and put it back afterwards 
     
    11061112            $query = $wp->query_vars; 
    11071113            $_SERVER['REQUEST_URI'] = $requri; 
    1108             logger('new query vars are'); 
    1109             logger($query); 
     1114            tp_logger('new query vars are'); 
     1115            tp_logger($query); 
    11101116        } 
    11111117        return $query; 
     
    11221128            return $translation; 
    11231129        } 
    1124         logger("($translation, $orig, $domain)", 4); 
     1130        tp_logger("($translation, $orig, $domain)", 4); 
    11251131        // HACK - TODO - FIX 
    11261132        if (in_array($domain, transposh_consts::$ignored_po_domains)) 
     
    11431149        if ($this->is_special_page($_SERVER['REQUEST_URI']) || ($this->options->is_default_language($this->tgl) && !$this->options->enable_default_translate)) 
    11441150                return $translation; 
    1145         logger("($translation, $single, $plural, $domain)"); 
     1151        tp_logger("($translation, $single, $plural, $domain)", 4); 
    11461152        if (in_array($domain, transposh_consts::$ignored_po_domains)) 
    11471153                return $translation; 
     
    13881394        if (isset($oht[$key])) { 
    13891395            unset($oht[$key]); 
    1390             logger('oht false'); 
     1396            tp_logger('oht false'); 
    13911397            echo json_encode(false); 
    13921398        } else { 
    13931399            $oht[$key] = array('q' => $_GET['q'], 'l' => $_GET['lang'], 'ol' => $_GET['orglang'], 't' => $_GET['token']); 
    1394             logger('oht true'); 
     1400            tp_logger('oht true'); 
    13951401            echo json_encode(true); 
    13961402        } 
     
    14001406        // we will make an oht send event in defined time 
    14011407        wp_clear_scheduled_hook('transposh_oht_event'); 
    1402         wp_schedule_single_event(time() + TRANSPOSH_OHT_DELAY, 'transposh_oht_event');  
     1408        wp_schedule_single_event(time() + TRANSPOSH_OHT_DELAY, 'transposh_oht_event'); 
    14031409 
    14041410        die(); 
     
    14091415     */ 
    14101416    function run_oht() { 
    1411         logger("oht should run"); 
     1417        tp_logger("oht should run", 2); 
    14121418        $oht = get_option(TRANSPOSH_OPTIONS_OHT, array()); 
    1413         logger($oht); 
     1419        tp_logger($oht, 3); 
    14141420        $ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array()); 
    14151421        $projectid = time(); 
     
    14191425        foreach ($oht as $arr) { 
    14201426            $pcount++; 
    1421             logger($arr); 
     1427            tp_logger($arr); 
    14221428            $ohtbody[$arr['t']] = array('q' => $arr['q'], 'l' => $arr['l'], 'ol' => $arr['ol']); 
    14231429        } 
     
    14271433        $ohtbody['callback'] = admin_url('admin-ajax.php'); 
    14281434        $ohtbody['homeurl'] = $this->home_url; 
    1429         logger($ohtbody); 
     1435        tp_logger($ohtbody); 
    14301436        // now we send this, add to log that it was sent to oht.. we'll also add a timer to make sure it gets back to us 
    14311437        $ret = wp_remote_post('http://svc.transposh.org/oht.php', array('body' => $ohtbody)); 
     
    14351441            update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp); 
    14361442        } else { 
    1437             logger($ret); 
     1443            tp_logger($ret, 1); 
    14381444        } 
    14391445    } 
     
    14631469    function on_ajax_nopriv_tp_ohtcallback() { 
    14641470        $ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array()); 
    1465         logger($ohtp); 
     1471        tp_logger($ohtp); 
    14661472        if ($ohtp[$_POST['projectid']]) { 
    14671473            Logger($_POST['projectid'] . " was found and will be processed"); 
    14681474            do_action('transposh_oht_callback'); 
    1469             logger($_POST); 
     1475            tp_logger($_POST); 
    14701476            $ohtp[$_POST['projectid']] -= $_POST['items']; 
    14711477            if ($ohtp[$_POST['projectid']] <= 0) { 
    14721478                unset($ohtp[$_POST['projectid']]); 
    14731479            } 
    1474             logger($ohtp); 
     1480            tp_logger($ohtp); 
    14751481            update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp); 
    14761482            $this->database->update_translation("OHT"); 
     
    14891495    function on_ajax_nopriv_tp_cookie() { 
    14901496        setcookie('TR_LNG', transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url), time() + 90 * 24 * 60 * 60, COOKIEPATH, COOKIE_DOMAIN); 
    1491         logger('Cookie ' . transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url)); 
     1497        tp_logger('Cookie ' . transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url)); 
    14921498        die(); 
    14931499    } 
     
    15281534} 
    15291535 
     1536/** 
     1537 * This function provides easier access to logging using the singleton object 
     1538 * @param mixed $msg 
     1539 * @param int $severity 
     1540 */ 
     1541function tp_logger($msg, $severity = 3, $do_backtrace = false) { 
     1542    global $my_transposh_plugin; 
     1543    if (isset($my_transposh_plugin) && !$my_transposh_plugin->options->debug_enable) 
     1544            return; 
     1545    $GLOBALS['tp_logger']->do_log($msg, $severity, $do_backtrace); 
     1546} 
     1547 
    15301548?> 
  • trunk/WordPress/plugin/transposh/wp/transposh_3rdparty.php

    r742 r745  
    6161        // get some supercache variables 
    6262        extract(wp_super_cache_init()); 
    63         logger(wp_super_cache_init()); 
     63        tp_logger(wp_super_cache_init()); 
    6464        // this is hackery for logged in users, a cookie is added to the request somehow and gzip is not correctly set, so we forcefully fix this 
    6565        if (!$cache_file) { 
     
    6767            unset($_COOKIE[key($_COOKIE)]); 
    6868            extract(wp_super_cache_init()); 
    69             logger(wp_super_cache_init()); 
     69            tp_logger(wp_super_cache_init()); 
    7070        } 
    7171 
     
    7373        // delete possible files that we can figure out, not deleting files for other cookies for example, but will do the trick in most cases 
    7474        $cache_fname = "{$dir}index.html"; 
    75         logger("attempting delete of supercache: $cache_fname"); 
     75        tp_logger("attempting delete of supercache: $cache_fname"); 
    7676        @unlink($cache_fname); 
    7777        $cache_fname = "{$dir}index.html.gz"; 
    78         logger("attempting delete of supercache: $cache_fname"); 
     78        tp_logger("attempting delete of supercache: $cache_fname"); 
    7979        @unlink($cache_fname); 
    80         logger("attempting delete of wp_cache: $cache_file"); 
     80        tp_logger("attempting delete of wp_cache: $cache_file"); 
    8181        @unlink($cache_file); 
    82         logger("attempting delete of wp_cache_meta: $meta_pathname"); 
     82        tp_logger("attempting delete of wp_cache_meta: $meta_pathname"); 
    8383        @unlink($meta_pathname); 
    8484 
     
    8686        $GLOBALS['wp_cache_request_uri'] .="?edit=1"; 
    8787        extract(wp_super_cache_init()); 
    88         logger(wp_super_cache_init()); 
    89         logger("attempting delete of edit_wp_cache: $cache_file"); 
     88        tp_logger(wp_super_cache_init()); 
     89        tp_logger("attempting delete of edit_wp_cache: $cache_file"); 
    9090        @unlink($cache_file); 
    91         logger("attempting delete of edit_wp_cache_meta: $meta_pathname"); 
     91        tp_logger("attempting delete of edit_wp_cache_meta: $meta_pathname"); 
    9292        @unlink($meta_pathname); 
    9393    } 
     
    179179     */ 
    180180    function add_sm_transposh_urls($sm_page) { 
    181         logger("in sitemap add url: " . $sm_page->GetUrl() . " " . $sm_page->GetPriority()); 
     181        tp_logger("in sitemap add url: " . $sm_page->GetUrl() . " " . $sm_page->GetPriority(), 4); 
    182182        $sm_page = clone $sm_page; 
    183183        // we need the generator object (we know it must exist...) 
  • trunk/WordPress/plugin/transposh/wp/transposh_admin.php

    r743 r745  
    8484     */ 
    8585    function update_admin_options() { 
    86         logger('Enter', 1); 
    87         logger($_POST); 
     86        tp_logger('Enter', 1); 
     87        tp_logger($_POST); 
    8888 
    8989        switch ($_POST['page']) { 
     
    9292                $editable_langs = array(); 
    9393 
    94                 logger($$_POST['anonymous']); 
     94                tp_logger($_POST['anonymous']); 
    9595                // first set the default language 
    9696                list ($langcode, $viewable, $translateable) = explode(",", $_POST['languages'][0]); 
     
    9999 
    100100                // update the list of supported/editable/sortable languages 
    101                 logger($_POST['languages']); 
     101                tp_logger($_POST['languages']); 
    102102                foreach ($_POST['languages'] as $code => $lang) { 
    103103                    list ($langcode, $viewable, $translateable) = explode(",", $lang); 
     
    174174                $this->transposh->options->parser_dont_break_numbers = TP_FROM_POST; 
    175175                $this->transposh->options->parser_dont_break_entities = TP_FROM_POST; 
     176                $this->transposh->options->debug_enable = TP_FROM_POST; 
     177                $this->transposh->options->debug_loglevel = TP_FROM_POST; 
     178                $this->transposh->options->debug_logfile = TP_FROM_POST; 
     179                $this->transposh->options->debug_remoteip = TP_FROM_POST; 
     180 
    176181                break; 
    177182        } 
     
    192197      //add some help 
    193198      function on_contextual_help($filterVal, $screen) { 
    194       logger($screen); 
     199      tp_logger($screen); 
    195200      //if ($screen == 'settings_page_transposh') { 
    196201      $filterVal['settings_page_transposh'] = '<p>' . __('Transposh makes your blog translatable', TRANSPOSH_TEXT_DOMAIN) . '</p>' . 
     
    351356    // will be executed if wordpress core detects this page has to be rendered 
    352357    /*    function on_load_page() { 
    353       logger('here'); 
     358      tp_logger('here'); 
    354359      //ensure, that the needed javascripts been loaded to allow drag/drop, expand/collapse and hide/show of boxes 
    355360      //TODO - make up my mind on using .css flags here (currently no) 
     
    616621        $this->checkbox($this->transposh->options->enable_autoposttranslate_o, __('Enable automatic translation after posting', TRANSPOSH_TEXT_DOMAIN) 
    617622                , __('Do automatic translation immediately after a post has been published', TRANSPOSH_TEXT_DOMAIN)); 
    618         $this->header("<img src=\"{$this->transposh->transposh_plugin_url}/img/bingicon.png\"> " . __('MSN API key', TRANSPOSH_TEXT_DOMAIN)); 
    619         echo __('API Key', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" ' . $this->transposh->options->msn_key_o->post_value_id_name() . '/>'; 
    620         $this->header("<img src=\"{$this->transposh->transposh_plugin_url}/img/googleicon.png\"> " . __('Google API key', TRANSPOSH_TEXT_DOMAIN)); 
    621         echo __('API Key', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" ' . $this->transposh->options->google_key_o->post_value_id_name() . '/>'; 
    622         $this->header(__('Select preferred auto translation engine', TRANSPOSH_TEXT_DOMAIN)); 
    623         echo '<label for="' . $this->transposh->options->preferred_translator_o->get_name() . '">' . __('Translation engine:', TRANSPOSH_TEXT_DOMAIN) . 
    624         '<select name="' . $this->transposh->options->preferred_translator_o->get_name() . '">' . 
    625         '<option value="1"' . selected($this->transposh->options->preferred_translator, 1, false) . '>' . __('Google', TRANSPOSH_TEXT_DOMAIN) . '</option>' . 
    626         '<option value="2"' . selected($this->transposh->options->preferred_translator, 2, false) . '>' . __('Bing', TRANSPOSH_TEXT_DOMAIN) . '</option>' . 
    627         '</select>' . 
    628         '</label>'; 
     623        $this->textinput($this->transposh->options->msn_key_o 
     624                , array('bingicon.png', __('MSN API key', TRANSPOSH_TEXT_DOMAIN)) 
     625                , __('API Key', TRANSPOSH_TEXT_DOMAIN)); 
     626        $this->textinput($this->transposh->options->google_key_o 
     627                , array('googleicon.png', __('Google API key', TRANSPOSH_TEXT_DOMAIN)) 
     628                , __('API Key', TRANSPOSH_TEXT_DOMAIN)); 
     629        $this->select($this->transposh->options->preferred_translator_o, __('Select preferred auto translation engine', TRANSPOSH_TEXT_DOMAIN) 
     630                , __('Translation engine:', TRANSPOSH_TEXT_DOMAIN), array( 
     631            1 => __('Google', TRANSPOSH_TEXT_DOMAIN), 
     632            2 => __('Bing', TRANSPOSH_TEXT_DOMAIN), 
     633        )); 
    629634        $this->sectionstop(); 
    630635 
     
    634639 
    635640 
    636         $this->header("<img src=\"{$this->transposh->transposh_plugin_url}/img/ohticon.png\"> " . __('One Hour Translation account ID', TRANSPOSH_TEXT_DOMAIN)); 
    637         echo __('Account ID', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" ' . $this->transposh->options->oht_id_o->post_value_id_name() . '/>'; 
    638  
    639         /** 
    640          * Allow users to insert their own API keys 
    641          */ 
    642         $this->header("<img src=\"{$this->transposh->transposh_plugin_url}/img/ohticon.png\"> " . __('One Hour Translation secret key', TRANSPOSH_TEXT_DOMAIN)); 
    643         echo __('API Key', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" ' . $this->transposh->options->oht_key_o->post_value_id_name() . '/>'; 
     641        $this->textinput($this->transposh->options->oht_id_o 
     642                , array('ohticon.png', __('One Hour Translation account ID', TRANSPOSH_TEXT_DOMAIN)) 
     643                , __('Account ID', TRANSPOSH_TEXT_DOMAIN)); 
     644 
     645        $this->textinput($this->transposh->options->oht_key_o 
     646                , array('ohticon.png', __('One Hour Translation secret key', TRANSPOSH_TEXT_DOMAIN)) 
     647                , __('Account ID', TRANSPOSH_TEXT_DOMAIN)); 
    644648 
    645649        $oht = get_option(TRANSPOSH_OPTIONS_OHT, array()); 
     
    669673                , __('Transposh logo will not appear on widget', TRANSPOSH_TEXT_DOMAIN)); 
    670674 
    671         $this->header(__('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN)); 
    672         echo '<label for="' . $this->transposh->options->widget_theme_o->get_name() . '">' . __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN) . 
    673         '<select id="transposh-style" name="' . $this->transposh->options->widget_theme_o->get_name() . '">'; 
    674         foreach (transposh_consts::$jqueryui_themes as $theme) { 
    675             //  $selected = ($this->transposh->options->widget_theme == $theme) ? ' selected="selected"' : ''; 
    676             echo '<option value="' . $theme . '" ' . selected($this->transposh->options->widget_theme, $theme, false) . '>' . $theme . '</option>'; 
    677         } 
    678         echo '</select>' . 
    679         '</label>'; 
     675        $this->select($this->transposh->options->widget_theme_o, __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), transposh_consts::$jqueryui_themes, false); 
    680676    } 
    681677 
     
    689685        $this->checkbox($this->transposh->options->enable_url_translate_o, __('Enable url translation', TRANSPOSH_TEXT_DOMAIN) . ' (' . __('experimental', TRANSPOSH_TEXT_DOMAIN) . ')', __('Allow translation of permalinks and urls', TRANSPOSH_TEXT_DOMAIN)); 
    690686 
    691         $this->section(__('Parser related settings',TRANSPOSH_TEXT_DOMAIN) 
    692                 , __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.',TRANSPOSH_TEXT_DOMAIN)); 
     687        $this->section(__('Parser related settings', TRANSPOSH_TEXT_DOMAIN) 
     688                , __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN)); 
    693689        $this->checkbox($this->transposh->options->parser_dont_break_puncts_o, __('Disable punctuations break', TRANSPOSH_TEXT_DOMAIN) 
    694690                , __('The parser will not break text into phrases when encountering punctuations such as dots', TRANSPOSH_TEXT_DOMAIN)); 
     
    697693        $this->checkbox($this->transposh->options->parser_dont_break_entities_o, __('Disable html entities break', TRANSPOSH_TEXT_DOMAIN) 
    698694                , __('The parser will not break text into phrases when encountering html entities', TRANSPOSH_TEXT_DOMAIN)); 
     695        $this->sectionstop(); 
     696        $this->section(__('Debug settings', TRANSPOSH_TEXT_DOMAIN) 
     697                , __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN)); 
     698        $this->checkbox($this->transposh->options->debug_enable_o, __('Enable debugging', TRANSPOSH_TEXT_DOMAIN) 
     699                , __('Enable running of Transposh internal debug functions', TRANSPOSH_TEXT_DOMAIN)); 
     700        $this->textinput($this->transposh->options->debug_logfile_o, '', __('Log file name', TRANSPOSH_TEXT_DOMAIN)); 
     701        $this->select($this->transposh->options->debug_loglevel_o, __('Level of logging', TRANSPOSH_TEXT_DOMAIN), __('Level of logging', TRANSPOSH_TEXT_DOMAIN), array( 
     702            1 => __('Critical', TRANSPOSH_TEXT_DOMAIN), 
     703            2 => __('Important', TRANSPOSH_TEXT_DOMAIN), 
     704            3 => __('Warning', TRANSPOSH_TEXT_DOMAIN), 
     705            4 => __('Information', TRANSPOSH_TEXT_DOMAIN), 
     706            5 => __('Debug', TRANSPOSH_TEXT_DOMAIN), 
     707        )); 
     708        $this->textinput($this->transposh->options->debug_remoteip_o, '', sprintf(__('Remote debug IP (Your current IP is %s)', TRANSPOSH_TEXT_DOMAIN), $_SERVER['REMOTE_ADDR'])); 
    699709        $this->sectionstop(); 
    700710    } 
     
    825835 
    826836    private function header($head) { 
    827         echo '<h3>' . $head . '</h3>'; 
     837        if (!isset($head)) return; 
     838        if (is_array($head)) { 
     839            echo "<h3><img src=\"{$this->transposh->transposh_plugin_url}/img/{$head[0]}\"> {$head[1]}</h3>"; 
     840        } else { 
     841            echo '<h3>' . $head . '</h3>'; 
     842        } 
    828843    } 
    829844 
    830845    /** 
     846     * Display a checkbox for boolean value 
    831847     * @param transposh_option $tpo A transposh option boolean object 
     848     * @param string $head 
     849     * @param string $text 
    832850     */ 
    833851    private function checkbox($tpo, $head, $text) { 
    834852        $this->header($head); 
    835853        echo '<input type="checkbox" value="1" name="' . $tpo->get_name() . '" ' . checked($tpo->get_value(), true, false) . '/> ' . $text; 
     854    } 
     855 
     856    /** 
     857     * Display a select 
     858     * @param transposh_option $tpo  
     859     * @param string $label 
     860     * @param array $options 
     861     * @param boolean $use_key 
     862     */ 
     863    private function select($tpo, $head, $label, $options, $use_key = true) { 
     864        $this->header($head); 
     865        echo '<label for="' . $tpo->get_name() . '">' . $label . 
     866        '<select name="' . $tpo->get_name() . '">'; 
     867        foreach ($options as $key => $text) { 
     868            echo '<option value="' . ($use_key ? $key : $text) . '"' . selected($tpo->get_value(), ($use_key ? $key : $text), false) . '>' . $text . '</option>'; 
     869        } 
     870        echo '</select>' . 
     871        '</label>'; 
     872    } 
     873 
     874    private function textinput($tpo, $head, $label, $length = 35) { 
     875        $this->header($head); 
     876        echo $label . ': <input type="text" size="' . $length . '" class="regular-text" ' . $tpo->post_value_id_name() . '/>'; 
    836877    } 
    837878 
     
    916957 
    917958} 
     959 
    918960?> 
  • trunk/WordPress/plugin/transposh/wp/transposh_db.php

    r742 r745  
    5959 
    6060        if (class_exists('Memcache')) { 
    61             logger('I am using pecl-Memcache!', 3); 
     61            if ($this->transposh->options->debug_enable) 
     62                    tp_logger('Trying pecl-Memcache!', 3); 
    6263            $this->memcache_working = true; 
    6364            $this->memcache = new Memcache; 
    6465            @$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false; 
     66            if ($this->transposh->options->debug_enable && $this->memcache_working) 
     67                    tp_logger('Memcache seems working'); 
    6568        } 
    6669        // I have space in keys issues... 
    6770        /* elseif (class_exists('Memcached')) { 
    68           logger('I am using pecl-Memcached!', 3); 
     71          tp_logger('I am using pecl-Memcached!', 3); 
    6972          $this->memcache_working = true; 
    7073          $this->memcache = new Memcached(); 
     
    7477          //@$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false; 
    7578          } */ 
    76         logger($this->memcache_working); // TODO!! make sure it does something 
     79        //tp_logger($this->memcache_working); // TODO!! make sure it does something 
    7780    } 
    7881 
     
    8992        if ($this->memcache_working) { 
    9093            $cached = $this->memcache->get($key); 
    91             logger('memcached ' . $key . ' ' . $cached, 5); 
     94            tp_logger('memcached ' . $key . ' ' . $cached, 5); 
    9295        } elseif (function_exists('apc_fetch')) { 
    9396            $cached = apc_fetch($key, $rc); 
    9497            if ($rc === false) return false; 
    95             logger('apc', 5); 
     98            tp_logger('apc', 5); 
    9699        } elseif (function_exists('xcache_get')) { 
    97100            $rc = @xcache_isset($key); 
    98101            if ($rc === false) return false; 
    99102            $cached = @xcache_get($key); 
    100             logger('xcache', 5); 
     103            tp_logger('xcache', 5); 
    101104        } elseif (function_exists('eaccelerator_get')) { 
    102105            $cached = eaccelerator_get($key); 
    103106            if ($cached === null) return false; 
    104107            //TODO - unfortunantly null storing does not work here.. 
    105             logger('eaccelerator', 5); 
    106         } 
    107         logger("Cache fetched: $original => $cached", 4); 
     108            tp_logger('eaccelerator', 5); 
     109        } 
     110        tp_logger("Cache fetched: $original => $cached", 4); 
    108111        if ($cached !== null && $cached !== false) 
    109112                $cached = explode('_', $cached, 2); 
     
    135138 
    136139        if ($rc) { 
    137             logger("Stored in cache: $original => {$translated}", 3); 
     140            tp_logger("Stored in cache: $original => {$translated}", 4); 
    138141        } else { 
    139             logger("Didn't cache: $original => {$translated}", 3); 
     142            tp_logger("Didn't cache: $original => {$translated}", 4); 
    140143        } 
    141144        return $rc; 
     
    183186    function prefetch_translations($originals, $lang) { 
    184187        if (!$originals) return; 
    185         logger($originals, 4); 
     188        tp_logger($originals, 4); 
    186189        $where = ''; 
    187190        foreach ($originals as $original => $truth) { 
     
    208211            $this->translations[$ro] = array($row['source'], stripslashes($row['translated'])); 
    209212        } 
    210         logger('prefetched: ' . count($this->translations), 5); 
     213        tp_logger('prefetched: ' . count($this->translations), 5); 
    211214    } 
    212215 
     
    221224    function fetch_translation($original, $lang) { 
    222225        $translated = null; 
    223         logger("Fetching for: $original-$lang", 4); 
     226        tp_logger("Fetching for: $original-$lang", 4); 
    224227        //The original is saved in db in its escaped form 
    225228        $original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8')); 
     
    227230        $cached = $this->cache_fetch($original, $lang); 
    228231        if ($cached !== false) { 
    229             logger("Exit from cache: {$cached[0]} {$cached[1]}", 4); 
     232            tp_logger("Exit from cache: {$cached[0]} {$cached[1]}", 4); 
    230233            return $cached; 
    231234        } 
     
    233236        if (isset($this->translations[$original])) { 
    234237            $translated = $this->translations[$original]; 
    235             logger("prefetch result for $original >>> {$this->translations[$original][0]} ({$this->translations[$original][1]})", 4); 
     238            tp_logger("prefetch result for $original >>> {$this->translations[$original][0]} ({$this->translations[$original][1]})", 4); 
    236239        } else { 
    237240            // make sure $lang is reasonable, unless someone is messing with us, it will be ok 
     
    244247                $translated_text = stripslashes($row->translated); 
    245248                $translated = array($row->source, $translated_text); 
    246                 logger("db result for $original >>> $translated_text ($lang) ({$row->source})", 3); 
     249                tp_logger("db result for $original >>> $translated_text ($lang) ({$row->source})", 4); 
    247250            } 
    248251        } 
     
    263266    function fetch_original($translation, $lang) { 
    264267        $original = null; 
    265         logger("Enter: $translation", 4); 
     268        tp_logger("Enter: $translation", 4); 
    266269 
    267270        // The translation is saved in db in its escaped form 
     
    270273        list($rev, $cached) = $this->cache_fetch('R_' . $translation, $lang); 
    271274        if ($rev == 'r') { 
    272             logger("Exit from cache: $translation $cached", 4); 
     275            tp_logger("Exit from cache: $translation $cached", 4); 
    273276            return $cached; 
    274277        } 
     
    277280        if ($this->translations[$translation]) { 
    278281            $original = $this->translations[$translation]; 
    279             logger("prefetch result for $translation >>> {$this->translations[$translation][0]} ({$this->translations[$translation][1]})", 3); 
     282            tp_logger("prefetch result for $translation >>> {$this->translations[$translation][0]} ({$this->translations[$translation][1]})", 3); 
    280283        } else { 
    281284            $query = "SELECT * FROM {$this->translation_table} WHERE translated = '$translation' and lang = '$lang' "; 
     
    284287            if ($row !== null) { 
    285288                $original = stripslashes($row->original); 
    286                 logger("db result for $translation >>> $original ($lang) ({$row->source})", 4); 
     289                tp_logger("db result for $translation >>> $original ($lang) ({$row->source})", 4); 
    287290            } 
    288291        } 
     
    291294        $this->cache_store('R_' . $translation, $lang, array('r', $original), TP_CACHE_TTL); 
    292295 
    293         logger("Exit: $translation/$original", 4); 
     296        tp_logger("Exit: $translation/$original", 4); 
    294297        return $original; 
    295298    } 
     
    309312        $source = $_POST['sr0']; 
    310313        // check params 
    311         logger("Enter " . __FILE__ . " Params: $items, $lang, $ref", 5); 
     314        tp_logger("Enter " . __FILE__ . " Params: $items, $lang, $ref", 5); 
    312315        if (!isset($items) || !isset($lang)) { 
    313             logger("Enter " . __FILE__ . " missing Params: $items, $lang, $ref", 1); 
     316            tp_logger("Enter " . __FILE__ . " missing Params: $items, $lang, $ref", 1); 
    314317            return; 
    315318        } 
     
    329332        if (!$by && !($all_editable && 
    330333                ($this->transposh->is_translator() || ($source > 0 && $this->transposh->options->enable_autotranslate)))) { 
    331             logger("Unauthorized translation attempt " . $_SERVER['REMOTE_ADDR'], 1); 
     334            tp_logger("Unauthorized translation attempt " . $_SERVER['REMOTE_ADDR'], 1); 
    332335            header("HTTP/1.0 401 Unauthorized translation"); 
    333336            exit; 
     
    381384            // we attempt to avoid 
    382385            if (isset($alreadybatched[$original . '---' . $lang])) { 
    383                 logger("Warning same item appeared twice in batch: $original $lang", 1); 
     386                tp_logger("Warning same item appeared twice in batch: $original $lang", 1); 
    384387                continue; 
    385388            } 
     
    392395            if ($translated_text) { 
    393396                if ($source > 0) { 
    394                     logger("Warning auto-translation for already translated: $original $lang", 1); 
     397                    tp_logger("Warning auto-translation for already translated: $original $lang", 1); 
    395398                    continue; 
    396399                    //return; // too harsh, we just need to get to the next in for 
    397400                } 
    398401                if ($translation == $GLOBALS['wpdb']->escape(htmlspecialchars(stripslashes(urldecode($translated_text)))) && $old_source == $source) { 
    399                     logger("Warning attempt to retranslate with same text: $original, $translation", 1); 
     402                    tp_logger("Warning attempt to retranslate with same text: $original, $translation", 1); 
    400403                    continue; 
    401404                    //return; // too harsh, we just need to get to the next in for 
     
    422425        //so we'll delete all values and insert them... 
    423426        $update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues"; 
    424         logger($update, 3); 
     427        tp_logger($update, 3); 
    425428        $result = $GLOBALS['wpdb']->query($update); 
    426429        $update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values"; 
    427         logger($update, 3); 
     430        tp_logger($update, 3); 
    428431        $result = $GLOBALS['wpdb']->query($update); 
    429432 
     
    433436                    "VALUES $logvalues"; 
    434437            $result = $GLOBALS['wpdb']->query($log); 
    435             logger("Inserted to db '$values'", 3); 
     438            tp_logger("Inserted to db '$values'", 3); 
    436439        } else { 
    437             logger(mysql_error(), 0); 
    438             logger("Error !!! failed to insert to db $original , $translation, $lang,", 0); 
     440            tp_logger(mysql_error(), 1); 
     441            tp_logger("Error !!! failed to insert to db $original , $translation, $lang,", 1); 
    439442            header("HTTP/1.0 404 Failed to update language database " . mysql_error()); 
    440443        } 
     
    463466        $ref = getenv('HTTP_REFERER'); 
    464467        $original = transposh_utils::base64_url_decode($token); 
    465         logger("Inside history for $original ($token)", 4); 
     468        tp_logger("Inside history for $original ($token)", 4); 
    466469 
    467470        // check params 
    468         logger("Enter " . __FILE__ . " Params: $original , $lang, $ref", 3); 
     471        tp_logger("Enter " . __FILE__ . " Params: $original , $lang, $ref", 3); 
    469472        if (!isset($original) || !isset($lang)) { 
    470             logger("Enter " . __FILE__ . " missing params: $original, $lang," . $ref, 0); 
     473            tp_logger("Enter " . __FILE__ . " missing params: $original, $lang," . $ref, 1); 
    471474            return; 
    472475        } 
    473         logger("Passed check for $lang", 4); 
     476        tp_logger("Passed check for $lang", 4); 
    474477 
    475478        // Check permissions, first the lanugage must be on the edit list. Then either the user 
    476479        // is a translator or automatic translation if it is enabled. 
    477480        if (!($this->transposh->options->is_editable_language($lang) && $this->transposh->is_translator())) { 
    478             logger("Unauthorized history request " . $_SERVER['REMOTE_ADDR'], 1); 
     481            tp_logger("Unauthorized history request " . $_SERVER['REMOTE_ADDR'], 1); 
    479482            header('HTTP/1.0 401 Unauthorized history'); 
    480483            exit; 
    481484        } 
    482         logger('Passed check for editable and translator', 4); 
     485        tp_logger('Passed check for editable and translator', 4); 
    483486 
    484487        // The original content is encoded as base64 before it is sent (i.e. token), after we 
     
    494497                "WHERE original='$original' AND lang='$lang' " . 
    495498                "ORDER BY timestamp DESC"; 
    496         logger("query is $query"); 
     499        tp_logger("query is $query"); 
    497500 
    498501        $rows = $GLOBALS['wpdb']->get_results($query); 
     
    525528                "ORDER BY timestamp DESC"; 
    526529        $rows = $GLOBALS['wpdb']->get_results($query); 
    527         logger($query, 3); 
     530        tp_logger($query, 3); 
    528531        // We only delete if we found something to delete and it is allowed to delete it (user either did that - by ip, has the translator role or is an admin) 
    529532        if (!empty($rows) && (($rows[0]->translated_by == $_SERVER['REMOTE_ADDR'] && $rows[0]->source == '0') || (is_user_logged_in() && current_user_can(TRANSLATOR)) || current_user_can('manage_options'))) { 
     
    533536                    "WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp'"; 
    534537            $GLOBALS['wpdb']->query($query); 
    535             logger($query, 3); 
     538            tp_logger($query, 3); 
    536539            // retrieve last translation 
    537540            $query = "SELECT translated, source " . 
     
    540543                    "ORDER BY timestamp DESC"; 
    541544            $rows = $GLOBALS['wpdb']->get_results($query); 
    542             logger($query, 3); 
     545            tp_logger($query, 3); 
    543546 
    544547            // delete and revert to last in database 
     
    546549            $update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues"; 
    547550            $this->cache_delete($original, $lang); 
    548             logger($update, 3); 
     551            tp_logger($update, 3); 
    549552            $result = $GLOBALS['wpdb']->query($update); 
    550553            if (!empty($rows)) { 
     
    552555                $values = "('" . $original . "','" . $translated . "','" . $lang . "','" . $rows[0]->source . "')"; 
    553556                $update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values"; 
    554                 logger($update, 3); 
     557                tp_logger($update, 3); 
    555558                $result = $GLOBALS['wpdb']->query($update); 
    556559            } else { 
     
    573576        //$ref = getenv('HTTP_REFERER'); 
    574577        $original = transposh_utils::base64_url_decode($token); 
    575         logger("Inside alt for $original ($token)", 4); 
     578        tp_logger("Inside alt for $original ($token)", 4); 
    576579 
    577580        if (!isset($original)) { 
     
    581584        // Check permissions 
    582585        if (!($this->transposh->is_translator())) { 
    583             logger("Unauthorized alt request " . $_SERVER['REMOTE_ADDR'], 1); 
     586            tp_logger("Unauthorized alt request " . $_SERVER['REMOTE_ADDR'], 1); 
    584587            header('HTTP/1.0 401 Unauthorized alt request'); 
    585588            exit; 
    586589        } 
    587         logger('Passed check for editable and translator', 4); 
     590        tp_logger('Passed check for editable and translator', 4); 
    588591 
    589592        // The original content is encoded as base64 before it is sent (i.e. token), after we 
     
    600603                "WHERE original='$original' AND source=0 " . 
    601604                "ORDER BY lang"; 
    602         logger("query is $query"); 
     605        tp_logger("query is $query"); 
    603606        $rows = $GLOBALS['wpdb']->get_results($query); 
    604607 
     
    622625                "WHERE source= 0 $dateterm " . 
    623626                "ORDER BY timestamp ASC $limitterm"; 
    624         logger("query is $query"); 
     627        tp_logger("query is $query"); 
    625628 
    626629        $rows = $GLOBALS['wpdb']->get_results($query); 
     
    633636 
    634637    function setup_db($force = false) { 
    635         logger("Enter"); 
     638        tp_logger("Enter"); 
    636639        require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
    637640 
     
    639642 
    640643        if ($installed_ver != DB_VERSION || $force) { 
    641             logger("Attempting to create table {$this->translation_table}", 0); 
     644            tp_logger("Attempting to create table {$this->translation_table}", 1); 
    642645            // notice - keep every field on a new line or dbdelta fails 
    643646            $GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} DROP PRIMARY KEY"); 
     
    653656            $GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} CONVERT TO CHARSET utf8 COLLATE utf8_bin"); 
    654657 
    655             logger("Attempting to create table {$this->translation_log_table}", 0); 
     658            tp_logger("Attempting to create table {$this->translation_log_table}", 1); 
    656659            // notice - keep every field on a new line or dbdelta fails 
    657660            // this should be removed in a far future... 
     
    673676        } 
    674677 
    675         logger("Exit"); 
     678        tp_logger("Exit"); 
    676679    } 
    677680 
     
    719722                " AND `translated` LIKE '{$n}{$term}{$n}'"; 
    720723        //TODO wait for feedbacks to see if we should put a limit here. 
    721         logger($query, 4); 
     724        tp_logger($query, 4); 
    722725        $result = array(); 
    723726        if (strlen($term) < 3) return $result; 
     
    759762                " AND timestamp < SUBDATE(NOW(),$days)"; 
    760763        $result = $GLOBALS['wpdb']->query($cleanup); 
    761         logger($cleanup, 4); 
     764        tp_logger($cleanup, 4); 
    762765        // clean up cache so that results will actually show 
    763766        $this->cache_clean(); 
     
    774777                ' HAVING count( * ) >1'; 
    775778        $rows = $GLOBALS['wpdb']->get_results($dedup); 
    776         logger($dedup, 3); 
     779        tp_logger($dedup, 3); 
    777780        foreach ($rows as $row) { 
    778781            $row->original = $GLOBALS['wpdb']->escape($row->original); 
     
    782785                    " AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')"; 
    783786            $update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues"; 
    784             logger($update, 3); 
     787            tp_logger($update, 3); 
    785788            $result = $GLOBALS['wpdb']->query($update); 
    786789            $values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->translated_by','$row->timestamp','$row->source')"; 
    787790            $update = "INSERT INTO " . $this->translation_log_table . " (original, lang, translated, translated_by, timestamp, source) VALUES $values"; 
    788             logger($update, 3); 
     791            tp_logger($update, 3); 
    789792            $result = $GLOBALS['wpdb']->query($update); 
    790793            $this->cache_delete($row->original, $row->lang); 
     
    801804                ' AND w1.timestamp < w2.timestamp'; 
    802805        $rows = $GLOBALS['wpdb']->get_results($autojunk); 
    803         logger($autojunk, 3); 
     806        tp_logger($autojunk, 3); 
    804807        foreach ($rows as $row) { 
    805808            $row->original = $GLOBALS['wpdb']->escape($row->original); 
     
    810813            $update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues"; 
    811814            $result = $GLOBALS['wpdb']->query($update); 
    812             logger($update, 3); 
     815            tp_logger($update, 3); 
    813816            $this->cache_delete($row->original, $row->lang); 
    814817        } 
     
    820823                ' HAVING count( * ) >1'; 
    821824        $rows = $GLOBALS['wpdb']->get_results($dedup); 
    822         logger($dedup, 3); 
     825        tp_logger($dedup, 3); 
    823826        foreach ($rows as $row) { 
    824827            $row->original = $GLOBALS['wpdb']->escape($row->original); 
     
    828831                $delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')"; 
    829832                $update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues"; 
    830                 logger($update, 3); 
     833                tp_logger($update, 3); 
    831834                $result = $GLOBALS['wpdb']->query($update); 
    832835                $row->translated = $GLOBALS['wpdb']->escape($translation); 
     
    834837                $values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->source')"; 
    835838                $update = "INSERT INTO " . $this->translation_table . " (original, lang, translated, source) VALUES $values"; 
    836                 logger($update, 3); 
     839                tp_logger($update, 3); 
    837840                $result = $GLOBALS['wpdb']->query($update); 
    838841            } 
     
    868871          ' HAVING count( * ) >1'; 
    869872          $rows = $GLOBALS['wpdb']->get_results($duptrans); 
    870           logger($duptrans, 3); 
     873          tp_logger($duptrans, 3); 
    871874          foreach ($rows as $row) { 
    872875          $row->original = $GLOBALS['wpdb']->escape($row->original); 
     
    874877          $row->original = $GLOBALS['wpdb']->escape($row->original); 
    875878          $update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues"; 
    876           logger($update, 3); 
     879          tp_logger($update, 3); 
    877880          // $result = $GLOBALS['wpdb']->query($update); 
    878881          } */ 
     
    897900 
    898901        $update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues"; 
    899         logger($update, 3); 
     902        tp_logger($update, 3); 
    900903        $result = $GLOBALS['wpdb']->query($update); 
    901904        $update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values"; 
    902         logger($update, 3); 
     905        tp_logger($update, 3); 
    903906        $result = $GLOBALS['wpdb']->query($update); 
    904907 
     
    907910            $log = "INSERT INTO " . $this->translation_log_table . " (original, translated, lang, translated_by, timestamp, source) " . 
    908911                    "VALUES $logvalues"; 
    909             logger($log, 3); 
     912            tp_logger($log, 3); 
    910913            $result = $GLOBALS['wpdb']->query($log); 
    911914        } else { 
    912             logger(mysql_error(), 0); 
    913             logger("Error !!! failed to insert to db $original , $translation, $lang,", 0); 
     915            tp_logger(mysql_error(), 1); 
     916            tp_logger("Error !!! failed to insert to db $original , $translation, $lang,", 0); 
    914917            header("HTTP/1.0 404 Failed to update language database " . mysql_error()); 
    915918        } 
  • trunk/WordPress/plugin/transposh/wp/transposh_options.php

    r743 r745  
    1717define('TP_OPT_BOOLEAN', 0); 
    1818define('TP_OPT_STRING', 1); 
    19 define('TP_OPT_OTHER', 2); 
     19define('TP_OPT_IP', 2); 
     20define('TP_OPT_OTHER', 3); 
    2021 
    2122/** 
     
    137138 * @property transposh_option $enable_url_translate_o 
    138139 * @property boolean          $parser_dont_break_puncts      Option to allow punctuations such as , . ( not to break @since 0.9.0 
    139  * @property transposh_option $$parser_dont_break_puncts_o 
     140 * @property transposh_option $parser_dont_break_puncts_o 
    140141 * @property boolean          $parser_dont_break_numbers     Option to allow numbers not to break @since 0.9.0 
    141  * @property transposh_option $$parser_dont_break_numbers_o 
     142 * @property transposh_option $parser_dont_break_numbers_o 
    142143 * @property boolean          $parser_dont_break_entities    Option to allow html entities not to break @since 0.9.0 
    143  * @property transposh_option $$parser_dont_break_entities_o 
     144 * @property transposh_option $parser_dont_break_entities_o 
     145 * @property boolean          $debug_enable Option to enable debug 
     146 * @property transposh_option $debug_enable_o 
     147 * @property int              $debug_loglevel Option holding the level of logging 
     148 * @property transposh_option $debug_loglevel_o 
     149 * @property string           $debug_logfile Option holding a filename to store debugging into 
     150 * @property transposh_option $debug_logfile_o 
     151 * @property ip               $debug_remoteip Option that limits remote firePhp debug to a certain IP 
     152 * @property transposh_option $debug_remoteip_o 
    144153 *  
    145154 * Hidden 
     
    166175        if (!isset($this->options[$name])) 
    167176                $this->options[$name] = $default_value; 
    168         logger($name . ' ' . $this->options[$name]); 
     177        // can't log...     tp_logger($name . ' ' . $this->options[$name]); 
    169178        $this->vars[$name] = new transposh_option($name, $this->options[$name], $type); 
    170179    } 
     
    173182        if (substr($name, -2) === "_o") 
    174183                return $this->vars[substr($name, 0, -2)]; 
    175 //        logger($this->vars[$name]->get_value()); 
     184        tp_logger($this->vars[$name]->get_value(), 5); 
    176185        return $this->vars[$name]->get_value(); 
    177186    } 
     
    187196 
    188197        if ($this->vars[$name]->get_value() != $value) { 
    189             logger("option '$name' value set: $value"); 
     198            tp_logger("option '$name' value set: $value"); 
    190199            $this->vars[$name]->set_value($value); 
    191200            $this->changed = true; 
     
    196205 
    197206 
    198         logger("creating options"); 
     207        // can't      tp_logger("creating options"); 
    199208        // load them here 
    200209        $this->options = get_option(TRANSPOSH_OPTIONS); 
    201 //        logger($this->options); 
     210//        tp_logger($this->options); 
    202211 
    203212        $this->register_option('default_language', TP_OPT_STRING); // default? 
     
    238247        $this->register_option('parser_dont_break_numbers', TP_OPT_BOOLEAN, 0); 
    239248        $this->register_option('parser_dont_break_entities', TP_OPT_BOOLEAN, 0); 
     249        $this->register_option('debug_enable', TP_OPT_BOOLEAN, 0); 
     250        $this->register_option('debug_loglevel', TP_OPT_OTHER, 3); 
     251        $this->register_option('debug_logfile', TP_OPT_STRING, ''); 
     252        $this->register_option('debug_remoteip', TP_OPT_IP, ''); 
     253 
    240254 
    241255        $this->register_option('transposh_admin_hide_warnings', TP_OPT_OTHER); 
     
    243257 
    244258        // Fix default language if needed, only done once now, and since this was being done constantly, we gain 
    245         //logger($this->default_language->get_value()); 
     259        //tp_logger($this->default_language->get_value()); 
    246260 
    247261        if (!isset(transposh_consts::$languages[$this->default_language])) { 
     
    253267        } 
    254268 
    255         logger($this->options, 4); 
     269        // can't log...   tp_logger($this->options, 4); 
    256270    } 
    257271 
     
    288302            $this->changed = false; 
    289303        } else { 
    290             logger("no changes and no updates done"); 
     304            tp_logger("no changes and no updates done", 3); 
    291305        } 
    292306    } 
  • trunk/WordPress/plugin/transposh/wp/transposh_postpublish.php

    r742 r745  
    3535        $this->transposh = &$transposh; 
    3636        // we'll only do something if so configured to do 
     37        // wrong - fix this! :) 
    3738        if ($this->transposh->options->enable_autoposttranslate) { 
    3839            add_action('edit_post', array(&$this, 'on_edit')); 
     
    4748    function on_admin_menu() { 
    4849        //add our metaboxs to the post and publish pages 
    49         logger('adding metaboxes'); 
     50        tp_logger('adding metaboxes'); 
    5051        add_meta_box('transposh_postpublish', __('Transposh', TRANSPOSH_TEXT_DOMAIN), array(&$this, "transposh_postpublish_box"), 'post', 'side', 'core'); 
    5152        add_meta_box('transposh_postpublish', __('Transposh', TRANSPOSH_TEXT_DOMAIN), array(&$this, "transposh_postpublish_box"), 'page', 'side', 'core'); 
     
    121122            // Merge the two arrays for traversing 
    122123            $phrases = array_merge($phrases, $phrases2, $phrases3, $phrases4, $phrases5); 
    123             logger($phrases, 4); 
     124            tp_logger($phrases, 4); 
    124125 
    125126            // Add phrases from permalink 
     
    222223            } 
    223224        } 
    224         logger($postID . ' ' . $_POST['transposh_tp_language']); //?? 
     225        tp_logger($postID . ' ' . $_POST['transposh_tp_language']); //?? 
    225226    } 
    226227 
  • trunk/WordPress/plugin/transposh/wp/transposh_widget.php

    r743 r745  
    4242        $widget_css = TRANSPOSH_DIR_WIDGETS . '/' . $basefile . ".css"; 
    4343        if (file_exists($plugin_dir . $widget_css)) { 
    44             wp_enqueue_style(str_replace('/','_', $basefile), $plugin_url . '/' . $widget_css, '', TRANSPOSH_PLUGIN_VER); 
     44            wp_enqueue_style(str_replace('/', '_', $basefile), $plugin_url . '/' . $widget_css, '', TRANSPOSH_PLUGIN_VER); 
    4545        } 
    4646    } 
     
    9999    function update($new_instance, $old_instance) { 
    100100        $instance = $old_instance; 
    101         logger($instance); 
    102         logger($new_instance); 
     101        tp_logger($instance); 
     102        tp_logger($new_instance); 
    103103        $instance['title'] = strip_tags(stripslashes($new_instance['title'])); 
    104104        $instance['widget_file'] = strip_tags(stripslashes($new_instance['widget_file'])); 
     
    126126        '<select id="' . $this->get_field_id('widget_file') . '" name="' . $this->get_field_name('widget_file') . '">'; 
    127127        foreach ($widgets as $file => $widget) { 
    128             logger($widget, 4); 
     128            tp_logger($widget, 4); 
    129129            $selected = ($instance['widget_file'] == $file) ? ' selected="selected"' : ''; 
    130130            echo "<option value=\"$file\"$selected>{$widget['Name']}</option>"; 
     
    170170            } 
    171171        } 
    172         logger('Added transposh_widget_css', 4); 
     172        tp_logger('Added transposh_widget_css', 4); 
    173173    } 
    174174 
     
    193193            } 
    194194        } 
    195         logger('Added transposh_widget_js', 4); 
     195        tp_logger('Added transposh_widget_js', 4); 
    196196    } 
    197197 
     
    245245        // extract args given by wordpress 
    246246        extract($args); 
    247         logger($args, 4); 
     247        tp_logger($args, 4); 
    248248 
    249249        // we load the class needed and get its base name for later 
     
    255255        $clean_page = $this->transposh->get_clean_url(); 
    256256 
    257         logger("WIDGET: clean page url: $clean_page", 4); 
     257        tp_logger("WIDGET: clean page url: $clean_page", 4); 
    258258 
    259259        $widget_args = $this->create_widget_args($clean_page); 
    260260        // at this point the widget args are ready 
    261261 
    262         logger('Enter widget', 4); 
     262        tp_logger('Enter widget', 4); 
    263263 
    264264        // widget default title 
Note: See TracChangeset for help on using the changeset viewer.