⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plugin.inc.php.tmp

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 TMP
📖 第 1 页 / 共 2 页
字号:
        if (!is_a($oEntity, 'KTPluginEntity')) {            print "isRegistered\n";            var_dump($oEntity);            exit(0);        }        if ($oEntity->getDisabled()) {            return false;        }        return true;    }    /**     * Load the actions, portlets, etc as part of the parent plugin     *     */    function load() {        // Include any required resources, javascript files, etc        $res = $this->run_setup();        if(!$res){            return false;        }        // Get actions, portlets, etc, create arrays as part of plugin        $query = "SELECT * FROM plugin_helper h WHERE plugin = '{$this->sNamespace}'";        $aPluginHelpers = DBUtil::getResultArray($query);        if(!empty($aPluginHelpers)){            foreach ($aPluginHelpers 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;            	        }                        $this->_aPortlets[$sName] = $aParams;            	        break;            	    case 'trigger':            	        $this->_aTriggers[$sName] = $aParams;            	        break;            	    case 'action':            	        $this->_aActions[$sName] = $aParams;            	        break;            	    case 'page':            	        $this->_aPages[$sName] = $aParams;            	        break;            	    case 'authentication_provider':            	        $this->_aAuthenticationProviders[$sName] = $aParams;            	        break;            	    case 'admin_category':            	        $this->_aAdminCategories[$sName] = $aParams;            	        break;            	    case 'admin_page':            	        $this->_aAdminPages[$sName] = $aParams;            	        break;            	    case 'dashlet':            	        $this->_aDashlets[$sName] = $aParams;            	        break;            	    case 'i18n':            	        $this->_ai18n[$sName] = $aParams;            	        break;            	    case 'i18nlang':            	        $this->_ai18nLang[$sName] = $aParams;            	        break;            	    case 'language':            	        $this->_aLanguage[$sName] = $aParams;            	        break;            	    case 'help_language':            	        $this->_aHelpLanguage[$sName] = $aParams;            	        break;            	    case 'workflow_trigger':            	        $this->_aWFTriggers[$sName] = $aParams;            	        break;            	    case 'column':            	        $this->_aColumns[$sName] = $aParams;            	        break;            	    case 'view':            	        $this->_aViews[$sName] = $aParams;            	        break;            	    case 'notification_handler':            	        $this->_aNotificationHandlers[$sName] = $aParams;            	        break;            	    case 'template_location':            	        $this->_aTemplateLocations[$sName] = $aParams;            	        break;            	    case 'criterion':            	        $aInit = unserialize($aParams[3]);            	        if($aInit != false){        	               $aParams[3] = $aInit;            	        }            	        $this->_aCriteria[$sName] = $aParams;            	        break;            	    case 'widget':            	        $this->_aWidgets[$sName] = $aParams;            	        break;            	    case 'validator':            	        $this->_aValidators[$sName] = $aParams;            	        break;            	    case 'interceptor':            	        $this->_aInterceptors[$sName] = $aParams;            	        break;            	}        	}        }        return true;    }    /**     * 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 setup() {        return;    }    function run_setup() {        return true;    }    function setAvailability($sNamespace, $bAvailable = true){    	$aValues = array('unavailable' => $bAvailable);    	$aWhere = array('namespace' => $sNamespace);    	$res = DBUtil::whereUpdate('plugins', $aValues, $aWhere);    	return $res;    }    function stripKtDir($sFilename) {        if (strpos($sFilename, KT_DIR) === 0 ||strpos($sFilename, realpath(KT_DIR)) === 0) {            return substr($sFilename, strlen(KT_DIR) + 1);        }        return $sFilename;    }    function upgradePlugin($iStart, $iEnd) {        if (is_null($this->sSQLDir)) {            return $iEnd; // no db changes, must reach the "end".        }        global $default;        DBUtil::setupAdminDatabase();        for ($i = $iStart; $i <= $iEnd; $i++) {            $sqlfile = sprintf("%s/upgradeto%d.sql", $this->sSQLDir, $i);            if (!file_exists($sqlfile)) {                continue; // skip it.            }            $queries = SQLFile::sqlFromFile($sqlfile);            $res = DBUtil::runQueries($queries, $default->_admindb);            if (PEAR::isError($res)) {                return $i; // break out completely, indicating how far we got pre-error.            }        }        return $iEnd;    }    function register() {        $oEntity = KTPluginEntity::getByNamespace($this->sNamespace);        $friendly_name = '';        $iOrder = $this->iOrder;        if (!empty($this->sFriendlyName)) { $friendly_name = $this->sFriendlyName; }        if (!PEAR::isError($oEntity)) {            // check for upgrade.            $iEndVersion = 0; // dest.            if ($this->iVersion != $oEntity->getVersion()) {                // capture the filname version.                // remember to -start- the upgrade from the "next" version                $iEndVersion = $this->upgradePlugin($oEntity->getVersion()+1, $this->iVersion);                if ($iEndVersion != $this->iVersion) {                    // we obviously failed.                    $oEntity->updateFromArray(array(                    'path' => $this->stripKtDir($this->sFilename),                    'version' => $iEndVersion,   // as far as we got.                    'disabled' => true,                    'unavailable' => false,                    'friendlyname' => $friendly_name,                    ));                    // FIXME we -really- need to raise an error here, somehow.                } else {                    $oEntity->updateFromArray(array(                    'path' => $this->stripKtDir($this->sFilename),                    'version' => $this->iVersion,                    'unavailable' => false,                    'friendlyname' => $friendly_name,                    'orderby' => $iOrder,                    ));                }            }            /* ** Quick fix for optimisation. Reread must run plugin setup. ** */            $this->setup();            return $oEntity;        }        if(PEAR::isError($oEntity) && !is_a($oEntity, 'KTEntityNoObjects')){            return $oEntity;        }        $disabled = 1;        if ($this->bAlwaysInclude || $this->autoRegister) {            $disabled = 0;        }        $iEndVersion = $this->upgradePlugin(0, $this->iVersion);        $oEntity = KTPluginEntity::createFromArray(array(            'namespace' => $this->sNamespace,            'path' => $this->stripKtDir($this->sFilename),            'version' => $iEndVersion,            'disabled' => $disabled,            'unavailable' => false,            'friendlyname' => $friendly_name,            'orderby' => $iOrder,            ));        if (PEAR::isError($oEntity)) {            return $oEntity;        }        /* ** Quick fix for optimisation. Reread must run plugin setup. ** */        $this->setup();        return true;    }    function getURLPath($filename = null)    {		$config = KTConfig::getSingleton();		$dir = $config->get('KnowledgeTree/fileSystemRoot');		$path = substr(dirname($this->sFilename), strlen($dir));		if (!is_null($filename))		{			$path .= '/' . $filename;		}		return $path;    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -