public function setValue($value) { $key = $this->name; $sid = Dog::getServer()->getID(); $uid = Dog::getUser()->getID(); $c = Dog::getChannel(); if ($this->module !== NULL) { $mod = $this->module; switch ($this->scope) { case 'g': return Dog_Conf_Mod::setConf($mod, $key, $value); case 's': return Dog_Conf_Mod_Serv::setConf($mod, $sid, $key, $value); case 'c': if ($c !== false) { return Dog_Conf_Mod_Chan::setConf($mod, $c->getID(), $key, $value); } return false; case 'u': return Dog_Conf_Mod_User::setConf($mod, $uid, $key, $value); } } elseif ($this->plugin !== NULL) { $plg = $this->plugin; switch ($this->scope) { case 'g': return Dog_Conf_Plug::setConf($plg, $key, $value); case 's': return Dog_Conf_Plug_Serv::setConf($plg, $sid, $key, $value); case 'c': if ($c !== false) { Dog_Conf_Plug_Chan::setConf($plg, $c->getID(), $key, $value); } return false; case 'u': return Dog_Conf_Plug_User::setConf($plg, $uid, $key, $value); } } return false; }
/** * Check if plugin is enabled for server and optional channel. * @param Dog_Server $server * @param DOG_Channel $channel * @return boolean */ public function isEnabled(Dog_Server $server, $channel) { $plg = $this->name; if (Dog_Conf_Plug::isDisabled($plg) || Dog_Conf_Plug_Serv::isDisabled($plg, $server->getID()) || $channel !== false && Dog_Conf_Plug_Chan::isDisabled($plg, $channel->getID(), $this->defdis)) { return false; } return true; }
if (!Dog::hasPermission($serv, false, $user, 'a')) { Dog::noPermission('a'); } elseif (false !== ($plug = Dog_Plugin::getPlug($name))) { Dog_Conf_Plug_Serv::setDisabled($plug->getName(), $sid, '1'); $plugin->rply('plg_on_serv', array($name, $serv->displayName())); } elseif (false !== ($mod = Dog_Module::getByName($name))) { Dog_Conf_Mod_Serv::setModuleDisabled($mod->getName(), $sid, '1'); $plugin->rply('mod_on_serv', array($mod->displayName(), $serv->displayName())); } elseif (false !== ($mod = Dog_Module::getByTrigger($name))) { Dog_Conf_Mod_Serv::setTriggerDisabled($mod->getName(), $sid, $name, '1'); $plugin->rply('trg_on_serv', array($name, $mod->displayName(), $serv->displayName())); } else { Dog::rply('err_command'); } } else { $cid = $chan->getID(); if (!Dog::hasPermission($serv, $chan, $user, 's')) { return Dog::noPermission('s'); } elseif (false !== ($plug = Dog_Plugin::getPlug($name))) { Dog_Conf_Plug_Chan::setDisabled($plug->getName(), $cid, '1'); $plugin->rply('plg_on_chan', array($name, $chan->displayLongName())); } elseif (false !== ($mod = Dog_Module::getByName($name))) { Dog_Conf_Mod_Chan::setModuleDisabled($mod->getName(), $cid, '1'); $plugin->rply('mod_on_chan', array($mod->displayName(), $chan->displayLongName())); } elseif (false !== ($mod = Dog_Module::getByTrigger($name))) { Dog_Conf_Mod_Chan::setTriggerDisabled($mod->getName(), $cid, $name, '1'); $plugin->rply('trg_on_chan', array($name, $mod->displayName(), $chan->displayLongName())); } else { Dog::rply('err_command'); } }