document the SubModule class and provide an option to change where the submodule name is located in the url path
This commit is contained in:
parent
005186bf4a
commit
884bb60c7d
@ -7,13 +7,25 @@ class SubModule {
|
||||
|
||||
private $controller = false;
|
||||
|
||||
function __construct() {
|
||||
/**
|
||||
* Initiate sub-modules. By default the submodule name is in argv(1), though this is configurable.
|
||||
* Example: Given a URL path such as /admin/plugins, and the Admin module initiates sub-modules.
|
||||
* This means we'll look for a class Plugins in Zotlabs/Module/Admin/Plugins.php
|
||||
* The specific methods and calling parameters are up to the top level module controller logic.
|
||||
*
|
||||
* **If** you were to provide sub-module support on the photos module, you would probably use
|
||||
* $whicharg = 2, as photos are typically called with a URL path of /photos/channel_address/submodule_name
|
||||
* where submodule_name might be something like album or image.
|
||||
*/
|
||||
|
||||
if(argc() < 2)
|
||||
|
||||
function __construct($whicharg = 1) {
|
||||
|
||||
if(argc() < ($whicharg + 1))
|
||||
return;
|
||||
|
||||
$filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv(1)) . '.php';
|
||||
$modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv(1));
|
||||
$filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv($whicharg)) . '.php';
|
||||
$modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv($whicharg));
|
||||
if(file_exists($filename)) {
|
||||
$this->controller = new $modname();
|
||||
}
|
||||
|
Reference in New Issue
Block a user