Update Addon functions and calls

Update function names and calls for Addon class.
This commit is contained in:
Adam Magness 2018-01-17 13:42:40 -05:00
parent 213f6ae1a1
commit 11cf36105c
73 changed files with 544 additions and 464 deletions

View File

@ -21,6 +21,7 @@
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\Config; use Friendica\Core\Config;
@ -32,7 +33,6 @@ use Friendica\Database\DBStructure;
use Friendica\Module\Login; use Friendica\Module\Login;
require_once 'include/network.php'; require_once 'include/network.php';
require_once 'include/plugin.php';
require_once 'include/text.php'; require_once 'include/text.php';
require_once 'include/datetime.php'; require_once 'include/datetime.php';
require_once 'include/pgettext.php'; require_once 'include/pgettext.php';
@ -833,7 +833,7 @@ function check_plugins(App $a)
if (count($installed)) { if (count($installed)) {
foreach ($installed as $i) { foreach ($installed as $i) {
if (!in_array($i['name'], $plugins_arr)) { if (!in_array($i['name'], $plugins_arr)) {
uninstall_plugin($i['name']); Addon::uninstall($i['name']);
} else { } else {
$installed_arr[] = $i['name']; $installed_arr[] = $i['name'];
} }
@ -843,12 +843,12 @@ function check_plugins(App $a)
if (count($plugins_arr)) { if (count($plugins_arr)) {
foreach ($plugins_arr as $p) { foreach ($plugins_arr as $p) {
if (!in_array($p, $installed_arr)) { if (!in_array($p, $installed_arr)) {
install_plugin($p); Addon::install($p);
} }
} }
} }
load_hooks(); Addon::loadHooks();
return; return;
} }

View File

@ -27,7 +27,7 @@ Plugins should contain a comment block with the four following parameters:
Register your plugin hooks during installation. Register your plugin hooks during installation.
register_hook($hookname, $file, $function); Addon::registerHook($hookname, $file, $function);
$hookname is a string and corresponds to a known Friendica hook. $hookname is a string and corresponds to a known Friendica hook.
@ -296,182 +296,182 @@ Complete list of hook callbacks
Here is a complete list of all hook callbacks with file locations (as of 14-Feb-2012). 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 14-Feb-2012). Please see the source for details of any hooks not documented above.
boot.php: call_hooks('login_hook',$o); boot.php: Addon::callHooks('login_hook',$o);
boot.php: call_hooks('profile_sidebar_enter', $profile); boot.php: Addon::callHooks('profile_sidebar_enter', $profile);
boot.php: call_hooks('profile_sidebar', $arr); boot.php: Addon::callHooks('profile_sidebar', $arr);
boot.php: call_hooks("proc_run", $arr); boot.php: Addon::callHooks("proc_run", $arr);
include/contact_selectors.php: call_hooks('network_to_name', $nets); include/contact_selectors.php: Addon::callHooks('network_to_name', $nets);
include/api.php: call_hooks('logged_in', $a->user); include/api.php: Addon::callHooks('logged_in', $a->user);
include/api.php: call_hooks('logged_in', $a->user); include/api.php: Addon::callHooks('logged_in', $a->user);
include/queue.php: call_hooks('queue_predeliver', $a, $r); include/queue.php: Addon::callHooks('queue_predeliver', $a, $r);
include/queue.php: call_hooks('queue_deliver', $a, $params); include/queue.php: Addon::callHooks('queue_deliver', $a, $params);
include/text.php: call_hooks('contact_block_end', $arr); include/text.php: Addon::callHooks('contact_block_end', $arr);
include/text.php: call_hooks('smilie', $s); include/text.php: Addon::callHooks('smilie', $s);
include/text.php: call_hooks('prepare_body_init', $item); include/text.php: Addon::callHooks('prepare_body_init', $item);
include/text.php: call_hooks('prepare_body', $prep_arr); include/text.php: Addon::callHooks('prepare_body', $prep_arr);
include/text.php: call_hooks('prepare_body_final', $prep_arr); include/text.php: Addon::callHooks('prepare_body_final', $prep_arr);
include/nav.php: call_hooks('page_header', $a->page['nav']); include/nav.php: Addon::callHooks('page_header', $a->page['nav']);
include/auth.php: call_hooks('authenticate', $addon_auth); include/auth.php: Addon::callHooks('authenticate', $addon_auth);
include/bbcode.php: call_hooks('bbcode',$Text); include/bbcode.php: Addon::callHooks('bbcode',$Text);
include/oauth.php: call_hooks('logged_in', $a->user); include/oauth.php: Addon::callHooks('logged_in', $a->user);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/acl_selectors.php: call_hooks('contact_select_options', $x); include/acl_selectors.php: Addon::callHooks('contact_select_options', $x);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/acl_selectors.php call_hooks('acl_lookup_end', $results); include/acl_selectors.php Addon::callHooks('acl_lookup_end', $results);
include/notifier.php: call_hooks('notifier_normal',$target_item); include/notifier.php: Addon::callHooks('notifier_normal',$target_item);
include/notifier.php: call_hooks('notifier_end',$target_item); include/notifier.php: Addon::callHooks('notifier_end',$target_item);
include/items.php: call_hooks('atom_feed', $atom); include/items.php: Addon::callHooks('atom_feed', $atom);
include/items.php: call_hooks('atom_feed_end', $atom); include/items.php: Addon::callHooks('atom_feed_end', $atom);
include/items.php: call_hooks('atom_feed_end', $atom); include/items.php: Addon::callHooks('atom_feed_end', $atom);
include/items.php: call_hooks('parse_atom', $arr); include/items.php: Addon::callHooks('parse_atom', $arr);
include/items.php: call_hooks('post_remote',$arr); include/items.php: Addon::callHooks('post_remote',$arr);
include/items.php: call_hooks('atom_author', $o); include/items.php: Addon::callHooks('atom_author', $o);
include/items.php: call_hooks('atom_entry', $o); include/items.php: Addon::callHooks('atom_entry', $o);
include/bb2diaspora.php: call_hooks('bb2diaspora',$Text); include/bb2diaspora.php: Addon::callHooks('bb2diaspora',$Text);
include/cronhooks.php: call_hooks('cron', $d); include/cronhooks.php: Addon::callHooks('cron', $d);
include/security.php: call_hooks('logged_in', $a->user); include/security.php: Addon::callHooks('logged_in', $a->user);
include/html2bbcode.php: call_hooks('html2bbcode', $text); include/html2bbcode.php: Addon::callHooks('html2bbcode', $text);
include/Contact.php: call_hooks('remove_user',$r[0]); include/Contact.php: Addon::callHooks('remove_user',$r[0]);
include/Contact.php: call_hooks('contact_photo_menu', $args); include/Contact.php: Addon::callHooks('contact_photo_menu', $args);
include/conversation.php: call_hooks('conversation_start',$cb); include/conversation.php: Addon::callHooks('conversation_start',$cb);
include/conversation.php: call_hooks('render_location',$locate); include/conversation.php: Addon::callHooks('render_location',$locate);
include/conversation.php: call_hooks('display_item', $arr); include/conversation.php: Addon::callHooks('display_item', $arr);
include/conversation.php: call_hooks('render_location',$locate); include/conversation.php: Addon::callHooks('render_location',$locate);
include/conversation.php: call_hooks('display_item', $arr); include/conversation.php: Addon::callHooks('display_item', $arr);
include/conversation.php: call_hooks('item_photo_menu', $args); include/conversation.php: Addon::callHooks('item_photo_menu', $args);
include/conversation.php: call_hooks('jot_tool', $jotplugins); include/conversation.php: Addon::callHooks('jot_tool', $jotplugins);
include/conversation.php: call_hooks('jot_networks', $jotnets); include/conversation.php: Addon::callHooks('jot_networks', $jotnets);
include/plugin.php:if(! function_exists('call_hooks')) { include/plugin.php:if(! function_exists('call_hooks')) {
include/plugin.php:function call_hooks($name, &$data = null) { include/plugin.php:function Addon::callHooks($name, &$data = null) {
index.php: call_hooks('init_1'); index.php: Addon::callHooks('init_1');
index.php:call_hooks('app_menu', $arr); index.php:Addon::callHooks('app_menu', $arr);
index.php:call_hooks('page_end', $a->page['content']); index.php:Addon::callHooks('page_end', $a->page['content']);
mod/photos.php: call_hooks('photo_post_init', $_POST); mod/photos.php: Addon::callHooks('photo_post_init', $_POST);
mod/photos.php: call_hooks('photo_post_file',$ret); mod/photos.php: Addon::callHooks('photo_post_file',$ret);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',intval($item_id)); mod/photos.php: Addon::callHooks('photo_post_end',intval($item_id));
mod/photos.php: call_hooks('photo_upload_form',$ret); mod/photos.php: Addon::callHooks('photo_upload_form',$ret);
mod/friendica.php: call_hooks('about_hook', $o); mod/friendica.php: Addon::callHooks('about_hook', $o);
mod/editpost.php: call_hooks('jot_tool', $jotplugins); mod/editpost.php: Addon::callHooks('jot_tool', $jotplugins);
mod/editpost.php: call_hooks('jot_networks', $jotnets); mod/editpost.php: Addon::callHooks('jot_networks', $jotnets);
mod/parse_url.php: call_hooks('parse_link', $arr); mod/parse_url.php: Addon::callHooks('parse_link', $arr);
mod/home.php: call_hooks('home_init',$ret); mod/home.php: Addon::callHooks('home_init',$ret);
mod/home.php: call_hooks("home_content",$o); mod/home.php: Addon::callHooks("home_content",$o);
mod/contacts.php: call_hooks('contact_edit_post', $_POST); mod/contacts.php: Addon::callHooks('contact_edit_post', $_POST);
mod/contacts.php: call_hooks('contact_edit', $arr); mod/contacts.php: Addon::callHooks('contact_edit', $arr);
mod/settings.php: call_hooks('plugin_settings_post', $_POST); mod/settings.php: Addon::callHooks('plugin_settings_post', $_POST);
mod/settings.php: call_hooks('connector_settings_post', $_POST); mod/settings.php: Addon::callHooks('connector_settings_post', $_POST);
mod/settings.php: call_hooks('settings_post', $_POST); mod/settings.php: Addon::callHooks('settings_post', $_POST);
mod/settings.php: call_hooks('plugin_settings', $settings_addons); mod/settings.php: Addon::callHooks('plugin_settings', $settings_addons);
mod/settings.php: call_hooks('connector_settings', $settings_connectors); mod/settings.php: Addon::callHooks('connector_settings', $settings_connectors);
mod/settings.php: call_hooks('settings_form',$o); mod/settings.php: Addon::callHooks('settings_form',$o);
mod/register.php: call_hooks('register_account', $newuid); mod/register.php: Addon::callHooks('register_account', $newuid);
mod/like.php: call_hooks('post_local_end', $arr); mod/like.php: Addon::callHooks('post_local_end', $arr);
mod/xrd.php: call_hooks('personal_xrd', $arr); mod/xrd.php: Addon::callHooks('personal_xrd', $arr);
mod/item.php: call_hooks('post_local_start', $_REQUEST); mod/item.php: Addon::callHooks('post_local_start', $_REQUEST);
mod/item.php: call_hooks('post_local',$datarray); mod/item.php: Addon::callHooks('post_local',$datarray);
mod/item.php: call_hooks('post_local_end', $datarray); mod/item.php: Addon::callHooks('post_local_end', $datarray);
mod/profile.php: call_hooks('profile_advanced',$o); mod/profile.php: Addon::callHooks('profile_advanced',$o);
mod/profiles.php: call_hooks('profile_post', $_POST); mod/profiles.php: Addon::callHooks('profile_post', $_POST);
mod/profiles.php: call_hooks('profile_edit', $arr); mod/profiles.php: Addon::callHooks('profile_edit', $arr);
mod/tagger.php: call_hooks('post_local_end', $arr); mod/tagger.php: Addon::callHooks('post_local_end', $arr);
mod/cb.php: call_hooks('cb_init'); mod/cb.php: Addon::callHooks('cb_init');
mod/cb.php: call_hooks('cb_post', $_POST); mod/cb.php: Addon::callHooks('cb_post', $_POST);
mod/cb.php: call_hooks('cb_afterpost'); mod/cb.php: Addon::callHooks('cb_afterpost');
mod/cb.php: call_hooks('cb_content', $o); mod/cb.php: Addon::callHooks('cb_content', $o);
mod/directory.php: call_hooks('directory_item', $arr); mod/directory.php: Addon::callHooks('directory_item', $arr);

View File

@ -26,7 +26,7 @@ Plugins sollten einen Kommentarblock mit den folgenden vier Parametern enthalten
Registriere deine Plugin-Hooks während der Installation. Registriere deine Plugin-Hooks während der Installation.
register_hook($hookname, $file, $function); Addon::registerHook($hookname, $file, $function);
$hookname ist ein String und entspricht einem bekannten Friendica-Hook. $hookname ist ein String und entspricht einem bekannten Friendica-Hook.
@ -191,180 +191,180 @@ Komplette Liste der Hook-Callbacks
Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 14-Feb-2012 generiert): Bitte schau in die Quellcodes für Details zu Hooks, die oben nicht dokumentiert sind. Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 14-Feb-2012 generiert): Bitte schau in die Quellcodes für Details zu Hooks, die oben nicht dokumentiert sind.
boot.php: call_hooks('login_hook',$o); boot.php: Addon::callHooks('login_hook',$o);
boot.php: call_hooks('profile_sidebar_enter', $profile); boot.php: Addon::callHooks('profile_sidebar_enter', $profile);
boot.php: call_hooks('profile_sidebar', $arr); boot.php: Addon::callHooks('profile_sidebar', $arr);
boot.php: call_hooks("proc_run", $arr); boot.php: Addon::callHooks("proc_run", $arr);
include/contact_selectors.php: call_hooks('network_to_name', $nets); include/contact_selectors.php: Addon::callHooks('network_to_name', $nets);
include/api.php: call_hooks('logged_in', $a->user); include/api.php: Addon::callHooks('logged_in', $a->user);
include/api.php: call_hooks('logged_in', $a->user); include/api.php: Addon::callHooks('logged_in', $a->user);
include/queue.php: call_hooks('queue_predeliver', $a, $r); include/queue.php: Addon::callHooks('queue_predeliver', $a, $r);
include/queue.php: call_hooks('queue_deliver', $a, $params); include/queue.php: Addon::callHooks('queue_deliver', $a, $params);
include/text.php: call_hooks('contact_block_end', $arr); include/text.php: Addon::callHooks('contact_block_end', $arr);
include/text.php: call_hooks('smilie', $s); include/text.php: Addon::callHooks('smilie', $s);
include/text.php: call_hooks('prepare_body_init', $item); include/text.php: Addon::callHooks('prepare_body_init', $item);
include/text.php: call_hooks('prepare_body', $prep_arr); include/text.php: Addon::callHooks('prepare_body', $prep_arr);
include/text.php: call_hooks('prepare_body_final', $prep_arr); include/text.php: Addon::callHooks('prepare_body_final', $prep_arr);
include/nav.php: call_hooks('page_header', $a->page['nav']); include/nav.php: Addon::callHooks('page_header', $a->page['nav']);
include/auth.php: call_hooks('authenticate', $addon_auth); include/auth.php: Addon::callHooks('authenticate', $addon_auth);
include/bbcode.php: call_hooks('bbcode',$Text); include/bbcode.php: Addon::callHooks('bbcode',$Text);
include/oauth.php: call_hooks('logged_in', $a->user); include/oauth.php: Addon::callHooks('logged_in', $a->user);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/acl_selectors.php: call_hooks('contact_select_options', $x); include/acl_selectors.php: Addon::callHooks('contact_select_options', $x);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr); include/acl_selectors.php: Addon::callHooks($a->module . '_pre_' . $selname, $arr);
include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o); include/acl_selectors.php: Addon::callHooks($a->module . '_post_' . $selname, $o);
include/notifier.php: call_hooks('notifier_normal',$target_item); include/notifier.php: Addon::callHooks('notifier_normal',$target_item);
include/notifier.php: call_hooks('notifier_end',$target_item); include/notifier.php: Addon::callHooks('notifier_end',$target_item);
include/items.php: call_hooks('atom_feed', $atom); include/items.php: Addon::callHooks('atom_feed', $atom);
include/items.php: call_hooks('atom_feed_end', $atom); include/items.php: Addon::callHooks('atom_feed_end', $atom);
include/items.php: call_hooks('atom_feed_end', $atom); include/items.php: Addon::callHooks('atom_feed_end', $atom);
include/items.php: call_hooks('parse_atom', $arr); include/items.php: Addon::callHooks('parse_atom', $arr);
include/items.php: call_hooks('post_remote',$arr); include/items.php: Addon::callHooks('post_remote',$arr);
include/items.php: call_hooks('atom_author', $o); include/items.php: Addon::callHooks('atom_author', $o);
include/items.php: call_hooks('atom_entry', $o); include/items.php: Addon::callHooks('atom_entry', $o);
include/bb2diaspora.php: call_hooks('bb2diaspora',$Text); include/bb2diaspora.php: Addon::callHooks('bb2diaspora',$Text);
include/cronhooks.php: call_hooks('cron', $d); include/cronhooks.php: Addon::callHooks('cron', $d);
include/security.php: call_hooks('logged_in', $a->user); include/security.php: Addon::callHooks('logged_in', $a->user);
include/html2bbcode.php: call_hooks('html2bbcode', $text); include/html2bbcode.php: Addon::callHooks('html2bbcode', $text);
include/Contact.php: call_hooks('remove_user',$r[0]); include/Contact.php: Addon::callHooks('remove_user',$r[0]);
include/Contact.php: call_hooks('contact_photo_menu', $args); include/Contact.php: Addon::callHooks('contact_photo_menu', $args);
include/conversation.php: call_hooks('conversation_start',$cb); include/conversation.php: Addon::callHooks('conversation_start',$cb);
include/conversation.php: call_hooks('render_location',$locate); include/conversation.php: Addon::callHooks('render_location',$locate);
include/conversation.php: call_hooks('display_item', $arr); include/conversation.php: Addon::callHooks('display_item', $arr);
include/conversation.php: call_hooks('render_location',$locate); include/conversation.php: Addon::callHooks('render_location',$locate);
include/conversation.php: call_hooks('display_item', $arr); include/conversation.php: Addon::callHooks('display_item', $arr);
include/conversation.php: call_hooks('item_photo_menu', $args); include/conversation.php: Addon::callHooks('item_photo_menu', $args);
include/conversation.php: call_hooks('jot_tool', $jotplugins); include/conversation.php: Addon::callHooks('jot_tool', $jotplugins);
include/conversation.php: call_hooks('jot_networks', $jotnets); include/conversation.php: Addon::callHooks('jot_networks', $jotnets);
include/plugin.php: if(! function_exists('call_hooks')) { include/plugin.php: if(! function_exists('call_hooks')) {
include/plugin.php:function call_hooks($name, &$data = null) { include/plugin.php:function Addon::callHooks($name, &$data = null) {
index.php: call_hooks('init_1'); index.php: Addon::callHooks('init_1');
index.php: call_hooks('app_menu', $arr); index.php: Addon::callHooks('app_menu', $arr);
index.php: call_hooks('page_end', $a->page['content']); index.php: Addon::callHooks('page_end', $a->page['content']);
mod/photos.php: call_hooks('photo_post_init', $_POST); mod/photos.php: Addon::callHooks('photo_post_init', $_POST);
mod/photos.php: call_hooks('photo_post_file',$ret); mod/photos.php: Addon::callHooks('photo_post_file',$ret);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',$foo); mod/photos.php: Addon::callHooks('photo_post_end',$foo);
mod/photos.php: call_hooks('photo_post_end',intval($item_id)); mod/photos.php: Addon::callHooks('photo_post_end',intval($item_id));
mod/photos.php: call_hooks('photo_upload_form',$ret); mod/photos.php: Addon::callHooks('photo_upload_form',$ret);
mod/friendica.php: call_hooks('about_hook', $o); mod/friendica.php: Addon::callHooks('about_hook', $o);
mod/editpost.php: call_hooks('jot_tool', $jotplugins); mod/editpost.php: Addon::callHooks('jot_tool', $jotplugins);
mod/editpost.php: call_hooks('jot_networks', $jotnets); mod/editpost.php: Addon::callHooks('jot_networks', $jotnets);
mod/parse_url.php: call_hooks('parse_link', $arr); mod/parse_url.php: Addon::callHooks('parse_link', $arr);
mod/home.php: call_hooks('home_init',$ret); mod/home.php: Addon::callHooks('home_init',$ret);
mod/home.php: call_hooks("home_content",$o); mod/home.php: Addon::callHooks("home_content",$o);
mod/contacts.php: call_hooks('contact_edit_post', $_POST); mod/contacts.php: Addon::callHooks('contact_edit_post', $_POST);
mod/contacts.php: call_hooks('contact_edit', $arr); mod/contacts.php: Addon::callHooks('contact_edit', $arr);
mod/settings.php: call_hooks('plugin_settings_post', $_POST); mod/settings.php: Addon::callHooks('plugin_settings_post', $_POST);
mod/settings.php: call_hooks('connector_settings_post', $_POST); mod/settings.php: Addon::callHooks('connector_settings_post', $_POST);
mod/settings.php: call_hooks('settings_post', $_POST); mod/settings.php: Addon::callHooks('settings_post', $_POST);
mod/settings.php: call_hooks('plugin_settings', $settings_addons); mod/settings.php: Addon::callHooks('plugin_settings', $settings_addons);
mod/settings.php: call_hooks('connector_settings', $settings_connectors); mod/settings.php: Addon::callHooks('connector_settings', $settings_connectors);
mod/settings.php: call_hooks('settings_form',$o); mod/settings.php: Addon::callHooks('settings_form',$o);
mod/register.php: call_hooks('register_account', $newuid); mod/register.php: Addon::callHooks('register_account', $newuid);
mod/like.php: call_hooks('post_local_end', $arr); mod/like.php: Addon::callHooks('post_local_end', $arr);
mod/xrd.php: call_hooks('personal_xrd', $arr); mod/xrd.php: Addon::callHooks('personal_xrd', $arr);
mod/item.php: call_hooks('post_local_start', $_REQUEST); mod/item.php: Addon::callHooks('post_local_start', $_REQUEST);
mod/item.php: call_hooks('post_local',$datarray); mod/item.php: Addon::callHooks('post_local',$datarray);
mod/item.php: call_hooks('post_local_end', $datarray); mod/item.php: Addon::callHooks('post_local_end', $datarray);
mod/profile.php: call_hooks('profile_advanced',$o); mod/profile.php: Addon::callHooks('profile_advanced',$o);
mod/profiles.php: call_hooks('profile_post', $_POST); mod/profiles.php: Addon::callHooks('profile_post', $_POST);
mod/profiles.php: call_hooks('profile_edit', $arr); mod/profiles.php: Addon::callHooks('profile_edit', $arr);
mod/tagger.php: call_hooks('post_local_end', $arr); mod/tagger.php: Addon::callHooks('post_local_end', $arr);
mod/cb.php: call_hooks('cb_init'); mod/cb.php: Addon::callHooks('cb_init');
mod/cb.php: call_hooks('cb_post', $_POST); mod/cb.php: Addon::callHooks('cb_post', $_POST);
mod/cb.php: call_hooks('cb_afterpost'); mod/cb.php: Addon::callHooks('cb_afterpost');
mod/cb.php: call_hooks('cb_content', $o); mod/cb.php: Addon::callHooks('cb_content', $o);
mod/directory.php: call_hooks('directory_item', $arr); mod/directory.php: Addon::callHooks('directory_item', $arr);

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -32,7 +33,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
// e.g. 'network_pre_group_deny', 'profile_pre_group_allow' // e.g. 'network_pre_group_deny', 'profile_pre_group_allow'
call_hooks($a->module . '_pre_' . $selname, $arr); Addon::callHooks($a->module . '_pre_' . $selname, $arr);
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
foreach ($r as $rr) { foreach ($r as $rr) {
@ -50,7 +51,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
} }
$o .= "</select>\r\n"; $o .= "</select>\r\n";
call_hooks($a->module . '_post_' . $selname, $o); Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o; return $o;
@ -111,7 +112,7 @@ function contact_selector($selname, $selclass, $options, $preselected = false)
$x = ['options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks]; $x = ['options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks];
call_hooks('contact_select_options', $x); Addon::callHooks('contact_select_options', $x);
$o = ''; $o = '';
@ -154,7 +155,7 @@ function contact_selector($selname, $selclass, $options, $preselected = false)
// e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow' // e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow'
call_hooks($a->module . '_pre_' . $selname, $arr); Addon::callHooks($a->module . '_pre_' . $selname, $arr);
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
foreach ($r as $rr) { foreach ($r as $rr) {
@ -173,7 +174,7 @@ function contact_selector($selname, $selclass, $options, $preselected = false)
$o .= "</select>\r\n"; $o .= "</select>\r\n";
call_hooks($a->module . '_post_' . $selname, $o); Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o; return $o;
} }
@ -232,7 +233,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
// e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow' // e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow'
call_hooks($a->module . '_pre_' . $selname, $arr); Addon::callHooks($a->module . '_pre_' . $selname, $arr);
$receiverlist = []; $receiverlist = [];
@ -263,7 +264,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
$o .= implode(", ", $receiverlist); $o .= implode(", ", $receiverlist);
} }
call_hooks($a->module . '_post_' . $selname, $o); Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o; return $o;
} }
@ -353,7 +354,7 @@ function populate_acl($user = null, $show_jotnets = false) {
$jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>'; $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>';
} }
call_hooks('jot_networks', $jotnets); Addon::callHooks('jot_networks', $jotnets);
} else { } else {
$jotnets .= sprintf(t('Connectors disabled, since "%s" is enabled.'), $jotnets .= sprintf(t('Connectors disabled, since "%s" is enabled.'),
t('Hide your profile details from unknown viewers?')); t('Hide your profile details from unknown viewers?'));
@ -671,7 +672,7 @@ function acl_lookup(App $a, $out_type = 'json')
'search' => $search, 'search' => $search,
]; ];
call_hooks('acl_lookup_end', $results); Addon::callHooks('acl_lookup_end', $results);
if ($out_type === 'html') { if ($out_type === 'html') {
$o = [ $o = [

View File

@ -8,6 +8,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\NotificationsManager; use Friendica\Core\NotificationsManager;
@ -166,7 +167,7 @@ function api_login(App $a)
list($consumer, $token) = $oauth1->verify_request(OAuthRequest::from_request()); list($consumer, $token) = $oauth1->verify_request(OAuthRequest::from_request());
if (!is_null($token)) { if (!is_null($token)) {
$oauth1->loginUser($token->uid); $oauth1->loginUser($token->uid);
call_hooks('logged_in', $a->user); Addon::callHooks('logged_in', $a->user);
return; return;
} }
echo __FILE__.__LINE__.__FUNCTION__ . "<pre>"; echo __FILE__.__LINE__.__FUNCTION__ . "<pre>";
@ -216,7 +217,7 @@ function api_login(App $a)
* Plugins should never set 'authenticated' except to indicate success - as hooks may be chained * Plugins should never set 'authenticated' except to indicate success - as hooks may be chained
* and later plugins should not interfere with an earlier one that succeeded. * and later plugins should not interfere with an earlier one that succeeded.
*/ */
call_hooks('authenticate', $addon_auth); Addon::callHooks('authenticate', $addon_auth);
if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) { if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) {
$record = $addon_auth['user_record']; $record = $addon_auth['user_record'];
@ -239,7 +240,7 @@ function api_login(App $a)
$_SESSION["allow_api"] = true; $_SESSION["allow_api"] = true;
call_hooks('logged_in', $a->user); Addon::callHooks('logged_in', $a->user);
} }
/** /**

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\Content\Text\Markdown; use Friendica\Content\Text\Markdown;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Network\Probe; use Friendica\Network\Probe;
@ -218,7 +219,7 @@ function bb2diaspora($Text, $preserve_nl = false, $fordiaspora = true) {
} }
, $Text); , $Text);
call_hooks('bb2diaspora',$Text); Addon::callHooks('bb2diaspora',$Text);
return $Text; return $Text;
} }

View File

@ -3,6 +3,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Smilies; use Friendica\Content\Smilies;
use Friendica\Content\OEmbed; use Friendica\Content\OEmbed;
use Friendica\Core\Addon;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
@ -1401,7 +1402,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
//$Text = str_replace('<br /><li>', '<li>', $Text); //$Text = str_replace('<br /><li>', '<li>', $Text);
//$Text = str_replace('<br /><ul', '<ul ', $Text); //$Text = str_replace('<br /><ul', '<ul ', $Text);
call_hooks('bbcode', $Text); Addon::callHooks('bbcode', $Text);
return trim($Text); return trim($Text);
} }

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -595,7 +596,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
} }
$cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview]; $cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview];
call_hooks('conversation_start',$cb); Addon::callHooks('conversation_start',$cb);
$items = $cb['items']; $items = $cb['items'];
@ -731,7 +732,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
} }
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => '']; $locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
call_hooks('render_location',$locate); Addon::callHooks('render_location',$locate);
$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate)); $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
@ -820,7 +821,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
]; ];
$arr = ['item' => $item, 'output' => $tmp_item]; $arr = ['item' => $item, 'output' => $tmp_item];
call_hooks('display_item', $arr); Addon::callHooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id']; $threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['network'] = $item['item_network']; $threads[$threadsid]['network'] = $item['item_network'];
@ -864,7 +865,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
continue; continue;
} }
call_hooks('display_item', $arr); Addon::callHooks('display_item', $arr);
$item['pagedrop'] = $page_dropping; $item['pagedrop'] = $page_dropping;
@ -1075,7 +1076,7 @@ function item_photo_menu($item) {
$args = ['item' => $item, 'menu' => $menu]; $args = ['item' => $item, 'menu' => $menu];
call_hooks('item_photo_menu', $args); Addon::callHooks('item_photo_menu', $args);
$menu = $args['menu']; $menu = $args['menu'];
@ -1297,7 +1298,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
]); ]);
$jotplugins = ''; $jotplugins = '';
call_hooks('jot_tool', $jotplugins); Addon::callHooks('jot_tool', $jotplugins);
// Private/public post links for the non-JS ACL form // Private/public post links for the non-JS ACL form
$private_post = 1; $private_post = 1;

View File

@ -3,6 +3,7 @@
* @file include/enotify.php * @file include/enotify.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -398,7 +399,7 @@ function notification($params)
'itemlink' => $itemlink 'itemlink' => $itemlink
]; ];
call_hooks('enotify', $h); Addon::callHooks('enotify', $h);
$subject = $h['subject']; $subject = $h['subject'];
@ -440,7 +441,7 @@ function notification($params)
$datarray['otype'] = $params['otype']; $datarray['otype'] = $params['otype'];
$datarray['abort'] = false; $datarray['abort'] = false;
call_hooks('enotify_store', $datarray); Addon::callHooks('enotify_store', $datarray);
if ($datarray['abort']) { if ($datarray['abort']) {
pop_lang(); pop_lang();
@ -576,7 +577,7 @@ function notification($params)
$datarray['subject'] = $subject; $datarray['subject'] = $subject;
$datarray['headers'] = $additional_mail_header; $datarray['headers'] = $additional_mail_header;
call_hooks('enotify_mail', $datarray); Addon::callHooks('enotify_mail', $datarray);
// check whether sending post content in email notifications is allowed // check whether sending post content in email notifications is allowed
// always true for SYSTEM_EMAIL // always true for SYSTEM_EMAIL
@ -667,7 +668,7 @@ function check_user_notification($itemid) {
*/ */
function check_item_notification($itemid, $uid, $defaulttype = "") { function check_item_notification($itemid, $uid, $defaulttype = "") {
$notification_data = ["uid" => $uid, "profiles" => []]; $notification_data = ["uid" => $uid, "profiles" => []];
call_hooks('check_item_notification', $notification_data); Addon::callHooks('check_item_notification', $notification_data);
$profiles = $notification_data["profiles"]; $profiles = $notification_data["profiles"];

View File

@ -6,6 +6,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -328,7 +329,7 @@ function event_store($arr) {
$item_id = 0; $item_id = 0;
} }
call_hooks("event_updated", $arr['id']); Addon::callHooks("event_updated", $arr['id']);
return $item_id; return $item_id;
} else { } else {
@ -406,7 +407,7 @@ function event_store($arr) {
); );
} }
call_hooks("event_created", $event['id']); Addon::callHooks("event_created", $event['id']);
return $item_id; return $item_id;
} }

View File

@ -1,5 +1,6 @@
<?php <?php
use Friendica\Core\Addon;
use Friendica\Render\ITemplateEngine; use Friendica\Render\ITemplateEngine;
require_once "include/plugin.php"; require_once "include/plugin.php";
@ -74,7 +75,7 @@ class FriendicaSmartyEngine implements ITemplateEngine
"template" => basename($s->filename), "template" => basename($s->filename),
"vars" => $r "vars" => $r
]; ];
call_hooks("template_vars", $arr); Addon::callHooks("template_vars", $arr);
$r = $arr['vars']; $r = $arr['vars'];
foreach ($r as $key => $value) { foreach ($r as $key => $value) {

View File

@ -8,6 +8,7 @@
* https://github.com/annando/Syncom * https://github.com/annando/Syncom
*/ */
use Friendica\Core\Addon;
use Friendica\Util\XML; use Friendica\Util\XML;
function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb) function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb)
@ -261,7 +262,7 @@ function html2bbcode($message, $basepath = '')
$message = preg_replace('=\r *\r=i', "\n", $message); $message = preg_replace('=\r *\r=i', "\n", $message);
$message = str_replace("\r", "\n", $message); $message = str_replace("\r", "\n", $message);
call_hooks('html2bbcode', $message); Addon::callHooks('html2bbcode', $message);
$message = strip_tags($message); $message = strip_tags($message);

View File

@ -4,6 +4,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -157,7 +158,7 @@ function title_is_body($title, $body) {
} }
function add_page_info_data($data) { function add_page_info_data($data) {
call_hooks('page_info_data', $data); Addon::callHooks('page_info_data', $data);
// It maybe is a rich content, but if it does have everything that a link has, // It maybe is a rich content, but if it does have everything that a link has,
// then treat it that way // then treat it that way
@ -943,9 +944,9 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
put_item_in_cache($arr); put_item_in_cache($arr);
if ($notify) { if ($notify) {
call_hooks('post_local', $arr); Addon::callHooks('post_local', $arr);
} else { } else {
call_hooks('post_remote', $arr); Addon::callHooks('post_remote', $arr);
} }
// This array field is used to trigger some automatic reactions // This array field is used to trigger some automatic reactions
@ -1086,9 +1087,9 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
$r = q('SELECT * FROM `item` WHERE `id` = %d', intval($current_post)); $r = q('SELECT * FROM `item` WHERE `id` = %d', intval($current_post));
if ((DBM::is_result($r)) && (count($r) == 1)) { if ((DBM::is_result($r)) && (count($r) == 1)) {
if ($notify) { if ($notify) {
call_hooks('post_local_end', $r[0]); Addon::callHooks('post_local_end', $r[0]);
} else { } else {
call_hooks('post_remote_end', $r[0]); Addon::callHooks('post_remote_end', $r[0]);
} }
} else { } else {
logger('item_store: new item not found in DB, id ' . $current_post); logger('item_store: new item not found in DB, id ' . $current_post);
@ -1364,7 +1365,7 @@ function tag_deliver($uid, $item_id)
$arr = ['item' => $item, 'user' => $u[0], 'contact' => $r[0]]; $arr = ['item' => $item, 'user' => $u[0], 'contact' => $r[0]];
call_hooks('tagged', $arr); Addon::callHooks('tagged', $arr);
if ((! $community_page) && (! $prvgroup)) { if ((! $community_page) && (! $prvgroup)) {
return; return;

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -254,7 +255,7 @@ EOT;
$new_item['id'] = $new_item_id; $new_item['id'] = $new_item_id;
call_hooks('post_local_end', $new_item); Addon::callHooks('post_local_end', $new_item);
Worker::add(PRIORITY_HIGH, "Notifier", "like", $new_item_id); Worker::add(PRIORITY_HIGH, "Notifier", "like", $new_item_id);

View File

@ -3,6 +3,7 @@
* @file include/network.php * @file include/network.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Network\Probe; use Friendica\Network\Probe;
@ -653,7 +654,7 @@ function avatar_img($email)
$avatar['url'] = ''; $avatar['url'] = '';
$avatar['success'] = false; $avatar['success'] = false;
call_hooks('avatar_lookup', $avatar); Addon::callHooks('avatar_lookup', $avatar);
if (! $avatar['success']) { if (! $avatar['success']) {
$avatar['url'] = System::baseUrl() . '/images/person-175.jpg'; $avatar['url'] = System::baseUrl() . '/images/person-175.jpg';

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -157,7 +158,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
} }
if ($login_initial) { if ($login_initial) {
call_hooks('logged_in', $a->user); Addon::callHooks('logged_in', $a->user);
if (($a->module !== 'home') && isset($_SESSION['return_url'])) { if (($a->module !== 'home') && isset($_SESSION['return_url'])) {
goaway(System::baseUrl() . '/' . $_SESSION['return_url']); goaway(System::baseUrl() . '/' . $_SESSION['return_url']);

View File

@ -6,6 +6,7 @@ use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Smilies; use Friendica\Content\Smilies;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -969,7 +970,7 @@ function contact_block() {
$arr = ['contacts' => $r, 'output' => $o]; $arr = ['contacts' => $r, 'output' => $o];
call_hooks('contact_block_end', $arr); Addon::callHooks('contact_block_end', $arr);
return $o; return $o;
} }
@ -1123,7 +1124,7 @@ function get_poke_verbs() {
'finger' => ['fingered', t('finger'), t('fingered')], 'finger' => ['fingered', t('finger'), t('fingered')],
'rebuff' => ['rebuffed', t('rebuff'), t('rebuffed')], 'rebuff' => ['rebuffed', t('rebuff'), t('rebuffed')],
]; ];
call_hooks('poke_verbs', $arr); Addon::callHooks('poke_verbs', $arr);
return $arr; return $arr;
} }
@ -1255,7 +1256,7 @@ function put_item_in_cache(&$item, $update = false)
function prepare_body(&$item, $attach = false, $preview = false) { function prepare_body(&$item, $attach = false, $preview = false) {
$a = get_app(); $a = get_app();
call_hooks('prepare_body_init', $item); Addon::callHooks('prepare_body_init', $item);
$searchpath = System::baseUrl() . "/search?tag="; $searchpath = System::baseUrl() . "/search?tag=";
@ -1314,7 +1315,7 @@ function prepare_body(&$item, $attach = false, $preview = false) {
$s = $item["rendered-html"]; $s = $item["rendered-html"];
$prep_arr = ['item' => $item, 'html' => $s, 'preview' => $preview]; $prep_arr = ['item' => $item, 'html' => $s, 'preview' => $preview];
call_hooks('prepare_body', $prep_arr); Addon::callHooks('prepare_body', $prep_arr);
$s = $prep_arr['html']; $s = $prep_arr['html'];
if (! $attach) { if (! $attach) {
@ -1432,7 +1433,7 @@ function prepare_body(&$item, $attach = false, $preview = false) {
} }
$prep_arr = ['item' => $item, 'html' => $s]; $prep_arr = ['item' => $item, 'html' => $s];
call_hooks('prepare_body_final', $prep_arr); Addon::callHooks('prepare_body_final', $prep_arr);
return $prep_arr['html']; return $prep_arr['html'];
} }

View File

@ -11,6 +11,7 @@
use Friendica\App; use Friendica\App;
use Friendica\BaseObject; use Friendica\BaseObject;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -75,8 +76,8 @@ if (!$install) {
} }
require_once 'include/session.php'; require_once 'include/session.php';
load_hooks(); Addon::loadHooks();
call_hooks('init_1'); Addon::callHooks('init_1');
$maintenance = Config::get('system', 'maintenance'); $maintenance = Config::get('system', 'maintenance');
} }
@ -200,7 +201,7 @@ $privateapps = Config::get('config', 'private_addons');
if ((local_user()) || (! $privateapps === "1")) { if ((local_user()) || (! $privateapps === "1")) {
$arr = ['app_menu' => $a->apps]; $arr = ['app_menu' => $a->apps];
call_hooks('app_menu', $arr); Addon::callHooks('app_menu', $arr);
$a->apps = $arr['app_menu']; $a->apps = $arr['app_menu'];
} }
@ -243,7 +244,7 @@ if (strlen($a->module)) {
if (is_array($a->plugins) && in_array($a->module, $a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) { if (is_array($a->plugins) && in_array($a->module, $a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
//Check if module is an app and if public access to apps is allowed or not //Check if module is an app and if public access to apps is allowed or not
if ((!local_user()) && plugin_is_app($a->module) && $privateapps === "1") { if ((!local_user()) && Addon::isApp($a->module) && $privateapps === "1") {
info(t("You must be logged in to use addons. ")); info(t("You must be logged in to use addons. "));
} else { } else {
include_once "addon/{$a->module}/{$a->module}.php"; include_once "addon/{$a->module}/{$a->module}.php";
@ -317,7 +318,7 @@ if (! x($a->page, 'content')) {
} }
if (!$install && !$maintenance) { if (!$install && !$maintenance) {
call_hooks('page_content_top', $a->page['content']); Addon::callHooks('page_content_top', $a->page['content']);
} }
/** /**
@ -329,10 +330,10 @@ if ($a->module_loaded) {
$placeholder = ''; $placeholder = '';
if ($a->module_class) { if ($a->module_class) {
call_hooks($a->module . '_mod_init', $placeholder); Addon::callHooks($a->module . '_mod_init', $placeholder);
call_user_func([$a->module_class, 'init']); call_user_func([$a->module_class, 'init']);
} else if (function_exists($a->module . '_init')) { } else if (function_exists($a->module . '_init')) {
call_hooks($a->module . '_mod_init', $placeholder); Addon::callHooks($a->module . '_mod_init', $placeholder);
$func = $a->module . '_init'; $func = $a->module . '_init';
$func($a); $func($a);
} }
@ -343,7 +344,7 @@ if ($a->module_loaded) {
} }
if (! $a->error && $_SERVER['REQUEST_METHOD'] === 'POST') { if (! $a->error && $_SERVER['REQUEST_METHOD'] === 'POST') {
call_hooks($a->module . '_mod_post', $_POST); Addon::callHooks($a->module . '_mod_post', $_POST);
if ($a->module_class) { if ($a->module_class) {
call_user_func([$a->module_class, 'post']); call_user_func([$a->module_class, 'post']);
} else if (function_exists($a->module . '_post')) { } else if (function_exists($a->module . '_post')) {
@ -353,7 +354,7 @@ if ($a->module_loaded) {
} }
if (! $a->error) { if (! $a->error) {
call_hooks($a->module . '_mod_afterpost', $placeholder); Addon::callHooks($a->module . '_mod_afterpost', $placeholder);
if ($a->module_class) { if ($a->module_class) {
call_user_func([$a->module_class, 'afterpost']); call_user_func([$a->module_class, 'afterpost']);
} else if (function_exists($a->module . '_afterpost')) { } else if (function_exists($a->module . '_afterpost')) {
@ -364,7 +365,7 @@ if ($a->module_loaded) {
if (! $a->error) { if (! $a->error) {
$arr = ['content' => $a->page['content']]; $arr = ['content' => $a->page['content']];
call_hooks($a->module . '_mod_content', $arr); Addon::callHooks($a->module . '_mod_content', $arr);
$a->page['content'] = $arr['content']; $a->page['content'] = $arr['content'];
if ($a->module_class) { if ($a->module_class) {
$arr = ['content' => call_user_func([$a->module_class, 'content'])]; $arr = ['content' => call_user_func([$a->module_class, 'content'])];
@ -372,7 +373,7 @@ if ($a->module_loaded) {
$func = $a->module . '_content'; $func = $a->module . '_content';
$arr = ['content' => $func($a)]; $arr = ['content' => $func($a)];
} }
call_hooks($a->module . '_mod_aftercontent', $arr); Addon::callHooks($a->module . '_mod_aftercontent', $arr);
$a->page['content'] .= $arr['content']; $a->page['content'] .= $arr['content'];
} }
@ -421,7 +422,7 @@ if (stristr(implode("", $_SESSION['sysmsg']), t('Permission denied'))) {
/* /*
* Report anything which needs to be communicated in the notification area (before the main body) * Report anything which needs to be communicated in the notification area (before the main body)
*/ */
call_hooks('page_end', $a->page['content']); Addon::callHooks('page_end', $a->page['content']);
/* /*
* Add the navigation (menu) template * Add the navigation (menu) template

View File

@ -8,6 +8,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Text\Markdown; use Friendica\Content\Text\Markdown;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -1757,11 +1758,11 @@ function admin_page_plugins(App $a)
$idx = array_search($plugin, $a->plugins); $idx = array_search($plugin, $a->plugins);
if ($idx !== false) { if ($idx !== false) {
unset($a->plugins[$idx]); unset($a->plugins[$idx]);
uninstall_plugin($plugin); Addon::uninstall($plugin);
info(t("Plugin %s disabled.", $plugin)); info(t("Plugin %s disabled.", $plugin));
} else { } else {
$a->plugins[] = $plugin; $a->plugins[] = $plugin;
install_plugin($plugin); Addon::install($plugin);
info(t("Plugin %s enabled.", $plugin)); info(t("Plugin %s enabled.", $plugin));
} }
Config::set("system", "addon", implode(", ", $a->plugins)); Config::set("system", "addon", implode(", ", $a->plugins));
@ -1804,7 +1805,7 @@ function admin_page_plugins(App $a)
'$plugin' => $plugin, '$plugin' => $plugin,
'$status' => $status, '$status' => $status,
'$action' => $action, '$action' => $action,
'$info' => get_plugin_info($plugin), '$info' => Addon::getInfo($plugin),
'$str_author' => t('Author: '), '$str_author' => t('Author: '),
'$str_maintainer' => t('Maintainer: '), '$str_maintainer' => t('Maintainer: '),
@ -1822,7 +1823,7 @@ function admin_page_plugins(App $a)
*/ */
if (x($_GET, "a") && $_GET['a'] == "r") { if (x($_GET, "a") && $_GET['a'] == "r") {
check_form_security_token_redirectOnErr(System::baseUrl() . '/admin/plugins', 'admin_themes', 't'); check_form_security_token_redirectOnErr(System::baseUrl() . '/admin/plugins', 'admin_themes', 't');
reload_plugins(); Addon::reload();
info("Plugins reloaded"); info("Plugins reloaded");
goaway(System::baseUrl() . '/admin/plugins'); goaway(System::baseUrl() . '/admin/plugins');
} }
@ -1833,7 +1834,7 @@ function admin_page_plugins(App $a)
foreach ($files as $file) { foreach ($files as $file) {
if (is_dir($file)) { if (is_dir($file)) {
list($tmp, $id) = array_map("trim", explode("/", $file)); list($tmp, $id) = array_map("trim", explode("/", $file));
$info = get_plugin_info($id); $info = Addon::getInfo($id);
$show_plugin = true; $show_plugin = true;
// If the addon is unsupported, then only show it, when it is enabled // If the addon is unsupported, then only show it, when it is enabled

View File

@ -6,6 +6,7 @@ use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -173,7 +174,7 @@ function contacts_post(App $a)
return; // NOTREACHED return; // NOTREACHED
} }
call_hooks('contact_edit_post', $_POST); Addon::callHooks('contact_edit_post', $_POST);
$profile_id = intval($_POST['profile-assign']); $profile_id = intval($_POST['profile-assign']);
if ($profile_id) { if ($profile_id) {
@ -662,7 +663,7 @@ function contacts_content(App $a)
$arr = ['contact' => $contact, 'output' => $o]; $arr = ['contact' => $contact, 'output' => $o];
call_hooks('contact_edit', $arr); Addon::callHooks('contact_edit', $arr);
return $arr['output']; return $arr['output'];
} }

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -174,7 +175,7 @@ function directory_content(App $a) {
$arr = ['contact' => $rr, 'entry' => $entry]; $arr = ['contact' => $rr, 'entry' => $entry];
call_hooks('directory_item', $arr); Addon::callHooks('directory_item', $arr);
unset($profile); unset($profile);
unset($location); unset($location);

View File

@ -4,6 +4,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -94,8 +95,8 @@ function editpost_content(App $a) {
call_hooks('jot_tool', $jotplugins); Addon::callHooks('jot_tool', $jotplugins);
//call_hooks('jot_networks', $jotnets); //Addon::callHooks('jot_networks', $jotnets);
//$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins)); //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -121,7 +122,7 @@ function friendica_content(App $a) {
$o .= '</tbody></table></div>' . PHP_EOL; $o .= '</tbody></table></div>' . PHP_EOL;
} }
call_hooks('about_hook', $o); Addon::callHooks('about_hook', $o);
return $o; return $o;
} }

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Module\Login; use Friendica\Module\Login;
@ -9,7 +10,7 @@ if(! function_exists('home_init')) {
function home_init(App $a) { function home_init(App $a) {
$ret = []; $ret = [];
call_hooks('home_init',$ret); Addon::callHooks('home_init',$ret);
if (local_user() && ($a->user['nickname'])) { if (local_user() && ($a->user['nickname'])) {
goaway(System::baseUrl()."/network"); goaway(System::baseUrl()."/network");
@ -46,7 +47,7 @@ function home_content(App $a) {
$login = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? 0 : 1); $login = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? 0 : 1);
$content = ''; $content = '';
call_hooks("home_content",$content); Addon::callHooks("home_content",$content);
$tpl = get_markup_template('home.tpl'); $tpl = get_markup_template('home.tpl');

View File

@ -15,6 +15,7 @@
* information. * information.
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -50,7 +51,7 @@ function item_post(App $a) {
killme(); killme();
} }
call_hooks('post_local_start', $_REQUEST); Addon::callHooks('post_local_start', $_REQUEST);
// logger('postinput ' . file_get_contents('php://input')); // logger('postinput ' . file_get_contents('php://input'));
logger('postvars ' . print_r($_REQUEST,true), LOGGER_DATA); logger('postvars ' . print_r($_REQUEST,true), LOGGER_DATA);
@ -772,7 +773,7 @@ function item_post(App $a) {
killme(); killme();
} }
call_hooks('post_local',$datarray); Addon::callHooks('post_local',$datarray);
if (x($datarray, 'cancel')) { if (x($datarray, 'cancel')) {
logger('mod_item: post cancelled by plugin.'); logger('mod_item: post cancelled by plugin.');
@ -885,7 +886,7 @@ function item_post(App $a) {
} }
} }
call_hooks('post_local_end', $datarray); Addon::callHooks('post_local_end', $datarray);
if (strlen($emailcc) && $profile_uid == local_user()) { if (strlen($emailcc) && $profile_uid == local_user()) {
$erecips = explode(',', $emailcc); $erecips = explode(',', $emailcc);

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Database\DBM; use Friendica\Database\DBM;
function lockview_content(App $a) { function lockview_content(App $a) {
@ -28,7 +29,7 @@ function lockview_content(App $a) {
} }
$item = $r[0]; $item = $r[0];
call_hooks('lockview_content', $item); Addon::callHooks('lockview_content', $item);
if($item['uid'] != local_user()) { if($item['uid'] != local_user()) {
echo t('Remote privacy information not available.') . '<br />'; echo t('Remote privacy information not available.') . '<br />';

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -91,7 +92,7 @@ function manage_post(App $a) {
} }
$ret = []; $ret = [];
call_hooks('home_init',$ret); Addon::callHooks('home_init',$ret);
goaway( System::baseUrl() . "/profile/" . $a->user['nickname'] ); goaway( System::baseUrl() . "/profile/" . $a->user['nickname'] );
// NOTREACHED // NOTREACHED

View File

@ -7,6 +7,7 @@ use Friendica\Content\Feature;
use Friendica\Content\ForumManager; use Friendica\Content\ForumManager;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
@ -388,7 +389,7 @@ function network_content(App $a, $update = 0) {
/// @TODO Is this really necessary? $a is already available to hooks /// @TODO Is this really necessary? $a is already available to hooks
$arr = ['query' => $a->query_string]; $arr = ['query' => $a->query_string];
call_hooks('network_content_init', $arr); Addon::callHooks('network_content_init', $arr);
$nouveau = false; $nouveau = false;
@ -1006,7 +1007,7 @@ function network_tabs(App $a)
} }
$arr = ['tabs' => $tabs]; $arr = ['tabs' => $tabs];
call_hooks('network_tabs', $arr); Addon::callHooks('network_tabs', $arr);
$tpl = get_markup_template('common_tabs.tpl'); $tpl = get_markup_template('common_tabs.tpl');

View File

@ -6,11 +6,10 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
require_once 'include/plugin.php';
function nodeinfo_wellknown(App $a) { function nodeinfo_wellknown(App $a) {
$nodeinfo = ['links' => [['rel' => 'http://nodeinfo.diaspora.software/ns/schema/1.0', $nodeinfo = ['links' => [['rel' => 'http://nodeinfo.diaspora.software/ns/schema/1.0',
'href' => System::baseUrl().'/nodeinfo/1.0']]]; 'href' => System::baseUrl().'/nodeinfo/1.0']]];
@ -72,48 +71,48 @@ function nodeinfo_init(App $a) {
$nodeinfo['usage']['localPosts'] = (int)Config::get('nodeinfo', 'local_posts'); $nodeinfo['usage']['localPosts'] = (int)Config::get('nodeinfo', 'local_posts');
$nodeinfo['usage']['localComments'] = (int)Config::get('nodeinfo', 'local_comments'); $nodeinfo['usage']['localComments'] = (int)Config::get('nodeinfo', 'local_comments');
if (plugin_enabled('appnet')) { if (Addon::isEnabled('appnet')) {
$nodeinfo['services']['inbound'][] = 'appnet'; $nodeinfo['services']['inbound'][] = 'appnet';
} }
if (plugin_enabled('appnet') || plugin_enabled('buffer')) { if (Addon::isEnabled('appnet') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'appnet'; $nodeinfo['services']['outbound'][] = 'appnet';
} }
if (plugin_enabled('blogger')) { if (Addon::isEnabled('blogger')) {
$nodeinfo['services']['outbound'][] = 'blogger'; $nodeinfo['services']['outbound'][] = 'blogger';
} }
if (plugin_enabled('dwpost')) { if (Addon::isEnabled('dwpost')) {
$nodeinfo['services']['outbound'][] = 'dreamwidth'; $nodeinfo['services']['outbound'][] = 'dreamwidth';
} }
if (plugin_enabled('fbpost') || plugin_enabled('buffer')) { if (Addon::isEnabled('fbpost') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'facebook'; $nodeinfo['services']['outbound'][] = 'facebook';
} }
if (plugin_enabled('statusnet')) { if (Addon::isEnabled('statusnet')) {
$nodeinfo['services']['inbound'][] = 'gnusocial'; $nodeinfo['services']['inbound'][] = 'gnusocial';
$nodeinfo['services']['outbound'][] = 'gnusocial'; $nodeinfo['services']['outbound'][] = 'gnusocial';
} }
if (plugin_enabled('gpluspost') || plugin_enabled('buffer')) { if (Addon::isEnabled('gpluspost') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'google'; $nodeinfo['services']['outbound'][] = 'google';
} }
if (plugin_enabled('ijpost')) { if (Addon::isEnabled('ijpost')) {
$nodeinfo['services']['outbound'][] = 'insanejournal'; $nodeinfo['services']['outbound'][] = 'insanejournal';
} }
if (plugin_enabled('libertree')) { if (Addon::isEnabled('libertree')) {
$nodeinfo['services']['outbound'][] = 'libertree'; $nodeinfo['services']['outbound'][] = 'libertree';
} }
if (plugin_enabled('buffer')) { if (Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'linkedin'; $nodeinfo['services']['outbound'][] = 'linkedin';
} }
if (plugin_enabled('ljpost')) { if (Addon::isEnabled('ljpost')) {
$nodeinfo['services']['outbound'][] = 'livejournal'; $nodeinfo['services']['outbound'][] = 'livejournal';
} }
if (plugin_enabled('buffer')) { if (Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'pinterest'; $nodeinfo['services']['outbound'][] = 'pinterest';
} }
if (plugin_enabled('posterous')) { if (Addon::isEnabled('posterous')) {
$nodeinfo['services']['outbound'][] = 'posterous'; $nodeinfo['services']['outbound'][] = 'posterous';
} }
if (plugin_enabled('pumpio')) { if (Addon::isEnabled('pumpio')) {
$nodeinfo['services']['inbound'][] = 'pumpio'; $nodeinfo['services']['inbound'][] = 'pumpio';
$nodeinfo['services']['outbound'][] = 'pumpio'; $nodeinfo['services']['outbound'][] = 'pumpio';
} }
@ -121,13 +120,13 @@ function nodeinfo_init(App $a) {
if ($smtp) { if ($smtp) {
$nodeinfo['services']['outbound'][] = 'smtp'; $nodeinfo['services']['outbound'][] = 'smtp';
} }
if (plugin_enabled('tumblr')) { if (Addon::isEnabled('tumblr')) {
$nodeinfo['services']['outbound'][] = 'tumblr'; $nodeinfo['services']['outbound'][] = 'tumblr';
} }
if (plugin_enabled('twitter') || plugin_enabled('buffer')) { if (Addon::isEnabled('twitter') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'twitter'; $nodeinfo['services']['outbound'][] = 'twitter';
} }
if (plugin_enabled('wppost')) { if (Addon::isEnabled('wppost')) {
$nodeinfo['services']['outbound'][] = 'wordpress'; $nodeinfo['services']['outbound'][] = 'wordpress';
} }
$nodeinfo['metadata']['protocols'] = $nodeinfo['protocols']; $nodeinfo['metadata']['protocols'] = $nodeinfo['protocols'];
@ -137,7 +136,7 @@ function nodeinfo_init(App $a) {
$nodeinfo['metadata']['services'] = $nodeinfo['services']; $nodeinfo['metadata']['services'] = $nodeinfo['services'];
if (plugin_enabled('twitter')) { if (Addon::isEnabled('twitter')) {
$nodeinfo['metadata']['services']['inbound'][] = 'twitter'; $nodeinfo['metadata']['services']['inbound'][] = 'twitter';
} }
} }
@ -154,7 +153,7 @@ function nodeinfo_cron() {
$a = get_app(); $a = get_app();
// If the plugin 'statistics_json' is enabled then disable it and actrivate nodeinfo. // If the plugin 'statistics_json' is enabled then disable it and actrivate nodeinfo.
if (plugin_enabled('statistics_json')) { if (Addon::isEnabled('statistics_json')) {
Config::set('system', 'nodeinfo', true); Config::set('system', 'nodeinfo', true);
$plugin = 'statistics_json'; $plugin = 'statistics_json';
@ -167,7 +166,7 @@ function nodeinfo_cron() {
$idx = array_search($plugin, $plugins_arr); $idx = array_search($plugin, $plugins_arr);
if ($idx !== false) { if ($idx !== false) {
unset($plugins_arr[$idx]); unset($plugins_arr[$idx]);
uninstall_plugin($plugin); Addon::uninstall($plugin);
Config::set('system', 'addon', implode(', ',$plugins_arr)); Config::set('system', 'addon', implode(', ',$plugins_arr));
} }
} }

View File

@ -11,6 +11,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Util\ParseUrl; use Friendica\Util\ParseUrl;
require_once("include/items.php"); require_once("include/items.php");
@ -91,7 +92,7 @@ function parse_url_content(App $a) {
$arr = ["url" => $url, "text" => ""]; $arr = ["url" => $url, "text" => ""];
call_hooks("parse_link", $arr); Addon::callHooks("parse_link", $arr);
if (strlen($arr["text"])) { if (strlen($arr["text"])) {
echo $arr["text"]; echo $arr["text"];

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -720,7 +721,7 @@ function photos_post(App $a)
// default post action - upload a photo // default post action - upload a photo
call_hooks('photo_post_init', $_POST); Addon::callHooks('photo_post_init', $_POST);
// Determine the album to use // Determine the album to use
$album = x($_REQUEST, 'album') ? notags(trim($_REQUEST['album'])) : ''; $album = x($_REQUEST, 'album') ? notags(trim($_REQUEST['album'])) : '';
@ -770,7 +771,7 @@ function photos_post(App $a)
$ret = ['src' => '', 'filename' => '', 'filesize' => 0, 'type' => '']; $ret = ['src' => '', 'filename' => '', 'filesize' => 0, 'type' => ''];
call_hooks('photo_post_file', $ret); Addon::callHooks('photo_post_file', $ret);
if (x($ret, 'src') && x($ret, 'filesize')) { if (x($ret, 'src') && x($ret, 'filesize')) {
$src = $ret['src']; $src = $ret['src'];
@ -808,7 +809,7 @@ function photos_post(App $a)
} }
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
call_hooks('photo_post_end', $foo); Addon::callHooks('photo_post_end', $foo);
return; return;
} }
@ -824,7 +825,7 @@ function photos_post(App $a)
notice(t('Image exceeds size limit of %s', formatBytes($maximagesize)) . EOL); notice(t('Image exceeds size limit of %s', formatBytes($maximagesize)) . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
call_hooks('photo_post_end', $foo); Addon::callHooks('photo_post_end', $foo);
return; return;
} }
@ -832,7 +833,7 @@ function photos_post(App $a)
notice(t('Image file is empty.') . EOL); notice(t('Image file is empty.') . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
call_hooks('photo_post_end', $foo); Addon::callHooks('photo_post_end', $foo);
return; return;
} }
@ -847,7 +848,7 @@ function photos_post(App $a)
notice(t('Unable to process image.') . EOL); notice(t('Unable to process image.') . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
call_hooks('photo_post_end',$foo); Addon::callHooks('photo_post_end',$foo);
killme(); killme();
} }
@ -937,7 +938,7 @@ function photos_post(App $a)
Worker::add(PRIORITY_HIGH, "Notifier", 'wall-new', $item_id); Worker::add(PRIORITY_HIGH, "Notifier", 'wall-new', $item_id);
} }
call_hooks('photo_post_end', intval($item_id)); Addon::callHooks('photo_post_end', intval($item_id));
// addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook // addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook
// if they do not wish to be redirected // if they do not wish to be redirected
@ -1103,7 +1104,7 @@ function photos_content(App $a)
'addon_text' => $uploader, 'addon_text' => $uploader,
'default_upload' => true]; 'default_upload' => true];
call_hooks('photo_upload_form',$ret); Addon::callHooks('photo_upload_form',$ret);
$default_upload_box = replace_macros(get_markup_template('photos_default_uploader_box.tpl'), []); $default_upload_box = replace_macros(get_markup_template('photos_default_uploader_box.tpl'), []);
$default_upload_submit = replace_macros(get_markup_template('photos_default_uploader_submit.tpl'), [ $default_upload_submit = replace_macros(get_markup_template('photos_default_uploader_submit.tpl'), [

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\ForumManager; use Friendica\Content\ForumManager;
use Friendica\Core\Addon;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
@ -138,7 +139,7 @@ function ping_init(App $a)
if (DBM::is_result($items_unseen)) { if (DBM::is_result($items_unseen)) {
$arr = ['items' => $items_unseen]; $arr = ['items' => $items_unseen];
call_hooks('network_ping', $arr); Addon::callHooks('network_ping', $arr);
foreach ($items_unseen as $item) { foreach ($items_unseen as $item) {
if ($item['wall']) { if ($item['wall']) {

View File

@ -15,6 +15,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -142,7 +143,7 @@ function poke_init(App $a) {
} }
call_hooks('post_local_end', $arr); Addon::callHooks('post_local_end', $arr);
Worker::add(PRIORITY_HIGH, "Notifier", "like", $post_id); Worker::add(PRIORITY_HIGH, "Notifier", "like", $post_id);

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -180,7 +181,7 @@ function profile_content(App $a, $update = 0)
if ($tab === 'profile') { if ($tab === 'profile') {
$o .= Profile::getAdvanced($a); $o .= Profile::getAdvanced($a);
call_hooks('profile_advanced', $o); Addon::callHooks('profile_advanced', $o);
return $o; return $o;
} }

View File

@ -6,6 +6,7 @@ use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -178,7 +179,7 @@ function profiles_post(App $a) {
$namechanged = false; $namechanged = false;
call_hooks('profile_post', $_POST); Addon::callHooks('profile_post', $_POST);
if (($a->argc > 1) && ($a->argv[1] !== "new") && intval($a->argv[1])) { if (($a->argc > 1) && ($a->argv[1] !== "new") && intval($a->argv[1])) {
$orig = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", $orig = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@ -743,7 +744,7 @@ function profiles_content(App $a) {
]); ]);
$arr = ['profile' => $r[0], 'entry' => $o]; $arr = ['profile' => $r[0], 'entry' => $o];
call_hooks('profile_edit', $arr); Addon::callHooks('profile_edit', $arr);
return $o; return $o;
} else { } else {

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -20,7 +21,7 @@ function register_post(App $a)
$blocked = 1; $blocked = 1;
$arr = ['post' => $_POST]; $arr = ['post' => $_POST];
call_hooks('register_post', $arr); Addon::callHooks('register_post', $arr);
$max_dailies = intval(Config::get('system', 'max_daily_registrations')); $max_dailies = intval(Config::get('system', 'max_daily_registrations'));
if ($max_dailies) { if ($max_dailies) {
@ -241,7 +242,7 @@ function register_content(App $a)
$arr = ['template' => $tpl]; $arr = ['template' => $tpl];
call_hooks('register_form', $arr); Addon::callHooks('register_form', $arr);
$tpl = $arr['template']; $tpl = $arr['template'];

View File

@ -5,6 +5,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Core\Config; use Friendica\Core\Config;
@ -195,7 +196,7 @@ function settings_post(App $a)
if (($a->argc > 1) && ($a->argv[1] == 'addon')) { if (($a->argc > 1) && ($a->argv[1] == 'addon')) {
check_form_security_token_redirectOnErr('/settings/addon', 'settings_addon'); check_form_security_token_redirectOnErr('/settings/addon', 'settings_addon');
call_hooks('plugin_settings_post', $_POST); Addon::callHooks('plugin_settings_post', $_POST);
return; return;
} }
@ -277,7 +278,7 @@ function settings_post(App $a)
} }
} }
call_hooks('connector_settings_post', $_POST); Addon::callHooks('connector_settings_post', $_POST);
return; return;
} }
@ -351,7 +352,7 @@ function settings_post(App $a)
intval(local_user()) intval(local_user())
); );
call_hooks('display_settings_post', $_POST); Addon::callHooks('display_settings_post', $_POST);
goaway('settings/display'); goaway('settings/display');
return; // NOTREACHED return; // NOTREACHED
} }
@ -364,7 +365,7 @@ function settings_post(App $a)
goaway('settings'); goaway('settings');
} }
call_hooks('settings_post', $_POST); Addon::callHooks('settings_post', $_POST);
if (x($_POST, 'password') || x($_POST, 'confirm')) { if (x($_POST, 'password') || x($_POST, 'confirm')) {
$newpass = $_POST['password']; $newpass = $_POST['password'];
@ -753,7 +754,7 @@ function settings_content(App $a)
$settings_addons = t('No Plugin settings configured'); $settings_addons = t('No Plugin settings configured');
} }
call_hooks('plugin_settings', $settings_addons); Addon::callHooks('plugin_settings', $settings_addons);
$tpl = get_markup_template('settings/addons.tpl'); $tpl = get_markup_template('settings/addons.tpl');
@ -799,7 +800,7 @@ function settings_content(App $a)
} }
$settings_connectors = ''; $settings_connectors = '';
call_hooks('connector_settings', $settings_connectors); Addon::callHooks('connector_settings', $settings_connectors);
if (is_site_admin()) { if (is_site_admin()) {
$diasp_enabled = t('Built-in support for %s connectivity is %s', t('Diaspora'), ((Config::get('system', 'diaspora_enabled')) ? t('enabled') : t('disabled'))); $diasp_enabled = t('Built-in support for %s connectivity is %s', t('Diaspora'), ((Config::get('system', 'diaspora_enabled')) ? t('enabled') : t('disabled')));
@ -871,7 +872,7 @@ function settings_content(App $a)
'$submit' => t('Save Settings'), '$submit' => t('Save Settings'),
]); ]);
call_hooks('display_settings', $o); Addon::callHooks('display_settings', $o);
return $o; return $o;
} }
@ -1284,7 +1285,7 @@ function settings_content(App $a)
]); ]);
call_hooks('settings_form', $o); Addon::callHooks('settings_form', $o);
$o .= '</form>' . "\r\n"; $o .= '</form>' . "\r\n";

View File

@ -5,6 +5,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
require_once("include/plugin.php"); require_once("include/plugin.php");
@ -28,19 +29,19 @@ function statistics_json_init(App $a) {
]; ];
$statistics["services"] = []; $statistics["services"] = [];
$statistics["services"]["appnet"] = plugin_enabled("appnet"); $statistics["services"]["appnet"] = Addon::isEnabled("appnet");
$statistics["services"]["blogger"] = plugin_enabled("blogger"); $statistics["services"]["blogger"] = Addon::isEnabled("blogger");
$statistics["services"]["buffer"] = plugin_enabled("buffer"); $statistics["services"]["buffer"] = Addon::isEnabled("buffer");
$statistics["services"]["dreamwidth"] = plugin_enabled("dwpost"); $statistics["services"]["dreamwidth"] = Addon::isEnabled("dwpost");
$statistics["services"]["facebook"] = plugin_enabled("fbpost"); $statistics["services"]["facebook"] = Addon::isEnabled("fbpost");
$statistics["services"]["gnusocial"] = plugin_enabled("statusnet"); $statistics["services"]["gnusocial"] = Addon::isEnabled("statusnet");
$statistics["services"]["googleplus"] = plugin_enabled("gpluspost"); $statistics["services"]["googleplus"] = Addon::isEnabled("gpluspost");
$statistics["services"]["libertree"] = plugin_enabled("libertree"); $statistics["services"]["libertree"] = Addon::isEnabled("libertree");
$statistics["services"]["livejournal"] = plugin_enabled("ljpost"); $statistics["services"]["livejournal"] = Addon::isEnabled("ljpost");
$statistics["services"]["pumpio"] = plugin_enabled("pumpio"); $statistics["services"]["pumpio"] = Addon::isEnabled("pumpio");
$statistics["services"]["twitter"] = plugin_enabled("twitter"); $statistics["services"]["twitter"] = Addon::isEnabled("twitter");
$statistics["services"]["tumblr"] = plugin_enabled("tumblr"); $statistics["services"]["tumblr"] = Addon::isEnabled("tumblr");
$statistics["services"]["wordpress"] = plugin_enabled("wppost"); $statistics["services"]["wordpress"] = Addon::isEnabled("wppost");
$statistics["appnet"] = $statistics["services"]["appnet"]; $statistics["appnet"] = $statistics["services"]["appnet"];
$statistics["blogger"] = $statistics["services"]["blogger"]; $statistics["blogger"] = $statistics["services"]["blogger"];

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -156,7 +157,7 @@ EOT;
$arr['id'] = $post_id; $arr['id'] = $post_id;
call_hooks('post_local_end', $arr); Addon::callHooks('post_local_end', $arr);
killme(); killme();

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -213,7 +214,7 @@ EOT;
$arr['id'] = $post_id; $arr['id'] = $post_id;
call_hooks('post_local_end', $arr); Addon::callHooks('post_local_end', $arr);
Worker::add(PRIORITY_HIGH, "Notifier", "tag", $post_id); Worker::add(PRIORITY_HIGH, "Notifier", "tag", $post_id);

View File

@ -1,6 +1,7 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -40,7 +41,7 @@ function uexport_content(App $a) {
['uexport/account', t('Export account'), t('Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server.')], ['uexport/account', t('Export account'), t('Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server.')],
['uexport/backup', t('Export all'), t('Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)')], ['uexport/backup', t('Export all'), t('Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)')],
]; ];
call_hooks('uexport_options', $options); Addon::callHooks('uexport_options', $options);
$tpl = get_markup_template("uexport.tpl"); $tpl = get_markup_template("uexport.tpl");
return replace_macros($tpl, [ return replace_macros($tpl, [

View File

@ -3,6 +3,7 @@
* @file mod/xrd.php * @file mod/xrd.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Protocol\Salmon; use Friendica\Protocol\Salmon;
@ -109,7 +110,7 @@ function xrd_xml($a, $uri, $alias, $profile_url, $r)
); );
$arr = ['user' => $r, 'xml' => $o]; $arr = ['user' => $r, 'xml' => $o];
call_hooks('personal_xrd', $arr); Addon::callHooks('personal_xrd', $arr);
echo $arr['xml']; echo $arr['xml'];
killme(); killme();

View File

@ -6,6 +6,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -42,7 +43,7 @@ if (Config::get('system', 'maintenance', true)) {
$a->set_baseurl(Config::get('system', 'url')); $a->set_baseurl(Config::get('system', 'url'));
load_hooks(); Addon::loadHooks();
$spawn = (($_SERVER["argc"] == 2) && ($_SERVER["argv"][1] == "spawn")); $spawn = (($_SERVER["argc"] == 2) && ($_SERVER["argv"][1] == "spawn"));

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\Core\Addon;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Protocol\Diaspora; use Friendica\Protocol\Diaspora;
use dba; use dba;
@ -93,7 +94,7 @@ class ContactSelector
NETWORK_APPNET => t('App.net') NETWORK_APPNET => t('App.net')
]; ];
call_hooks('network_to_name', $nets); Addon::callHooks('network_to_name', $nets);
$search = array_keys($nets); $search = array_keys($nets);
$replace = array_values($nets); $replace = array_values($nets);
@ -122,7 +123,7 @@ class ContactSelector
$o = ''; $o = '';
$select = ['', t('Male'), t('Female'), t('Currently Male'), t('Currently Female'), t('Mostly Male'), t('Mostly Female'), t('Transgender'), t('Intersex'), t('Transsexual'), t('Hermaphrodite'), t('Neuter'), t('Non-specific'), t('Other'), t('Undecided')]; $select = ['', t('Male'), t('Female'), t('Currently Male'), t('Currently Female'), t('Mostly Male'), t('Mostly Female'), t('Transgender'), t('Intersex'), t('Transsexual'), t('Hermaphrodite'), t('Neuter'), t('Non-specific'), t('Other'), t('Undecided')];
call_hooks('gender_selector', $select); Addon::callHooks('gender_selector', $select);
$o .= "<select name=\"gender$suffix\" id=\"gender-select$suffix\" size=\"1\" >"; $o .= "<select name=\"gender$suffix\" id=\"gender-select$suffix\" size=\"1\" >";
foreach ($select as $selection) { foreach ($select as $selection) {
@ -145,7 +146,7 @@ class ContactSelector
$select = ['', t('Males'), t('Females'), t('Gay'), t('Lesbian'), t('No Preference'), t('Bisexual'), t('Autosexual'), t('Abstinent'), t('Virgin'), t('Deviant'), t('Fetish'), t('Oodles'), t('Nonsexual')]; $select = ['', t('Males'), t('Females'), t('Gay'), t('Lesbian'), t('No Preference'), t('Bisexual'), t('Autosexual'), t('Abstinent'), t('Virgin'), t('Deviant'), t('Fetish'), t('Oodles'), t('Nonsexual')];
call_hooks('sexpref_selector', $select); Addon::callHooks('sexpref_selector', $select);
$o .= "<select name=\"sexual$suffix\" id=\"sexual-select$suffix\" size=\"1\" >"; $o .= "<select name=\"sexual$suffix\" id=\"sexual-select$suffix\" size=\"1\" >";
foreach ($select as $selection) { foreach ($select as $selection) {
@ -166,7 +167,7 @@ class ContactSelector
$o = ''; $o = '';
$select = ['', t('Single'), t('Lonely'), t('Available'), t('Unavailable'), t('Has crush'), t('Infatuated'), t('Dating'), t('Unfaithful'), t('Sex Addict'), t('Friends'), t('Friends/Benefits'), t('Casual'), t('Engaged'), t('Married'), t('Imaginarily married'), t('Partners'), t('Cohabiting'), t('Common law'), t('Happy'), t('Not looking'), t('Swinger'), t('Betrayed'), t('Separated'), t('Unstable'), t('Divorced'), t('Imaginarily divorced'), t('Widowed'), t('Uncertain'), t('It\'s complicated'), t('Don\'t care'), t('Ask me')]; $select = ['', t('Single'), t('Lonely'), t('Available'), t('Unavailable'), t('Has crush'), t('Infatuated'), t('Dating'), t('Unfaithful'), t('Sex Addict'), t('Friends'), t('Friends/Benefits'), t('Casual'), t('Engaged'), t('Married'), t('Imaginarily married'), t('Partners'), t('Cohabiting'), t('Common law'), t('Happy'), t('Not looking'), t('Swinger'), t('Betrayed'), t('Separated'), t('Unstable'), t('Divorced'), t('Imaginarily divorced'), t('Widowed'), t('Uncertain'), t('It\'s complicated'), t('Don\'t care'), t('Ask me')];
call_hooks('marital_selector', $select); Addon::callHooks('marital_selector', $select);
$o .= '<select name="marital" id="marital-select" size="1" >'; $o .= '<select name="marital" id="marital-select" size="1" >';
foreach ($select as $selection) { foreach ($select as $selection) {

View File

@ -5,6 +5,7 @@
*/ */
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
@ -36,7 +37,7 @@ class Feature
} }
$arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $x]; $arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $x];
call_hooks('isEnabled', $arr); Addon::callHooks('isEnabled', $arr);
return($arr['enabled']); return($arr['enabled']);
} }
@ -150,7 +151,7 @@ class Feature
} }
} }
call_hooks('get', $arr); Addon::callHooks('get', $arr);
return $arr; return $arr;
} }
} }

View File

@ -6,6 +6,7 @@ namespace Friendica\Content;
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -57,7 +58,7 @@ class Nav
'$search_hint' => t('@name, !forum, #tags, content') '$search_hint' => t('@name, !forum, #tags, content')
]); ]);
call_hooks('page_header', $a->page['nav']); Addon::callHooks('page_header', $a->page['nav']);
} }
/** /**
@ -224,7 +225,7 @@ class Nav
$banner = '<a href="https://friendi.ca"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="https://friendi.ca">Friendica</a></span>'; $banner = '<a href="https://friendi.ca"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="https://friendi.ca">Friendica</a></span>';
} }
call_hooks('nav_info', $nav); Addon::callHooks('nav_info', $nav);
return [ return [
'sitelocation' => $sitelocation, 'sitelocation' => $sitelocation,

View File

@ -6,6 +6,7 @@
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\Core\Addon;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Config; use Friendica\Core\Config;
@ -154,7 +155,7 @@ class OEmbed
} }
} }
call_hooks('oembed_fetch_url', $embedurl, $j); Addon::callHooks('oembed_fetch_url', $embedurl, $j);
return $j; return $j;
} }

View File

@ -15,6 +15,7 @@
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -139,7 +140,7 @@ class Smilies
]; ];
$params = ['texts' => $texts, 'icons' => $icons]; $params = ['texts' => $texts, 'icons' => $icons];
call_hooks('smilie', $params); Addon::callHooks('smilie', $params);
return $params; return $params;
} }

View File

@ -6,6 +6,7 @@ namespace Friendica\Content;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -74,23 +75,23 @@ class Widget
{ {
$networks = array(); $networks = array();
if (!plugin_enabled("appnet")) { if (!Addon::isEnabled("appnet")) {
$networks[] = NETWORK_APPNET; $networks[] = NETWORK_APPNET;
} }
if (!plugin_enabled("fbpost") && !plugin_enabled("facebook")) { if (!Addon::isEnabled("fbpost") && !Addon::isEnabled("facebook")) {
$networks[] = NETWORK_FACEBOOK; $networks[] = NETWORK_FACEBOOK;
} }
if (!plugin_enabled("statusnet")) { if (!Addon::isEnabled("statusnet")) {
$networks[] = NETWORK_STATUSNET; $networks[] = NETWORK_STATUSNET;
} }
if (!plugin_enabled("pumpio")) { if (!Addon::isEnabled("pumpio")) {
$networks[] = NETWORK_PUMPIO; $networks[] = NETWORK_PUMPIO;
} }
if (!plugin_enabled("twitter")) { if (!Addon::isEnabled("twitter")) {
$networks[] = NETWORK_TWITTER; $networks[] = NETWORK_TWITTER;
} }
@ -102,7 +103,7 @@ class Widget
$networks[] = NETWORK_DIASPORA; $networks[] = NETWORK_DIASPORA;
} }
if (!plugin_enabled("pnut")) { if (!Addon::isEnabled("pnut")) {
$networks[] = NETWORK_PNUT; $networks[] = NETWORK_PNUT;
} }

View File

@ -8,6 +8,9 @@ use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use dba;
require_once 'include/dba.php';
/** /**
* Some functions to handle addons * Some functions to handle addons
@ -17,16 +20,17 @@ class Addon
/** /**
* @brief uninstalls an addon. * @brief uninstalls an addon.
* *
* @param string $plugin name of the addon * @param string $addon name of the addon
* @return boolean * @return boolean
*/ */
function uninstall_plugin($plugin) { public static function uninstall($addon)
logger("Addons: uninstalling " . $plugin); {
dba::delete('addon', ['name' => $plugin]); logger("Addons: uninstalling " . $addon);
dba::delete('addon', ['name' => $addon]);
@include_once('addon/' . $plugin . '/' . $plugin . '.php'); @include_once('addon/' . $addon . '/' . $addon . '.php');
if (function_exists($plugin . '_uninstall')) { if (function_exists($addon . '_uninstall')) {
$func = $plugin . '_uninstall'; $func = $addon . '_uninstall';
$func(); $func();
} }
} }
@ -34,76 +38,79 @@ class Addon
/** /**
* @brief installs an addon. * @brief installs an addon.
* *
* @param string $plugin name of the addon * @param string $addon name of the addon
* @return bool * @return bool
*/ */
function install_plugin($plugin) { public static function install($addon)
// silently fail if plugin was removed {
// silently fail if addon was removed
if (!file_exists('addon/' . $plugin . '/' . $plugin . '.php')) { if (!file_exists('addon/' . $addon . '/' . $addon . '.php')) {
return false; return false;
} }
logger("Addons: installing " . $plugin); logger("Addons: installing " . $addon);
$t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php'); $t = @filemtime('addon/' . $addon . '/' . $addon . '.php');
@include_once('addon/' . $plugin . '/' . $plugin . '.php'); @include_once('addon/' . $addon . '/' . $addon . '.php');
if (function_exists($plugin . '_install')) { if (function_exists($addon . '_install')) {
$func = $plugin . '_install'; $func = $addon . '_install';
$func(); $func();
$plugin_admin = (function_exists($plugin."_plugin_admin") ? 1 : 0); $addon_admin = (function_exists($addon."_plugin_admin") ? 1 : 0);
dba::insert('addon', ['name' => $plugin, 'installed' => true, dba::insert('addon', ['name' => $addon, 'installed' => true,
'timestamp' => $t, 'plugin_admin' => $plugin_admin]); 'timestamp' => $t, 'plugin_admin' => $addon_admin]);
// we can add the following with the previous SQL // we can add the following with the previous SQL
// once most site tables have been updated. // once most site tables have been updated.
// This way the system won't fall over dead during the update. // This way the system won't fall over dead during the update.
if (file_exists('addon/' . $plugin . '/.hidden')) { if (file_exists('addon/' . $addon . '/.hidden')) {
dba::update('addon', ['hidden' => true], ['name' => $plugin]); dba::update('addon', ['hidden' => true], ['name' => $addon]);
} }
return true; return true;
} else { } else {
logger("Addons: FAILED installing " . $plugin); logger("Addons: FAILED installing " . $addon);
return false; return false;
} }
} }
// reload all updated plugins /**
* reload all updated addons
*/
public static function reload()
{
$addons = Config::get('system', 'addon');
if (strlen($addons)) {
function reload_plugins() { $r = dba::select('addon', [], ['installed' => 1]);
$plugins = Config::get('system', 'addon');
if (strlen($plugins)) {
$r = q("SELECT * FROM `addon` WHERE `installed` = 1");
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
$installed = $r; $installed = $r;
} else { } else {
$installed = []; $installed = [];
} }
$parr = explode(',',$plugins); $addon_list = explode(',', $addons);
if (count($parr)) { if (count($addon_list)) {
foreach ($parr as $pl) { foreach ($addon_list as $addon) {
$pl = trim($pl); $addon = trim($addon);
$fname = 'addon/' . $pl . '/' . $pl . '.php'; $fname = 'addon/' . $addon . '/' . $addon . '.php';
if (file_exists($fname)) { if (file_exists($fname)) {
$t = @filemtime($fname); $t = @filemtime($fname);
foreach ($installed as $i) { foreach ($installed as $i) {
if (($i['name'] == $pl) && ($i['timestamp'] != $t)) { if (($i['name'] == $addon) && ($i['timestamp'] != $t)) {
logger('Reloading plugin: ' . $i['name']); logger('Reloading addon: ' . $i['name']);
@include_once($fname); @include_once($fname);
if (function_exists($pl . '_uninstall')) { if (function_exists($addon . '_uninstall')) {
$func = $pl . '_uninstall'; $func = $addon . '_uninstall';
$func(); $func();
} }
if (function_exists($pl . '_install')) { if (function_exists($addon . '_install')) {
$func = $pl . '_install'; $func = $addon . '_install';
$func(); $func();
} }
dba::update('addon', ['timestamp' => $t], ['id' => $i['id']]); dba::update('addon', ['timestamp' => $t], ['id' => $i['id']]);
@ -113,17 +120,17 @@ class Addon
} }
} }
} }
} }
/** /**
* @brief check if addon is enabled * @brief check if addon is enabled
* *
* @param string $plugin * @param string $addon
* @return boolean * @return boolean
*/ */
function plugin_enabled($plugin) { public static function isEnabled($addon)
return dba::exists('addon', ['installed' => true, 'name' => $plugin]); {
return dba::exists('addon', ['installed' => true, 'name' => $addon]);
} }
@ -136,7 +143,8 @@ class Addon
* @param int $priority A priority (defaults to 0) * @param int $priority A priority (defaults to 0)
* @return mixed|bool * @return mixed|bool
*/ */
function register_hook($hook, $file, $function, $priority=0) { public static function registerHook($hook, $file, $function, $priority = 0)
{
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; $condition = ['hook' => $hook, 'file' => $file, 'function' => $function];
$exists = dba::exists('hook', $condition); $exists = dba::exists('hook', $condition);
if ($exists) { if ($exists) {
@ -156,14 +164,15 @@ class Addon
* @param string $function the name of the function that the hook called * @param string $function the name of the function that the hook called
* @return array * @return array
*/ */
function unregister_hook($hook, $file, $function) { public static function unregisterHook($hook, $file, $function)
{
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; $condition = ['hook' => $hook, 'file' => $file, 'function' => $function];
$r = dba::delete('hook', $condition); $r = dba::delete('hook', $condition);
return $r; return $r;
} }
function load_hooks() { public static function loadHooks() {
$a = get_app(); $a = get_app();
$a->hooks = []; $a->hooks = [];
$r = dba::select('hook', ['hook', 'file', 'function'], [], ['order' => ['priority' => 'desc', 'file']]); $r = dba::select('hook', ['hook', 'file', 'function'], [], ['order' => ['priority' => 'desc', 'file']]);
@ -186,13 +195,13 @@ class Addon
* @param string $name of the hook to call * @param string $name of the hook to call
* @param string|array &$data to transmit to the callback handler * @param string|array &$data to transmit to the callback handler
*/ */
function call_hooks($name, &$data = null) public static function callHooks($name, &$data = null)
{ {
$a = get_app(); $a = get_app();
if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) { if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) {
foreach ($a->hooks[$name] as $hook) { foreach ($a->hooks[$name] as $hook) {
call_single_hook($a, $name, $hook, $data); self::callSingleHook($a, $name, $hook, $data);
} }
} }
} }
@ -204,7 +213,8 @@ class Addon
* @param array $hook Hook data * @param array $hook Hook data
* @param string|array &$data to transmit to the callback handler * @param string|array &$data to transmit to the callback handler
*/ */
function call_single_hook($a, $name, $hook, &$data = null) { public static function callSingleHook($a, $name, $hook, &$data = null)
{
// Don't run a theme's hook if the user isn't using the theme // Don't run a theme's hook if the user isn't using the theme
if (strpos($hook[0], 'view/theme/') !== false && strpos($hook[0], 'view/theme/'.current_theme()) === false) if (strpos($hook[0], 'view/theme/') !== false && strpos($hook[0], 'view/theme/'.current_theme()) === false)
return; return;
@ -220,9 +230,12 @@ class Addon
} }
} }
//check if an app_menu hook exist for plugin $name. /**
//Return true if the plugin is an app * check if an app_menu hook exist for addon $name.
function plugin_is_app($name) { * Return true if the addon is an app
*/
function isApp($name)
{
$a = get_app(); $a = get_app();
if (is_array($a->hooks) && (array_key_exists('app_menu',$a->hooks))) { if (is_array($a->hooks) && (array_key_exists('app_menu',$a->hooks))) {
@ -236,37 +249,39 @@ class Addon
} }
/** /**
* @brief Parse plugin comment in search of plugin infos. * @brief Parse addon comment in search of addon infos.
* *
* like * like
* \code * \code
*...* Name: Plugin *...* Name: addon
* * Description: A plugin which plugs in * * Description: An addon which plugs in
* . * Version: 1.2.3 * . * Version: 1.2.3
* * Author: John <profile url> * * Author: John <profile url>
* * Author: Jane <email> * * Author: Jane <email>
* * * *
* *\endcode * *\endcode
* @param string $plugin the name of the plugin * @param string $addon the name of the addon
* @return array with the plugin information * @return array with the addon information
*/ */
function get_plugin_info($plugin) { public static function getInfo($addon) {
$a = get_app(); $a = get_app();
$info=[ $info=[
'name' => $plugin, 'name' => $addon,
'description' => "", 'description' => "",
'author' => [], 'author' => [],
'version' => "", 'version' => "",
'status' => "" 'status' => ""
]; ];
if (!is_file("addon/$plugin/$plugin.php")) return $info; if (!is_file("addon/$addon/$addon.php")) {
return $info;
}
$stamp1 = microtime(true); $stamp1 = microtime(true);
$f = file_get_contents("addon/$plugin/$plugin.php"); $f = file_get_contents("addon/$addon/$addon.php");
$a->save_timestamp($stamp1, "file"); $a->save_timestamp($stamp1, "file");
$r = preg_match("|/\*.*\*/|msU", $f, $m); $r = preg_match("|/\*.*\*/|msU", $f, $m);
@ -293,7 +308,6 @@ class Addon
} }
} }
} }
return $info; return $info;
} }

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Core; namespace Friendica\Core;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -1030,7 +1031,7 @@ class Worker
$arr = ['args' => $args, 'run_cmd' => true]; $arr = ['args' => $args, 'run_cmd' => true];
call_hooks("proc_run", $arr); Addon::callHooks("proc_run", $arr);
if (!$arr['run_cmd'] || !count($args)) { if (!$arr['run_cmd'] || !count($args)) {
return true; return true;
} }

View File

@ -5,6 +5,7 @@
namespace Friendica\Model; namespace Friendica\Model;
use Friendica\BaseObject; use Friendica\BaseObject;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -559,7 +560,7 @@ class Contact extends BaseObject
$args = ['contact' => $contact, 'menu' => &$menu]; $args = ['contact' => $contact, 'menu' => &$menu];
call_hooks('contact_photo_menu', $args); Addon::callHooks('contact_photo_menu', $args);
$menucondensed = []; $menucondensed = [];
@ -1146,7 +1147,7 @@ class Contact extends BaseObject
$arr = ['url' => $url, 'contact' => []]; $arr = ['url' => $url, 'contact' => []];
call_hooks('follow', $arr); Addon::callHooks('follow', $arr);
if (x($arr['contact'], 'name')) { if (x($arr['contact'], 'name')) {
$ret = $arr['contact']; $ret = $arr['contact'];

View File

@ -8,6 +8,7 @@ namespace Friendica\Model;
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\ForumManager; use Friendica\Content\ForumManager;
use Friendica\Core\Addon;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
@ -286,7 +287,7 @@ class Profile
$profile['network_name'] = ''; $profile['network_name'] = '';
} }
call_hooks('profile_sidebar_enter', $profile); Addon::callHooks('profile_sidebar_enter', $profile);
// don't show connect link to yourself // don't show connect link to yourself
@ -520,7 +521,7 @@ class Profile
$arr = ['profile' => &$profile, 'entry' => &$o]; $arr = ['profile' => &$profile, 'entry' => &$o];
call_hooks('profile_sidebar', $arr); Addon::callHooks('profile_sidebar', $arr);
return $o; return $o;
} }
@ -939,7 +940,7 @@ class Profile
} }
$arr = ['is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => $tab, 'tabs' => $tabs]; $arr = ['is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => $tab, 'tabs' => $tabs];
call_hooks('profile_tabs', $arr); Addon::callHooks('profile_tabs', $arr);
$tpl = get_markup_template('common_tabs.tpl'); $tpl = get_markup_template('common_tabs.tpl');
@ -976,7 +977,7 @@ class Profile
Worker::add(PRIORITY_LOW, 'GProbe', $my_url); Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
$arr = ['zrl' => $my_url, 'url' => $a->cmd]; $arr = ['zrl' => $my_url, 'url' => $a->cmd];
call_hooks('zrl_init', $arr); Addon::callHooks('zrl_init', $arr);
} }
} }

View File

@ -7,6 +7,7 @@
namespace Friendica\Model; namespace Friendica\Model;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -433,7 +434,7 @@ class User
} }
} }
call_hooks('register_account', $uid); Addon::callHooks('register_account', $uid);
$return['user'] = $user; $return['user'] = $user;
return $return; return $return;
@ -532,7 +533,7 @@ class User
$user = dba::selectFirst('user', [], ['uid' => $uid]); $user = dba::selectFirst('user', [], ['uid' => $uid]);
call_hooks('remove_user', $user); Addon::callHooks('remove_user', $user);
// save username (actually the nickname as it is guaranteed // save username (actually the nickname as it is guaranteed
// unique), so it cannot be re-registered in the future. // unique), so it cannot be re-registered in the future.

View File

@ -3,6 +3,7 @@
namespace Friendica\Module; namespace Friendica\Module;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\User; use Friendica\Model\User;
@ -92,7 +93,7 @@ class Login extends BaseModule
* Plugins should never set 'authenticated' except to indicate success - as hooks may be chained * Plugins should never set 'authenticated' except to indicate success - as hooks may be chained
* and later plugins should not interfere with an earlier one that succeeded. * and later plugins should not interfere with an earlier one that succeeded.
*/ */
call_hooks('authenticate', $addon_auth); Addon::callHooks('authenticate', $addon_auth);
if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) { if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) {
$record = $addon_auth['user_record']; $record = $addon_auth['user_record'];
@ -299,7 +300,7 @@ class Login extends BaseModule
] ]
); );
call_hooks('login_hook', $o); Addon::callHooks('login_hook', $o);
return $o; return $o;
} }

View File

@ -3,10 +3,10 @@
namespace Friendica\Module; namespace Friendica\Module;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Addon;
require_once 'boot.php'; require_once 'boot.php';
require_once 'include/pgettext.php'; require_once 'include/pgettext.php';
require_once 'include/plugin.php';
require_once 'include/security.php'; require_once 'include/security.php';
/** /**
@ -21,7 +21,7 @@ class Logout extends BaseModule
*/ */
public static function init() public static function init()
{ {
call_hooks("logging_out"); Addon::callHooks("logging_out");
nuke_session(); nuke_session();
info(t('Logged out.') . EOL); info(t('Logged out.') . EOL);
goaway(self::getApp()->get_baseurl()); goaway(self::getApp()->get_baseurl());

View File

@ -5,6 +5,7 @@
namespace Friendica\Network; namespace Friendica\Network;
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -72,6 +73,6 @@ class FKOAuth1 extends OAuthServer
dba::update('user', ['login_date' => datetime_convert()], ['uid' => $_SESSION['uid']]); dba::update('user', ['login_date' => datetime_convert()], ['uid' => $_SESSION['uid']]);
call_hooks('logged_in', $a->user); Addon::callHooks('logged_in', $a->user);
} }
} }

View File

@ -7,6 +7,7 @@ namespace Friendica\Object;
use Friendica\BaseObject; use Friendica\BaseObject;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Addon;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Database\DBM; use Friendica\Database\DBM;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -214,7 +215,7 @@ class Post extends BaseObject
} }
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => '']; $locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
call_hooks('render_location', $locate); Addon::callHooks('render_location', $locate);
$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate)); $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
// process action responses - e.g. like/dislike/attend/agree/whatever // process action responses - e.g. like/dislike/attend/agree/whatever
@ -405,7 +406,7 @@ class Post extends BaseObject
]; ];
$arr = ['item' => $item, 'output' => $tmp_item]; $arr = ['item' => $item, 'output' => $tmp_item];
call_hooks('display_item', $arr); Addon::callHooks('display_item', $arr);
$result = $arr['output']; $result = $arr['output'];

View File

@ -10,6 +10,7 @@ namespace Friendica\Protocol;
use Friendica\App; use Friendica\App;
use Friendica\Content\OEmbed; use Friendica\Content\OEmbed;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -269,12 +270,12 @@ class DFRN
$root = self::addHeader($doc, $owner, $author, $alternatelink, true); $root = self::addHeader($doc, $owner, $author, $alternatelink, true);
/// @TODO This hook can't work anymore /// @TODO This hook can't work anymore
// call_hooks('atom_feed', $atom); // Addon::callHooks('atom_feed', $atom);
if (!DBM::is_result($items) || $onlyheader) { if (!DBM::is_result($items) || $onlyheader) {
$atom = trim($doc->saveXML()); $atom = trim($doc->saveXML());
call_hooks('atom_feed_end', $atom); Addon::callHooks('atom_feed_end', $atom);
return $atom; return $atom;
} }
@ -303,7 +304,7 @@ class DFRN
$atom = trim($doc->saveXML()); $atom = trim($doc->saveXML());
call_hooks('atom_feed_end', $atom); Addon::callHooks('atom_feed_end', $atom);
return $atom; return $atom;
} }

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Util; namespace Friendica\Util;
use Friendica\Core\Addon;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Protocol\Email; use Friendica\Protocol\Email;
@ -30,7 +31,7 @@ class Emailer
*/ */
public static function send($params) public static function send($params)
{ {
call_hooks('emailer_send_prepare', $params); Addon::callHooks('emailer_send_prepare', $params);
$email_textonly = false; $email_textonly = false;
if (x($params, "uid")) { if (x($params, "uid")) {
@ -79,7 +80,7 @@ class Emailer
'headers' => $messageHeader 'headers' => $messageHeader
]; ];
//echo "<pre>"; var_dump($hookdata); killme(); //echo "<pre>"; var_dump($hookdata); killme();
call_hooks("emailer_send", $hookdata); Addon::callHooks("emailer_send", $hookdata);
$res = mail( $res = mail(
$hookdata['to'], // send to address $hookdata['to'], // send to address
$hookdata['subject'], // subject $hookdata['subject'], // subject

View File

@ -4,6 +4,8 @@
*/ */
namespace Friendica\Util; namespace Friendica\Util;
use Friendica\Core\Addon;
/** /**
* Leaflet Map related functions * Leaflet Map related functions
*/ */
@ -12,13 +14,13 @@ class Map {
$coord = trim($coord); $coord = trim($coord);
$coord = str_replace([',','/',' '],[' ',' ',' '],$coord); $coord = str_replace([',','/',' '],[' ',' ',' '],$coord);
$arr = ['lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'html' => '']; $arr = ['lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'html' => ''];
call_hooks('generate_map',$arr); Addon::callHooks('generate_map',$arr);
return ($arr['html']) ? $arr['html'] : $coord; return ($arr['html']) ? $arr['html'] : $coord;
} }
public static function byLocation($location) { public static function byLocation($location) {
$arr = ['location' => $location, 'html' => '']; $arr = ['location' => $location, 'html' => ''];
call_hooks('generate_named_map',$arr); Addon::callHooks('generate_named_map',$arr);
return ($arr['html']) ? $arr['html'] : $location; return ($arr['html']) ? $arr['html'] : $location;
} }
} }

View File

@ -6,6 +6,7 @@
namespace Friendica\Util; namespace Friendica\Util;
use Friendica\Content\OEmbed; use Friendica\Content\OEmbed;
use Friendica\Core\Addon;
use Friendica\Object\Image; use Friendica\Object\Image;
use Friendica\Util\XML; use Friendica\Util\XML;
@ -425,7 +426,7 @@ class ParseUrl
logger("parseurl_getsiteinfo: Siteinfo for ".$url." ".print_r($siteinfo, true), LOGGER_DEBUG); logger("parseurl_getsiteinfo: Siteinfo for ".$url." ".print_r($siteinfo, true), LOGGER_DEBUG);
call_hooks("getsiteinfo", $siteinfo); Addon::callHooks("getsiteinfo", $siteinfo);
return($siteinfo); return($siteinfo);
} }

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -138,7 +139,7 @@ Class Cron {
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : ""); $sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
reload_plugins(); Addon::reload();
$d = datetime_convert(); $d = datetime_convert();

View File

@ -5,6 +5,7 @@
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -18,7 +19,7 @@ Class CronHooks {
foreach ($a->hooks["cron"] as $single_hook) { foreach ($a->hooks["cron"] as $single_hook) {
if ($single_hook[1] == $hook) { if ($single_hook[1] == $hook) {
logger("Calling cron hook '" . $hook . "'", LOGGER_DEBUG); logger("Calling cron hook '" . $hook . "'", LOGGER_DEBUG);
call_single_hook($a, $hook, $single_hook); Addon::callSingleHook($a, $hook, $single_hook);
} }
} }
return; return;

View File

@ -6,6 +6,7 @@
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -27,7 +28,7 @@ class Directory {
$arr = ['url' => $url]; $arr = ['url' => $url];
call_hooks('globaldir_update', $arr); Addon::callHooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG); logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
if (strlen($arr['url'])) { if (strlen($arr['url'])) {

View File

@ -6,6 +6,7 @@
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -20,7 +21,7 @@ class Expire {
require_once 'include/datetime.php'; require_once 'include/datetime.php';
require_once 'include/items.php'; require_once 'include/items.php';
load_hooks(); Addon::loadHooks();
if ($param == 'delete') { if ($param == 'delete') {
logger('Delete expired items', LOGGER_DEBUG); logger('Delete expired items', LOGGER_DEBUG);
@ -50,7 +51,7 @@ class Expire {
foreach ($a->hooks["expire"] as $hook) { foreach ($a->hooks["expire"] as $hook) {
if ($hook[1] == $hook_name) { if ($hook[1] == $hook_name) {
logger("Calling expire hook '" . $hook[1] . "'", LOGGER_DEBUG); logger("Calling expire hook '" . $hook[1] . "'", LOGGER_DEBUG);
call_single_hook($a, $hook_name, $hook, $data); Addon::callSingleHook($a, $hook_name, $hook, $data);
} }
} }
return; return;

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -553,10 +554,10 @@ class Notifier {
logger('notifier: calling hooks', LOGGER_DEBUG); logger('notifier: calling hooks', LOGGER_DEBUG);
if ($normal_mode) { if ($normal_mode) {
call_hooks('notifier_normal',$target_item); Addon::callHooks('notifier_normal',$target_item);
} }
call_hooks('notifier_end',$target_item); Addon::callHooks('notifier_end',$target_item);
return; return;
} }

View File

@ -4,6 +4,7 @@
*/ */
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Addon;
use Friendica\Core\Cache; use Friendica\Core\Cache;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -55,7 +56,7 @@ class Queue
*/ */
$r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`"); $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`");
call_hooks('queue_predeliver', $r); Addon::callHooks('queue_predeliver', $r);
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
foreach ($r as $q_item) { foreach ($r as $q_item) {
@ -159,7 +160,7 @@ class Queue
default: default:
$params = ['owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false]; $params = ['owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false];
call_hooks('queue_deliver', $params); Addon::callHooks('queue_deliver', $params);
if ($params['result']) { if ($params['result']) {
QueueModel::removeItem($q_item['id']); QueueModel::removeItem($q_item['id']);

View File

@ -1,5 +1,6 @@
<?php <?php
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\Worker; use Friendica\Core\Worker;
@ -85,7 +86,7 @@ function update_1191() {
Config::set('system', 'maintenance', 1); Config::set('system', 'maintenance', 1);
if (plugin_enabled('forumlist')) { if (Addon::isEnabled('forumlist')) {
$plugin = 'forumlist'; $plugin = 'forumlist';
$plugins = Config::get('system','addon'); $plugins = Config::get('system','addon');
$plugins_arr = []; $plugins_arr = [];
@ -97,7 +98,7 @@ function update_1191() {
if ($idx !== false){ if ($idx !== false){
unset($plugins_arr[$idx]); unset($plugins_arr[$idx]);
//delete forumlist manually from addon and hook table //delete forumlist manually from addon and hook table
// since uninstall_plugin() don't work here // since Addon::uninstall() don't work here
q("DELETE FROM `addon` WHERE `name` = 'forumlist' "); q("DELETE FROM `addon` WHERE `name` = 'forumlist' ");
q("DELETE FROM `hook` WHERE `file` = 'addon/forumlist/forumlist.php' "); q("DELETE FROM `hook` WHERE `file` = 'addon/forumlist/forumlist.php' ");
Config::set('system','addon', implode(", ",$plugins_arr)); Config::set('system','addon', implode(", ",$plugins_arr));

View File

@ -5,7 +5,7 @@
* @brief: Get info header of the shema * @brief: Get info header of the shema
* *
* This function parses the header of the shemename.php file for inormations like * This function parses the header of the shemename.php file for inormations like
* Author, Description and Overwrites. Most of the code comes from the get_plugin_info() * Author, Description and Overwrites. Most of the code comes from the Addon::getInfo()
* function. We use this to get the variables which get overwritten through the shema. * function. We use this to get the variables which get overwritten through the shema.
* All color variables which get overwritten through the theme have to be * All color variables which get overwritten through the theme have to be
* listed (comma seperated) in the shema header under Overwrites: * listed (comma seperated) in the shema header under Overwrites:

View File

@ -8,6 +8,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -52,24 +53,24 @@ EOT;
function frio_install() function frio_install()
{ {
register_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); Addon::registerHook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
register_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); Addon::registerHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
register_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); Addon::registerHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
register_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); Addon::registerHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
register_hook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); Addon::registerHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
register_hook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); Addon::registerHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
logger("installed theme frio"); logger("installed theme frio");
} }
function frio_uninstall() function frio_uninstall()
{ {
unregister_hook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links'); Addon::unregisterHook('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
unregister_hook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu'); Addon::unregisterHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
unregister_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu'); Addon::unregisterHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
unregister_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav'); Addon::unregisterHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
unregister_hook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup'); Addon::unregisterHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
unregister_hook('display_item', 'view/theme/frio/theme.php', 'frio_display_item'); Addon::unregisterHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
logger("uninstalled theme frio"); logger("uninstalled theme frio");
} }

View File

@ -10,6 +10,7 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Object\Image; use Friendica\Object\Image;
@ -35,13 +36,13 @@ function frost_content_loaded(App $a) {
} }
function frost_install() { function frost_install() {
register_hook('prepare_body_final', 'view/theme/frost/theme.php', 'frost_item_photo_links'); Addon::registerHook('prepare_body_final', 'view/theme/frost/theme.php', 'frost_item_photo_links');
logger("installed theme frost"); logger("installed theme frost");
} }
function frost_uninstall() { function frost_uninstall() {
unregister_hook('bbcode', 'view/theme/frost/theme.php', 'frost_bbcode'); Addon::unregisterHook('bbcode', 'view/theme/frost/theme.php', 'frost_bbcode');
logger("uninstalled theme frost"); logger("uninstalled theme frost");
} }

View File

@ -11,6 +11,7 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\ForumManager; use Friendica\Content\ForumManager;
use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
@ -313,64 +314,64 @@ function vier_community_info() {
/// @TODO This whole thing is hard-coded, better rewrite to Intercepting Filter Pattern (future-todo) /// @TODO This whole thing is hard-coded, better rewrite to Intercepting Filter Pattern (future-todo)
$r = []; $r = [];
if (plugin_enabled("appnet")) { if (Addon::isEnabled("appnet")) {
$r[] = ["photo" => "images/appnet.png", "name" => "App.net"]; $r[] = ["photo" => "images/appnet.png", "name" => "App.net"];
} }
if (plugin_enabled("buffer")) { if (Addon::isEnabled("buffer")) {
$r[] = ["photo" => "images/buffer.png", "name" => "Buffer"]; $r[] = ["photo" => "images/buffer.png", "name" => "Buffer"];
} }
if (plugin_enabled("blogger")) { if (Addon::isEnabled("blogger")) {
$r[] = ["photo" => "images/blogger.png", "name" => "Blogger"]; $r[] = ["photo" => "images/blogger.png", "name" => "Blogger"];
} }
if (plugin_enabled("dwpost")) { if (Addon::isEnabled("dwpost")) {
$r[] = ["photo" => "images/dreamwidth.png", "name" => "Dreamwidth"]; $r[] = ["photo" => "images/dreamwidth.png", "name" => "Dreamwidth"];
} }
if (plugin_enabled("fbpost")) { if (Addon::isEnabled("fbpost")) {
$r[] = ["photo" => "images/facebook.png", "name" => "Facebook"]; $r[] = ["photo" => "images/facebook.png", "name" => "Facebook"];
} }
if (plugin_enabled("ifttt")) { if (Addon::isEnabled("ifttt")) {
$r[] = ["photo" => "addon/ifttt/ifttt.png", "name" => "IFTTT"]; $r[] = ["photo" => "addon/ifttt/ifttt.png", "name" => "IFTTT"];
} }
if (plugin_enabled("statusnet")) { if (Addon::isEnabled("statusnet")) {
$r[] = ["photo" => "images/gnusocial.png", "name" => "GNU Social"]; $r[] = ["photo" => "images/gnusocial.png", "name" => "GNU Social"];
} }
if (plugin_enabled("gpluspost")) { if (Addon::isEnabled("gpluspost")) {
$r[] = ["photo" => "images/googleplus.png", "name" => "Google+"]; $r[] = ["photo" => "images/googleplus.png", "name" => "Google+"];
} }
/// @TODO old-lost code (and below)? /// @TODO old-lost code (and below)?
//if (plugin_enabled("ijpost")) { //if (Addon::isEnabled("ijpost")) {
// $r[] = array("photo" => "images/", "name" => ""); // $r[] = array("photo" => "images/", "name" => "");
//} //}
if (plugin_enabled("libertree")) { if (Addon::isEnabled("libertree")) {
$r[] = ["photo" => "images/libertree.png", "name" => "Libertree"]; $r[] = ["photo" => "images/libertree.png", "name" => "Libertree"];
} }
//if (plugin_enabled("ljpost")) { //if (Addon::isEnabled("ljpost")) {
// $r[] = array("photo" => "images/", "name" => ""); // $r[] = array("photo" => "images/", "name" => "");
//} //}
if (plugin_enabled("pumpio")) { if (Addon::isEnabled("pumpio")) {
$r[] = ["photo" => "images/pumpio.png", "name" => "pump.io"]; $r[] = ["photo" => "images/pumpio.png", "name" => "pump.io"];
} }
if (plugin_enabled("tumblr")) { if (Addon::isEnabled("tumblr")) {
$r[] = ["photo" => "images/tumblr.png", "name" => "Tumblr"]; $r[] = ["photo" => "images/tumblr.png", "name" => "Tumblr"];
} }
if (plugin_enabled("twitter")) { if (Addon::isEnabled("twitter")) {
$r[] = ["photo" => "images/twitter.png", "name" => "Twitter"]; $r[] = ["photo" => "images/twitter.png", "name" => "Twitter"];
} }
if (plugin_enabled("wppost")) { if (Addon::isEnabled("wppost")) {
$r[] = ["photo" => "images/wordpress.png", "name" => "Wordpress"]; $r[] = ["photo" => "images/wordpress.png", "name" => "Wordpress"];
} }