Um ein Addon als Modul zu nutzen, ist es nötig, die Funktion "addon_name_module()" zu definieren, die keine Argumente benötigt und nichts weiter machen muss.
Wenn diese Funktion existiert, wirst du nun alle Seitenanfragen für "http://example.com/addon_name" erhalten - mit allen URL-Komponenten als zusätzliche Argumente.
-Diese werden in ein Array $a->argv geparst und stimmen mit $a->argc überein, wobei sie die Anzahl der URL-Komponenten abbilden.
-So würde http://example.com/addon/arg1/arg2 nach einem Modul "addon" suchen und seiner Modulfunktion die $a-App-Strukur übergeben (dies ist für viele Komponenten verfügbar). Das umfasst:
-
- $a->argc = 3
- $a->argv = array(0 => 'addon', 1 => 'arg1', 2 => 'arg2');
+Diese werden in das App\Arguments Objekt geparst.
+So würde `http://example.com/addon/arg1/arg2` dies ergeben:
+```php
+DI::args()->getArgc(); // = 3
+DI::args()->get(0); // = 'addon'
+DI::args()->get(1); // = 'arg1'
+DI::args()->get(2); // = 'arg2'
+```
Deine Modulfunktionen umfassen oft die Funktion addon_name_content(App $a), welche den Seiteninhalt definiert und zurückgibt.
Sie können auch addon_name_post(App $a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt.
Hook::callAll('init_1');
Hook::callAll('app_menu', $arr);
- Hook::callAll('page_content_top', $a->page['content']);
+ Hook::callAll('page_content_top', DI::page()['content']);
Hook::callAll($a->module.'_mod_init', $placeholder);
Hook::callAll($a->module.'_mod_init', $placeholder);
Hook::callAll($a->module.'_mod_post', $_POST);
Hook::callAll($a->module.'_mod_afterpost', $placeholder);
Hook::callAll($a->module.'_mod_content', $arr);
Hook::callAll($a->module.'_mod_aftercontent', $arr);
- Hook::callAll('page_end', $a->page['content']);
+ Hook::callAll('page_end', DI::page()['content']);
### include/api.php
Hook::callAll('enotify_mail', $datarray);
Hook::callAll('check_item_notification', $notification_data);
-### include/conversation.php
+### src/Content/Conversation.php
Hook::callAll('conversation_start', $cb);
Hook::callAll('render_location', $locate);
Hook::callAll('item_photo_menu', $args);
Hook::callAll('jot_tool', $jotplugins);
-### include/items.php
-
- Hook::callAll('page_info_data', $data);
-
### mod/directory.php
Hook::callAll('directory_item', $arr);
Hook::callAll('about_hook', $o);
-### mod/subthread.php
-
- Hook::callAll('post_local_end', $arr);
-
### mod/profiles.php
Hook::callAll('profile_post', $_POST);
Hook::callAll('post_local_end', $arr);
-### mod/lockview.php
-
- Hook::callAll('lockview_content', $item);
-
### mod/uexport.php
Hook::callAll('uexport_options', $options);
### src/Content/ContactSelector.php
Hook::callAll('network_to_name', $nets);
- Hook::callAll('gender_selector', $select);
- Hook::callAll('sexpref_selector', $select);
- Hook::callAll('marital_selector', $select);
### src/Content/OEmbed.php
### src/Content/Nav.php
- Hook::callAll('page_header', $a->page['nav']);
+ Hook::callAll('page_header', DI::page()['nav']);
Hook::callAll('nav_info', $nav);
### src/Core/Authentication.php
Hook::callAll('logged_in', $a->user);
+### src/Core/Protocol.php
+
+ Hook::callAll('support_follow', $hook_data);
+ Hook::callAll('support_revoke_follow', $hook_data);
+ Hook::callAll('unfollow', $hook_data);
+ Hook::callAll('revoke_follow', $hook_data);
+ Hook::callAll('block', $hook_data);
+ Hook::callAll('unblock', $hook_data);
+
+### src/Core/StorageManager
+
+ Hook::callAll('storage_instance', $data);
+ Hook::callAll('storage_config', $data);
+
+### src/Module/PermissionTooltip.php
+
+ Hook::callAll('lockview_content', $item);
+
### src/Worker/Directory.php
Hook::callAll('globaldir_update', $arr);
### src/Util/Emailer.php
- Hook::callAll('emailer_send_prepare', $params);
+ Hook::callAll('emailer_send_prepare', $email);
Hook::callAll("emailer_send", $hookdata);
### src/Util/Map.php