}
```
+`__DIR__` is the folder path of your addon.
+
## JavaScript
### Global scripts
}
```
+`__DIR__` is the folder path of your addon.
+
### JavaScript hooks
The main Friendica script provides hooks via events dispatched on the `document` property.
```
- *name* is the name of the hook and corresponds to a known Friendica JavaScript hook.
-- *callback* is a JavaScript function to execute.
+- *callback* is a JavaScript anonymous function to execute.
+
+More info about Javascript event listeners: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
#### Current JavaScript hooks
```php
# load template file. first argument is the template name,
# second is the addon path relative to friendica top folder
-$tpl = get_markup_template('mytemplate.tpl', 'addon/addon_name/');
+$tpl = Renderer::getMarkupTemplate('mytemplate.tpl', 'addon/addon_name/');
# apply template. first argument is the loaded template,
# second an array of 'name' => 'values' to pass to template
-$output = replace_macros($tpl, array(
+$output = Renderer::replaceMacros($tpl, array(
'title' => 'My beautiful addon',
));
```
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);
### src/App.php
Addon::callHooks('load_config');
- Addon::callHooks('head');
+ Addon::callHooks('head');
Addon::callHooks('footer');
### src/Model/Item.php
Addon::callHooks($a->module.'_post_'.$selname, $o);
Addon::callHooks('jot_networks', $jotnets);
+### src/Core/Authentication.php
+
+ Addon::callHooks('logged_in', $a->user);
+
+### src/Core/Hook.php
+
+ self::callSingle(self::getApp(), 'hook_fork', $fork_hook, $hookdata);
+
### src/Core/Worker.php
Addon::callHooks("proc_run", $arr);