]> git.mxchange.org Git - friendica.git/blobdiff - doc/de/Addons.md
Merge pull request #8072 from nupplaphil/task/Cache_to_DI
[friendica.git] / doc / de / Addons.md
index 7651840f4113c06e7dc2c3e8ab9cf07e83e5ea48..37bf114d2a976f23dd5622d7a5e32c1d9b8ed7f9 100644 (file)
@@ -26,7 +26,7 @@ Addons sollten einen Kommentarblock mit den folgenden vier Parametern enthalten:
 
 Registriere deine Addon-Hooks während der Installation.
 
-    Addon::registerHook($hookname, $file, $function);
+    \Friendica\Core\Hook::register($hookname, $file, $function);
 
 $hookname ist ein String und entspricht einem bekannten Friendica-Hook.
 
@@ -101,7 +101,7 @@ Derzeitige Hooks
 
 **'post_remote'** - wird aufgerufen, wenn ein Beitrag aus einer anderen Quelle empfangen wird. Dies kann auch genutzt werden, um lokale Aktivitäten oder systemgenerierte Nachrichten zu veröffentlichen/posten.
     $b ist das Item-Array einer Information, die in der Datenbank und im Item gespeichert ist.
-       {Bitte beachte: der Seiteninhalt ist bbcode - nicht HTML)
+        {Bitte beachte: der Seiteninhalt ist bbcode - nicht HTML)
 
 **'settings_form'** - wird aufgerufen, wenn die HTML-Ausgabe für die Einstellungsseite generiert wird.
     $b ist die HTML-Ausgabe (String) der Einstellungsseite vor dem finalen "</form>"-Tag.
@@ -191,184 +191,316 @@ Komplette Liste der Hook-Callbacks
 
 Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Apr-2018 generiert): Bitte schau in die Quellcodes für Details zu Hooks, die oben nicht dokumentiert sind.
 
-index.php:     Addon::callHooks('init_1');
-index.php:     Addon::callHooks('app_menu', $arr);
-index.php:     Addon::callHooks('page_content_top', $a->page['content']);
-index.php:     Addon::callHooks($a->module.'_mod_init', $placeholder);
-index.php:     Addon::callHooks($a->module.'_mod_init', $placeholder);
-index.php:     Addon::callHooks($a->module.'_mod_post', $_POST);
-index.php:     Addon::callHooks($a->module.'_mod_afterpost', $placeholder);
-index.php:     Addon::callHooks($a->module.'_mod_content', $arr);
-index.php:     Addon::callHooks($a->module.'_mod_aftercontent', $arr);
-index.php:     Addon::callHooks('page_end', $a->page['content']);
+### index.php
+
+    Hook::callAll('init_1');
+    Hook::callAll('app_menu', $arr);
+    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', DI::page()['content']);
+
+### include/api.php
+
+    Hook::callAll('logged_in', $a->user);
+    Hook::callAll('authenticate', $addon_auth);
+    Hook::callAll('logged_in', $a->user);
+
+### include/enotify.php
+
+    Hook::callAll('enotify', $h);
+    Hook::callAll('enotify_store', $datarray);
+    Hook::callAll('enotify_mail', $datarray);
+    Hook::callAll('check_item_notification', $notification_data);
+
+### include/conversation.php
+
+    Hook::callAll('conversation_start', $cb);
+    Hook::callAll('render_location', $locate);
+    Hook::callAll('display_item', $arr);
+    Hook::callAll('display_item', $arr);
+    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);
+
+### mod/xrd.php
+
+    Hook::callAll('personal_xrd', $arr);
+
+### mod/ping.php
+
+    Hook::callAll('network_ping', $arr);
+
+### mod/parse_url.php
+
+    Hook::callAll("parse_link", $arr);
+
+### src/Module/Delegation.php
+
+    Hook::callAll('home_init', $ret);
+
+### mod/acl.php
+
+    Hook::callAll('acl_lookup_end', $results);
+
+### mod/network.php
+
+    Hook::callAll('network_content_init', $arr);
+    Hook::callAll('network_tabs', $arr);
+
+### mod/friendica.php
+
+    Hook::callAll('about_hook', $o);
+
+### mod/subthread.php
+
+    Hook::callAll('post_local_end', $arr);
+
+### mod/profiles.php
+
+    Hook::callAll('profile_post', $_POST);
+    Hook::callAll('profile_edit', $arr);
+
+### mod/settings.php
+
+    Hook::callAll('addon_settings_post', $_POST);
+    Hook::callAll('connector_settings_post', $_POST);
+    Hook::callAll('display_settings_post', $_POST);
+    Hook::callAll('settings_post', $_POST);
+    Hook::callAll('addon_settings', $settings_addons);
+    Hook::callAll('connector_settings', $settings_connectors);
+    Hook::callAll('display_settings', $o);
+    Hook::callAll('settings_form', $o);
+
+### mod/photos.php
+
+    Hook::callAll('photo_post_init', $_POST);
+    Hook::callAll('photo_post_file', $ret);
+    Hook::callAll('photo_post_end', $foo);
+    Hook::callAll('photo_post_end', $foo);
+    Hook::callAll('photo_post_end', $foo);
+    Hook::callAll('photo_post_end', $foo);
+    Hook::callAll('photo_post_end', intval($item_id));
+    Hook::callAll('photo_upload_form', $ret);
+
+### mod/profile.php
+
+    Hook::callAll('profile_advanced', $o);
+
+### mod/home.php
+
+    Hook::callAll('home_init', $ret);
+    Hook::callAll("home_content", $content);
+
+### mod/poke.php
+
+    Hook::callAll('post_local_end', $arr);
+
+### mod/contacts.php
+
+    Hook::callAll('contact_edit_post', $_POST);
+    Hook::callAll('contact_edit', $arr);
+
+### mod/tagger.php
+
+    Hook::callAll('post_local_end', $arr);
+
+### mod/lockview.php
+
+    Hook::callAll('lockview_content', $item);
+
+### mod/uexport.php
+
+    Hook::callAll('uexport_options', $options);
+
+### mod/register.php
+
+    Hook::callAll('register_post', $arr);
+    Hook::callAll('register_form', $arr);
+
+### mod/item.php
+
+    Hook::callAll('post_local_start', $_REQUEST);
+    Hook::callAll('post_local', $datarray);
+    Hook::callAll('post_local_end', $datarray);
+
+### mod/editpost.php
+
+    Hook::callAll('jot_tool', $jotplugins);
+
+### src/Network/FKOAuth1.php
+
+    Hook::callAll('logged_in', $a->user);
+
+### src/Render/FriendicaSmartyEngine.php
+
+    Hook::callAll("template_vars", $arr);
+
+### src/Model/Item.php
+
+    Hook::callAll('post_local', $item);
+    Hook::callAll('post_remote', $item);
+    Hook::callAll('post_local_end', $posted_item);
+    Hook::callAll('post_remote_end', $posted_item);
+    Hook::callAll('tagged', $arr);
+    Hook::callAll('post_local_end', $new_item);
+    Hook::callAll('put_item_in_cache', $hook_data);
+    Hook::callAll('prepare_body_init', $item);
+    Hook::callAll('prepare_body_content_filter', $hook_data);
+    Hook::callAll('prepare_body', $hook_data);
+    Hook::callAll('prepare_body_final', $hook_data);
+
+### src/Model/Contact.php
+
+    Hook::callAll('contact_photo_menu', $args);
+    Hook::callAll('follow', $arr);
+
+### src/Model/Profile.php
+
+    Hook::callAll('profile_sidebar_enter', $profile);
+    Hook::callAll('profile_sidebar', $arr);
+    Hook::callAll('profile_tabs', $arr);
+    Hook::callAll('zrl_init', $arr);
+
+### src/Model/Event.php
+
+    Hook::callAll('event_updated', $event['id']);
+    Hook::callAll("event_created", $event['id']);
+
+### src/Model/User.php
 
-include/api.php:       Addon::callHooks('logged_in', $a->user);
-include/api.php:       Addon::callHooks('authenticate', $addon_auth);
-include/api.php:       Addon::callHooks('logged_in', $a->user);
+    Hook::callAll('register_account', $uid);
+    Hook::callAll('remove_user', $user);
+    
+### src/Content/ContactBlock.php
 
-include/enotify.php:   Addon::callHooks('enotify', $h);
-include/enotify.php:   Addon::callHooks('enotify_store', $datarray);
-include/enotify.php:   Addon::callHooks('enotify_mail', $datarray);
-include/enotify.php:   Addon::callHooks('check_item_notification', $notification_data);
+    Hook::callAll('contact_block_end', $arr);
 
-include/conversation.php:      Addon::callHooks('conversation_start', $cb);
-include/conversation.php:      Addon::callHooks('render_location', $locate);
-include/conversation.php:      Addon::callHooks('display_item', $arr);
-include/conversation.php:      Addon::callHooks('display_item', $arr);
-include/conversation.php:      Addon::callHooks('item_photo_menu', $args);
-include/conversation.php:      Addon::callHooks('jot_tool', $jotplugins);
+### src/Content/Text/BBCode.php
 
-include/security.php:  Addon::callHooks('logged_in', $a->user);
+    Hook::callAll('bbcode', $text);
+    Hook::callAll('bb2diaspora', $text);
 
-include/text.php:      Addon::callHooks('contact_block_end', $arr);
-include/text.php:      Addon::callHooks('poke_verbs', $arr);
-include/text.php:      Addon::callHooks('prepare_body_init', $item);
-include/text.php:      Addon::callHooks('prepare_body_content_filter', $hook_data);
-include/text.php:      Addon::callHooks('prepare_body', $hook_data);
-include/text.php:      Addon::callHooks('prepare_body_final', $hook_data);
+### src/Content/Text/HTML.php
 
-include/items.php:     Addon::callHooks('page_info_data', $data);
+    Hook::callAll('html2bbcode', $message);
 
-mod/directory.php:     Addon::callHooks('directory_item', $arr);
+### src/Content/Smilies.php
 
-mod/xrd.php:   Addon::callHooks('personal_xrd', $arr);
+    Hook::callAll('smilie', $params);
 
-mod/ping.php:  Addon::callHooks('network_ping', $arr);
+### src/Content/Feature.php
 
-mod/parse_url.php:     Addon::callHooks("parse_link", $arr);
+    Hook::callAll('isEnabled', $arr);
+    Hook::callAll('get', $arr);
 
-mod/manage.php:        Addon::callHooks('home_init', $ret);
+### src/Content/ContactSelector.php
 
-mod/acl.php:   Addon::callHooks('acl_lookup_end', $results);
+    Hook::callAll('network_to_name', $nets);
+    Hook::callAll('gender_selector', $select);
+    Hook::callAll('sexpref_selector', $select);
+    Hook::callAll('marital_selector', $select);
 
-mod/network.php:       Addon::callHooks('network_content_init', $arr);
-mod/network.php:       Addon::callHooks('network_tabs', $arr);
+### src/Content/OEmbed.php
 
-mod/friendica.php:     Addon::callHooks('about_hook', $o);
-mod/subthread.php:     Addon::callHooks('post_local_end', $arr);
+    Hook::callAll('oembed_fetch_url', $embedurl, $j);
 
-mod/profiles.php:      Addon::callHooks('profile_post', $_POST);
-mod/profiles.php:      Addon::callHooks('profile_edit', $arr);
+### src/Content/Nav.php
 
-mod/settings.php:      Addon::callHooks('addon_settings_post', $_POST);
-mod/settings.php:      Addon::callHooks('connector_settings_post', $_POST);
-mod/settings.php:      Addon::callHooks('display_settings_post', $_POST);
-mod/settings.php:      Addon::callHooks('settings_post', $_POST);
-mod/settings.php:      Addon::callHooks('addon_settings', $settings_addons);
-mod/settings.php:      Addon::callHooks('connector_settings', $settings_connectors);
-mod/settings.php:      Addon::callHooks('display_settings', $o);
-mod/settings.php:      Addon::callHooks('settings_form', $o);
+    Hook::callAll('page_header', DI::page()['nav']);
+    Hook::callAll('nav_info', $nav);
 
-mod/photos.php:        Addon::callHooks('photo_post_init', $_POST);
-mod/photos.php:        Addon::callHooks('photo_post_file', $ret);
-mod/photos.php:        Addon::callHooks('photo_post_end', $foo);
-mod/photos.php:        Addon::callHooks('photo_post_end', $foo);
-mod/photos.php:        Addon::callHooks('photo_post_end', $foo);
-mod/photos.php:        Addon::callHooks('photo_post_end', $foo);
-mod/photos.php:        Addon::callHooks('photo_post_end', intval($item_id));
-mod/photos.php:        Addon::callHooks('photo_upload_form', $ret);
+### src/Core/Authentication.php
 
-mod/profile.php:       Addon::callHooks('profile_advanced', $o);
+    Hook::callAll('logged_in', $a->user);
+    
+### src/Core/StorageManager
 
-mod/home.php:  Addon::callHooks('home_init', $ret);
-mod/home.php:  Addon::callHooks("home_content", $content);
+    Hook::callAll('storage_instance', $data);
 
-mod/poke.php:  Addon::callHooks('post_local_end', $arr);
+### src/Worker/Directory.php
 
-mod/contacts.php:      Addon::callHooks('contact_edit_post', $_POST);
-mod/contacts.php:      Addon::callHooks('contact_edit', $arr);
+    Hook::callAll('globaldir_update', $arr);
 
-mod/tagger.php:        Addon::callHooks('post_local_end', $arr);
+### src/Worker/Notifier.php
 
-mod/lockview.php:      Addon::callHooks('lockview_content', $item);
+    Hook::callAll('notifier_end', $target_item);
 
-mod/uexport.php:       Addon::callHooks('uexport_options', $options);
+### src/Module/Login.php
 
-mod/register.php:      Addon::callHooks('register_post', $arr);
-mod/register.php:      Addon::callHooks('register_form', $arr);
+    Hook::callAll('authenticate', $addon_auth);
+    Hook::callAll('login_hook', $o);
 
-mod/item.php:  Addon::callHooks('post_local_start', $_REQUEST);
-mod/item.php:  Addon::callHooks('post_local', $datarray);
-mod/item.php:  Addon::callHooks('post_local_end', $datarray);
+### src/Module/Logout.php
 
-mod/editpost.php:      Addon::callHooks('jot_tool', $jotplugins);
+    Hook::callAll("logging_out");
 
-src/Network/FKOAuth1.php:      Addon::callHooks('logged_in', $a->user);
+### src/Object/Post.php
 
-src/Render/FriendicaSmartyEngine.php:  Addon::callHooks("template_vars", $arr);
+    Hook::callAll('render_location', $locate);
+    Hook::callAll('display_item', $arr);
 
-src/Model/Item.php:    Addon::callHooks('post_local', $item);
-src/Model/Item.php:    Addon::callHooks('post_remote', $item);
-src/Model/Item.php:    Addon::callHooks('post_local_end', $posted_item);
-src/Model/Item.php:    Addon::callHooks('post_remote_end', $posted_item);
-src/Model/Item.php:    Addon::callHooks('tagged', $arr);
-src/Model/Item.php:    Addon::callHooks('post_local_end', $new_item);
+### src/Core/ACL.php
 
-src/Model/Contact.php: Addon::callHooks('contact_photo_menu', $args);
-src/Model/Contact.php: Addon::callHooks('follow', $arr);
+    Hook::callAll('contact_select_options', $x);
+    Hook::callAll($a->module.'_pre_'.$selname, $arr);
+    Hook::callAll($a->module.'_post_'.$selname, $o);
+    Hook::callAll($a->module.'_pre_'.$selname, $arr);
+    Hook::callAll($a->module.'_post_'.$selname, $o);
+    Hook::callAll('jot_networks', $jotnets);
 
-src/Model/Profile.php: Addon::callHooks('profile_sidebar_enter', $profile);
-src/Model/Profile.php: Addon::callHooks('profile_sidebar', $arr);
-src/Model/Profile.php: Addon::callHooks('profile_tabs', $arr);
-src/Model/Profile.php: Addon::callHooks('zrl_init', $arr);
+### src/Core/Authentication.php
 
-src/Model/Event.php:   Addon::callHooks('event_updated', $event['id']);
-src/Model/Event.php:   Addon::callHooks("event_created", $event['id']);
+    Hook::callAll('logged_in', $a->user);
 
-src/Model/User.php:    Addon::callHooks('register_account', $uid);
-src/Model/User.php:    Addon::callHooks('remove_user', $user);
+### src/Core/Hook.php
 
-src/Content/Text/BBCode.php:   Addon::callHooks('bbcode', $text);
-src/Content/Text/BBCode.php:   Addon::callHooks('bb2diaspora', $text);
+    self::callSingle(self::getApp(), 'hook_fork', $fork_hook, $hookdata);
 
-src/Content/Text/HTML.php:     Addon::callHooks('html2bbcode', $message);
+### src/Core/L10n/L10n.php
 
-src/Content/Smilies.php:       Addon::callHooks('smilie', $params);
+    Hook::callAll('poke_verbs', $arr);
 
-src/Content/Feature.php:       Addon::callHooks('isEnabled', $arr);
-src/Content/Feature.php:       Addon::callHooks('get', $arr);
+### src/Core/Worker.php
 
-src/Content/ContactSelector.php:       Addon::callHooks('network_to_name', $nets);
-src/Content/ContactSelector.php:       Addon::callHooks('gender_selector', $select);
-src/Content/ContactSelector.php:       Addon::callHooks('sexpref_selector', $select);
-src/Content/ContactSelector.php:       Addon::callHooks('marital_selector', $select);
+    Hook::callAll("proc_run", $arr);
 
-src/Content/OEmbed.php:        Addon::callHooks('oembed_fetch_url', $embedurl, $j);
+### src/Util/Emailer.php
 
-src/Content/Nav.php:   Addon::callHooks('page_header', $a->page['nav']);
-src/Content/Nav.php:   Addon::callHooks('nav_info', $nav);
+    Hook::callAll('emailer_send_prepare', $params);
+    Hook::callAll("emailer_send", $hookdata);
 
-src/Worker/Directory.php:      Addon::callHooks('globaldir_update', $arr);
-src/Worker/Notifier.php:       Addon::callHooks('notifier_end', $target_item);
-src/Worker/Queue.php:  Addon::callHooks('queue_predeliver', $r);
-src/Worker/Queue.php:  Addon::callHooks('queue_deliver', $params);
+### src/Util/Map.php
 
-src/Module/Login.php:  Addon::callHooks('authenticate', $addon_auth);
-src/Module/Login.php:  Addon::callHooks('login_hook', $o);
-src/Module/Logout.php: Addon::callHooks("logging_out");
+    Hook::callAll('generate_map', $arr);
+    Hook::callAll('generate_named_map', $arr);
+    Hook::callAll('Map::getCoordinates', $arr);
 
-src/Object/Post.php:   Addon::callHooks('render_location', $locate);
-src/Object/Post.php:   Addon::callHooks('display_item', $arr);
+### src/Util/Network.php
 
-src/Core/ACL.php:      Addon::callHooks('contact_select_options', $x);
-src/Core/ACL.php:      Addon::callHooks($a->module.'_pre_'.$selname, $arr);
-src/Core/ACL.php:      Addon::callHooks($a->module.'_post_'.$selname, $o);
-src/Core/ACL.php:      Addon::callHooks($a->module.'_pre_'.$selname, $arr);
-src/Core/ACL.php:      Addon::callHooks($a->module.'_post_'.$selname, $o);
-src/Core/ACL.php:      Addon::callHooks('jot_networks', $jotnets);
+    Hook::callAll('avatar_lookup', $avatar);
 
-src/Core/Worker.php:   Addon::callHooks("proc_run", $arr);
+### src/Util/ParseUrl.php
 
-src/Util/Emailer.php:  Addon::callHooks('emailer_send_prepare', $params);
-src/Util/Emailer.php:  Addon::callHooks("emailer_send", $hookdata);
+    Hook::callAll("getsiteinfo", $siteinfo);
 
-src/Util/Map.php:      Addon::callHooks('generate_map', $arr);
-src/Util/Map.php:      Addon::callHooks('generate_named_map', $arr);
-src/Util/Map.php:      Addon::callHooks('Map::getCoordinates', $arr);
+### src/Protocol/DFRN.php
 
-src/Util/Network.php:  Addon::callHooks('avatar_lookup', $avatar);
+    Hook::callAll('atom_feed_end', $atom);
+    Hook::callAll('atom_feed_end', $atom);
 
-src/Util/ParseUrl.php: Addon::callHooks("getsiteinfo", $siteinfo);
+### src/Protocol/Email.php
 
-src/Protocol/DFRN.php: Addon::callHooks('atom_feed_end', $atom);
-src/Protocol/DFRN.php: Addon::callHooks('atom_feed_end', $atom);
+    Hook::callAll('email_getmessage', $message);
+    Hook::callAll('email_getmessage_end', $ret);