public function __toString() { $uid = $this->user ? $this->user->getID() : '?'; $cid = $this->channel ? $this->channel->getID() : '?'; $sid = $this->server ? $this->server->getID() : '?'; return sprintf('SCOPE(U:%s,C:%s,S:%s)', $uid, $cid, $sid); }
public static function onKick(Dog_Server $server, Dog_Channel $channel, Dog_User $user, $message) { echo "PG: {$message}\n"; // $server->sendPRIVMSG($channel->getName(), $user->getName().': '.$message); $server->getConnection()->sendRAW(sprintf("KICK %s %s :%s", $channel->getName(), $user->getName(), $message)); $event = new self(array('lpg_uid' => $user->getID(), 'lpg_time' => time())); self::onBan($server, $channel, $user, $message); }
public static function getPeak(Dog_Channel $channel) { $cid = $channel->getID(); if (false !== ($peak = GDO::table(__CLASS__)->getRow($cid))) { return $peak; } return self::createPeak($cid); }
public static function createChannelRecord(Dog_Channel $channel) { $row = new self(array('dqj_cid' => $channel->getID(), 'dqj_sid' => $channel->getVar('chan_sid'), 'dqj_uid' => 0, 'dqj_duration' => 9999.999900000001, 'dqj_date_quit' => str_repeat('0', 14), 'dqj_date_join' => str_repeat('0', 14), 'dqj_options' => 0)); if (false === $row->replace()) { return false; } return $row; }
public function output($message) { $message = trim($message); if ($message !== '') { $this->channel->sendPRIVMSG($message); } }
private function onHighlightFlood(Dog_Server $server, Dog_Channel $channel, Dog_User $user, $message) { $count = 0; $nicknames = preg_split('/ +/', $message); $users = array_keys($channel->getUsers()); $nicknames = array_unique(array_map('strtolower', $nicknames)); foreach ($nicknames as $nickname) { // echo "checking '$nickname'\n"; foreach ($users as $username) { if (strcasecmp($username, $nickname) === 0) { $count++; break; } } } // echo "PGCOUNT: $count\n"; if ($count >= self::HIGHLIGHT_MAX) { $this->kick($server, $channel, $user, "Do not mass-highlight!"); } }
public function getChannel() { return Dog_Channel::getByID($this->getCID()); }
private function setEnabled(Dog_Channel $channel, $value) { $channel->saveOption(Dog_Channel::AUTO_JOIN, $value); $key = $value ? 'enabled' : 'disabled'; return $this->rply($key, array($channel->displayName())); }
public function partChannel(Dog_Channel $channel) { $this->sendRAW("PART {$channel->getName()}"); }
private static function stopTheWatch(Dog_User $user, Dog_Channel $channel) { $uid = $user->getID(); $cid = $channel->getID(); return isset(self::$JOIN[$cid][$uid]) ? self::$JOIN[$cid][$uid] : false; }
/** * @param Dog_Server $server * @param Dog_Channel $channel * @return Dog_GreetMsg */ public static function getGreetMsg(Dog_Server $server, Dog_Channel $channel) { return GDO::table(__CLASS__)->getRow($channel->getID()); }
private function setGreetModeB(Dog_Channel $channel, Dog_GreetMsg $msg, $char, $bit) { $msg->saveOption(Dog_GreetMsg::MODES, false); $msg->saveOption($bit); $this->rply('change_to_' . $char, array($channel->displayLongName())); }
private function sendAbbo(Dog_Forum $board, Dog_Channel $channel, Dog_ForumEntry $entry) { $channel->sendPRIVMSG($this->lang('msg_entry', array($board->getTitle(), $entry->getUserName(), $entry->getTitle(), $entry->getURL()))); }
public static function flushPermcache(Dog_Channel $channel, Dog_User $user) { $user->unsetVar("dcp_{$channel->getID()}"); }
<?php $lang = array('en' => array('help' => 'Usage: %CMD% <channel>[!<SID>]. Try to join a channel.', 'already' => 'I am already on that channel.', 'trying' => 'Trying to join this channel.', 'unknown_serv' => 'This server is unknown.'), 'de' => array('help' => 'Nutze: %CMD% <Kanal>[!<SID>]. Versucht einem Kanal beizutreten.', 'already' => 'Ich bin schon in diesem Kanal.', 'trying' => 'Es wird versucht dem Kanal beizutreten.', 'unknown_serv' => 'Dieser Server ist nicht vorhanden.')); $plugin = Dog::getPlugin(); if ($plugin->argc() !== 1) { return $plugin->showHelp(); } $arg = $plugin->argv(0); if (false === ($server = Dog::getServerBySuffix($arg))) { return $plugin->rply('unknown_serv'); } if (false !== ($channel = Dog::getChannelByArg($arg))) { return $plugin->rply('already'); } $chan_name = Common::substrFrom($arg, '!', $arg); if (false === ($channel = Dog_Channel::getOrCreate($server, $chan_name))) { return Dog::err('ERR_DATABASE', array(__FILE__, __LINE__)); } $plugin->rply('trying'); $channel->saveOption(Dog_Channel::AUTO_JOIN, true); $server->joinChannel($channel);
private function randomQuoteChannel(Dog_Channel $channel) { $message = $this->lang('random_quote', array($this->onDisplay())); $channel->sendPRIVMSG($message); }
/** * Get a channel from cache, or load it from db. * @param string $arg * @return Dog_Channel */ public static function getOrLoadChannelByArg($arg) { if (false === ($server = self::getServerBySuffix($arg))) { $server = self::getServer(); } $arg = Common::substrUntil($arg, '!', $arg); if (false !== ($channel = $server->getChannelByName($arg))) { return $channel; } return Dog_Channel::getForServer($server->getID(), $arg); }