本文整理汇总了PHP中modules::_unset_docs方法的典型用法代码示例。如果您正苦于以下问题:PHP modules::_unset_docs方法的具体用法?PHP modules::_unset_docs怎么用?PHP modules::_unset_docs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类modules
的用法示例。
在下文中一共展示了modules::_unset_docs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rehash_command
public static function rehash_command($nick, $ircdata = array())
{
$parser = new parser(CONFPATH . 'services.conf');
// load the parser
$total_modules_exceptions = array();
$mod_info = array('cs' => 'chanserv', 'ns' => 'nickserv', 'os' => 'operserv', 'core' => 'core');
foreach ($mod_info as $short => $full) {
$category_name = $full . '_modules';
foreach (core::$config->{$category_name} as $id => $module) {
$total_modules[$short . '_' . $module] = array('type' => $short, 'file' => $module . '.' . $short . '.php');
}
}
// merge all the arrays to check that the loaded and excluded modules are all correct
foreach (modules::$list as $name => $details) {
if (!isset($total_modules[$name]) && $details['extra'] != 'static') {
if (is_callable(array($name, 'modunload'), true) && method_exists($name, 'modunload')) {
modules::$list[$name]['class']->modunload();
}
// if the module has an unload method, call it now before we destroy the class.
unset(modules::$list[$name]);
modules::_unset_docs($name);
// destory relevant data to the module
core::alog(core::$config->operserv->nick . ': unloaded module ' . $name);
ircd::globops(core::$config->operserv->nick, 'unloaded module ' . $name);
// unset the module
core::alog('rehash_command(): ' . $name . ' unloaded from rehash', 'BASIC');
// log what we need to log.
}
// the module is loaded and should be unloaded
}
// go through each set module and unset the now exempt modules
foreach ($total_modules as $name => $details) {
if (!isset(modules::$list[$name])) {
if (!class_exists($name)) {
modules::load_module($name, $details['file']);
// load the module
} else {
if (!(modules::$list[$name]['class'] = new $name())) {
core::alog('load_module(): unable to start: ' . $name . ' (boot error)', 'BASIC');
return false;
}
}
core::alog(core::$config->operserv->nick . ': loaded module ' . $name);
ircd::globops(core::$config->operserv->nick, 'loaded module ' . $name);
// load it up
core::alog('rehash_command(): ' . $name . ' loaded from rehash', 'BASIC');
// log what we need to log.
modules::$list[$name]['class']->modload();
// onload handler.
}
}
// go through every module
// load the ones that are new.
core::alog(core::$config->operserv->nick . ': Successfully reloaded configuration.');
ircd::globops(core::$config->operserv->nick, $nick . ' performed a REHASH');
core::alog('rehash_command(): sucessful rehash', 'BASIC');
// log what we need to log.
}
示例2: modunload_command
public function modunload_command($nick, $ircdata = array())
{
$module = $ircdata[0];
// get the module thats been requested.
if (services::is_root($nick)) {
if (trim($module) == '') {
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_INVALID_SYNTAX_RE, array('help' => 'MODUNLOAD'));
// wrong syntax
return false;
}
if (!isset(modules::$list[$module])) {
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_MODUNLOAD_1, array('name' => $module));
return false;
}
if (modules::$list[$module]['extra'] == 'static') {
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_MODUNLOAD_2, array('name' => $module));
core::alog(core::$config->operserv->nick . ': unable to unload static module ' . $module);
core::alog('modunload_command(): unable to unload static module ' . $module . ' (cannot be unloaded)', 'BASIC');
// log what we need to log.
return false;
}
if (!class_exists($module)) {
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_MODUNLOAD_2, array('name' => $module));
core::alog(core::$config->operserv->nick . ': unable to unload module ' . $module);
core::alog('modunload_command(): unable to unload module ' . $module . ' (not booted)', 'BASIC');
// log what we need to log.
return false;
}
if (is_callable(array($module, 'modunload'), true) && method_exists($module, 'modunload')) {
modules::$list[$module]['class']->modunload();
}
// if the module has an unload method, call it now before we destroy the class.
unset(modules::$list[$module]);
// unset the module
modules::_unset_docs($module);
// unset the modules help docs etc.
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_MODUNLOAD_3, array('name' => $module));
core::alog(core::$config->operserv->nick . ': unloaded module ' . $module);
ircd::globops(core::$config->operserv->nick, $nick . ' unloaded module ' . $module);
// let everyone know :D
} else {
services::communicate(core::$config->operserv->nick, $nick, &operserv::$help->OS_ACCESS_DENIED);
}
}