use SubModule class for generalising submodules, move back to the zotlabs/module hierarchy

This commit is contained in:
redmatrix 2016-09-05 18:11:00 -07:00
parent d7d46def9d
commit bedc7b7b69
4 changed files with 43 additions and 17 deletions

View File

@ -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;

View File

@ -1,9 +1,9 @@
<?php
namespace Zotlabs\Admin;
namespace Zotlabs\Module\Admin;
class Plugins extends \Zotlabs\Web\Controller {
class Plugins {
function get() {

31
Zotlabs/Web/SubModule.php Normal file
View File

@ -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;
}
}

View File

@ -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);