diff options
-rw-r--r-- | Zotlabs/Module/Admin.php | 24 | ||||
-rw-r--r-- | Zotlabs/Module/Admin/Plugins.php (renamed from Zotlabs/Admin/Plugins.php) | 4 | ||||
-rw-r--r-- | Zotlabs/Web/SubModule.php | 31 | ||||
-rwxr-xr-x | boot.php | 1 |
4 files changed, 43 insertions, 17 deletions
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 422c9ba34..d7e3ea5ed 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -19,6 +19,12 @@ require_once('include/account.php'); class Admin extends \Zotlabs\Web\Controller { + private $sm = null; + + function __construct() { + $this->sm = new \\Zotlabs\Web\SubModule(); + } + function post(){ logger('admin_post', LOGGER_DEBUG); @@ -99,13 +105,7 @@ class Admin extends \Zotlabs\Web\Controller { break; default: - $filename = 'Zotlabs/Admin/'. ucfirst(argv(1)) . '.php'; - $modname = '\\Zotlabs\\Admin\\' . ucfirst(argv(1)); - if(file_exists($filename)) { - $controller = new $modname; - $controller->post(); - } - + $this->sm->call('post'); break; } } @@ -165,14 +165,8 @@ class Admin extends \Zotlabs\Web\Controller { $o = $this->admin_page_queue($a); break; default: - - $filename = 'Zotlabs/Admin/'. ucfirst(argv(1)) . '.php'; - $modname = '\\Zotlabs\\Admin\\' . ucfirst(argv(1)); - if(file_exists($filename)) { - $controller = new $modname; - $o = $controller->get(); - } - else { + $o = $this->sm->call('get'); + if($o === false) { notice( t('Item not found.') ); } break; diff --git a/Zotlabs/Admin/Plugins.php b/Zotlabs/Module/Admin/Plugins.php index 5d2f3ff74..38e413680 100644 --- a/Zotlabs/Admin/Plugins.php +++ b/Zotlabs/Module/Admin/Plugins.php @@ -1,9 +1,9 @@ <?php -namespace Zotlabs\Admin; +namespace Zotlabs\Module\Admin; -class Plugins extends \Zotlabs\Web\Controller { +class Plugins { function get() { diff --git a/Zotlabs/Web/SubModule.php b/Zotlabs/Web/SubModule.php new file mode 100644 index 000000000..122766d5a --- /dev/null +++ b/Zotlabs/Web/SubModule.php @@ -0,0 +1,31 @@ +<?php + +namespace Zotlabs\Web; + + +class SubModule { + + private $controller = false; + + function __construct() { + + if(argc() < 2) + return; + + $filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv(1)) . '.php'; + $modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv(1)); + if(file_exists($filename)) { + $this->controller = new $modname(); + } + } + + function call($method) { + if(! $this->controller) + return false; + if(method_exists($this->controller,$method)) + return $this->controller->$method(); + return false; + } + +} + @@ -697,6 +697,7 @@ function startup() { class ZotlabsAutoloader { static public function loader($className) { + $debug = false; $filename = str_replace('\\', '/', $className) . ".php"; if(file_exists($filename)) { include($filename); |