* Status: {Unsupported|Arbitrary status}
*/
```
-
+
You can also provide a longer documentation in a `README` or `README.md` file.
The latter will be converted from Markdown to HTML in the addon detail page.
In order for a addon to act as a module it needs to declare an empty function `<addon>_module()`.
If this function exists, you will now receive all page requests for `https://my.web.site/<addon>` - with any number of URL components as additional arguments.
-These are parsed into an array $a->argv, with a corresponding $a->argc indicating the number of URL components.
-So `https://my.web.site/addon/arg1/arg2` would look for a module named "addon" and pass its module functions the $a App structure (which is available to many components).
-This will include:
-
+These are parsed into the `App\Arguments` object.
+So `https://my.web.site/addon/arg1/arg2` would give this:
```php
-$a->argc = 3
-$a->argv = array(0 => 'addon', 1 => 'arg1', 2 => 'arg2');
+DI::args()->getArgc(); // = 3
+DI::args()->get(0); // = 'addon'
+DI::args()->get(1); // = 'arg1'
+DI::args()->get(2); // = 'arg2'
```
To display a module page, you need to declare the function `<addon>_content(App $a)`, which defines and returns the page body content.
- **field**: Standard field data structure to be used by `field_checkbox.tpl` and `field_select.tpl`.
For `checkbox`, **field** is:
- - [0] (String): Form field name; Mandatory.
+ - [0] (String): Form field name; Mandatory.
- [1]: (String): Form field label; Optional, default is none.
- [2]: (Boolean): Whether the checkbox should be checked by default; Optional, default is false.
- [3]: (String): Additional help text; Optional, default is none.
- [1] (String): Form field label; Optional, default is none.
- [2] (Boolean): Default value to be selected by default; Optional, default is none.
- [3] (String): Additional help text; Optional, default is none.
- - [4] (Array): Associative array of options. Item key is option value, item value is option label; Mandatory.
+ - [4] (Array): Associative array of options. Item key is option value, item value is option label; Mandatory.
### route_collection
Called just before dispatching the router.
Called before trying to detect the target network of a URL.
If any registered hook function sets the `result` key of the hook data array, it will be returned immediately.
-Hook functions should also return immediately if the hook data contains an existing result.
+Hook functions should also return immediately if the hook data contains an existing result.
Hook data:
Hook::callAll('about_hook', $o);
-### mod/subthread.php
-
- Hook::callAll('post_local_end', $arr);
-
### mod/profiles.php
Hook::callAll('profile_post', $_POST);
Hook::callAll('jot_tool', $jotplugins);
-### src/Network/FKOAuth1.php
-
- Hook::callAll('logged_in', $a->user);
-
### src/Render/FriendicaSmartyEngine.php
Hook::callAll("template_vars", $arr);
Hook::callAll('event_updated', $event['id']);
Hook::callAll("event_created", $event['id']);
+### src/Model/Register.php
+
+ Hook::callAll('authenticate', $addon_auth);
+
### src/Model/User.php
+ Hook::callAll('authenticate', $addon_auth);
Hook::callAll('register_account', $uid);
Hook::callAll('remove_user', $user);
Hook::callAll('lockview_content', $item);
+### src/Module/Settings/Delegation.php
+
+ Hook::callAll('authenticate', $addon_auth);
+
+### src/Module/Settings/TwoFactor/Index.php
+
+ Hook::callAll('authenticate', $addon_auth);
+
+### src/Security/Authenticate.php
+
+ Hook::callAll('authenticate', $addon_auth);
+
+### src/Security/ExAuth.php
+
+ Hook::callAll('authenticate', $addon_auth);
+
### src/Content/ContactBlock.php
Hook::callAll('contact_block_end', $arr);
### src/Core/Authentication.php
Hook::callAll('logged_in', $a->user);
-
+
### src/Core/StorageManager
Hook::callAll('storage_instance', $data);