case "B":
$this->recv_burst($from, $arguments);
break;
+ case "J":
+ case "C":
+ $this->recv_join($from, $arguments);
+ break;
+ case "L":
+ $this->recv_part($from, $arguments);
+ break;
//default
default:
//unknown cmd
$channel = P10_Channel::getChannelByName($name);
if($channel == null)
$channel = new P10_Channel($name);
+ $channel->setCreateTime($create_time);
$modes = $channel->getModes();
$userstr = $args[count($args)-1];
$modeparamcount = count($args)-3;
$modes->parseModes(implode(array_slice($args, 2, $modeparamcount)));
}
+ private function recv_join($from, $args) {
+ $user = P10_User::getUserByNum($from);
+ if($user == null) {
+ trigger_error("Server tries to join an user that does not exist or was not found on recv_join.", E_USER_ERROR);
+ return;
+ }
+ $channel = P10_Channel::getChannelByName($args[0]);
+ if($channel == null)
+ $channel = new P10_Channel($args[0]);
+ $channel->joinUser($user);
+ }
+
+ private function recv_part($from, $args) {
+ $user = P10_User::getUserByNum($from);
+ if($user == null) {
+ trigger_error("Server tries to part an user that does not exist or was not found on recv_join.", E_USER_ERROR);
+ return;
+ }
+ $channel = P10_Channel::getChannelByName($args[0]);
+ if($channel == null)
+ $channel = new P10_Channel($args[0]);
+ $channel->partUser($user, $args[1]);
+ }
+
/********************************************************************************************
* SERVER FUNCTIONS *
********************************************************************************************/