Beispiel #1
0
 /**
  *	@ignore
  */
 private function _onRaw($aChunks)
 {
     switch ($aChunks[1]) {
         /* NAMES reply. */
         case 353:
             /* Dirty arrays are dirty. I hate them. */
             $aData = explode(" ", $aChunks[3], 3);
             $aData[2] = substr($aData[2], 1);
             $aUsers = explode(" ", $aData[2]);
             $sChan = strtolower($aData[1]);
             /* Great, we now parse the users... */
             foreach ($aUsers as $sUser) {
                 $iTemp = 0;
                 $sUser = trim($sUser);
                 switch ($sUser[0]) {
                     case '+':
                         $iTemp = 1;
                         break;
                     case '%':
                         $iTemp = 3;
                         break;
                     case '@':
                         $iTemp = 7;
                         break;
                     case '&':
                         $iTemp = 15;
                         break;
                     case '~':
                         $iTemp = 31;
                         break;
                     default:
                         break;
                 }
                 $sUser = preg_replace("/[+%@&~]/", "", $sUser);
                 $this->oModes->aChannels[$sChan][$sUser]['iMode'] = $iTemp;
                 $this->oModes->aUsers[$sUser][$sChan] = true;
             }
             break;
             /* Nick already in use. */
         /* Nick already in use. */
         case 433:
             if (isset($this->oCurrentBot->aConfig['altnick'])) {
                 $sNewNick = $this->oCurrentBot->aConfig['altnick'];
             } else {
                 $sNewNick = $this->oCurrentBot->aConfig['nickname'] . rand(10, 99);
             }
             $this->oCurrentBot->setNickname($sNewNick);
             break;
     }
 }