X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2FAddons.md;h=4a32dc09f430c9a96c477e21412ae6a2869cd454;hb=03a2888b831bd42f58e53226ded0ab923eddb77a;hp=be9dd421894ea9eadf32b3205281ee5f6bc42cb5;hpb=38196aec674ca9acc5db7e72898b52906f0d9070;p=friendica.git diff --git a/doc/Addons.md b/doc/Addons.md index be9dd42189..4a32dc09f4 100644 --- a/doc/Addons.md +++ b/doc/Addons.md @@ -31,7 +31,7 @@ Here's the structure: * 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. @@ -158,13 +158,13 @@ Addons may also act as "modules" and intercept all page requests for a given URL In order for a addon to act as a module it needs to declare an empty function `_module()`. If this function exists, you will now receive all page requests for `https://my.web.site/` - 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 `_content(App $a)`, which defines and returns the page body content. @@ -447,7 +447,7 @@ Form field array structure is: - **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. @@ -458,7 +458,7 @@ For `select`, **field** is: - [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. @@ -470,7 +470,7 @@ Hook data is a `\FastRoute\RouterCollector` object that should be used to add ad 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: @@ -619,10 +619,6 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep- Hook::callAll('jot_tool', $jotplugins); -### src/Network/FKOAuth1.php - - Hook::callAll('logged_in', $a->user); - ### src/Render/FriendicaSmartyEngine.php Hook::callAll("template_vars", $arr); @@ -666,8 +662,13 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep- 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); @@ -675,6 +676,22 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep- 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); @@ -713,7 +730,7 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep- ### src/Core/Authentication.php Hook::callAll('logged_in', $a->user); - + ### src/Core/StorageManager Hook::callAll('storage_instance', $data);