Assembla home | Assembla project page
 

Changeset 181

Show
Ignore:
Timestamp:
03/21/08 22:43:55 (8 months ago)
Author:
Slynderdale
Message:

Added a couple new debug commands called Extensions which lists all the loaded extensions in PHP and getVersion to get the version of Phergie (default), PHP and any loaded extension if they support it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Phergie/Plugin/Debug.php

    r166 r181  
    3737        $this->doPrivmsg($this->event->getSource(), $uptime); 
    3838    } 
     39 
     40    /** 
     41    * Returns a list of all the loaded extensions 
     42    * 
     43    * @return void 
     44    */ 
     45    public function onDoExtensions() 
     46    { 
     47        $extensions = get_loaded_extensions(); 
     48        if (is_array($extensions)) { 
     49            $extensions = array_map('ucfirst', $extensions); 
     50            sort($extensions); 
     51        } 
     52        $this->doPrivmsg($this->event->getSource(), 'Loaded Extensions: ' . (is_array($extensions) ? implode(', ', $extensions) : 'N/A')); 
     53        unset($extensions); 
     54    } 
     55 
     56    /** 
     57    * Returns the version for PHP or a loaded extension 
     58    * 
     59    * @return void 
     60    */ 
     61    public function onDoGetversion($prog = null) 
     62    { 
     63        $prog = (isset($prog) ? trim(strtolower($prog)) : null); 
     64        $extensions = get_loaded_extensions(); 
     65        if (is_array($extensions)) { 
     66            $extensions = array_map('strtolower', $extensions); 
     67        } 
     68        if (!isset($prog) || empty($prog)) { 
     69                $this->doPrivmsg($this->event->getSource(), 'Phergie Version: ' . PHERGIE_VERSION); 
     70        } else if ($prog == 'php') { 
     71                $this->doPrivmsg($this->event->getSource(), 'PHP Version: ' . phpversion()); 
     72        } else if (is_array($extensions) && in_array($prog, $extensions)) { 
     73                if ($prog == 'gd' && function_exists('gd_info')) { 
     74                        $version = gd_info(); 
     75                        $this->doPrivmsg($this->event->getSource(), 'GD Version: ' . $version['GD Version']); 
     76                } else { 
     77                    $version = phpversion($prog); 
     78                    $this->doPrivmsg($this->event->getSource(), ucfirst($prog) . ' Version: ' . ($version ? $version : 'N/A')); 
     79            } 
     80        } else { 
     81                $this->doPrivmsg($this->event->getSource(), 'Unknown Extension: ' . ucfirst($prog)); 
     82        } 
     83        unset($extensions); 
     84    } 
    3985}