WordPress.org

Plugin Directory

Changeset 445850


Ignore:
Timestamp:
09/30/11 20:08:48 (3 years ago)
Author:
askapache
Message:

fixed php errors, added new functions

Location:
askapache-debug-viewer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • askapache-debug-viewer/trunk/askapache-debug-viewer.php

    r445840 r445850  
    55 * Description: Displays Advanced Debugging Output 
    66 * Author: AskApache 
    7  * Version: 2.2.1 
     7 * Version: 2.2.2 
    88 * Requires at least: 2.7 
    99 * Access: 10 
     
    8080!defined('__DIR__') && define('__DIR__', realpath(dirname(__FILE__))); 
    8181!defined('FILE_BINARY') && define('FILE_BINARY', 0); 
    82      
     82if (!defined('PHP_EOL')) { 
     83    switch (strtoupper(substr(PHP_OS, 0, 3))) { 
     84        case 'WIN': define('PHP_EOL', "\r\n"); break; 
     85        case 'DAR': define('PHP_EOL', "\r"); break; 
     86        default:define('PHP_EOL', "\n"); break; 
     87    } 
     88} 
     89 
    8390     
    8491/******************************************************************************************************************************************************************************************************** 
     
    264271        break; 
    265272        case 'mhash':    
    266             !defined('MHASH_CRC32')) && define('MHASH_CRC32', 0); 
     273            !defined('MHASH_CRC32') && define('MHASH_CRC32', 0); 
    267274            !defined('MHASH_MD5') && define('MHASH_MD5', 1); 
    268275            !defined('MHASH_SHA1') && define('MHASH_SHA1', 2); 
     
    788795    function __construct() 
    789796    { 
     797                // PRINT ERROR_GET_LAST ON SHUTDOWN 
     798        /* 
     799        register_shutdown_function( 
     800                create_function('', 
     801                    'error_log("print error_get_last '.error_log("print error_get_last").'");$l=error_get_last();if(isset($l["type"])&&$l["type"]===E_ERROR)echo "fatal error";echo (isset($php_errormsg)?PHP_EOL.$php_errormsg:"").PHP_EOL.print_r($l,1).PHP_EOL;' 
     802                ) 
     803        );       
     804        */ 
     805         
    790806        //error_log(str_repeat("\n",75)."\033[2;2H".str_repeat("=",235)); 
    791807        $this->l(str_repeat("\n",5).str_repeat("=",235),5); 
     
    17001716    } 
    17011717         
     1718    /** AA_DEBUG::die_log() 
     1719     */ 
     1720    function die_log($m='') 
     1721    { 
     1722        die( 
     1723                    !( 
     1724                         '' != $m && error_log($m) 
     1725                         && (print PHP_EOL."$m".PHP_EOL) 
     1726                     ) 
     1727            ); 
     1728    } 
     1729 
     1730 
     1731    /** AA_DEBUG::die_trace() 
     1732     */ 
     1733    function die_trace($m='') 
     1734    { 
     1735        $dbg=debug_backtrace(false); 
     1736 
     1737        die( 
     1738            !( 
     1739                             
     1740                    array_walk($dbg, 
     1741                        create_function( 
     1742                        '&$a,$k,$m', ' 
     1743                        echo '. ($i ? 'sprintf("%-{$k}s#%-2d "," ",$k)' : 'sprintf("#%-2d ",$k)').' 
     1744                            .(isset($a[\'class\']) 
     1745                                                 ? "{$a[\'class\']}" :"") 
     1746                            .(isset($a[\'type\']) 
     1747                                                 ? "{$a[\'type\']}" :"") 
     1748                            .(isset($a[\'function\']) 
     1749                                                 ? "{$a[\'function\']}()" :"()") 
     1750                            .(isset($a[\'file\']) 
     1751                                                 ?" called at [{$a[\'file\']}":"") 
     1752                            .(isset($a[\'line\']) 
     1753                                                 ? ":{$a[\'line\']}" :"")."]" 
     1754                            .(!!($a[\'args\']) 
     1755                                                 ? " with args: |".implode(", ", $a[\'args\'])."|"  : "") 
     1756                            .((isset($m)&&!empty($m)) ? " MSG: {$m}" : "") 
     1757                            ."\n";' 
     1758                        ),$m 
     1759                    ) && (print_r(array('debug_backtrace for die_trace'=>$dbg)))!==FALSE 
     1760            ) 
     1761        ); 
     1762        //unset($dbg); 
     1763    } 
     1764     
     1765    /** AA_DEBUG::print_var_dump() - Returns the output from var_dump($var) 
     1766     */ 
     1767    function print_var_dump($var,$return=true) 
     1768    { 
     1769        ob_start(); 
     1770        var_dump($var); 
     1771        $out = ob_get_contents(); 
     1772        ob_end_clean(); 
     1773        if ($return) return $out; 
     1774        else echo $out; 
     1775    } 
     1776 
     1777    /** AA_DEBUG::print_var_export() - Returns the output from var_export($var) 
     1778     */ 
     1779    function print_var_export($var,$return=true) 
     1780    { 
     1781        ob_start(); 
     1782        var_export($var); 
     1783        $out = ob_get_contents(); 
     1784        ob_end_clean(); 
     1785        if ($return) return $out; 
     1786        else echo $out; 
     1787    } 
     1788     
     1789    /** AA_DEBUG::get_line_at() 
     1790     */ 
     1791    function get_line_at($file='',$num=0,$html=false) 
     1792    { 
     1793        $code=''; 
     1794        $lines = array(); 
     1795        if ($lines = explode("\n",str_replace(array("\r\n","\c\r","\r"),"\n",implode('',file($file))),($num+5))) 
     1796        { 
     1797            array_map('rtrim',$lines); 
     1798            if($html)   $code=highlight_string($lines[$num],true); 
     1799            else $code=join("\n",array_slice($lines,($num-1),2)); 
     1800        } 
     1801        unset($lines); 
     1802        return $code; 
     1803    } 
     1804     
     1805    /** AA_DEBUG::get_caller($bt) 
     1806     */ 
     1807    function get_caller($bt) 
     1808    { 
     1809        // requires PHP 4.3+ 
     1810        if ( !$this->cf('debug_backtrace') ) return array(); 
     1811        $caller = array(); 
     1812 
     1813        foreach ( (array) array_reverse( $bt ) as $call )  
     1814        { 
     1815            $function = (isset( $call['function'] ) ? $call['function'] : ''); 
     1816            if ( isset( $call['class'] ) ) 
     1817            { 
     1818                if ($call['class'] == __CLASS__ ) continue; 
     1819                $function = $call['class'] . "->$function"; 
     1820            } 
     1821            $caller[] = $function; 
     1822        } 
     1823         
     1824        return join( ', ', $caller ); 
     1825    } 
     1826 
    17021827    /** AA_DEBUG::get_error_log() 
    17031828     */ 
     
    18862011        $list = $fls = array(); 
    18872012        $fls = $this->_ls( $folder, $levels ); 
    1888         foreach ( $fls as $file ) 
     2013        if(is_array($fls) && sizeof($fls) >0 && is_dir($folder)) 
    18892014        { 
    1890             $fs = $this->_stat( $file ); 
    1891             $list[] = sprintf( "%10s %04s %06s %'   8s %s %' 15s %s", $fs['human'], $fs['octal'], $fs['decimal'], $fs['owner_name'], $fs['group_name'], $fs['size'] . ' bytes   ', str_replace($folder.'/', '', realpath($file)) ); 
    1892         } 
    1893         echo '<pre>'; 
    1894         echo join( "\n", array_merge(array($folder), $list) ); 
    1895         //echo join( "\n", array_merge(array($folder . " Listing"), $list) ); 
    1896         echo '</pre>'; 
     2015            foreach ( $fls as $file ) 
     2016            { 
     2017                $fs = $this->_stat( $file ); 
     2018                $list[] = sprintf( "%10s %04s %06s %'   8s %s %' 15s %s", $fs['human'], $fs['octal'], $fs['decimal'], $fs['owner_name'], $fs['group_name'], $fs['size'] . ' bytes   ', str_replace($folder.'/', '', realpath($file))); 
     2019            } 
     2020            echo '<pre>'; 
     2021            echo join( "\n", array_merge(array($folder), $list) ); 
     2022            //echo join( "\n", array_merge(array($folder . " Listing"), $list) ); 
     2023            echo '</pre>'; 
     2024        } 
    18972025    } 
    18982026 
     
    24152543    { 
    24162544        $this->t(__FILE__,__CLASS__,__FUNCTION__,__LINE__); 
     2545         
     2546         
     2547        function handle_results($incoming) 
     2548        { 
     2549            global $wp_rewrite; 
     2550            $oa=array(); 
     2551            static $rewrite_methods=false; 
     2552            if(!$rewrite_methods) $rewrite_methods=get_class_methods( 'WP_Rewrite' ); 
     2553            foreach((array)$incoming as $k) : 
     2554                if( in_array($k, $rewrite_methods) )$v=$wp_rewrite->{$k}(); 
     2555                elseif( function_exists($k) ) $v=$k(); 
     2556                else continue; 
     2557     
     2558                if($k=='mod_rewrite_rules')$v=explode("\n",$v); 
     2559                if(is_bool($v)) $oa[$k]=(($v===true) ? 'TRUE' : 'FALSE'); 
     2560                elseif(is_string($v))$oa[$k]=$v; 
     2561                elseif(is_array($v) && sizeof($v)>0) 
     2562                { 
     2563                    $vo='';  
     2564                    foreach($v as $vv) { 
     2565                        if(is_array($vv)) foreach($vv as $vvv) $vo.="{$vvv}\n"; 
     2566                        else $vo.="{$vv}\n"; 
     2567                    } 
     2568                    $oa[$k]=$vo; 
     2569                } 
     2570                 
     2571            endforeach; 
     2572     
     2573            return $oa; 
     2574        } 
     2575         
    24172576        global $is_apache, $wp_rewrite, $wp_query; 
    24182577        $oa = array(); 
     
    24742633 
    24752634        //Default Feed rules - These are require to allow for the direct access files to work with permalink structure starting with %category% 
    2476         $default_feeds = array( '.*wp-atom.php$'    =>  $wp_rewrite->index . '?feed=atom', 
    2477                                 '.*wp-rdf.php$'     =>  $wp_rewrite->index . '?feed=rdf', 
    2478                                 '.*wp-rss.php$'     =>  $wp_rewrite->index . '?feed=rss', 
    2479                                 '.*wp-rss2.php$'    =>  $wp_rewrite->index . '?feed=rss2', 
    2480                                 '.*wp-feed.php$'    =>  $wp_rewrite->index . '?feed=feed', 
    2481                                 '.*wp-commentsrss2.php$'    =>  $wp_rewrite->index . '?feed=rss2&withcomments=1'); 
     2635        $default_feeds = array('.*wp-atom.php$' =>  $wp_rewrite->index . '?feed=atom', 
     2636                                                     '.*wp-rdf.php$'        =>  $wp_rewrite->index . '?feed=rdf', 
     2637                                                     '.*wp-rss.php$'        =>  $wp_rewrite->index . '?feed=rss', 
     2638                                                     '.*wp-rss2.php$'   =>  $wp_rewrite->index . '?feed=rss2', 
     2639                                                     '.*wp-feed.php$'   =>  $wp_rewrite->index . '?feed=feed', 
     2640                                                     '.*wp-commentsrss2.php$'   =>  $wp_rewrite->index . '?feed=rss2&withcomments=1'); 
    24822641 
    24832642        // Post 
     
    25312690        $oa['post_rewrite']=$post_rewrite; 
    25322691        $oa['extra_rules']=$wp_rewrite->extra_rules; 
    2533         $oa['Permastructs']=$this->handle_results(array('get_date_permastruct','get_year_permastruct','get_month_permastruct','get_day_permastruct','get_category_permastruct', 
     2692        $oa['Permastructs']=handle_results(array('get_date_permastruct','get_year_permastruct','get_month_permastruct','get_day_permastruct','get_category_permastruct', 
    25342693                                                                                                        'get_tag_permastruct','get_author_permastruct','get_search_permastruct','get_page_permastruct','get_feed_permastruct','get_comment_feed_permastruct')); 
    2535         $oa['Rewrite Rules']=$this->handle_results(array('wp_rewrite_rules','mod_rewrite_rules')); 
    2536          
    2537         $oa['page_generated']=$this->handle_results(array('page_uri_index','page_rewrite_rules')); 
     2694        $oa['Rewrite Rules']=handle_results(array('wp_rewrite_rules','mod_rewrite_rules')); 
     2695         
     2696        if($vb) $oa['page_generated']=handle_results(array('page_uri_index','page_rewrite_rules')); 
    25382697         
    25392698        $this->t(__FILE__,__CLASS__,__FUNCTION__,__LINE__); 
     
    25422701 
    25432702 
    2544     /** AA_DEBUG::handle_results() 
    2545      */ 
    2546     function handle_results($incoming) 
    2547     { 
    2548         $this->t(__FILE__,__CLASS__,__FUNCTION__,__LINE__); 
    2549         global $wp_rewrite; 
    2550         $oa=array(); 
    2551         static $rewrite_methods=false; 
    2552         if(!$rewrite_methods) $rewrite_methods=get_class_methods( 'WP_Rewrite' ); 
    2553         foreach((array)$incoming as $k) : 
    2554             if( in_array($k, $rewrite_methods) )$v=$wp_rewrite->{$k}(); 
    2555             elseif( function_exists($k) ) $v=$k(); 
    2556             else continue; 
    2557  
    2558             if($k=='mod_rewrite_rules')$v=explode("\n",$v); 
    2559             if(is_bool($v)) $oa[$k]=(($v===true) ? 'TRUE' : 'FALSE'); 
    2560             elseif(is_string($v))$oa[$k]=$v; 
    2561             elseif(is_array($v) && sizeof($v)>0) 
    2562             { 
    2563                 $vo='';  
    2564                 foreach($v as $vv) { 
    2565                     if(is_array($vv)) foreach($vv as $vvv) $vo.="{$vvv}\n"; 
    2566                     else $vo.="{$vv}\n"; 
    2567                 } 
    2568                 $oa[$k]=$vo; 
    2569             } 
    2570              
    2571         endforeach; 
    2572  
    2573         $this->t(__FILE__,__CLASS__,__FUNCTION__,__LINE__); 
    2574         return $oa; 
    2575     } 
    25762703 
    25772704 
     
    28983025    function admin_footer() 
    28993026    { 
    2900         if(!current_user_can('administrator'))return; 
    2901         if(!current_user_can('level_10'))return; 
     3027        if(!current_user_can('askapache_debug_viewer'))return; 
    29023028        if($this->options['admin_footer']!='1') return; 
    29033029        if($this->options['wp_footer']!='1') return; 
     
    29533079    function wp_footer() 
    29543080    { 
    2955         if(!current_user_can('administrator'))return; 
     3081        if(!current_user_can('askapache_debug_viewer'))return; 
    29563082        $this->t(__FILE__,__CLASS__,__FUNCTION__,__LINE__); 
    29573083        if($this->options['wp_footer']!='1') return; 
  • askapache-debug-viewer/trunk/readme.txt

    r445840 r445850  
    55Requires at least: 2.7 
    66Tested up to: 3.3-aortic-dissection 
    7 Stable tag: 2.2.1 
     7Stable tag: 2.2.2 
    88 
    99This advanced debugging plugin is custom-made for WordPress Developers, Plugin Developers, or anyone wanting to see under the hood of their website and diagnose problems such as with the AskApache PassPro Plugin. 
Note: See TracChangeset for help on using the changeset viewer.