本文整理汇总了PHP中EventUtil::attachCustomHandlers方法的典型用法代码示例。如果您正苦于以下问题:PHP EventUtil::attachCustomHandlers方法的具体用法?PHP EventUtil::attachCustomHandlers怎么用?PHP EventUtil::attachCustomHandlers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventUtil
的用法示例。
在下文中一共展示了EventUtil::attachCustomHandlers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initOOModule
/**
* Initialize object oriented module.
*
* @param string $moduleName Module name.
*
* @return boolean
*/
public static function initOOModule($moduleName)
{
if (self::isInitialized($moduleName)) {
return true;
}
$modinfo = self::getInfo(self::getIdFromName($moduleName));
if (!$modinfo) {
return false;
}
$modpath = $modinfo['type'] == self::TYPE_SYSTEM ? 'system' : 'modules';
$osdir = DataUtil::formatForOS($modinfo['directory']);
ZLoader::addAutoloader($moduleName, realpath("{$modpath}/{$osdir}/lib"));
// load optional bootstrap
$bootstrap = "{$modpath}/{$osdir}/bootstrap.php";
if (file_exists($bootstrap)) {
include_once $bootstrap;
}
// register any event handlers.
// module handlers must be attached from the bootstrap.
if (is_dir("config/EventHandlers/{$osdir}")) {
EventUtil::attachCustomHandlers("config/EventHandlers/{$osdir}");
}
// load any plugins
PluginUtil::loadPlugins("{$modpath}/{$osdir}/plugins", "ModulePlugin_{$osdir}");
self::$ooModules[$moduleName]['initialized'] = true;
return true;
}
示例2: __construct
/**
* Constructor.
*
* @param Zikula_ServiceManager $serviceManager ServiceManager.
* @param string $themeName Theme name.
*/
public function __construct(Zikula_ServiceManager $serviceManager, $themeName)
{
// store our theme information
$this->themeinfo = ThemeUtil::getInfo(ThemeUtil::getIDFromName($themeName));
// prevents any case mismatch
$themeName = $this->themeinfo['name'];
foreach (array('name', 'directory', 'version', 'state', 'xhtml') as $key) {
$this->{$key} = $this->themeinfo[$key];
}
parent::__construct($serviceManager);
if ($this->themeinfo['i18n']) {
ZLanguage::bindThemeDomain($this->name);
// property for {gt} template plugin to detect language domain
$this->domain = ZLanguage::getThemeDomain($this->name);
} else {
$this->domain = null;
}
EventUtil::attachCustomHandlers("themes/{$themeName}/EventHandlers");
EventUtil::attachCustomHandlers("themes/{$themeName}/lib/{$themeName}/EventHandlers");
$event = new \Zikula\Core\Event\GenericEvent($this);
$this->eventManager->dispatch('theme.preinit', $event);
// change some base settings from our parent class
// template compilation
$this->compile_dir = CacheUtil::getLocalDir('Theme_compiled');
$this->compile_check = ModUtil::getVar('ZikulaThemeModule', 'compile_check');
$this->force_compile = ModUtil::getVar('ZikulaThemeModule', 'force_compile');
// template caching
$this->cache_dir = CacheUtil::getLocalDir('Theme_cache');
$this->caching = (int) ModUtil::getVar('ZikulaThemeModule', 'enablecache');
//if ($this->caching) {
// $this->cache_modified_check = true;
//}
// if caching and is not an admin controller
if ($this->caching && strpos($this->type, 'admin') !== 0) {
$modulesnocache = array_filter(explode(',', ModUtil::getVar('ZikulaThemeModule', 'modulesnocache')));
if (in_array($this->toplevelmodule, $modulesnocache)) {
$this->caching = Zikula_View::CACHE_DISABLED;
}
} else {
$this->caching = Zikula_View::CACHE_DISABLED;
}
// halt caching for write operations to prevent strange things happening
if (isset($_POST) && count($_POST) != 0) {
$this->caching = Zikula_View::CACHE_DISABLED;
}
// and also for GET operations with csrftoken/authkey
if (isset($_GET['csrftoken']) || isset($_GET['authkey'])) {
$this->caching = Zikula_View::CACHE_DISABLED;
}
$this->cache_lifetime = ModUtil::getVar('ZikulaThemeModule', 'cache_lifetime');
if (!$this->homepage) {
$this->cache_lifetime = ModUtil::getVar('ZikulaThemeModule', 'cache_lifetime_mods');
}
// assign all our base template variables
$this->_base_vars();
// define the plugin directories
$this->_plugin_dirs();
// load the theme configuration
$this->load_config();
// check for cached output
// turn on caching, check for cached output and then disable caching
// to prevent blocks from being cached
if ($this->caching && $this->is_cached($this->themeconfig['page'], $this->cache_id)) {
$this->display($this->themeconfig['page'], $this->cache_id);
System::shutdown();
}
// register page vars output filter
$this->load_filter('output', 'pagevars');
// register short urls output filter
if (System::getVar('shorturls')) {
$this->load_filter('output', 'shorturls');
}
// register trim whitespace output filter if requried
if (ModUtil::getVar('ZikulaThemeModule', 'trimwhitespace')) {
$this->load_filter('output', 'trimwhitespace');
}
$this->load_filter('output', 'asseturls');
$event = new \Zikula\Core\Event\GenericEvent($this);
$this->eventManager->dispatch('theme.init', $event);
$this->startOutputBuffering();
}