Ejemplo n.º 1
0
 public function run()
 {
     $channel = ChannelManager::get($this->channel);
     $channel->removeConnectedNick($this->targetNick);
     ChannelManager::store($this->channel, $channel);
     if (!ChannelManager::isConnectedToTrackedChannel($this->targetNick)) {
         UserManager::remove($this->targetNick);
     }
 }
 public function run()
 {
     $workingLine = explode(" ", $this->runMessage, 5);
     $channel = $workingLine[3];
     $workingLine = explode(" :", $this->runMessage, 2);
     $newTopic = $workingLine[1];
     $channelObject = ChannelManager::get($channel);
     $channelObject->topic = $newTopic;
     ChannelManager::store($channel, $channelObject);
 }
Ejemplo n.º 3
0
 public function run()
 {
     $channel = ChannelManager::get($this->channel);
     $channel->addConnectedNick($this->senderNick);
     ChannelManager::store($this->channel, $channel);
     $line = new ReceivedLine($this->runMessage);
     $line->parse();
     $user = UserManager::get($this->senderNick);
     $user->nickname = $line->senderNick;
     $user->ident = $line->senderIdent;
     $user->host = $line->senderHost;
     UserManager::store($this->senderNick, $user);
 }
Ejemplo n.º 4
0
 public function run()
 {
     $channel = ChannelManager::get($this->channel);
     $line = new ReceivedLine($this->runMessage);
     $line->parse();
     // We currently only process modes with targets. We can therefor skip if no targets present.
     if (empty($line->targetNick)) {
         return;
     }
     $modes = array();
     if (strlen($line->message) > 2) {
         $split = str_split($line->message);
         $symbol = "";
         foreach ($split as $id => $character) {
             if ($character == "+" || $character == "-") {
                 $symbol = $character;
             } else {
                 $modes[] = $symbol . $character;
             }
         }
     } else {
         $modes[] = $line->message;
     }
     $targetIndex = 0;
     foreach ($modes as $mode) {
         switch ($mode) {
             case "+v":
                 $channel->addPrivilege($this->getTargetNick($line, $targetIndex++), "+");
                 break;
             case "+h":
                 $channel->addPrivilege($this->getTargetNick($line, $targetIndex++), "%");
                 break;
             case "+o":
                 $channel->addPrivilege($this->getTargetNick($line, $targetIndex++), "@");
                 break;
             case "+a":
                 $channel->addPrivilege($this->getTargetNick($line, $targetIndex++), "&");
                 break;
             case "+q":
                 $channel->addPrivilege($this->getTargetNick($line, $targetIndex++), "~");
                 break;
             default:
                 if (in_array($mode, static::$modesWithTarget)) {
                     $targetIndex++;
                 }
                 break;
         }
     }
     ChannelManager::store($this->channel, $channel);
 }
Ejemplo n.º 5
0
 public function run()
 {
     $channel = ChannelManager::get($this->channel);
     $line = new ReceivedLine($this->runMessage);
     $line->parse();
     $modes = array();
     if (strlen($line->message) > 2) {
         $split = str_split($line->message);
         foreach ($split as $id => $character) {
             if ($id == 0) {
                 $symbol = $split[0];
             } else {
                 $modes[] = $symbol . $character;
             }
         }
     } else {
         $modes[] = $line->message;
     }
     foreach ($modes as $mode) {
         switch ($mode) {
             case "+v":
                 $channel->addPrivilege($line->targetNick, "+");
                 break;
             case "+h":
                 $channel->addPrivilege($line->targetNick, "%");
                 break;
             case "+o":
                 $channel->addPrivilege($line->targetNick, "@");
                 break;
             case "+a":
                 $channel->addPrivilege($line->targetNick, "&");
                 break;
             case "+q":
                 $channel->addPrivilege($line->targetNick, "~");
                 break;
         }
     }
     ChannelManager::store($this->channel, $channel);
 }
Ejemplo n.º 6
0
 public function run()
 {
     // Channel
     $workingLine = explode(" ", $this->runMessage);
     $channel = $workingLine[4];
     // Names
     $workingLine = explode(" :", $this->runMessage);
     $names = trim($workingLine[1]);
     $names = explode(" ", $names);
     // Fetch the channel object
     $channelObject = ChannelManager::get($channel);
     // Loop through the names adding them to the channel and UserManager
     foreach ($names as $name) {
         $privileges = false;
         if (strpos($name, "~") === 0) {
             $privileges = "~";
         }
         if (strpos($name, "&") === 0) {
             $privileges = "&";
         }
         if (strpos($name, "@") === 0) {
             $privileges = "@";
         }
         if (strpos($name, "%") === 0) {
             $privileges = "%";
         }
         if (strpos($name, "+") === 0) {
             $privileges = "+";
         }
         $nick = str_replace(array("~", "@", "&", "%", "+"), "", $name);
         $channelObject->addConnectedNick($nick, $privileges);
         $user = UserManager::get($nick);
         $user->nickname = $nick;
         UserManager::store($nick, $user);
     }
     // Store away the channel object
     ChannelManager::store($channel, $channelObject);
 }