+ private function setPrivs($add, $mode, $user) {
+ $user = P10_User::getUserByNum($user);
+ if($user == null) {
+ trigger_error("Tried to set privs on a User that does not exist.", E_USER_ERROR);
+ return;
+ }
+ $privs = $this->channel->getUserPrivs($user);
+ $privFlag = 0;
+ if($mode == "o") $privFlag = P10_Channel::USERPRIV_OPED;
+ if($mode == "v") $privFlag = P10_Channel::USERPRIV_VOICE;
+ if(!($add xor ($privs & $privFlag)))
+ return false;
+ if($add) $privs |= $privFlag;
+ else $privs &= ~$privFlag;
+ $this->channel->setUserPrivs($user, $privs);
+ return true;
+
+ }
+