Beispiel #1
0
            $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();
}
Beispiel #2
0
# 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));
Beispiel #3
0
    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');
    }
}