/** * Original load function for the plugins * @deprecated */ function load2() { if (!$this->isRegistered()) { return; } $this->setup(); require_once KT_LIB_DIR . '/actions/actionregistry.inc.php'; require_once KT_LIB_DIR . '/actions/portletregistry.inc.php'; require_once KT_LIB_DIR . '/triggers/triggerregistry.inc.php'; require_once KT_LIB_DIR . '/plugins/pageregistry.inc.php'; require_once KT_LIB_DIR . '/authentication/authenticationproviderregistry.inc.php'; require_once KT_LIB_DIR . "/plugins/KTAdminNavigation.php"; require_once KT_LIB_DIR . "/dashboard/dashletregistry.inc.php"; require_once KT_LIB_DIR . "/i18n/i18nregistry.inc.php"; require_once KT_LIB_DIR . "/help/help.inc.php"; require_once KT_LIB_DIR . "/workflow/workflowutil.inc.php"; require_once KT_LIB_DIR . "/widgets/widgetfactory.inc.php"; require_once KT_LIB_DIR . "/validation/validatorfactory.inc.php"; require_once KT_LIB_DIR . "/browse/columnregistry.inc.php"; require_once KT_LIB_DIR . "/browse/criteriaregistry.php"; require_once KT_LIB_DIR . "/authentication/interceptorregistry.inc.php"; $oPRegistry =& KTPortletRegistry::getSingleton(); $oTRegistry =& KTTriggerRegistry::getSingleton(); $oARegistry =& KTActionRegistry::getSingleton(); $oPageRegistry =& KTPageRegistry::getSingleton(); $oAPRegistry =& KTAuthenticationProviderRegistry::getSingleton(); $oAdminRegistry =& KTAdminNavigationRegistry::getSingleton(); $oDashletRegistry =& KTDashletRegistry::getSingleton(); $oi18nRegistry =& KTi18nRegistry::getSingleton(); $oKTHelpRegistry =& KTHelpRegistry::getSingleton(); $oWFTriggerRegistry =& KTWorkflowTriggerRegistry::getSingleton(); $oColumnRegistry =& KTColumnRegistry::getSingleton(); $oNotificationHandlerRegistry =& KTNotificationRegistry::getSingleton(); $oTemplating =& KTTemplating::getSingleton(); $oWidgetFactory =& KTWidgetFactory::getSingleton(); $oValidatorFactory =& KTValidatorFactory::getSingleton(); $oCriteriaRegistry =& KTCriteriaRegistry::getSingleton(); $oInterceptorRegistry =& KTInterceptorRegistry::getSingleton(); foreach ($this->_aPortlets as $k => $v) { call_user_func_array(array(&$oPRegistry, 'registerPortlet'), $v); } foreach ($this->_aTriggers as $k => $v) { call_user_func_array(array(&$oTRegistry, 'registerTrigger'), $v); } foreach ($this->_aActions as $k => $v) { call_user_func_array(array(&$oARegistry, 'registerAction'), $v); } foreach ($this->_aPages as $k => $v) { call_user_func_array(array(&$oPageRegistry, 'registerPage'), $v); } foreach ($this->_aAuthenticationProviders as $k => $v) { call_user_func_array(array(&$oAPRegistry, 'registerAuthenticationProvider'), $v); } foreach ($this->_aAdminCategories as $k => $v) { call_user_func_array(array(&$oAdminRegistry, 'registerCategory'), $v); } foreach ($this->_aAdminPages as $k => $v) { call_user_func_array(array(&$oAdminRegistry, 'registerLocation'), $v); } foreach ($this->_aDashlets as $k => $v) { call_user_func_array(array(&$oDashletRegistry, 'registerDashlet'), $v); } foreach ($this->_ai18n as $k => $v) { call_user_func_array(array(&$oi18nRegistry, 'registeri18n'), $v); } foreach ($this->_ai18nLang as $k => $v) { call_user_func_array(array(&$oi18nRegistry, 'registeri18nLang'), $v); } foreach ($this->_aLanguage as $k => $v) { call_user_func_array(array(&$oi18nRegistry, 'registerLanguage'), $v); } foreach ($this->_aHelpLanguage as $k => $v) { call_user_func_array(array(&$oKTHelpRegistry, 'registerHelp'), $v); } foreach ($this->_aWFTriggers as $k => $v) { call_user_func_array(array(&$oWFTriggerRegistry, 'registerWorkflowTrigger'), $v); } foreach ($this->_aColumns as $k => $v) { call_user_func_array(array(&$oColumnRegistry, 'registerColumn'), $v); } foreach ($this->_aViews as $k => $v) { call_user_func_array(array(&$oColumnRegistry, 'registerView'), $v); } foreach ($this->_aNotificationHandlers as $k => $v) { call_user_func_array(array(&$oNotificationHandlerRegistry, 'registerNotificationHandler'), $v); } foreach ($this->_aTemplateLocations as $k => $v) { call_user_func_array(array(&$oTemplating, 'addLocation'), $v); } foreach ($this->_aCriteria as $k => $v) { call_user_func_array(array(&$oCriteriaRegistry, 'registerCriterion'), $v); } foreach ($this->_aWidgets as $k => $v) { call_user_func_array(array(&$oWidgetFactory, 'registerWidget'), $v); } foreach ($this->_aValidators as $k => $v) { call_user_func_array(array(&$oValidatorFactory, 'registerValidator'), $v); } foreach ($this->_aInterceptors as $k => $v) { call_user_func_array(array(&$oInterceptorRegistry, 'registerInterceptor'), $v); } }
function _getLocationInfo($sSubPath, $sLangCode = null, $bFailOK = true) { // FIXME use a cheap cache here? is it even worth it? $aInfo = array('subpath' => null, 'internal' => null, 'external' => null); $oHelpReg =& KTHelpRegistry::getSingleton(); if (is_null($sLangCode)) { global $default; $sLangCode = $default->defaultLanguage; } $aParts = explode('/', $sSubPath); if (count($aParts) < 2) { return PEAR::raiseError(_kt("Too few parts to the requested help location.")); } $sPluginName = $aParts[0]; $sSubLocation = implode('/', array_slice($aParts, 1)); // always use the "correct" internal name $sInternalName = sprintf("%s/%s/%s", $sPluginName, $sLangCode, $sSubLocation); // this is a pseudo-name. essentially, this maps to the canonical // name of the help file in the database, NOT to the filesystem //$sBaseDir = sprintf("%s/kthelp/%s/%s", KT_DIR, $sPluginName, $sLangCode); $sBaseDir = $oHelpReg->getBaseDir($sPluginName, $sLangCode); if (PEAR::isError($sBaseDir)) { if (!$bFailOK) { return $sBaseDir; } else { // try in english $sAltBase = $oHelpReg->getBaseDir($sPluginName, 'en'); if (PEAR::isError($sAltBase)) { // nothing, even in anglais. $sExternalName = ''; } else { $sExternalName = sprintf("%s/%s", $sAltBase, $sSubLocation); } } } else { $sExternalName = sprintf("%s/%s", $sBaseDir, $sSubLocation); } $aInfo['subpath'] = $sSubPath; $aInfo['internal'] = $sInternalName; $aInfo['external'] = $sExternalName; return $aInfo; }
/** * Load the plugins into the global space * * @param array $aPlugins */ function load($aPlugins) { require_once KT_LIB_DIR . '/actions/actionregistry.inc.php'; require_once KT_LIB_DIR . '/actions/portletregistry.inc.php'; require_once KT_LIB_DIR . '/triggers/triggerregistry.inc.php'; require_once KT_LIB_DIR . '/plugins/pageregistry.inc.php'; require_once KT_LIB_DIR . '/authentication/authenticationproviderregistry.inc.php'; require_once KT_LIB_DIR . "/plugins/KTAdminNavigation.php"; require_once KT_LIB_DIR . "/dashboard/dashletregistry.inc.php"; require_once KT_LIB_DIR . "/i18n/i18nregistry.inc.php"; require_once KT_LIB_DIR . "/help/help.inc.php"; require_once KT_LIB_DIR . "/workflow/workflowutil.inc.php"; require_once KT_LIB_DIR . "/widgets/widgetfactory.inc.php"; require_once KT_LIB_DIR . "/validation/validatorfactory.inc.php"; require_once KT_LIB_DIR . "/browse/columnregistry.inc.php"; require_once KT_LIB_DIR . "/browse/criteriaregistry.php"; require_once KT_LIB_DIR . "/authentication/interceptorregistry.inc.php"; $oPRegistry =& KTPortletRegistry::getSingleton(); $oTRegistry =& KTTriggerRegistry::getSingleton(); $oARegistry =& KTActionRegistry::getSingleton(); $oPageRegistry =& KTPageRegistry::getSingleton(); $oAPRegistry =& KTAuthenticationProviderRegistry::getSingleton(); $oAdminRegistry =& KTAdminNavigationRegistry::getSingleton(); $oDashletRegistry =& KTDashletRegistry::getSingleton(); $oi18nRegistry =& KTi18nRegistry::getSingleton(); $oKTHelpRegistry =& KTHelpRegistry::getSingleton(); $oWFTriggerRegistry =& KTWorkflowTriggerRegistry::getSingleton(); $oColumnRegistry =& KTColumnRegistry::getSingleton(); $oNotificationHandlerRegistry =& KTNotificationRegistry::getSingleton(); $oTemplating =& KTTemplating::getSingleton(); $oWidgetFactory =& KTWidgetFactory::getSingleton(); $oValidatorFactory =& KTValidatorFactory::getSingleton(); $oCriteriaRegistry =& KTCriteriaRegistry::getSingleton(); $oInterceptorRegistry =& KTInterceptorRegistry::getSingleton(); $oKTPluginRegistry =& KTPluginRegistry::getSingleton(); // Loop through the loaded plugins and register them for access foreach ($aPlugins as $plugin) { $sName = $plugin['namespace']; $sParams = $plugin['object']; $aParams = explode('|', $sParams); $sClassType = $plugin['classtype']; switch ($sClassType) { case 'portlet': $aLocation = unserialize($aParams[0]); if ($aLocation != false) { $aParams[0] = $aLocation; } if (isset($aParams[3])) { $aParams[3] = KTPluginUtil::getFullPath($aParams[3]); } call_user_func_array(array(&$oPRegistry, 'registerPortlet'), $aParams); break; case 'trigger': if (isset($aParams[4])) { $aParams[4] = KTPluginUtil::getFullPath($aParams[4]); } call_user_func_array(array(&$oTRegistry, 'registerTrigger'), $aParams); break; case 'action': if (isset($aParams[3])) { $aParams[3] = KTPluginUtil::getFullPath($aParams[3]); } call_user_func_array(array(&$oARegistry, 'registerAction'), $aParams); break; case 'page': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oPageRegistry, 'registerPage'), $aParams); break; case 'authentication_provider': if (isset($aParams[3])) { $aParams[3] = KTPluginUtil::getFullPath($aParams[3]); } $aParams[0] = _kt($aParams[0]); call_user_func_array(array(&$oAPRegistry, 'registerAuthenticationProvider'), $aParams); break; case 'admin_category': $aParams[1] = _kt($aParams[1]); $aParams[2] = _kt($aParams[2]); call_user_func_array(array(&$oAdminRegistry, 'registerCategory'), $aParams); break; case 'admin_page': if (isset($aParams[5])) { $aParams[5] = KTPluginUtil::getFullPath($aParams[5]); } $aParams[3] = _kt($aParams[3]); $aParams[4] = _kt($aParams[4]); call_user_func_array(array(&$oAdminRegistry, 'registerLocation'), $aParams); break; case 'dashlet': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oDashletRegistry, 'registerDashlet'), $aParams); break; case 'i18nlang': if (isset($aParams[2]) && $aParams[2] != 'default') { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oi18nRegistry, 'registeri18nLang'), $aParams); case 'i18n': if (isset($aParams[2])) { $aParams[1] = $aParams[2]; unset($aParams[2]); } else { $aParams[1] = KTPluginUtil::getFullPath($aParams[1]); } call_user_func_array(array(&$oi18nRegistry, 'registeri18n'), $aParams); break; case 'language': call_user_func_array(array(&$oi18nRegistry, 'registerLanguage'), $aParams); break; case 'help_language': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oKTHelpRegistry, 'registerHelp'), $aParams); break; case 'workflow_trigger': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oWFTriggerRegistry, 'registerWorkflowTrigger'), $aParams); break; case 'column': if (isset($aParams[3])) { $aParams[3] = KTPluginUtil::getFullPath($aParams[3]); } $aParams[0] = _kt($aParams[0]); call_user_func_array(array(&$oColumnRegistry, 'registerColumn'), $aParams); break; case 'view': $aParams[0] = _kt($aParams[0]); call_user_func_array(array(&$oColumnRegistry, 'registerView'), $aParams); break; case 'notification_handler': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oNotificationHandlerRegistry, 'registerNotificationHandler'), $aParams); break; case 'template_location': if (isset($aParams[1])) { $aParams[1] = KTPluginUtil::getFullPath($aParams[1]); } call_user_func_array(array(&$oTemplating, 'addLocation2'), $aParams); break; case 'criterion': $aInit = unserialize($aParams[3]); if ($aInit != false) { $aParams[3] = $aInit; } if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oCriteriaRegistry, 'registerCriterion'), $aParams); break; case 'widget': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oWidgetFactory, 'registerWidget'), $aParams); break; case 'validator': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oValidatorFactory, 'registerValidator'), $aParams); break; case 'interceptor': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } call_user_func_array(array(&$oInterceptorRegistry, 'registerInterceptor'), $aParams); break; case 'plugin': if (isset($aParams[2])) { $aParams[2] = KTPluginUtil::getFullPath($aParams[2]); } $oKTPluginRegistry->_aPluginDetails[$sName] = $aParams; break; } } }