Changeset 36

Show
Ignore:
Timestamp:
02/10/08 14:30:10 (5 years ago)
Author:
Seldaek
Message:

+ adds user tracking to Users plugin (nick, join, part, quit)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/Phergie/Event/Handler/Users.php

    r24 r36  
    5656                                                break; 
    5757                                } 
     58                        } 
     59                } 
     60        } 
     61 
     62        /* DEBUG Func * / 
     63        public function onPrivmsg(Phergie_Event_Request $event) { 
     64                if(preg_match('#^ishere (\S+)$#', $event->getArgument(1), $m)) { 
     65                        $this->doPrivmsg($event->getArgument(0), self::isIn($m[1], $event->getArgument(0)) ? 'true':'false'); 
     66                } 
     67                if(preg_match('#^isop (\S+)$#', $event->getArgument(1), $m)) { 
     68                        $this->doPrivmsg($event->getArgument(0), self::isOp($m[1], $event->getArgument(0)) ? 'true':'false'); 
     69                } 
     70                if(preg_match('#^isvoice (\S+)$#', $event->getArgument(1), $m)) { 
     71                        $this->doPrivmsg($event->getArgument(0), self::isVoice($m[1], $event->getArgument(0)) ? 'true':'false'); 
     72                } 
     73        } 
     74        //*/ 
     75 
     76        /** 
     77         * Tracks users joining 
     78         */ 
     79        public function onJoin(Phergie_Event_Request $event) 
     80        { 
     81                self::$list[$event->getArgument(0)][$event->getNick()] = self::REGULAR; 
     82        } 
     83 
     84        /** 
     85         * Tracks users parting 
     86         */ 
     87        public function onPart(Phergie_Event_Request $event) 
     88        { 
     89                if (isset(self::$list[$event->getArgument(0)][$event->getNick()])) { 
     90                        unset(self::$list[$event->getArgument(0)][$event->getNick()]); 
     91                } 
     92        } 
     93 
     94        /** 
     95         * Tracks users quitting 
     96         */ 
     97        public function onQuit(Phergie_Event_Request $event) 
     98        { 
     99                $nick = $event->getNick(); 
     100                foreach (self::$list as $channame=>$chan) { 
     101                        if (isset($chan[$nick])) { 
     102                                unset(self::$list[$channame][$nick]); 
     103                        } 
     104                } 
     105        } 
     106 
     107        /** 
     108         * Tracks users changing nick 
     109         */ 
     110        public function onNick(Phergie_Event_Request $event) 
     111        { 
     112                $nick = $event->getNick(); 
     113                $newNick = $event->getArgument(0); 
     114                echo "\n$nick => $newNick\n\n"; 
     115                foreach (self::$list as $channame=>$chan) { 
     116                        if (isset($chan[$nick])) { 
     117                                self::$list[$channame][$newNick] = $chan[$nick]; 
     118                                unset(self::$list[$channame][$nick]); 
    58119                        } 
    59120                }