]> git.mxchange.org Git - friendica.git/blobdiff - doc/Addons.md
Merge pull request #5261 from annando/and-again-abstraction
[friendica.git] / doc / Addons.md
index b3f42b892ef9d995e8325dcc408b2e0b09751196..710d10cfd028caba7c5a8a8aec3ecab8b1031059 100644 (file)
@@ -71,6 +71,29 @@ Remember to declare it with '&' if you wish to alter it.
 JavaScript addon hooks
 ---
 
+#### PHP part
+Make sure your JavaScript addon file (addon/*addon_name*/*addon_name*.js) is listed in the document response.
+
+In your addon install function, add:
+
+    Addon::registerHook('template_vars', 'addon/<addon_name>/<addon_name>.php', '<addon_name>_template_vars');
+
+In your addon uninstall function, add:
+
+    Addon::unregisterHook('template_vars', 'addon/<addon_name>/<addon_name>.php', '<addon_name>_template_vars');
+
+Then, add your addon name to the *addon_hooks* template variable array:
+
+     function <addon_name>_template_vars($a, &$arr)
+       {
+         if (!array_key_exists('addon_hooks',$arr['vars']))
+         {
+            $arr['vars']['addon_hooks'] = array();
+         }
+       $arr['vars']['addon_hooks'][] = "<addon_name>";
+       }
+
+#### JavaScript part
 Register your addon hooks in file 'addon/*addon_name*/*addon_name*.js'.
 
     Addon_registerHook(type,hookfnstr);
@@ -81,7 +104,7 @@ Register your addon hooks in file 'addon/*addon_name*/*addon_name*.js'.
 No arguments are provided to your JavaScript callback function. Example:
 
     function myhook_function() {
-  
+
     }
 
 Modules
@@ -334,6 +357,12 @@ Hook data:
     'item' => item array (input)
     'html' => converted item body (input/output)
 
+### 'magic_auth_success'
+Called when a magic-auth was successful.
+Hook data:
+    'visitor' => array with the contact record of the visitor
+    'url' => the query string
+
 Current JavaScript hooks
 -------------
 
@@ -534,6 +563,7 @@ Here is a complete list of all hook callbacks with file locations (as of 01-Apr-
     Addon::callHooks('profile_sidebar', $arr);
     Addon::callHooks('profile_tabs', $arr);
     Addon::callHooks('zrl_init', $arr);
+    Addon::callHooks('magic_auth_success', $arr);
 
 ### src/Model/Event.php
 
@@ -645,4 +675,4 @@ Here is a complete list of all hook callbacks with file locations (as of 01-Apr-
 
 ### view/js/main.js
 
-    callAddonHooks("postprocess_liveupdate");
\ No newline at end of file
+    callAddonHooks("postprocess_liveupdate");