prepare submodule to interact with route

This commit is contained in:
Mario Vavti 2018-09-17 10:30:47 +02:00
parent 07cd1d1272
commit 2f6cb764a4
2 changed files with 18 additions and 1 deletions

View File

@ -45,7 +45,7 @@ class Articles extends Controller {
return $o; return $o;
} }
nav_set_selected(t('Articles')); nav_set_selected('Articles');
head_add_link([ head_add_link([
'rel' => 'alternate', 'rel' => 'alternate',

View File

@ -2,6 +2,8 @@
namespace Zotlabs\Web; namespace Zotlabs\Web;
use Zotlabs\Extend\Route;
/* /*
* @brief * @brief
* *
@ -31,9 +33,23 @@ class SubModule {
$filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv($whicharg)) . '.php'; $filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv($whicharg)) . '.php';
$modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv($whicharg)); $modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv($whicharg));
if(file_exists($filename)) { if(file_exists($filename)) {
$this->controller = new $modname(); $this->controller = new $modname();
} }
$routes = Route::get();
if($routes) {
foreach($routes as $route) {
if(is_array($route) && strtolower($route[1]) === strtolower(argv(0)) . '/' . strtolower(argv($whicharg))) {
include_once($route[0]);
if(class_exists($modname)) {
$this->controller = new $modname;
}
}
}
}
} }
/** /**
@ -43,6 +59,7 @@ class SubModule {
* @return boolean|mixed * @return boolean|mixed
*/ */
function call($method) { function call($method) {
if(! $this->controller) if(! $this->controller)
return false; return false;