$out .= implode(', ', $triggers); $out .= '.'; } } $user = Dog::getUser(); $user->sendNOTICE(substr($out, 1)); # Plugins $out = ''; $plugdir = Dog_Plugin::getPlugDir(); GWF_File::filewalker($plugdir, 'dogplug_help_all', false, true, strlen($plugdir) + 1); ksort($DPH_ALL); foreach ($DPH_ALL as $folder => $commands) { sort($commands); $out .= ' ' . chr(2) . $folder . chr(2) . ': '; $out .= implode(', ', $commands); $out .= '.'; } $user->sendNOTICE(substr($out, 1)); } elseif ($argc === 1) { if (false !== ($plug = Dog_Plugin::getPlug($argv[0]))) { $scopetxt = dogplug_scopetxt($plugin, $plug->getPriv(), $plug->getScope()); $plugin->reply($plug->getHelp() . $scopetxt); } elseif (false !== ($mod = Dog_Module::getByTrigger($argv[0]))) { $scopetxt = dogplug_scopetxt($plugin, $mod->getPriv($argv[0]), $mod->getScope($argv[0])); $plugin->reply($mod->getHelp($argv[0]) . $scopetxt); } else { Dog::rply('err_command'); } } else { $plugin->showHelp(); }
# Log PRIVMSGs $msg = Dog::getIRCMsg()->getArg(1); if (Dog::getIRCMsg()->shouldLog()) { Dog_Log::user($user, $msg); Dog_Log::channel($chan, $msg); } # Exec Stuff if (!$user->isBot()) { if ('' !== ($trigger = Common::substrUntil($msg, ' '))) { if (Dog_Init::isTrigger($serv, $chan, $trigger[0])) { if ($user->isFlooding()) { return; } Dog::setTriggered(); $trigger = substr($trigger, 1); if (false !== ($plug = Dog_Plugin::getPlug($trigger))) { if (!$plug->isInScope($serv, $chan)) { Dog::scopeError($plug->getScope()); } elseif (!$plug->hasPermission($serv, $chan, $user)) { Dog::permissionError($plug->getPriv()); } elseif (!$plug->isEnabled($serv, $chan)) { Dog::rply('err_disabled'); } else { $plug->execute(); } } elseif (false !== ($mod = Dog_Module::getByTrigger($trigger))) { if (!$mod->hasScopeFor($trigger, $serv, $chan)) { Dog::scopeError($mod->getScope($trigger)); } if (!$mod->hasPermissionFor($trigger, $serv, $chan, $user)) { Dog::permissionError($mod->getPriv($trigger));
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'); } }