mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-06-01 22:47:19 +00:00
check extension dirs for controller class
This commit is contained in:
parent
8ace74ef85
commit
c560d21425
|
@ -30,14 +30,25 @@ class Controller {
|
|||
* @return object an object of a class implementing the view
|
||||
*/
|
||||
static function factory($class, $params=array()) { /* {{{ */
|
||||
global $settings, $session, $dms, $user;
|
||||
global $settings, $session, $dms, $user, $EXT_CONF;
|
||||
if(!$class) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$classname = "SeedDMS_Controller_".$class;
|
||||
$filename = "../controllers/class.".$class.".php";
|
||||
if(file_exists($filename)) {
|
||||
$filename = '';
|
||||
foreach($EXT_CONF as $extname=>$extconf) {
|
||||
$filename = '../ext/'.$extname.'/controllers/class.'.$class.".php";
|
||||
if(file_exists($filename)) {
|
||||
break;
|
||||
}
|
||||
$filename = '';
|
||||
}
|
||||
if(!$filename)
|
||||
$filename = $settings->_rootDir."controllers/class.".$class.".php";
|
||||
if(!file_exists($filename))
|
||||
$filename = '';
|
||||
if($filename) {
|
||||
require($filename);
|
||||
$controller = new $classname($params);
|
||||
/* Set some configuration parameters */
|
||||
|
|
Loading…
Reference in New Issue
Block a user