Document new hooks

This commit is contained in:
M.Dent (DM42.Net) 2018-09-19 21:18:06 -04:00
parent 34fec995f7
commit f2c59b3881
5 changed files with 93 additions and 7 deletions

11
doc/hook/attach_delete.bb Normal file
View File

@ -0,0 +1,11 @@
[h2]attach_delete[/h2]
Invoked when an attachment is deleted using attach_delete().
[code]
$arr = ['channel_id' => $channel_id, 'resource' => $resource, 'is_photo'=>$is_photo];
call_hooks("attach_delete",$arr);
[/code]
See include/attach.php

View File

@ -0,0 +1,39 @@
[h2]content_security_policy[/h2]
Called to modify CSP settings prior to the output of the Content-Security-Policy header.
This hook permits addons to modify the content-security-policy if necessary to allow loading of foreign js libraries or css styles.
[code]
if(App::$config['system']['content_security_policy']) {
$cspsettings = Array (
'script-src' => Array ("'self'","'unsafe-inline'","'unsafe-eval'"),
'style-src' => Array ("'self'","'unsafe-inline'")
);
call_hooks('content_security_policy',$cspsettings);
// Legitimate CSP directives (cxref: https://content-security-policy.com/)
$validcspdirectives=Array(
"default-src", "script-src", "style-src",
"img-src", "connect-src", "font-src",
"object-src", "media-src", 'frame-src',
'sandbox', 'report-uri', 'child-src',
'form-action', 'frame-ancestors', 'plugin-types'
);
$cspheader = "Content-Security-Policy:";
foreach ($cspsettings as $cspdirective => $csp) {
if (!in_array($cspdirective,$validcspdirectives)) {
logger("INVALID CSP DIRECTIVE: ".$cspdirective,LOGGER_DEBUG);
continue;
}
$cspsettingsarray=array_unique($cspsettings[$cspdirective]);
$cspsetpolicy = implode(' ',$cspsettingsarray);
if ($cspsetpolicy) {
$cspheader .= " ".$cspdirective." ".$cspsetpolicy.";";
}
}
header($cspheader);
}
[/code]
see: boot.php

View File

@ -0,0 +1,7 @@
[h2]dreport_process[/h2]
Called for each delivery report received
Passed a delivery_report array.
see: include/zot.php

View File

@ -0,0 +1,17 @@
[h2]dropdown_extras[/h2]
Modify the dropdown menu available through the cog of items as displayed by conv_item.tpl
This hook allows plugins to add arbitrary html to the cog dropdown of thread items displayed with the conv_item.tpl template.
It is fed an array of ['item' => $item, 'dropdown_extras' => '']. Any additions to the cog menu should be prepended/appended to
the ['dropdown_extras'] element.
[code]
$dropdown_extras_arr = [ 'item' => $item , 'dropdown_extras' => '' ];
call_hooks('dropdown_extras',$dropdown_extras_arr);
$dropdown_extras = $dropdown_extras_arr['dropdown_extras'];
[/code]
see: Zotlabs/Lib/ThreadItem.php
see: view/tpl/conv_item.tpl

View File

@ -52,6 +52,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/app_menu]app_menu[/zrl] [zrl=[baseurl]/help/hook/app_menu]app_menu[/zrl]
Called when generating the app_menu dropdown (may be obsolete) Called when generating the app_menu dropdown (may be obsolete)
[zrl=[baseurl]/help/hook/attach_delete]attach_delete[/zrl]
Called when attachments are deleted from the attach table
[zrl=[baseurl]/help/hook/atom_author]atom_author[/zrl] [zrl=[baseurl]/help/hook/atom_author]atom_author[/zrl]
Called when generating an author or owner element for an Atom ActivityStream feed Called when generating an author or owner element for an Atom ActivityStream feed
@ -113,7 +116,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
Validate the email provided in an account registration Validate the email provided in an account registration
[zrl=[baseurl]/help/hook/check_account_invite]check_account_invite[/zrl] [zrl=[baseurl]/help/hook/check_account_invite]check_account_invite[/zrl]
Validate an invitation code when using site invitations Validate an invitation code when using site invitations
[zrl=[baseurl]/help/hook/check_account_password]check_account_password[/zrl] [zrl=[baseurl]/help/hook/check_account_password]check_account_password[/zrl]
Used to provide policy control over account passwords (minimum length, character set inclusion, etc.) Used to provide policy control over account passwords (minimum length, character set inclusion, etc.)
@ -137,7 +140,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
Called when posting to the features/addon settings page Called when posting to the features/addon settings page
[zrl=[baseurl]/help/hook/construct_page]construct_page[/zrl] [zrl=[baseurl]/help/hook/construct_page]construct_page[/zrl]
General purpose hook to provide content to certain page regions. Called when constructing the Comanche page. General purpose hook to provide content to certain page regions. Called when constructing the Comanche page.
[zrl=[baseurl]/help/hook/contact_block_end]contact_block_end[/zrl] [zrl=[baseurl]/help/hook/contact_block_end]contact_block_end[/zrl]
Called when generating the sidebar "Connections" widget Called when generating the sidebar "Connections" widget
@ -151,8 +154,11 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/contact_select_options]contact_select_options[/zrl] [zrl=[baseurl]/help/hook/contact_select_options]contact_select_options[/zrl]
Deprecated/unused Deprecated/unused
[zrl=[baseurl]/help/hook/content_security_policy]content_security_policy[/zrl]
Called prior to output of the Content-Security-Policy header
[zrl=[baseurl]/help/hook/conversation_start]conversation_start[/zrl] [zrl=[baseurl]/help/hook/conversation_start]conversation_start[/zrl]
Called in the beginning of rendering a conversation (message or message collection or stream) Called in the beginning of rendering a conversation (message or message collection or stream)
[zrl=[baseurl]/help/hook/cover_photo_content_end]cover_photo_content_end[/zrl] [zrl=[baseurl]/help/hook/cover_photo_content_end]cover_photo_content_end[/zrl]
Called after a cover photo has been uplaoded Called after a cover photo has been uplaoded
@ -183,7 +189,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/display_item]display_item[/zrl] [zrl=[baseurl]/help/hook/display_item]display_item[/zrl]
Called for each item being displayed in a conversation thread Called for each item being displayed in a conversation thread
[zrl=[baseurl]/help/hook/display_settings]display_settings[/zrl] [zrl=[baseurl]/help/hook/display_settings]display_settings[/zrl]
Called from settings module when displaying the 'display settings' section Called from settings module when displaying the 'display settings' section
@ -202,6 +208,12 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/dreport_is_storable]dreport_is_storable[/zrl] [zrl=[baseurl]/help/hook/dreport_is_storable]dreport_is_storable[/zrl]
called before storing a dreport record to determine whether to store it called before storing a dreport record to determine whether to store it
[zrl=[baseurl]/help/hook/dreport_process]dreport_process[/zrl]
called for each valid delivery report
[zrl=[baseurl]/help/hook/dropdown_extras]dropdown_extras[/zrl]
Add additional items to the dropdown cog when item/threads are displayed.
[zrl=[baseurl]/help/hook/drop_item]drop_item[/zrl] [zrl=[baseurl]/help/hook/drop_item]drop_item[/zrl]
called when an 'item' is removed called when an 'item' is removed
@ -260,7 +272,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
called to generate the HTML for displaying a map location by text location called to generate the HTML for displaying a map location by text location
[zrl=[baseurl]/help/hook/get_all_api_perms]get_all_api_perms[/zrl] [zrl=[baseurl]/help/hook/get_all_api_perms]get_all_api_perms[/zrl]
Called when retrieving the permissions for API uses Called when retrieving the permissions for API uses
[zrl=[baseurl]/help/hook/get_all_perms]get_all_perms[/zrl] [zrl=[baseurl]/help/hook/get_all_perms]get_all_perms[/zrl]
called when get_all_perms() is used called when get_all_perms() is used
@ -446,7 +458,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
Called when probing a URL to generate post content from it Called when probing a URL to generate post content from it
[zrl=[baseurl]/help/hook/pdl_selector]pdl_selector[/zrl] [zrl=[baseurl]/help/hook/pdl_selector]pdl_selector[/zrl]
Called when creating a layout selection in a form Called when creating a layout selection in a form
[zrl=[baseurl]/help/hook/perm_is_allowed]perm_is_allowed[/zrl] [zrl=[baseurl]/help/hook/perm_is_allowed]perm_is_allowed[/zrl]
Called during perm_is_allowed() to determine if a permission is allowed for this channel and observer Called during perm_is_allowed() to determine if a permission is allowed for this channel and observer
@ -540,7 +552,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/queue_deliver]queue_deliver[/zrl] [zrl=[baseurl]/help/hook/queue_deliver]queue_deliver[/zrl]
Called when delivering a queued message Called when delivering a queued message
[zrl=[baseurl]/help/hook/register_account]register_account[/zrl] [zrl=[baseurl]/help/hook/register_account]register_account[/zrl]
Called when an account has been created Called when an account has been created