/** * @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; } }