]> git.mxchange.org Git - friendica.git/blobdiff - doc/Addons.md
Fix own post check for content filter
[friendica.git] / doc / Addons.md
index 4df91864bc1392adbea93b983c605f0dcc2961e9..f7d93aac7ab48ea2b45d41cf9e3931ae1dd5a440 100644 (file)
@@ -126,8 +126,8 @@ $b contains the $a->user array.
 'display_item' is called when formatting a post for display.
 $b is an array:
 
-       'item' => The item (array) details pulled from the database
-       'output' => the (string) HTML representation of this item prior to adding it to the page
+    'item' => The item (array) details pulled from the database
+    'output' => the (string) HTML representation of this item prior to adding it to the page
 
 ### 'post_local'
 * called when a status post or comment is entered on the local system
@@ -167,8 +167,8 @@ $b is an array:
 'profile_edit' is called prior to output of profile edit page.
 $b is an array containing:
 
-       'profile' => profile (array) record from the database
-       'entry' => the (string) HTML of the generated entry
+    'profile' => profile (array) record from the database
+    'entry' => the (string) HTML of the generated entry
 
 ### 'profile_advanced'
 * called when the HTML is generated for the 'Advanced profile', corresponding to the 'Profile' tab within a person's profile page
@@ -179,7 +179,7 @@ $b is an array containing:
 'directory_item' is called from the Directory page when formatting an item for display.
 $b is an array:
 
-       'contact' => contact (array) record for the person from the database
+    'contact' => contact (array) record for the person from the database
     'entry' => the (string) HTML of the generated entry
 
 ### 'profile_sidebar_enter'
@@ -190,15 +190,15 @@ $b is an array:
 'profile_sidebar is called when generating the sidebar "short" profile for a page.
 $b is an array:
 
-       'profile' => profile (array) record for the person from the database
-       'entry' => the (string) HTML of the generated entry
+    'profile' => profile (array) record for the person from the database
+    'entry' => the (string) HTML of the generated entry
 
 ### 'contact_block_end'
 is called when formatting the block of contacts/friends on a profile sidebar has completed.
 $b is an array:
 
-       'contacts' => array of contacts
-       'output' => the (string) generated HTML of the contact block
+    'contacts' => array of contacts
+    'output' => the (string) generated HTML of the contact block
 
 ### 'bbcode'
 * called during conversion of bbcode to html
@@ -216,8 +216,8 @@ $b is an array:
 'personal_xrd' is called prior to output of personal XRD file.
 $b is an array:
 
-       'user' => the user record for the person
-       'xml' => the complete XML to be output
+    'user' => the user record for the person
+    'xml' => the complete XML to be output
 
 ### 'home_content'
 * called prior to output home page content, shown to unlogged users
@@ -227,8 +227,8 @@ $b is an array:
 is called when editing contact details on an individual from the Contacts page.
 $b is an array:
 
-       'contact' => contact record (array) of target contact
-       'output' => the (string) generated HTML of the contact edit page
+    'contact' => contact record (array) of target contact
+    'output' => the (string) generated HTML of the contact edit page
 
 ### 'contact_edit_post'
 * called when posting the contact edit page.
@@ -246,9 +246,9 @@ $b is an array:
 'avatar_lookup' is called when looking up the avatar.
 $b is an array:
 
-       'size' => the size of the avatar that will be looked up
-       'email' => email to look up the avatar for
-       'url' => the (string) generated URL of the avatar
+    'size' => the size of the avatar that will be looked up
+    'email' => email to look up the avatar for
+    'url' => the (string) generated URL of the avatar
 
 ### 'emailer_send_prepare'
 'emailer_send_prepare' called from Emailer::send() before building the mime message.
@@ -306,199 +306,315 @@ Hook data:
 Called after the HTML conversion in prepare_body.
 Hook data:
     'item' => item array (input)
-       'html' => converted item body (input/output)
-       'is_preview' => post preview flag (input)
+    'html' => converted item body (input/output)
+    'is_preview' => post preview flag (input)
     'filter_reasons' => reasons array (input)
 
 ### 'prepare_body_final'
 Called at the end of prepare_body.
 Hook data:
     'item' => item array (input)
-       'html' => converted item body (input/output)
+    'html' => converted item body (input/output)
 
 Complete list of hook callbacks
 ---
 
 Here is a complete list of all hook callbacks with file locations (as of 01-Apr-2018). Please see the source for details of any hooks not documented above.
 
-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
+
+    Addon::callHooks('init_1');
+    Addon::callHooks('app_menu', $arr);
+    Addon::callHooks('page_content_top', $a->page['content']);
+    Addon::callHooks($a->module.'_mod_init', $placeholder);
+    Addon::callHooks($a->module.'_mod_init', $placeholder);
+    Addon::callHooks($a->module.'_mod_post', $_POST);
+    Addon::callHooks($a->module.'_mod_afterpost', $placeholder);
+    Addon::callHooks($a->module.'_mod_content', $arr);
+    Addon::callHooks($a->module.'_mod_aftercontent', $arr);
+    Addon::callHooks('page_end', $a->page['content']);
+    
+### include/api.php
+
+    Addon::callHooks('logged_in', $a->user);
+    Addon::callHooks('authenticate', $addon_auth);
+    Addon::callHooks('logged_in', $a->user);
+
+### include/enotify.php
+    
+    Addon::callHooks('enotify', $h);
+    Addon::callHooks('enotify_store', $datarray);
+    Addon::callHooks('enotify_mail', $datarray);
+    Addon::callHooks('check_item_notification', $notification_data);
+    
+### include/conversation.php
+
+    Addon::callHooks('conversation_start', $cb);
+    Addon::callHooks('render_location', $locate);
+    Addon::callHooks('display_item', $arr);
+    Addon::callHooks('display_item', $arr);
+    Addon::callHooks('item_photo_menu', $args);
+    Addon::callHooks('jot_tool', $jotplugins);
+
+### include/security.php
+
+    Addon::callHooks('logged_in', $a->user);
+
+### include/text.php
+
+    Addon::callHooks('contact_block_end', $arr);
+    Addon::callHooks('poke_verbs', $arr);
+    Addon::callHooks('prepare_body_init', $item);
+    Addon::callHooks('prepare_body_content_filter', $hook_data);
+    Addon::callHooks('prepare_body', $hook_data);
+    Addon::callHooks('prepare_body_final', $hook_data);
+
+### include/items.php
+
+    Addon::callHooks('page_info_data', $data);
+
+### mod/directory.php
+
+    Addon::callHooks('directory_item', $arr);
+
+### mod/xrd.php
+
+    Addon::callHooks('personal_xrd', $arr);
+
+### mod/ping.php
+
+    Addon::callHooks('network_ping', $arr);
+
+### mod/parse_url.php
+
+    Addon::callHooks("parse_link", $arr);
+
+### mod/manage.php
+
+    Addon::callHooks('home_init', $ret);
+
+### mod/acl.php
+
+    Addon::callHooks('acl_lookup_end', $results);
+
+### mod/network.php
+
+    Addon::callHooks('network_content_init', $arr);
+    Addon::callHooks('network_tabs', $arr);
+
+### mod/friendica.php
+
+    Addon::callHooks('about_hook', $o);
+    
+### mod/subthread.php
+
+    Addon::callHooks('post_local_end', $arr);
+
+### mod/profiles.php
+
+    Addon::callHooks('profile_post', $_POST);
+    Addon::callHooks('profile_edit', $arr);
+
+### mod/settings.php
+
+    Addon::callHooks('addon_settings_post', $_POST);
+    Addon::callHooks('connector_settings_post', $_POST);
+    Addon::callHooks('display_settings_post', $_POST);
+    Addon::callHooks('settings_post', $_POST);
+    Addon::callHooks('addon_settings', $settings_addons);
+    Addon::callHooks('connector_settings', $settings_connectors);
+    Addon::callHooks('display_settings', $o);
+    Addon::callHooks('settings_form', $o);
+
+### mod/photos.php
+
+    Addon::callHooks('photo_post_init', $_POST);
+    Addon::callHooks('photo_post_file', $ret);
+    Addon::callHooks('photo_post_end', $foo);
+    Addon::callHooks('photo_post_end', $foo);
+    Addon::callHooks('photo_post_end', $foo);
+    Addon::callHooks('photo_post_end', $foo);
+    Addon::callHooks('photo_post_end', intval($item_id));
+    Addon::callHooks('photo_upload_form', $ret);
+
+### mod/profile.php
+
+    Addon::callHooks('profile_advanced', $o);
+
+### mod/home.php
+
+    Addon::callHooks('home_init', $ret);
+    Addon::callHooks("home_content", $content);
+
+### mod/poke.php
+
+    Addon::callHooks('post_local_end', $arr);
+
+### mod/contacts.php
+
+    Addon::callHooks('contact_edit_post', $_POST);
+    Addon::callHooks('contact_edit', $arr);
+
+### mod/tagger.php
+
+    Addon::callHooks('post_local_end', $arr);
+
+### mod/lockview.php
+
+    Addon::callHooks('lockview_content', $item);
+
+### mod/uexport.php
+
+    Addon::callHooks('uexport_options', $options);
+
+### mod/register.php
+
+    Addon::callHooks('register_post', $arr);
+    Addon::callHooks('register_form', $arr);
+
+### mod/item.php
+
+    Addon::callHooks('post_local_start', $_REQUEST);
+    Addon::callHooks('post_local', $datarray);
+    Addon::callHooks('post_local_end', $datarray);
+
+### mod/editpost.php    
+
+    Addon::callHooks('jot_tool', $jotplugins);
+
+### src/Network/FKOAuth1.php
+
+    Addon::callHooks('logged_in', $a->user);
+
+### src/Render/FriendicaSmartyEngine.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);
+    Addon::callHooks("template_vars", $arr);
 
-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);
+### src/Model/Item.php
 
-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);
+    Addon::callHooks('post_local', $item);
+    Addon::callHooks('post_remote', $item);
+    Addon::callHooks('post_local_end', $posted_item);
+    Addon::callHooks('post_remote_end', $posted_item);
+    Addon::callHooks('tagged', $arr);
+    Addon::callHooks('post_local_end', $new_item);
 
-include/security.php:  Addon::callHooks('logged_in', $a->user);
+### src/Model/Contact.php
 
-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);
+    Addon::callHooks('contact_photo_menu', $args);
+    Addon::callHooks('follow', $arr);
 
-include/items.php:     Addon::callHooks('page_info_data', $data);
+### src/Model/Profile.php
 
-mod/directory.php:     Addon::callHooks('directory_item', $arr);
+    Addon::callHooks('profile_sidebar_enter', $profile);
+    Addon::callHooks('profile_sidebar', $arr);
+    Addon::callHooks('profile_tabs', $arr);
+    Addon::callHooks('zrl_init', $arr);
 
-mod/xrd.php:   Addon::callHooks('personal_xrd', $arr);
+### src/Model/Event.php
 
-mod/ping.php:  Addon::callHooks('network_ping', $arr);
+    Addon::callHooks('event_updated', $event['id']);
+    Addon::callHooks("event_created", $event['id']);
 
-mod/parse_url.php:     Addon::callHooks("parse_link", $arr);
+### src/Model/User.php
 
-mod/manage.php:        Addon::callHooks('home_init', $ret);
+    Addon::callHooks('register_account', $uid);
+    Addon::callHooks('remove_user', $user);
 
-mod/acl.php:   Addon::callHooks('acl_lookup_end', $results);
+### src/Content/Text/BBCode.php
 
-mod/network.php:       Addon::callHooks('network_content_init', $arr);
-mod/network.php:       Addon::callHooks('network_tabs', $arr);
+    Addon::callHooks('bbcode', $text);
+    Addon::callHooks('bb2diaspora', $text);
 
-mod/friendica.php:     Addon::callHooks('about_hook', $o);
-mod/subthread.php:     Addon::callHooks('post_local_end', $arr);
+### src/Content/Text/HTML.php
 
-mod/profiles.php:      Addon::callHooks('profile_post', $_POST);
-mod/profiles.php:      Addon::callHooks('profile_edit', $arr);
+    Addon::callHooks('html2bbcode', $message);
 
-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);
+### src/Content/Smilies.php
 
-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);
+    Addon::callHooks('smilie', $params);
 
-mod/profile.php:       Addon::callHooks('profile_advanced', $o);
+### src/Content/Feature.php
 
-mod/home.php:  Addon::callHooks('home_init', $ret);
-mod/home.php:  Addon::callHooks("home_content", $content);
+    Addon::callHooks('isEnabled', $arr);
+    Addon::callHooks('get', $arr);
 
-mod/poke.php:  Addon::callHooks('post_local_end', $arr);
+### src/Content/ContactSelector.php
 
-mod/contacts.php:      Addon::callHooks('contact_edit_post', $_POST);
-mod/contacts.php:      Addon::callHooks('contact_edit', $arr);
+    Addon::callHooks('network_to_name', $nets);
+    Addon::callHooks('gender_selector', $select);
+    Addon::callHooks('sexpref_selector', $select);
+    Addon::callHooks('marital_selector', $select);
 
-mod/tagger.php:        Addon::callHooks('post_local_end', $arr);
+### src/Content/OEmbed.php    
 
-mod/lockview.php:      Addon::callHooks('lockview_content', $item);
+    Addon::callHooks('oembed_fetch_url', $embedurl, $j);
 
-mod/uexport.php:       Addon::callHooks('uexport_options', $options);
+### src/Content/Nav.php    
 
-mod/register.php:      Addon::callHooks('register_post', $arr);
-mod/register.php:      Addon::callHooks('register_form', $arr);
+    Addon::callHooks('page_header', $a->page['nav']);
+    Addon::callHooks('nav_info', $nav);
 
-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/Worker/Directory.php
 
-mod/editpost.php:      Addon::callHooks('jot_tool', $jotplugins);
+    Addon::callHooks('globaldir_update', $arr);
 
-src/Network/FKOAuth1.php:      Addon::callHooks('logged_in', $a->user);
+### src/Worker/Notifier.php
 
-src/Render/FriendicaSmartyEngine.php:  Addon::callHooks("template_vars", $arr);
+    Addon::callHooks('notifier_end', $target_item);
 
-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/Worker/Queue.php    
 
-src/Model/Contact.php: Addon::callHooks('contact_photo_menu', $args);
-src/Model/Contact.php: Addon::callHooks('follow', $arr);
+    Addon::callHooks('queue_predeliver', $r);
+    Addon::callHooks('queue_deliver', $params);
 
-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/Module/Login.php
 
-src/Model/Event.php:   Addon::callHooks('event_updated', $event['id']);
-src/Model/Event.php:   Addon::callHooks("event_created", $event['id']);
+    Addon::callHooks('authenticate', $addon_auth);
+    Addon::callHooks('login_hook', $o);
 
-src/Model/User.php:    Addon::callHooks('register_account', $uid);
-src/Model/User.php:    Addon::callHooks('remove_user', $user);
+### src/Module/Logout.php    
 
-src/Content/Text/BBCode.php:   Addon::callHooks('bbcode', $text);
-src/Content/Text/BBCode.php:   Addon::callHooks('bb2diaspora', $text);
+    Addon::callHooks("logging_out");
 
-src/Content/Text/HTML.php:     Addon::callHooks('html2bbcode', $message);
+### src/Object/Post.php
 
-src/Content/Smilies.php:       Addon::callHooks('smilie', $params);
+    Addon::callHooks('render_location', $locate);
+    Addon::callHooks('display_item', $arr);
 
-src/Content/Feature.php:       Addon::callHooks('isEnabled', $arr);
-src/Content/Feature.php:       Addon::callHooks('get', $arr);
+### src/Core/ACL.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);
+    Addon::callHooks('contact_select_options', $x);
+    Addon::callHooks($a->module.'_pre_'.$selname, $arr);
+    Addon::callHooks($a->module.'_post_'.$selname, $o);
+    Addon::callHooks($a->module.'_pre_'.$selname, $arr);
+    Addon::callHooks($a->module.'_post_'.$selname, $o);
+    Addon::callHooks('jot_networks', $jotnets);
 
-src/Content/OEmbed.php:        Addon::callHooks('oembed_fetch_url', $embedurl, $j);
+### src/Core/Worker.php
 
-src/Content/Nav.php:   Addon::callHooks('page_header', $a->page['nav']);
-src/Content/Nav.php:   Addon::callHooks('nav_info', $nav);
+    Addon::callHooks("proc_run", $arr);
 
-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/Emailer.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");
+    Addon::callHooks('emailer_send_prepare', $params);
+    Addon::callHooks("emailer_send", $hookdata);
 
-src/Object/Post.php:   Addon::callHooks('render_location', $locate);
-src/Object/Post.php:   Addon::callHooks('display_item', $arr);
+### src/Util/Map.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);
+    Addon::callHooks('generate_map', $arr);
+    Addon::callHooks('generate_named_map', $arr);
+    Addon::callHooks('Map::getCoordinates', $arr);
 
-src/Core/Worker.php:   Addon::callHooks("proc_run", $arr);
+### src/Util/Network.php
 
-src/Util/Emailer.php:  Addon::callHooks('emailer_send_prepare', $params);
-src/Util/Emailer.php:  Addon::callHooks("emailer_send", $hookdata);
+    Addon::callHooks('avatar_lookup', $avatar);
 
-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/Util/ParseUrl.php
 
-src/Util/Network.php:  Addon::callHooks('avatar_lookup', $avatar);
+    Addon::callHooks("getsiteinfo", $siteinfo);
 
-src/Util/ParseUrl.php: Addon::callHooks("getsiteinfo", $siteinfo);
+### src/Protocol/DFRN.php
 
-src/Protocol/DFRN.php: Addon::callHooks('atom_feed_end', $atom);
-src/Protocol/DFRN.php: Addon::callHooks('atom_feed_end', $atom);
+    Addon::callHooks('atom_feed_end', $atom);
+    Addon::callHooks('atom_feed_end', $atom);