]> git.mxchange.org Git - friendica.git/commitdiff
Remove addon_hooks template variable
authorHypolite Petovan <mrpetovan@gmail.com>
Mon, 24 Sep 2018 12:16:26 +0000 (08:16 -0400)
committerHypolite Petovan <mrpetovan@gmail.com>
Mon, 24 Sep 2018 12:16:26 +0000 (08:16 -0400)
- Update addon documentation

doc/Addons.md
view/templates/head.tpl
view/theme/frio/templates/head.tpl

index b8364d9353225ac57bb2adfa38889cf92dbc08b7..d432a9bcbe87098c11e9e05a502f73947eec81ce 100644 (file)
@@ -67,47 +67,61 @@ $b can be called anything you like.
 This is information specific to the hook currently being processed, and generally contains information that is being immediately processed or acted on that you can use, display, or alter.
 Remember to declare it with `&` if you wish to alter it.
 
-## JavaScript addon hooks
+## Global stylesheets
 
-### PHP part
+If your addon requires adding a stylesheet on all pages of Friendica, add the following hook:
 
-Make sure your JavaScript addon file (addon/*addon_name*/*addon_name*.js) is listed in the document response.
+```php
+function <addon>_install()
+{
+       Addon::registerHook('head', __FILE__, '<addon>_head');
+       ...
+}
 
-In your addon install function, add:
 
-```php
-Addon::registerHook('template_vars', __FILE__, '<addon_name>_template_vars');
+function <addon>_head(App $a)
+{
+       $a->registerStylesheet(__DIR__ . '/relative/path/to/addon/stylesheet.css');
+}
 ```
 
-In your addon uninstall function, add:
+## JavaScript
 
-```php
-Addon::unregisterHook('template_vars', __FILE__, '<addon_name>_template_vars');
-```
+### Global scripts
+
+If your addon requires adding a script on all pages of Friendica, add the following hook:
 
-Then, add your addon name to the *addon_hooks* template variable array:
 
 ```php
-function <addon_name>_template_vars($a, &$arr)
+function <addon>_install()
+{
+       Addon::registerHook('footer', __FILE__, '<addon>_footer');
+       ...
+}
+
+function <addon>_footer(App $a)
 {
-       if (!array_key_exists('addon_hooks', $arr['vars']))
-       {
-               $arr['vars']['addon_hooks'] = array();
-       }
-       $arr['vars']['addon_hooks'][] = "<addon_name>";
+       $a->registerFooterScript(__DIR__ . '/relative/path/to/addon/script.js');
 }
 ```
 
-### JavaScript part
+### JavaScript hooks
 
-Register your addon hooks in file `addon/*addon_name*/*addon_name*.js`.
+The main Friendica script provides hooks via events dispatched on the `document` property.
+In your Javascript file included as described above, add your event listener like this:
 
 ```js
 document.addEventListener(name, callback);
 ```
 
-*name* is the name of the hook and corresponds to a known Friendica JavaScript hook.
-*callback* is a JavaScript function to execute.
+- *name* is the name of the hook and corresponds to a known Friendica JavaScript hook.
+- *callback* is a JavaScript function to execute.
+
+#### Current JavaScript hooks
+
+##### postprocess_liveupdate
+Called at the end of the live update process (XmlHttpRequest) and on a post preview.
+No additional data is provided.
 
 ## Modules
 
@@ -391,14 +405,9 @@ Hook data:
     visitor => array with the contact record of the visitor
     url => the query string
 
-## Current JavaScript hooks
-
-### postprocess_liveupdate
-Called at the end of the live update process (XmlHttpRequest)
-
 ## 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.
+Here is a complete list of all hook callbacks with file locations (as of 24-Sep-2018). Please see the source for details of any hooks not documented above.
 
 ### index.php
 
index a53ae8f74755bfd803d69060d076ef3de674805b..6c08bc8e452870f8fffbad9360ea81cc08d3a67d 100644 (file)
 <script type="text/javascript" src="view/asset/imagesloaded/imagesloaded.pkgd.min.js"></script>
 <script type="text/javascript" src="view/js/acl.js" ></script>
 <script type="text/javascript" src="view/asset/base64/base64.min.js" ></script>
-{{if is_array($addon_hooks)}}
-{{foreach $addon_hooks as $addon_hook}}
-<script type="text/javascript" src="addon/{{$addon_hook}}/{{$addon_hook}}.js"></script>
-{{/foreach}}
-{{/if}}
 <script type="text/javascript" src="view/js/main.js" ></script>
 <script>
 
index e7c3a4de88587faf09bf9fc6ff5e92338214d3b1..b68dde506f46cead6387836ed71a42ba9ade1ba7 100644 (file)
 <script type="text/javascript" src="view/asset/imagesloaded/imagesloaded.pkgd.min.js"></script>
 <script type="text/javascript" src="view/js/acl.js"></script>
 <script type="text/javascript" src="view/asset/base64/base64.min.js"></script>
-{{if is_array($addon_hooks)}}
-{{foreach $addon_hooks as $addon_hook}}
-<script type="text/javascript" src="addon/{{$addon_hook}}/{{$addon_hook}}.js"></script>
-{{/foreach}}
-{{/if}}
 <script type="text/javascript" src="view/js/main.js"></script>
 
 <script type="text/javascript" src="view/theme/frio/frameworks/bootstrap/js/bootstrap.min.js"></script>