Changeset 68

Show
Ignore:
Timestamp:
02/17/08 21:37:06 (5 years ago)
Author:
tobias382
Message:

* Moved Phergie_Event_Handler to Phergie_Plugin_Abstract_Base and updated all references accordingly
* Updated the Lart plugin to account for the gender configuration setting when performing an action after detecting a circular alias

Location:
trunk/Phergie
Files:
15 modified
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Phergie/Bot.php

    r60 r68  
    118118 
    119119/** 
    120 * Set up event handlers 
     120* Set up plugins 
    121121*/ 
    122122$iterator = new DirectoryIterator(PHERGIE_DIR . '/Phergie/Plugin'); 
     
    128128        $class = 'Phergie_Plugin_' . str_replace('.php', '', $entry); 
    129129        $instance = new $class($client); 
    130         $client->addEventHandler($instance); 
     130        $client->addPlugin($instance); 
    131131        $client->debug('Loaded ' . $instance->getName()); 
    132132    } 
     
    134134 
    135135/** 
    136 * Remove temporary event handler configuration variables from memory 
     136* Remove temporary plugin configuration variables from memory 
    137137*/ 
    138138unset($iterator, $class, $entry, $all, $exclude, $reflector); 
  • trunk/Phergie/Driver/Abstract.php

    r61 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    8383    * Adds a set of callbacks for events received from the server. 
    8484    * 
    85     * @param Phergie_Event_Handler $handler 
    86     * @return void 
    87     */ 
    88     public abstract function addEventHandler(Phergie_Event_Handler $handler); 
     85    * @param Phergie_Plugin_Abstract_Base $plugin 
     86    * @return void 
     87    */ 
     88    public abstract function addPlugin(Phergie_Plugin_Abstract_Base $plugin); 
    8989 
    9090    /** 
  • trunk/Phergie/Driver/Streams.php

    r60 r68  
    5252 
    5353    /** 
    54     * List of event handler instances 
     54    * List of plugin instances 
    5555    * 
    5656    * @var array 
    5757    */ 
    58     protected $handlers; 
     58    protected $plugins; 
    5959 
    6060    /** 
     
    7979    public function __construct() 
    8080    { 
    81         $this->handlers = array(); 
     81        $this->plugins = array(); 
    8282        $this->queueing = false; 
    8383        $this->queue = array(); 
     
    8787    * Adds a set of callbacks for events received from the server. 
    8888    * 
    89     * @param Phergie_Event_Handler $handler 
    90     */ 
    91     public function addEventHandler(Phergie_Event_Handler $handler) 
    92     { 
    93         $handler->init(); 
    94  
    95         $this->handlers[] = $handler; 
     89    * @param Phergie_Plugin_Abstract_Base $plugin 
     90    */ 
     91    public function addPlugin(Phergie_Plugin_Abstract_Base $plugin) 
     92    { 
     93        $plugin->init(); 
     94 
     95        $this->plugins[] = $plugin; 
    9696    } 
    9797 
     
    204204            } 
    205205 
    206             foreach ($this->handlers as $handler) { 
    207                 $handler->setEvent($event); 
     206            foreach ($this->plugins as $plugin) { 
     207                $plugin->setEvent($event); 
    208208                if ($event instanceof Phergie_Event_Response) { 
    209                     $handler->onResponse(); 
     209                    $plugin->onResponse(); 
    210210                } else { 
    211                     call_user_func(array($handler, 'on' . ucfirst($event->getType()))); 
     211                    call_user_func(array($plugin, 'on' . ucfirst($event->getType()))); 
    212212                } 
    213213            } 
     
    226226                    $reason = null; 
    227227                } 
    228                 foreach ($this->handlers as $handler) { 
    229                     $handler->shutdown(); 
     228                foreach ($this->plugins as $plugin) { 
     229                    $plugin->shutdown(); 
    230230                } 
    231231                $this->doQuit($reason); 
  • trunk/Phergie/Plugin/Abstract/Base.php

    r66 r68  
    2020* empty handler functions for cases where no action should be taken. 
    2121*/ 
    22 abstract class Phergie_Event_Handler 
     22abstract class Phergie_Plugin_Abstract_Base 
    2323{ 
    2424    /** 
     
    192192 
    193193    /** 
    194     * Handler for the server prompting the client for a nick. 
     194    * Handler for when the server prompts the client for a nick. 
    195195    * 
    196196    * @return void 
  • trunk/Phergie/Plugin/Abstract/Command.php

    r64 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* channels or directly to the bot. 
    1111*/ 
    12 abstract class Phergie_Plugin_Abstract_Command extends Phergie_Event_Handler 
     12abstract class Phergie_Plugin_Abstract_Command extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Abstract/Cron.php

    r59 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1313* delayed. 
    1414*/ 
    15 abstract class Phergie_Plugin_Abstract_Cron extends Phergie_Event_Handler 
     15abstract class Phergie_Plugin_Abstract_Cron extends Phergie_Plugin_Abstract_Base 
    1616{ 
    1717    /** 
  • trunk/Phergie/Plugin/Acronym.php

    r60 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1515* potential meanings to return for any single given acronym. 
    1616*/ 
    17 class Phergie_Plugin_Acronym extends Phergie_Event_Handler 
     17class Phergie_Plugin_Acronym extends Phergie_Plugin_Abstract_Base 
    1818{ 
    1919    /** 
  • trunk/Phergie/Plugin/Altnick.php

    r66 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* available for use. 
    1111*/ 
    12 class Phergie_Plugin_Altnick extends Phergie_Event_Handler 
     12class Phergie_Plugin_Altnick extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Autojoin.php

    r60 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1313* channels for the bot to join. 
    1414*/ 
    15 class Phergie_Plugin_Autojoin extends Phergie_Event_Handler 
     15class Phergie_Plugin_Autojoin extends Phergie_Plugin_Abstract_Base 
    1616{ 
    1717    /** 
  • trunk/Phergie/Plugin/Daddy.php

    r60 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* "Who's your daddy?" 
    1111*/ 
    12 class Phergie_Plugin_Daddy extends Phergie_Event_Handler 
     12class Phergie_Plugin_Daddy extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Karma.php

    r67 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1111* inflation or depression of counters by any single individual. 
    1212*/ 
    13 class Phergie_Plugin_Karma extends Phergie_Event_Handler 
     13class Phergie_Plugin_Karma extends Phergie_Plugin_Abstract_Base 
    1414{ 
    1515    /** 
  • trunk/Phergie/Plugin/Lart.php

    r60 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1111* as they are requested. 
    1212*/ 
    13 class Phergie_Plugin_Lart extends Phergie_Event_Handler 
     13class Phergie_Plugin_Lart extends Phergie_Plugin_Abstract_Base 
    1414{ 
    1515    /** 
     
    147147                    $seen[] = $definition; 
    148148                    if (in_array($redirect, $seen)) { 
     149                        $mod = $this->getIni('gender') == 'F' ? 'her' : 'his'; 
    149150                        foreach ($seen as $term) { 
    150151                            $this->delete->execute(array('name' => $term)); 
     
    152153                        $this->doAction( 
    153154                            $this->event->getArgument(0), 
    154                             'puts her hands over her ears and cries, "Stop confusing me!"' 
     155                            'puts ' . $mod . ' hands over ' . $mod . ' ears and cries, "Stop confusing me!"' 
    155156                        ); 
    156157                        return; 
  • trunk/Phergie/Plugin/Pong.php

    r66 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* active. 
    1111*/ 
    12 class Phergie_Plugin_Pong extends Phergie_Event_Handler 
     12class Phergie_Plugin_Pong extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Tld.php

    r59 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* be looked up) with its corresponding description. 
    1111*/ 
    12 class Phergie_Plugin_Tld extends Phergie_Event_Handler 
     12class Phergie_Plugin_Tld extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Url.php

    r65 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
    77 
    88/** 
     
    1010* containing relevant information about detected URLs. 
    1111*/ 
    12 class Phergie_Plugin_Url extends Phergie_Event_Handler 
     12class Phergie_Plugin_Url extends Phergie_Plugin_Abstract_Base 
    1313{ 
    1414    /** 
  • trunk/Phergie/Plugin/Users.php

    r60 r68  
    22 
    33/** 
    4 * @see Phergie_Event_Handler 
     4* @see Phergie_Plugin_Abstract_Base 
    55*/ 
    6 require_once 'Phergie/Event/Handler.php'; 
    7  
    8 class Phergie_Plugin_Users extends Phergie_Event_Handler 
     6require_once 'Phergie/Plugin/Abstract/Base.php'; 
     7 
     8class Phergie_Plugin_Users extends Phergie_Plugin_Abstract_Base 
    99{ 
    1010    const OP = 8;