mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-11-28 10:30:42 +00:00
rename $extMgr to $extmgr, all global vars can be passed to factory
This commit is contained in:
parent
d15c65f137
commit
b6bdae551c
|
|
@ -30,14 +30,19 @@ class Controller {
|
||||||
* @return object an object of a class implementing the view
|
* @return object an object of a class implementing the view
|
||||||
*/
|
*/
|
||||||
static function factory($class, $params=array()) { /* {{{ */
|
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) {
|
if(!$class) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$classname = "SeedDMS_Controller_".$class;
|
$classname = "SeedDMS_Controller_".$class;
|
||||||
$filename = '';
|
$filename = '';
|
||||||
foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
|
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
|
||||||
$filename = $settings->_rootDir.'ext/'.$extname.'/controllers/class.'.$class.".php";
|
$filename = $settings->_rootDir.'ext/'.$extname.'/controllers/class.'.$class.".php";
|
||||||
if(file_exists($filename)) {
|
if(file_exists($filename)) {
|
||||||
break;
|
break;
|
||||||
|
|
@ -60,6 +65,7 @@ class Controller {
|
||||||
$controller->setParam('settings', $settings);
|
$controller->setParam('settings', $settings);
|
||||||
$controller->setParam('logger', $logger);
|
$controller->setParam('logger', $logger);
|
||||||
$controller->setParam('notifier', $notifier);
|
$controller->setParam('notifier', $notifier);
|
||||||
|
$controller->setParam('fulltextservice', $fulltextservice);
|
||||||
return $controller;
|
return $controller;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,12 @@ class UI extends UI_Default {
|
||||||
* @return object an object of a class implementing the view
|
* @return object an object of a class implementing the view
|
||||||
*/
|
*/
|
||||||
static public function factory($theme, $class='', $params=array()) { /* {{{ */
|
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) {
|
if(!$class) {
|
||||||
$class = 'Bootstrap';
|
$class = 'Bootstrap';
|
||||||
$class = 'Style';
|
$class = 'Style';
|
||||||
|
|
@ -55,9 +60,9 @@ class UI extends UI_Default {
|
||||||
}
|
}
|
||||||
/* Collect all decorators */
|
/* Collect all decorators */
|
||||||
$decorators = array();
|
$decorators = array();
|
||||||
foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
|
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
|
||||||
if(!$settings->extensionIsDisabled($extname)) {
|
if(!$settings->extensionIsDisabled($extname)) {
|
||||||
if($extMgr->checkExtensionByName($extname, $extconf)) {
|
if($extmgr->checkExtensionByName($extname, $extconf)) {
|
||||||
if(isset($extconf['decorators'][$class])) {
|
if(isset($extconf['decorators'][$class])) {
|
||||||
$filename = $settings->_rootDir.'ext/'.$extname.'/decorators/'.$theme."/".$extconf['decorators'][$class]['file'];
|
$filename = $settings->_rootDir.'ext/'.$extname.'/decorators/'.$theme."/".$extconf['decorators'][$class]['file'];
|
||||||
if(file_exists($filename)) {
|
if(file_exists($filename)) {
|
||||||
|
|
@ -72,9 +77,9 @@ class UI extends UI_Default {
|
||||||
*/
|
*/
|
||||||
$filename = '';
|
$filename = '';
|
||||||
$httpbasedir = '';
|
$httpbasedir = '';
|
||||||
foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
|
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
|
||||||
if(!$settings->extensionIsDisabled($extname)) {
|
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
|
/* Setting the 'views' element in the configuration can be used to
|
||||||
* replace an existing view in views/bootstrap/, e.g. class.ViewFolder.php
|
* replace an existing view in views/bootstrap/, e.g. class.ViewFolder.php
|
||||||
* without providing an out/out.ViewFolder.php. In that case $httpbasedir
|
* without providing an out/out.ViewFolder.php. In that case $httpbasedir
|
||||||
|
|
|
||||||
|
|
@ -16,35 +16,23 @@ global $logger;
|
||||||
require "inc.ClassExtensionMgr.php";
|
require "inc.ClassExtensionMgr.php";
|
||||||
require_once "inc.ClassExtBase.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']) {
|
if($extconf['disable']) {
|
||||||
$settings->disableExtension($extname);
|
$settings->disableExtension($extname);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(!$settings->extensionIsDisabled($extname)) {
|
if(!$settings->extensionIsDisabled($extname)) {
|
||||||
$disabled = false;
|
$disabled = false;
|
||||||
if($extMgr->checkExtensionByName($extname, $extconf)) {
|
if($extmgr->checkExtensionByName($extname, $extconf)) {
|
||||||
$disabled = false;
|
$disabled = false;
|
||||||
$settings->enableExtension($extname);
|
$settings->enableExtension($extname);
|
||||||
} else {
|
} else {
|
||||||
$disabled = true;
|
$disabled = true;
|
||||||
$settings->disableExtension($extname);
|
$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(!$disabled) {
|
||||||
if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) {
|
if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) {
|
||||||
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
|
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
|
||||||
|
|
@ -52,7 +40,7 @@ foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
|
||||||
include($classfile);
|
include($classfile);
|
||||||
$obj = new $extconf['class']['name']($settings, null, $logger);
|
$obj = new $extconf['class']['name']($settings, null, $logger);
|
||||||
if(method_exists($obj, 'init'))
|
if(method_exists($obj, 'init'))
|
||||||
$obj->init($extMgr);
|
$obj->init($extmgr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isset($extconf['language']['file'])) {
|
if(isset($extconf['language']['file'])) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user