pass dms to SeedDMS_ExtBase

This commit is contained in:
Uwe Steinmann 2021-01-12 22:07:01 +01:00
parent de4dec03cc
commit cb03dacf45
3 changed files with 11 additions and 7 deletions

View File

@ -30,8 +30,10 @@
*/ */
class SeedDMS_ExtBase { class SeedDMS_ExtBase {
var $settings; var $settings;
var $dms;
public function __construct($settings) { public function __construct($settings, $dms) {
$this->settings = $settings; $this->settings = $settings;
$this->dms = $dms;
} }
} }

View File

@ -304,19 +304,21 @@ class SeedDMS_Extension_Mgr {
* @param SeedDMS_Core_DMS $dms * @param SeedDMS_Core_DMS $dms
* @return boolean true on success, false on error * @return boolean true on success, false on error
*/ */
public function migrate($extname, $dms) { /* {{{ */ public function migrate($extname, $settings, $dms) { /* {{{ */
if(!isset($this->extconf[$extname])) if(!isset($this->extconf[$extname]))
return false; return false;
$extconf = $this->extconf[$extname]; $extconf = $this->extconf[$extname];
$ret = null;
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'];
if(file_exists($classfile)) { if(file_exists($classfile)) {
include($classfile); require_once($classfile);
$obj = new $extconf['class']['name']($settings); $obj = new $extconf['class']['name']($settings, $dms);
if(method_exists($obj, 'migrate')) if(method_exists($obj, 'migrate'))
$obj->migrate(isset($settings->_extensions[$extname]) ? $settings->_extensions[$extname] : null); $ret = $obj->migrate();
} }
} }
return $ret;
} /* }}} */ } /* }}} */
/** /**

View File

@ -43,9 +43,9 @@ foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
if(file_exists($classfile)) { if(file_exists($classfile)) {
include($classfile); include($classfile);
$obj = new $extconf['class']['name']($settings); $obj = new $extconf['class']['name']($settings, null);
if(method_exists($obj, 'init')) if(method_exists($obj, 'init'))
$obj->init(isset($settings->_extensions[$extname]) ? $settings->_extensions[$extname] : null); $obj->init();
} }
} }
if(isset($extconf['language']['file'])) { if(isset($extconf['language']['file'])) {