if (!$hook || !in_array($hook, $hooks)) { adminmsg('扩展不存在'); } if (!isset($db_hookset[$hook])) { adminmsg('该扩展未安装'); } unset($db_hookset[$hook]); setConfig('db_hookset', $db_hookset); updatecache_c(); adminmsg('operate_success'); } elseif ($action == 'updatecache') { S::gp(array('hook'), 'G'); if (!$hook || !in_array($hook, $hooks)) { adminmsg('扩展不存在'); } if (!pwHook::checkHook($hook)) { adminmsg('该扩展未安装'); } updateHookCache($hook); adminmsg('operate_success'); } elseif ($action == 'setmode') { S::gp(array('hookmode'), 'P'); $hookmode = $hookmode ? 1 : 0; setConfig('db_hookmode', $hookmode); updatecache_c(); adminmsg('operate_success'); } function updateHookCache($hook) { L::loadClass('hook', 'hook', false); $pwHook = new PW_Hook($hook);
/** * 添加一个带返回值的扩展 * pwHook::runFilter('filteruid',$winduid,array('uid'=>11)); * @param string $hookName * @param unknown_type $result * @param unknown_type $params */ function runFilter($hookName, $result, $params = array()) { if (!pwHook::checkHook($hookName)) { return $result; } $pwHook = pwHook::_getHook($hookName); if ($params) { $pwHook->setParams($params); } return $pwHook->runFilter($result); }