* @copyright Copyright (C) 2013 Uwe Steinmann * @version Release: @package_version@ */ require "inc.ClassExtensionMgr.php"; require_once "inc.ClassSchedulerTaskBase.php"; require_once "inc.ClassExtBase.php"; $extmgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir, $settings->_repositoryUrl, $settings->_proxyUrl, $settings->_proxyUser, $settings->_proxyPassword); foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) { if($extconf['disable']) { $settings->disableExtension($extname); continue; } if(!$settings->extensionIsDisabled($extname)) { $disabled = false; if($extmgr->checkExtensionByName($extname, $extconf)) { $disabled = false; $settings->enableExtension($extname); } else { $disabled = true; $settings->disableExtension($extname); // echo $extmgr->getErrorMsg(); } if(!$disabled) { if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) { $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; if(file_exists($classfile)) { include($classfile); $obj = new $extconf['class']['name']($settings, null, $logger); if(method_exists($obj, 'init')) $obj->init($extmgr); } } if(isset($extconf['language']['file'])) { $langfile = $settings->_rootDir."/ext/".$extname."/".$extconf['language']['file']; if(file_exists($langfile)) { unset($__lang); include($langfile); if(isset($__lang) && $__lang) { foreach($__lang as $lang=>&$data) { $translator->addPhrases($lang, $data); } } } } } } else { // Ensure $settings->_extensions has an entry for the extension, even if // the extension is disabled already. $settings->disableExtension($extname); } }