diff --git a/inc/inc.ClassController.php b/inc/inc.ClassController.php index 4a37d9cbc..7f8aa6620 100644 --- a/inc/inc.ClassController.php +++ b/inc/inc.ClassController.php @@ -30,14 +30,19 @@ class Controller { * @return object an object of a class implementing the view */ static function factory($class, $params=array()) { /* {{{ */ - global $settings, $session, $extMgr, $request, $logger, $notifier; + foreach(['settings', 'session', 'extmgr', 'request', 'logger', 'notifier', 'fulltextservice'] as $vn) { + if(isset($params[$vn])) + ${$vn} = $params[$vn]; + else + ${$vn} = $GLOBALS[$vn] ?? null; + } if(!$class) { return null; } $classname = "SeedDMS_Controller_".$class; $filename = ''; - foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) { $filename = $settings->_rootDir.'ext/'.$extname.'/controllers/class.'.$class.".php"; if(file_exists($filename)) { break; @@ -60,6 +65,7 @@ class Controller { $controller->setParam('settings', $settings); $controller->setParam('logger', $logger); $controller->setParam('notifier', $notifier); + $controller->setParam('fulltextservice', $fulltextservice); return $controller; } return null; diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index 01d37866c..22f2771d3 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -45,7 +45,12 @@ class UI extends UI_Default { * @return object an object of a class implementing the view */ static public function factory($theme, $class='', $params=array()) { /* {{{ */ - global $settings, $session, $extMgr, $request, $logger, $notifier, $fulltextservice; + foreach(['settings', 'session', 'extmgr', 'request', 'logger', 'notifier', 'fulltextservice'] as $vn) { + if(isset($params[$vn])) + ${$vn} = $params[$vn]; + else + ${$vn} = $GLOBALS[$vn] ?? null; + } if(!$class) { $class = 'Bootstrap'; $class = 'Style'; @@ -55,9 +60,9 @@ class UI extends UI_Default { } /* Collect all decorators */ $decorators = array(); - foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) { if(!$settings->extensionIsDisabled($extname)) { - if($extMgr->checkExtensionByName($extname, $extconf)) { + if($extmgr->checkExtensionByName($extname, $extconf)) { if(isset($extconf['decorators'][$class])) { $filename = $settings->_rootDir.'ext/'.$extname.'/decorators/'.$theme."/".$extconf['decorators'][$class]['file']; if(file_exists($filename)) { @@ -72,9 +77,9 @@ class UI extends UI_Default { */ $filename = ''; $httpbasedir = ''; - foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) { if(!$settings->extensionIsDisabled($extname)) { - if($extMgr->checkExtensionByName($extname, $extconf)) { + if($extmgr->checkExtensionByName($extname, $extconf)) { /* Setting the 'views' element in the configuration can be used to * replace an existing view in views/bootstrap/, e.g. class.ViewFolder.php * without providing an out/out.ViewFolder.php. In that case $httpbasedir diff --git a/inc/inc.Extension.php b/inc/inc.Extension.php index ce78fda55..8c4f515dd 100644 --- a/inc/inc.Extension.php +++ b/inc/inc.Extension.php @@ -16,35 +16,23 @@ global $logger; require "inc.ClassExtensionMgr.php"; require_once "inc.ClassExtBase.php"; -$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir, $settings->_repositoryUrl, $settings->_proxyUrl, $settings->_proxyUser, $settings->_proxyPassword); +$extmgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir, $settings->_repositoryUrl, $settings->_proxyUrl, $settings->_proxyUser, $settings->_proxyPassword); -$version = new SeedDMS_Version; - -foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { +foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) { if($extconf['disable']) { $settings->disableExtension($extname); continue; } if(!$settings->extensionIsDisabled($extname)) { $disabled = false; - if($extMgr->checkExtensionByName($extname, $extconf)) { + if($extmgr->checkExtensionByName($extname, $extconf)) { $disabled = false; $settings->enableExtension($extname); } else { $disabled = true; $settings->disableExtension($extname); - // echo $extMgr->getErrorMsg(); + // echo $extmgr->getErrorMsg(); } - /* check for requirements */ - /* - if(!empty($extconf['constraints']['depends']['seeddms'])) { - $t = explode('-', $extconf['constraints']['depends']['seeddms'], 2); - if(SeedDMS_Extension_Mgr::cmpVersion($t[0], $version->version()) > 0 || ($t[1] && SeedDMS_Extension_Mgr::cmpVersion($t[1], $version->version()) < 0)) - $disabled = true; - else - $disabled = false; - } - */ if(!$disabled) { if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) { $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; @@ -52,7 +40,7 @@ foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { include($classfile); $obj = new $extconf['class']['name']($settings, null, $logger); if(method_exists($obj, 'init')) - $obj->init($extMgr); + $obj->init($extmgr); } } if(isset($extconf['language']['file'])) {