diff options
-rw-r--r-- | Zotlabs/Module/Setup.php | 2 | ||||
-rw-r--r-- | doc/hook/attach_delete.bb | 11 | ||||
-rw-r--r-- | doc/hook/content_security_policy.bb | 39 | ||||
-rw-r--r-- | doc/hook/dreport_process.bb | 7 | ||||
-rw-r--r-- | doc/hook/dropdown_extras.bb | 17 | ||||
-rw-r--r-- | doc/hooklist.bb | 12 |
6 files changed, 87 insertions, 1 deletions
diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php index 693f3309e..c0716ca7c 100644 --- a/Zotlabs/Module/Setup.php +++ b/Zotlabs/Module/Setup.php @@ -526,7 +526,7 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[0]['status'] = false; $ck_funcs[0]['help'] = t('Error: libCURL PHP module required but not installed.'); } - if((! function_exists('imagecreatefromjpeg')) || (! class_exists('\\Imagick'))) { + if((! function_exists('imagecreatefromjpeg')) && (! class_exists('\\Imagick'))) { $ck_funcs[1]['status'] = false; $ck_funcs[1]['help'] = t('Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed.'); } diff --git a/doc/hook/attach_delete.bb b/doc/hook/attach_delete.bb new file mode 100644 index 000000000..3b63f28d3 --- /dev/null +++ b/doc/hook/attach_delete.bb @@ -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 diff --git a/doc/hook/content_security_policy.bb b/doc/hook/content_security_policy.bb new file mode 100644 index 000000000..96b8095ae --- /dev/null +++ b/doc/hook/content_security_policy.bb @@ -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 diff --git a/doc/hook/dreport_process.bb b/doc/hook/dreport_process.bb new file mode 100644 index 000000000..3ad331f41 --- /dev/null +++ b/doc/hook/dreport_process.bb @@ -0,0 +1,7 @@ +[h2]dreport_process[/h2] + +Called for each delivery report received + +Passed a delivery_report array. + +see: include/zot.php diff --git a/doc/hook/dropdown_extras.bb b/doc/hook/dropdown_extras.bb new file mode 100644 index 000000000..6d7110a76 --- /dev/null +++ b/doc/hook/dropdown_extras.bb @@ -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 diff --git a/doc/hooklist.bb b/doc/hooklist.bb index 373547d8b..1b48df6e6 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -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] 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] Called when generating an author or owner element for an Atom ActivityStream feed @@ -151,6 +154,9 @@ 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] 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] Called in the beginning of rendering a conversation (message or message collection or stream) @@ -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] 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] called when an 'item' is removed |