aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <mike@macgirvin.com>2016-09-06 16:40:38 -0700
committerredmatrix <mike@macgirvin.com>2016-09-06 16:40:38 -0700
commit884bb60c7d05eba407ba044cc8e6f795db04c36f (patch)
tree1ca71f87a0267432d31375541d0708ad27bd0447
parent005186bf4a461578d068aaab6164c84dd7ea9409 (diff)
downloadvolse-hubzilla-884bb60c7d05eba407ba044cc8e6f795db04c36f.tar.gz
volse-hubzilla-884bb60c7d05eba407ba044cc8e6f795db04c36f.tar.bz2
volse-hubzilla-884bb60c7d05eba407ba044cc8e6f795db04c36f.zip
document the SubModule class and provide an option to change where the submodule name is located in the url path
-rw-r--r--Zotlabs/Web/SubModule.php20
1 files changed, 16 insertions, 4 deletions
diff --git a/Zotlabs/Web/SubModule.php b/Zotlabs/Web/SubModule.php
index 122766d5a..5f49b9292 100644
--- a/Zotlabs/Web/SubModule.php
+++ b/Zotlabs/Web/SubModule.php
@@ -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();
}