Update function names and calls for Addon class.
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Module\Login;
require_once 'include/network.php';
-require_once 'include/plugin.php';
require_once 'include/text.php';
require_once 'include/datetime.php';
require_once 'include/pgettext.php';
if (count($installed)) {
foreach ($installed as $i) {
if (!in_array($i['name'], $plugins_arr)) {
- uninstall_plugin($i['name']);
+ Addon::uninstall($i['name']);
} else {
$installed_arr[] = $i['name'];
}
if (count($plugins_arr)) {
foreach ($plugins_arr as $p) {
if (!in_array($p, $installed_arr)) {
- install_plugin($p);
+ Addon::install($p);
}
}
}
- load_hooks();
+ Addon::loadHooks();
return;
}
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.
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: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);
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.
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: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);
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Widget;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Database\DBM;
use Friendica\Model\Contact;
// 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)) {
foreach ($r as $rr) {
}
$o .= "</select>\r\n";
- call_hooks($a->module . '_post_' . $selname, $o);
+ Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o;
$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 = '';
// 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)) {
foreach ($r as $rr) {
$o .= "</select>\r\n";
- call_hooks($a->module . '_post_' . $selname, $o);
+ Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o;
}
// 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 = [];
$o .= implode(", ", $receiverlist);
}
- call_hooks($a->module . '_post_' . $selname, $o);
+ Addon::callHooks($a->module . '_post_' . $selname, $o);
return $o;
}
$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 {
$jotnets .= sprintf(t('Connectors disabled, since "%s" is enabled.'),
t('Hide your profile details from unknown viewers?'));
'search' => $search,
];
- call_hooks('acl_lookup_end', $results);
+ Addon::callHooks('acl_lookup_end', $results);
if ($out_type === 'html') {
$o = [
use Friendica\App;
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Core\NotificationsManager;
list($consumer, $token) = $oauth1->verify_request(OAuthRequest::from_request());
if (!is_null($token)) {
$oauth1->loginUser($token->uid);
- call_hooks('logged_in', $a->user);
+ Addon::callHooks('logged_in', $a->user);
return;
}
echo __FILE__.__LINE__.__FUNCTION__ . "<pre>";
* 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.
*/
- call_hooks('authenticate', $addon_auth);
+ Addon::callHooks('authenticate', $addon_auth);
if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) {
$record = $addon_auth['user_record'];
$_SESSION["allow_api"] = true;
- call_hooks('logged_in', $a->user);
+ Addon::callHooks('logged_in', $a->user);
}
/**
<?php
use Friendica\Content\Text\Markdown;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Network\Probe;
}
, $Text);
- call_hooks('bb2diaspora',$Text);
+ Addon::callHooks('bb2diaspora',$Text);
return $Text;
}
use Friendica\App;
use Friendica\Content\Smilies;
use Friendica\Content\OEmbed;
+use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\System;
use Friendica\Core\Config;
//$Text = str_replace('<br /><li>', '<li>', $Text);
//$Text = str_replace('<br /><ul', '<ul ', $Text);
- call_hooks('bbcode', $Text);
+ Addon::callHooks('bbcode', $Text);
return trim($Text);
}
use Friendica\App;
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
}
$cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview];
- call_hooks('conversation_start',$cb);
+ Addon::callHooks('conversation_start',$cb);
$items = $cb['items'];
}
$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));
];
$arr = ['item' => $item, 'output' => $tmp_item];
- call_hooks('display_item', $arr);
+ Addon::callHooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['network'] = $item['item_network'];
continue;
}
- call_hooks('display_item', $arr);
+ Addon::callHooks('display_item', $arr);
$item['pagedrop'] = $page_dropping;
$args = ['item' => $item, 'menu' => $menu];
- call_hooks('item_photo_menu', $args);
+ Addon::callHooks('item_photo_menu', $args);
$menu = $args['menu'];
]);
$jotplugins = '';
- call_hooks('jot_tool', $jotplugins);
+ Addon::callHooks('jot_tool', $jotplugins);
// Private/public post links for the non-JS ACL form
$private_post = 1;
* @file include/enotify.php
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Database\DBM;
'itemlink' => $itemlink
];
- call_hooks('enotify', $h);
+ Addon::callHooks('enotify', $h);
$subject = $h['subject'];
$datarray['otype'] = $params['otype'];
$datarray['abort'] = false;
- call_hooks('enotify_store', $datarray);
+ Addon::callHooks('enotify_store', $datarray);
if ($datarray['abort']) {
pop_lang();
$datarray['subject'] = $subject;
$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
// always true for SYSTEM_EMAIL
*/
function check_item_notification($itemid, $uid, $defaulttype = "") {
$notification_data = ["uid" => $uid, "profiles" => []];
- call_hooks('check_item_notification', $notification_data);
+ Addon::callHooks('check_item_notification', $notification_data);
$profiles = $notification_data["profiles"];
use Friendica\App;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBM;
$item_id = 0;
}
- call_hooks("event_updated", $arr['id']);
+ Addon::callHooks("event_updated", $arr['id']);
return $item_id;
} else {
);
}
- call_hooks("event_created", $event['id']);
+ Addon::callHooks("event_created", $event['id']);
return $item_id;
}
<?php
+use Friendica\Core\Addon;
use Friendica\Render\ITemplateEngine;
require_once "include/plugin.php";
"template" => basename($s->filename),
"vars" => $r
];
- call_hooks("template_vars", $arr);
+ Addon::callHooks("template_vars", $arr);
$r = $arr['vars'];
foreach ($r as $key => $value) {
* https://github.com/annando/Syncom
*/
+use Friendica\Core\Addon;
use Friendica\Util\XML;
function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb)
$message = preg_replace('=\r *\r=i', "\n", $message);
$message = str_replace("\r", "\n", $message);
- call_hooks('html2bbcode', $message);
+ Addon::callHooks('html2bbcode', $message);
$message = strip_tags($message);
*/
use Friendica\App;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\Worker;
}
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,
// then treat it that way
put_item_in_cache($arr);
if ($notify) {
- call_hooks('post_local', $arr);
+ Addon::callHooks('post_local', $arr);
} else {
- call_hooks('post_remote', $arr);
+ Addon::callHooks('post_remote', $arr);
}
// This array field is used to trigger some automatic reactions
$r = q('SELECT * FROM `item` WHERE `id` = %d', intval($current_post));
if ((DBM::is_result($r)) && (count($r) == 1)) {
if ($notify) {
- call_hooks('post_local_end', $r[0]);
+ Addon::callHooks('post_local_end', $r[0]);
} else {
- call_hooks('post_remote_end', $r[0]);
+ Addon::callHooks('post_remote_end', $r[0]);
}
} else {
logger('item_store: new item not found in DB, id ' . $current_post);
$arr = ['item' => $item, 'user' => $u[0], 'contact' => $r[0]];
- call_hooks('tagged', $arr);
+ Addon::callHooks('tagged', $arr);
if ((! $community_page) && (! $prvgroup)) {
return;
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
$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);
* @file include/network.php
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Network\Probe;
$avatar['url'] = '';
$avatar['success'] = false;
- call_hooks('avatar_lookup', $avatar);
+ Addon::callHooks('avatar_lookup', $avatar);
if (! $avatar['success']) {
$avatar['url'] = System::baseUrl() . '/images/person-175.jpg';
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
}
if ($login_initial) {
- call_hooks('logged_in', $a->user);
+ Addon::callHooks('logged_in', $a->user);
if (($a->module !== 'home') && isset($_SESSION['return_url'])) {
goaway(System::baseUrl() . '/' . $_SESSION['return_url']);
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
use Friendica\Content\Smilies;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
$arr = ['contacts' => $r, 'output' => $o];
- call_hooks('contact_block_end', $arr);
+ Addon::callHooks('contact_block_end', $arr);
return $o;
}
'finger' => ['fingered', t('finger'), t('fingered')],
'rebuff' => ['rebuffed', t('rebuff'), t('rebuffed')],
];
- call_hooks('poke_verbs', $arr);
+ Addon::callHooks('poke_verbs', $arr);
return $arr;
}
function prepare_body(&$item, $attach = false, $preview = false) {
$a = get_app();
- call_hooks('prepare_body_init', $item);
+ Addon::callHooks('prepare_body_init', $item);
$searchpath = System::baseUrl() . "/search?tag=";
$s = $item["rendered-html"];
$prep_arr = ['item' => $item, 'html' => $s, 'preview' => $preview];
- call_hooks('prepare_body', $prep_arr);
+ Addon::callHooks('prepare_body', $prep_arr);
$s = $prep_arr['html'];
if (! $attach) {
}
$prep_arr = ['item' => $item, 'html' => $s];
- call_hooks('prepare_body_final', $prep_arr);
+ Addon::callHooks('prepare_body_final', $prep_arr);
return $prep_arr['html'];
}
use Friendica\App;
use Friendica\BaseObject;
use Friendica\Content\Nav;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Core\Worker;
}
require_once 'include/session.php';
- load_hooks();
- call_hooks('init_1');
+ Addon::loadHooks();
+ Addon::callHooks('init_1');
$maintenance = Config::get('system', 'maintenance');
}
if ((local_user()) || (! $privateapps === "1")) {
$arr = ['app_menu' => $a->apps];
- call_hooks('app_menu', $arr);
+ Addon::callHooks('app_menu', $arr);
$a->apps = $arr['app_menu'];
}
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
- 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. "));
} else {
include_once "addon/{$a->module}/{$a->module}.php";
}
if (!$install && !$maintenance) {
- call_hooks('page_content_top', $a->page['content']);
+ Addon::callHooks('page_content_top', $a->page['content']);
}
/**
$placeholder = '';
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']);
} 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);
}
}
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) {
call_user_func([$a->module_class, 'post']);
} else if (function_exists($a->module . '_post')) {
}
if (! $a->error) {
- call_hooks($a->module . '_mod_afterpost', $placeholder);
+ Addon::callHooks($a->module . '_mod_afterpost', $placeholder);
if ($a->module_class) {
call_user_func([$a->module_class, 'afterpost']);
} else if (function_exists($a->module . '_afterpost')) {
if (! $a->error) {
$arr = ['content' => $a->page['content']];
- call_hooks($a->module . '_mod_content', $arr);
+ Addon::callHooks($a->module . '_mod_content', $arr);
$a->page['content'] = $arr['content'];
if ($a->module_class) {
$arr = ['content' => call_user_func([$a->module_class, 'content'])];
$func = $a->module . '_content';
$arr = ['content' => $func($a)];
}
- call_hooks($a->module . '_mod_aftercontent', $arr);
+ Addon::callHooks($a->module . '_mod_aftercontent', $arr);
$a->page['content'] .= $arr['content'];
}
/*
* 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
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Text\Markdown;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Core\Worker;
$idx = array_search($plugin, $a->plugins);
if ($idx !== false) {
unset($a->plugins[$idx]);
- uninstall_plugin($plugin);
+ Addon::uninstall($plugin);
info(t("Plugin %s disabled.", $plugin));
} else {
$a->plugins[] = $plugin;
- install_plugin($plugin);
+ Addon::install($plugin);
info(t("Plugin %s enabled.", $plugin));
}
Config::set("system", "addon", implode(", ", $a->plugins));
'$plugin' => $plugin,
'$status' => $status,
'$action' => $action,
- '$info' => get_plugin_info($plugin),
+ '$info' => Addon::getInfo($plugin),
'$str_author' => t('Author: '),
'$str_maintainer' => t('Maintainer: '),
*/
if (x($_GET, "a") && $_GET['a'] == "r") {
check_form_security_token_redirectOnErr(System::baseUrl() . '/admin/plugins', 'admin_themes', 't');
- reload_plugins();
+ Addon::reload();
info("Plugins reloaded");
goaway(System::baseUrl() . '/admin/plugins');
}
foreach ($files as $file) {
if (is_dir($file)) {
list($tmp, $id) = array_map("trim", explode("/", $file));
- $info = get_plugin_info($id);
+ $info = Addon::getInfo($id);
$show_plugin = true;
// If the addon is unsupported, then only show it, when it is enabled
use Friendica\Content\ContactSelector;
use Friendica\Content\Nav;
use Friendica\Content\Widget;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
return; // NOTREACHED
}
- call_hooks('contact_edit_post', $_POST);
+ Addon::callHooks('contact_edit_post', $_POST);
$profile_id = intval($_POST['profile-assign']);
if ($profile_id) {
$arr = ['contact' => $contact, 'output' => $o];
- call_hooks('contact_edit', $arr);
+ Addon::callHooks('contact_edit', $arr);
return $arr['output'];
}
use Friendica\App;
use Friendica\Content\Nav;
use Friendica\Content\Widget;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Database\DBM;
use Friendica\Model\Contact;
$arr = ['contact' => $rr, 'entry' => $entry];
- call_hooks('directory_item', $arr);
+ Addon::callHooks('directory_item', $arr);
unset($profile);
unset($location);
*/
use Friendica\App;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Database\DBM;
- call_hooks('jot_tool', $jotplugins);
- //call_hooks('jot_networks', $jotnets);
+ Addon::callHooks('jot_tool', $jotplugins);
+ //Addon::callHooks('jot_networks', $jotnets);
//$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Database\DBM;
$o .= '</tbody></table></div>' . PHP_EOL;
}
- call_hooks('about_hook', $o);
+ Addon::callHooks('about_hook', $o);
return $o;
}
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Module\Login;
function home_init(App $a) {
$ret = [];
- call_hooks('home_init',$ret);
+ Addon::callHooks('home_init',$ret);
if (local_user() && ($a->user['nickname'])) {
goaway(System::baseUrl()."/network");
$login = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? 0 : 1);
$content = '';
- call_hooks("home_content",$content);
+ Addon::callHooks("home_content",$content);
$tpl = get_markup_template('home.tpl');
* information.
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Core\Worker;
killme();
}
- call_hooks('post_local_start', $_REQUEST);
+ Addon::callHooks('post_local_start', $_REQUEST);
// logger('postinput ' . file_get_contents('php://input'));
logger('postvars ' . print_r($_REQUEST,true), LOGGER_DATA);
killme();
}
- call_hooks('post_local',$datarray);
+ Addon::callHooks('post_local',$datarray);
if (x($datarray, 'cancel')) {
logger('mod_item: post cancelled by plugin.');
}
}
- call_hooks('post_local_end', $datarray);
+ Addon::callHooks('post_local_end', $datarray);
if (strlen($emailcc) && $profile_uid == local_user()) {
$erecips = explode(',', $emailcc);
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Database\DBM;
function lockview_content(App $a) {
}
$item = $r[0];
- call_hooks('lockview_content', $item);
+ Addon::callHooks('lockview_content', $item);
if($item['uid'] != local_user()) {
echo t('Remote privacy information not available.') . '<br />';
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Database\DBM;
}
$ret = [];
- call_hooks('home_init',$ret);
+ Addon::callHooks('home_init',$ret);
goaway( System::baseUrl() . "/profile/" . $a->user['nickname'] );
// NOTREACHED
use Friendica\Content\ForumManager;
use Friendica\Content\Nav;
use Friendica\Content\Widget;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
/// @TODO Is this really necessary? $a is already available to hooks
$arr = ['query' => $a->query_string];
- call_hooks('network_content_init', $arr);
+ Addon::callHooks('network_content_init', $arr);
$nouveau = false;
}
$arr = ['tabs' => $tabs];
- call_hooks('network_tabs', $arr);
+ Addon::callHooks('network_tabs', $arr);
$tpl = get_markup_template('common_tabs.tpl');
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
-require_once 'include/plugin.php';
-
function nodeinfo_wellknown(App $a) {
$nodeinfo = ['links' => [['rel' => 'http://nodeinfo.diaspora.software/ns/schema/1.0',
'href' => System::baseUrl().'/nodeinfo/1.0']]];
$nodeinfo['usage']['localPosts'] = (int)Config::get('nodeinfo', 'local_posts');
$nodeinfo['usage']['localComments'] = (int)Config::get('nodeinfo', 'local_comments');
- if (plugin_enabled('appnet')) {
+ if (Addon::isEnabled('appnet')) {
$nodeinfo['services']['inbound'][] = 'appnet';
}
- if (plugin_enabled('appnet') || plugin_enabled('buffer')) {
+ if (Addon::isEnabled('appnet') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'appnet';
}
- if (plugin_enabled('blogger')) {
+ if (Addon::isEnabled('blogger')) {
$nodeinfo['services']['outbound'][] = 'blogger';
}
- if (plugin_enabled('dwpost')) {
+ if (Addon::isEnabled('dwpost')) {
$nodeinfo['services']['outbound'][] = 'dreamwidth';
}
- if (plugin_enabled('fbpost') || plugin_enabled('buffer')) {
+ if (Addon::isEnabled('fbpost') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'facebook';
}
- if (plugin_enabled('statusnet')) {
+ if (Addon::isEnabled('statusnet')) {
$nodeinfo['services']['inbound'][] = 'gnusocial';
$nodeinfo['services']['outbound'][] = 'gnusocial';
}
- if (plugin_enabled('gpluspost') || plugin_enabled('buffer')) {
+ if (Addon::isEnabled('gpluspost') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'google';
}
- if (plugin_enabled('ijpost')) {
+ if (Addon::isEnabled('ijpost')) {
$nodeinfo['services']['outbound'][] = 'insanejournal';
}
- if (plugin_enabled('libertree')) {
+ if (Addon::isEnabled('libertree')) {
$nodeinfo['services']['outbound'][] = 'libertree';
}
- if (plugin_enabled('buffer')) {
+ if (Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'linkedin';
}
- if (plugin_enabled('ljpost')) {
+ if (Addon::isEnabled('ljpost')) {
$nodeinfo['services']['outbound'][] = 'livejournal';
}
- if (plugin_enabled('buffer')) {
+ if (Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'pinterest';
}
- if (plugin_enabled('posterous')) {
+ if (Addon::isEnabled('posterous')) {
$nodeinfo['services']['outbound'][] = 'posterous';
}
- if (plugin_enabled('pumpio')) {
+ if (Addon::isEnabled('pumpio')) {
$nodeinfo['services']['inbound'][] = 'pumpio';
$nodeinfo['services']['outbound'][] = 'pumpio';
}
if ($smtp) {
$nodeinfo['services']['outbound'][] = 'smtp';
}
- if (plugin_enabled('tumblr')) {
+ if (Addon::isEnabled('tumblr')) {
$nodeinfo['services']['outbound'][] = 'tumblr';
}
- if (plugin_enabled('twitter') || plugin_enabled('buffer')) {
+ if (Addon::isEnabled('twitter') || Addon::isEnabled('buffer')) {
$nodeinfo['services']['outbound'][] = 'twitter';
}
- if (plugin_enabled('wppost')) {
+ if (Addon::isEnabled('wppost')) {
$nodeinfo['services']['outbound'][] = 'wordpress';
}
$nodeinfo['metadata']['protocols'] = $nodeinfo['protocols'];
$nodeinfo['metadata']['services'] = $nodeinfo['services'];
- if (plugin_enabled('twitter')) {
+ if (Addon::isEnabled('twitter')) {
$nodeinfo['metadata']['services']['inbound'][] = 'twitter';
}
}
$a = get_app();
// 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);
$plugin = 'statistics_json';
$idx = array_search($plugin, $plugins_arr);
if ($idx !== false) {
unset($plugins_arr[$idx]);
- uninstall_plugin($plugin);
+ Addon::uninstall($plugin);
Config::set('system', 'addon', implode(', ',$plugins_arr));
}
}
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Util\ParseUrl;
require_once("include/items.php");
$arr = ["url" => $url, "text" => ""];
- call_hooks("parse_link", $arr);
+ Addon::callHooks("parse_link", $arr);
if (strlen($arr["text"])) {
echo $arr["text"];
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Nav;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Core\Worker;
// default post action - upload a photo
- call_hooks('photo_post_init', $_POST);
+ Addon::callHooks('photo_post_init', $_POST);
// Determine the album to use
$album = x($_REQUEST, 'album') ? notags(trim($_REQUEST['album'])) : '';
$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')) {
$src = $ret['src'];
}
@unlink($src);
$foo = 0;
- call_hooks('photo_post_end', $foo);
+ Addon::callHooks('photo_post_end', $foo);
return;
}
notice(t('Image exceeds size limit of %s', formatBytes($maximagesize)) . EOL);
@unlink($src);
$foo = 0;
- call_hooks('photo_post_end', $foo);
+ Addon::callHooks('photo_post_end', $foo);
return;
}
notice(t('Image file is empty.') . EOL);
@unlink($src);
$foo = 0;
- call_hooks('photo_post_end', $foo);
+ Addon::callHooks('photo_post_end', $foo);
return;
}
notice(t('Unable to process image.') . EOL);
@unlink($src);
$foo = 0;
- call_hooks('photo_post_end',$foo);
+ Addon::callHooks('photo_post_end',$foo);
killme();
}
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
// if they do not wish to be redirected
'addon_text' => $uploader,
'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_submit = replace_macros(get_markup_template('photos_default_uploader_submit.tpl'), [
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\ForumManager;
+use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\System;
use Friendica\Core\PConfig;
if (DBM::is_result($items_unseen)) {
$arr = ['items' => $items_unseen];
- call_hooks('network_ping', $arr);
+ Addon::callHooks('network_ping', $arr);
foreach ($items_unseen as $item) {
if ($item['wall']) {
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
}
- call_hooks('post_local_end', $arr);
+ Addon::callHooks('post_local_end', $arr);
Worker::add(PRIORITY_HIGH, "Notifier", "like", $post_id);
use Friendica\App;
use Friendica\Content\Widget;
use Friendica\Content\Nav;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
if ($tab === 'profile') {
$o .= Profile::getAdvanced($a);
- call_hooks('profile_advanced', $o);
+ Addon::callHooks('profile_advanced', $o);
return $o;
}
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
use Friendica\Content\Nav;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
$namechanged = false;
- call_hooks('profile_post', $_POST);
+ Addon::callHooks('profile_post', $_POST);
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",
]);
$arr = ['profile' => $r[0], 'entry' => $o];
- call_hooks('profile_edit', $arr);
+ Addon::callHooks('profile_edit', $arr);
return $o;
} else {
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
$blocked = 1;
$arr = ['post' => $_POST];
- call_hooks('register_post', $arr);
+ Addon::callHooks('register_post', $arr);
$max_dailies = intval(Config::get('system', 'max_daily_registrations'));
if ($max_dailies) {
$arr = ['template' => $tpl];
- call_hooks('register_form', $arr);
+ Addon::callHooks('register_form', $arr);
$tpl = $arr['template'];
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Nav;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Core\Config;
if (($a->argc > 1) && ($a->argv[1] == 'addon')) {
check_form_security_token_redirectOnErr('/settings/addon', 'settings_addon');
- call_hooks('plugin_settings_post', $_POST);
+ Addon::callHooks('plugin_settings_post', $_POST);
return;
}
}
}
- call_hooks('connector_settings_post', $_POST);
+ Addon::callHooks('connector_settings_post', $_POST);
return;
}
intval(local_user())
);
- call_hooks('display_settings_post', $_POST);
+ Addon::callHooks('display_settings_post', $_POST);
goaway('settings/display');
return; // NOTREACHED
}
goaway('settings');
}
- call_hooks('settings_post', $_POST);
+ Addon::callHooks('settings_post', $_POST);
if (x($_POST, 'password') || x($_POST, 'confirm')) {
$newpass = $_POST['password'];
$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');
}
$settings_connectors = '';
- call_hooks('connector_settings', $settings_connectors);
+ Addon::callHooks('connector_settings', $settings_connectors);
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')));
'$submit' => t('Save Settings'),
]);
- call_hooks('display_settings', $o);
+ Addon::callHooks('display_settings', $o);
return $o;
}
]);
- call_hooks('settings_form', $o);
+ Addon::callHooks('settings_form', $o);
$o .= '</form>' . "\r\n";
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
require_once("include/plugin.php");
];
$statistics["services"] = [];
- $statistics["services"]["appnet"] = plugin_enabled("appnet");
- $statistics["services"]["blogger"] = plugin_enabled("blogger");
- $statistics["services"]["buffer"] = plugin_enabled("buffer");
- $statistics["services"]["dreamwidth"] = plugin_enabled("dwpost");
- $statistics["services"]["facebook"] = plugin_enabled("fbpost");
- $statistics["services"]["gnusocial"] = plugin_enabled("statusnet");
- $statistics["services"]["googleplus"] = plugin_enabled("gpluspost");
- $statistics["services"]["libertree"] = plugin_enabled("libertree");
- $statistics["services"]["livejournal"] = plugin_enabled("ljpost");
- $statistics["services"]["pumpio"] = plugin_enabled("pumpio");
- $statistics["services"]["twitter"] = plugin_enabled("twitter");
- $statistics["services"]["tumblr"] = plugin_enabled("tumblr");
- $statistics["services"]["wordpress"] = plugin_enabled("wppost");
+ $statistics["services"]["appnet"] = Addon::isEnabled("appnet");
+ $statistics["services"]["blogger"] = Addon::isEnabled("blogger");
+ $statistics["services"]["buffer"] = Addon::isEnabled("buffer");
+ $statistics["services"]["dreamwidth"] = Addon::isEnabled("dwpost");
+ $statistics["services"]["facebook"] = Addon::isEnabled("fbpost");
+ $statistics["services"]["gnusocial"] = Addon::isEnabled("statusnet");
+ $statistics["services"]["googleplus"] = Addon::isEnabled("gpluspost");
+ $statistics["services"]["libertree"] = Addon::isEnabled("libertree");
+ $statistics["services"]["livejournal"] = Addon::isEnabled("ljpost");
+ $statistics["services"]["pumpio"] = Addon::isEnabled("pumpio");
+ $statistics["services"]["twitter"] = Addon::isEnabled("twitter");
+ $statistics["services"]["tumblr"] = Addon::isEnabled("tumblr");
+ $statistics["services"]["wordpress"] = Addon::isEnabled("wppost");
$statistics["appnet"] = $statistics["services"]["appnet"];
$statistics["blogger"] = $statistics["services"]["blogger"];
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Database\DBM;
$arr['id'] = $post_id;
- call_hooks('post_local_end', $arr);
+ Addon::callHooks('post_local_end', $arr);
killme();
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
$arr['id'] = $post_id;
- call_hooks('post_local_end', $arr);
+ Addon::callHooks('post_local_end', $arr);
Worker::add(PRIORITY_HIGH, "Notifier", "tag", $post_id);
<?php
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Database\DBM;
['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)')],
];
- call_hooks('uexport_options', $options);
+ Addon::callHooks('uexport_options', $options);
$tpl = get_markup_template("uexport.tpl");
return replace_macros($tpl, [
* @file mod/xrd.php
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Database\DBM;
use Friendica\Protocol\Salmon;
);
$arr = ['user' => $r, 'xml' => $o];
- call_hooks('personal_xrd', $arr);
+ Addon::callHooks('personal_xrd', $arr);
echo $arr['xml'];
killme();
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
$a->set_baseurl(Config::get('system', 'url'));
-load_hooks();
+Addon::loadHooks();
$spawn = (($_SERVER["argc"] == 2) && ($_SERVER["argv"][1] == "spawn"));
*/
namespace Friendica\Content;
+use Friendica\Core\Addon;
use Friendica\Database\DBM;
use Friendica\Protocol\Diaspora;
use dba;
NETWORK_APPNET => t('App.net')
];
- call_hooks('network_to_name', $nets);
+ Addon::callHooks('network_to_name', $nets);
$search = array_keys($nets);
$replace = array_values($nets);
$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')];
- call_hooks('gender_selector', $select);
+ Addon::callHooks('gender_selector', $select);
$o .= "<select name=\"gender$suffix\" id=\"gender-select$suffix\" size=\"1\" >";
foreach ($select as $selection) {
$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\" >";
foreach ($select as $selection) {
$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')];
- call_hooks('marital_selector', $select);
+ Addon::callHooks('marital_selector', $select);
$o .= '<select name="marital" id="marital-select" size="1" >';
foreach ($select as $selection) {
*/
namespace Friendica\Content;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
}
$arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $x];
- call_hooks('isEnabled', $arr);
+ Addon::callHooks('isEnabled', $arr);
return($arr['enabled']);
}
}
}
- call_hooks('get', $arr);
+ Addon::callHooks('get', $arr);
return $arr;
}
}
use Friendica\App;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Database\DBM;
'$search_hint' => t('@name, !forum, #tags, content')
]);
- call_hooks('page_header', $a->page['nav']);
+ Addon::callHooks('page_header', $a->page['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>';
}
- call_hooks('nav_info', $nav);
+ Addon::callHooks('nav_info', $nav);
return [
'sitelocation' => $sitelocation,
namespace Friendica\Content;
+use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\System;
use Friendica\Core\Config;
}
}
- call_hooks('oembed_fetch_url', $embedurl, $j);
+ Addon::callHooks('oembed_fetch_url', $embedurl, $j);
return $j;
}
namespace Friendica\Content;
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
];
$params = ['texts' => $texts, 'icons' => $icons];
- call_hooks('smilie', $params);
+ Addon::callHooks('smilie', $params);
return $params;
}
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
{
$networks = array();
- if (!plugin_enabled("appnet")) {
+ if (!Addon::isEnabled("appnet")) {
$networks[] = NETWORK_APPNET;
}
- if (!plugin_enabled("fbpost") && !plugin_enabled("facebook")) {
+ if (!Addon::isEnabled("fbpost") && !Addon::isEnabled("facebook")) {
$networks[] = NETWORK_FACEBOOK;
}
- if (!plugin_enabled("statusnet")) {
+ if (!Addon::isEnabled("statusnet")) {
$networks[] = NETWORK_STATUSNET;
}
- if (!plugin_enabled("pumpio")) {
+ if (!Addon::isEnabled("pumpio")) {
$networks[] = NETWORK_PUMPIO;
}
- if (!plugin_enabled("twitter")) {
+ if (!Addon::isEnabled("twitter")) {
$networks[] = NETWORK_TWITTER;
}
$networks[] = NETWORK_DIASPORA;
}
- if (!plugin_enabled("pnut")) {
+ if (!Addon::isEnabled("pnut")) {
$networks[] = NETWORK_PNUT;
}
use Friendica\Core\Config;\r
use Friendica\Core\System;\r
use Friendica\Database\DBM;\r
+use dba;\r
+\r
+require_once 'include/dba.php';\r
\r
/**\r
* Some functions to handle addons\r
/**\r
* @brief uninstalls an addon.\r
*\r
- * @param string $plugin name of the addon\r
+ * @param string $addon name of the addon\r
* @return boolean\r
*/\r
- function uninstall_plugin($plugin) {\r
- logger("Addons: uninstalling " . $plugin);\r
- dba::delete('addon', ['name' => $plugin]);\r
+ public static function uninstall($addon)\r
+ {\r
+ logger("Addons: uninstalling " . $addon);\r
+ dba::delete('addon', ['name' => $addon]);\r
\r
- @include_once('addon/' . $plugin . '/' . $plugin . '.php');\r
- if (function_exists($plugin . '_uninstall')) {\r
- $func = $plugin . '_uninstall';\r
+ @include_once('addon/' . $addon . '/' . $addon . '.php');\r
+ if (function_exists($addon . '_uninstall')) {\r
+ $func = $addon . '_uninstall';\r
$func();\r
}\r
}\r
/**\r
* @brief installs an addon.\r
*\r
- * @param string $plugin name of the addon\r
+ * @param string $addon name of the addon\r
* @return bool\r
*/\r
- function install_plugin($plugin) {\r
- // silently fail if plugin was removed\r
+ public static function install($addon)\r
+ {\r
+ // silently fail if addon was removed\r
\r
- if (!file_exists('addon/' . $plugin . '/' . $plugin . '.php')) {\r
+ if (!file_exists('addon/' . $addon . '/' . $addon . '.php')) {\r
return false;\r
}\r
- logger("Addons: installing " . $plugin);\r
- $t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php');\r
- @include_once('addon/' . $plugin . '/' . $plugin . '.php');\r
- if (function_exists($plugin . '_install')) {\r
- $func = $plugin . '_install';\r
+ logger("Addons: installing " . $addon);\r
+ $t = @filemtime('addon/' . $addon . '/' . $addon . '.php');\r
+ @include_once('addon/' . $addon . '/' . $addon . '.php');\r
+ if (function_exists($addon . '_install')) {\r
+ $func = $addon . '_install';\r
$func();\r
\r
- $plugin_admin = (function_exists($plugin."_plugin_admin") ? 1 : 0);\r
+ $addon_admin = (function_exists($addon."_plugin_admin") ? 1 : 0);\r
\r
- dba::insert('addon', ['name' => $plugin, 'installed' => true,\r
- 'timestamp' => $t, 'plugin_admin' => $plugin_admin]);\r
+ dba::insert('addon', ['name' => $addon, 'installed' => true,\r
+ 'timestamp' => $t, 'plugin_admin' => $addon_admin]);\r
\r
// we can add the following with the previous SQL\r
// once most site tables have been updated.\r
// This way the system won't fall over dead during the update.\r
\r
- if (file_exists('addon/' . $plugin . '/.hidden')) {\r
- dba::update('addon', ['hidden' => true], ['name' => $plugin]);\r
+ if (file_exists('addon/' . $addon . '/.hidden')) {\r
+ dba::update('addon', ['hidden' => true], ['name' => $addon]);\r
}\r
return true;\r
} else {\r
- logger("Addons: FAILED installing " . $plugin);\r
+ logger("Addons: FAILED installing " . $addon);\r
return false;\r
}\r
}\r
\r
- // reload all updated plugins\r
-\r
- function reload_plugins() {\r
- $plugins = Config::get('system', 'addon');\r
- if (strlen($plugins)) {\r
+ /**\r
+ * reload all updated addons\r
+ */\r
+ public static function reload()\r
+ {\r
+ $addons = Config::get('system', 'addon');\r
+ if (strlen($addons)) {\r
\r
- $r = q("SELECT * FROM `addon` WHERE `installed` = 1");\r
+ $r = dba::select('addon', [], ['installed' => 1]);\r
if (DBM::is_result($r)) {\r
$installed = $r;\r
} else {\r
$installed = [];\r
}\r
\r
- $parr = explode(',',$plugins);\r
+ $addon_list = explode(',', $addons);\r
\r
- if (count($parr)) {\r
- foreach ($parr as $pl) {\r
+ if (count($addon_list)) {\r
+ foreach ($addon_list as $addon) {\r
\r
- $pl = trim($pl);\r
+ $addon = trim($addon);\r
\r
- $fname = 'addon/' . $pl . '/' . $pl . '.php';\r
+ $fname = 'addon/' . $addon . '/' . $addon . '.php';\r
\r
if (file_exists($fname)) {\r
$t = @filemtime($fname);\r
foreach ($installed as $i) {\r
- if (($i['name'] == $pl) && ($i['timestamp'] != $t)) {\r
- logger('Reloading plugin: ' . $i['name']);\r
+ if (($i['name'] == $addon) && ($i['timestamp'] != $t)) {\r
+ logger('Reloading addon: ' . $i['name']);\r
@include_once($fname);\r
\r
- if (function_exists($pl . '_uninstall')) {\r
- $func = $pl . '_uninstall';\r
+ if (function_exists($addon . '_uninstall')) {\r
+ $func = $addon . '_uninstall';\r
$func();\r
}\r
- if (function_exists($pl . '_install')) {\r
- $func = $pl . '_install';\r
+ if (function_exists($addon . '_install')) {\r
+ $func = $addon . '_install';\r
$func();\r
}\r
dba::update('addon', ['timestamp' => $t], ['id' => $i['id']]);\r
}\r
}\r
}\r
-\r
}\r
\r
/**\r
* @brief check if addon is enabled\r
*\r
- * @param string $plugin\r
+ * @param string $addon\r
* @return boolean\r
*/\r
- function plugin_enabled($plugin) {\r
- return dba::exists('addon', ['installed' => true, 'name' => $plugin]);\r
+ public static function isEnabled($addon)\r
+ {\r
+ return dba::exists('addon', ['installed' => true, 'name' => $addon]);\r
}\r
\r
\r
* @param int $priority A priority (defaults to 0)\r
* @return mixed|bool\r
*/\r
- function register_hook($hook, $file, $function, $priority=0) {\r
+ public static function registerHook($hook, $file, $function, $priority = 0)\r
+ {\r
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function];\r
$exists = dba::exists('hook', $condition);\r
if ($exists) {\r
* @param string $function the name of the function that the hook called\r
* @return array\r
*/\r
- function unregister_hook($hook, $file, $function) {\r
+ public static function unregisterHook($hook, $file, $function)\r
+ {\r
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function];\r
$r = dba::delete('hook', $condition);\r
return $r;\r
}\r
\r
\r
- function load_hooks() {\r
+ public static function loadHooks() {\r
$a = get_app();\r
$a->hooks = [];\r
$r = dba::select('hook', ['hook', 'file', 'function'], [], ['order' => ['priority' => 'desc', 'file']]);\r
* @param string $name of the hook to call\r
* @param string|array &$data to transmit to the callback handler\r
*/\r
- function call_hooks($name, &$data = null)\r
+ public static function callHooks($name, &$data = null)\r
{\r
$a = get_app();\r
\r
if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) {\r
foreach ($a->hooks[$name] as $hook) {\r
- call_single_hook($a, $name, $hook, $data);\r
+ self::callSingleHook($a, $name, $hook, $data);\r
}\r
}\r
}\r
* @param array $hook Hook data\r
* @param string|array &$data to transmit to the callback handler\r
*/\r
- function call_single_hook($a, $name, $hook, &$data = null) {\r
+ public static function callSingleHook($a, $name, $hook, &$data = null)\r
+ {\r
// Don't run a theme's hook if the user isn't using the theme\r
if (strpos($hook[0], 'view/theme/') !== false && strpos($hook[0], 'view/theme/'.current_theme()) === false)\r
return;\r
}\r
}\r
\r
- //check if an app_menu hook exist for plugin $name.\r
- //Return true if the plugin is an app\r
- function plugin_is_app($name) {\r
+ /**\r
+ * check if an app_menu hook exist for addon $name.\r
+ * Return true if the addon is an app\r
+ */\r
+ function isApp($name)\r
+ {\r
$a = get_app();\r
\r
if (is_array($a->hooks) && (array_key_exists('app_menu',$a->hooks))) {\r
}\r
\r
/**\r
- * @brief Parse plugin comment in search of plugin infos.\r
+ * @brief Parse addon comment in search of addon infos.\r
*\r
* like\r
* \code\r
- *...* Name: Plugin\r
- * * Description: A plugin which plugs in\r
+ *...* Name: addon\r
+ * * Description: An addon which plugs in\r
* . * Version: 1.2.3\r
* * Author: John <profile url>\r
* * Author: Jane <email>\r
* *\r
* *\endcode\r
- * @param string $plugin the name of the plugin\r
- * @return array with the plugin information\r
+ * @param string $addon the name of the addon\r
+ * @return array with the addon information\r
*/\r
\r
- function get_plugin_info($plugin) {\r
+ public static function getInfo($addon) {\r
\r
$a = get_app();\r
\r
$info=[\r
- 'name' => $plugin,\r
+ 'name' => $addon,\r
'description' => "",\r
'author' => [],\r
'version' => "",\r
'status' => ""\r
];\r
\r
- if (!is_file("addon/$plugin/$plugin.php")) return $info;\r
+ if (!is_file("addon/$addon/$addon.php")) {\r
+ return $info;\r
+ }\r
\r
$stamp1 = microtime(true);\r
- $f = file_get_contents("addon/$plugin/$plugin.php");\r
+ $f = file_get_contents("addon/$addon/$addon.php");\r
$a->save_timestamp($stamp1, "file");\r
\r
$r = preg_match("|/\*.*\*/|msU", $f, $m);\r
\r
}\r
}\r
-\r
}\r
return $info;\r
}\r
*/
namespace Friendica\Core;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Database\DBM;
$arr = ['args' => $args, 'run_cmd' => true];
- call_hooks("proc_run", $arr);
+ Addon::callHooks("proc_run", $arr);
if (!$arr['run_cmd'] || !count($args)) {
return true;
}
namespace Friendica\Model;
use Friendica\BaseObject;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
$args = ['contact' => $contact, 'menu' => &$menu];
- call_hooks('contact_photo_menu', $args);
+ Addon::callHooks('contact_photo_menu', $args);
$menucondensed = [];
$arr = ['url' => $url, 'contact' => []];
- call_hooks('follow', $arr);
+ Addon::callHooks('follow', $arr);
if (x($arr['contact'], 'name')) {
$ret = $arr['contact'];
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\ForumManager;
+use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
$profile['network_name'] = '';
}
- call_hooks('profile_sidebar_enter', $profile);
+ Addon::callHooks('profile_sidebar_enter', $profile);
// don't show connect link to yourself
$arr = ['profile' => &$profile, 'entry' => &$o];
- call_hooks('profile_sidebar', $arr);
+ Addon::callHooks('profile_sidebar', $arr);
return $o;
}
}
$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');
Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
$arr = ['zrl' => $my_url, 'url' => $a->cmd];
- call_hooks('zrl_init', $arr);
+ Addon::callHooks('zrl_init', $arr);
}
}
namespace Friendica\Model;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
}
}
- call_hooks('register_account', $uid);
+ Addon::callHooks('register_account', $uid);
$return['user'] = $user;
return $return;
$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
// unique), so it cannot be re-registered in the future.
namespace Friendica\Module;
use Friendica\BaseModule;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Database\DBM;
use Friendica\Model\User;
* 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.
*/
- call_hooks('authenticate', $addon_auth);
+ Addon::callHooks('authenticate', $addon_auth);
if ($addon_auth['authenticated'] && count($addon_auth['user_record'])) {
$record = $addon_auth['user_record'];
]
);
- call_hooks('login_hook', $o);
+ Addon::callHooks('login_hook', $o);
return $o;
}
namespace Friendica\Module;\r
\r
use Friendica\BaseModule;\r
+use Friendica\Core\Addon;\r
\r
require_once 'boot.php';\r
require_once 'include/pgettext.php';\r
-require_once 'include/plugin.php';\r
require_once 'include/security.php';\r
\r
/**\r
*/\r
public static function init()\r
{\r
- call_hooks("logging_out");\r
+ Addon::callHooks("logging_out");\r
nuke_session();\r
info(t('Logged out.') . EOL);\r
goaway(self::getApp()->get_baseurl());\r
namespace Friendica\Network;
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBM;
dba::update('user', ['login_date' => datetime_convert()], ['uid' => $_SESSION['uid']]);
- call_hooks('logged_in', $a->user);
+ Addon::callHooks('logged_in', $a->user);
}
}
use Friendica\BaseObject;
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
+use Friendica\Core\Addon;
use Friendica\Core\PConfig;
use Friendica\Database\DBM;
use Friendica\Model\Contact;
}
$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));
// process action responses - e.g. like/dislike/attend/agree/whatever
];
$arr = ['item' => $item, 'output' => $tmp_item];
- call_hooks('display_item', $arr);
+ Addon::callHooks('display_item', $arr);
$result = $arr['output'];
use Friendica\App;
use Friendica\Content\OEmbed;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Core\Worker;
$root = self::addHeader($doc, $owner, $author, $alternatelink, true);
/// @TODO This hook can't work anymore
- // call_hooks('atom_feed', $atom);
+ // Addon::callHooks('atom_feed', $atom);
if (!DBM::is_result($items) || $onlyheader) {
$atom = trim($doc->saveXML());
- call_hooks('atom_feed_end', $atom);
+ Addon::callHooks('atom_feed_end', $atom);
return $atom;
}
$atom = trim($doc->saveXML());
- call_hooks('atom_feed_end', $atom);
+ Addon::callHooks('atom_feed_end', $atom);
return $atom;
}
*/
namespace Friendica\Util;
+use Friendica\Core\Addon;
use Friendica\Core\PConfig;
use Friendica\Protocol\Email;
*/
public static function send($params)
{
- call_hooks('emailer_send_prepare', $params);
+ Addon::callHooks('emailer_send_prepare', $params);
$email_textonly = false;
if (x($params, "uid")) {
'headers' => $messageHeader
];
//echo "<pre>"; var_dump($hookdata); killme();
- call_hooks("emailer_send", $hookdata);
+ Addon::callHooks("emailer_send", $hookdata);
$res = mail(
$hookdata['to'], // send to address
$hookdata['subject'], // subject
*/
namespace Friendica\Util;
+use Friendica\Core\Addon;
+
/**
* Leaflet Map related functions
*/
$coord = trim($coord);
$coord = str_replace([',','/',' '],[' ',' ',' '],$coord);
$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;
}
public static function byLocation($location) {
$arr = ['location' => $location, 'html' => ''];
- call_hooks('generate_named_map',$arr);
+ Addon::callHooks('generate_named_map',$arr);
return ($arr['html']) ? $arr['html'] : $location;
}
}
namespace Friendica\Util;
use Friendica\Content\OEmbed;
+use Friendica\Core\Addon;
use Friendica\Object\Image;
use Friendica\Util\XML;
logger("parseurl_getsiteinfo: Siteinfo for ".$url." ".print_r($siteinfo, true), LOGGER_DEBUG);
- call_hooks("getsiteinfo", $siteinfo);
+ Addon::callHooks("getsiteinfo", $siteinfo);
return($siteinfo);
}
*/
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
- reload_plugins();
+ Addon::reload();
$d = datetime_convert();
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
foreach ($a->hooks["cron"] as $single_hook) {
if ($single_hook[1] == $hook) {
logger("Calling cron hook '" . $hook . "'", LOGGER_DEBUG);
- call_single_hook($a, $hook, $single_hook);
+ Addon::callSingleHook($a, $hook, $single_hook);
}
}
return;
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
$arr = ['url' => $url];
- call_hooks('globaldir_update', $arr);
+ Addon::callHooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
if (strlen($arr['url'])) {
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
require_once 'include/datetime.php';
require_once 'include/items.php';
- load_hooks();
+ Addon::loadHooks();
if ($param == 'delete') {
logger('Delete expired items', LOGGER_DEBUG);
foreach ($a->hooks["expire"] as $hook) {
if ($hook[1] == $hook_name) {
logger("Calling expire hook '" . $hook[1] . "'", LOGGER_DEBUG);
- call_single_hook($a, $hook_name, $hook, $data);
+ Addon::callSingleHook($a, $hook_name, $hook, $data);
}
}
return;
*/
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
logger('notifier: calling hooks', LOGGER_DEBUG);
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;
}
*/
namespace Friendica\Worker;
+use Friendica\Core\Addon;
use Friendica\Core\Cache;
use Friendica\Core\Config;
use Friendica\Core\Worker;
*/
$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)) {
foreach ($r as $q_item) {
default:
$params = ['owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false];
- call_hooks('queue_deliver', $params);
+ Addon::callHooks('queue_deliver', $params);
if ($params['result']) {
QueueModel::removeItem($q_item['id']);
<?php
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\Worker;
Config::set('system', 'maintenance', 1);
- if (plugin_enabled('forumlist')) {
+ if (Addon::isEnabled('forumlist')) {
$plugin = 'forumlist';
$plugins = Config::get('system','addon');
$plugins_arr = [];
if ($idx !== false){
unset($plugins_arr[$idx]);
//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 `hook` WHERE `file` = 'addon/forumlist/forumlist.php' ");
Config::set('system','addon', implode(", ",$plugins_arr));
* @brief: Get info header of the shema
*
* 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.
* All color variables which get overwritten through the theme have to be
* listed (comma seperated) in the shema header under Overwrites:
*/
use Friendica\App;
use Friendica\Content\Widget;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
function frio_install()
{
- register_hook('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');
- register_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
- register_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
- register_hook('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('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
+ Addon::registerHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
+ Addon::registerHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
+ Addon::registerHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
+ Addon::registerHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
+ Addon::registerHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
logger("installed theme frio");
}
function frio_uninstall()
{
- unregister_hook('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');
- unregister_hook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
- unregister_hook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
- unregister_hook('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('prepare_body_final', 'view/theme/frio/theme.php', 'frio_item_photo_links');
+ Addon::unregisterHook('item_photo_menu', 'view/theme/frio/theme.php', 'frio_item_photo_menu');
+ Addon::unregisterHook('contact_photo_menu', 'view/theme/frio/theme.php', 'frio_contact_photo_menu');
+ Addon::unregisterHook('nav_info', 'view/theme/frio/theme.php', 'frio_remote_nav');
+ Addon::unregisterHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
+ Addon::unregisterHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
logger("uninstalled theme frio");
}
*/
use Friendica\App;
+use Friendica\Core\Addon;
use Friendica\Core\System;
use Friendica\Object\Image;
}
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");
}
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");
}
use Friendica\App;
use Friendica\Content\ForumManager;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
/// @TODO This whole thing is hard-coded, better rewrite to Intercepting Filter Pattern (future-todo)
$r = [];
- if (plugin_enabled("appnet")) {
+ if (Addon::isEnabled("appnet")) {
$r[] = ["photo" => "images/appnet.png", "name" => "App.net"];
}
- if (plugin_enabled("buffer")) {
+ if (Addon::isEnabled("buffer")) {
$r[] = ["photo" => "images/buffer.png", "name" => "Buffer"];
}
- if (plugin_enabled("blogger")) {
+ if (Addon::isEnabled("blogger")) {
$r[] = ["photo" => "images/blogger.png", "name" => "Blogger"];
}
- if (plugin_enabled("dwpost")) {
+ if (Addon::isEnabled("dwpost")) {
$r[] = ["photo" => "images/dreamwidth.png", "name" => "Dreamwidth"];
}
- if (plugin_enabled("fbpost")) {
+ if (Addon::isEnabled("fbpost")) {
$r[] = ["photo" => "images/facebook.png", "name" => "Facebook"];
}
- if (plugin_enabled("ifttt")) {
+ if (Addon::isEnabled("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"];
}
- if (plugin_enabled("gpluspost")) {
+ if (Addon::isEnabled("gpluspost")) {
$r[] = ["photo" => "images/googleplus.png", "name" => "Google+"];
}
/// @TODO old-lost code (and below)?
- //if (plugin_enabled("ijpost")) {
+ //if (Addon::isEnabled("ijpost")) {
// $r[] = array("photo" => "images/", "name" => "");
//}
- if (plugin_enabled("libertree")) {
+ if (Addon::isEnabled("libertree")) {
$r[] = ["photo" => "images/libertree.png", "name" => "Libertree"];
}
- //if (plugin_enabled("ljpost")) {
+ //if (Addon::isEnabled("ljpost")) {
// $r[] = array("photo" => "images/", "name" => "");
//}
- if (plugin_enabled("pumpio")) {
+ if (Addon::isEnabled("pumpio")) {
$r[] = ["photo" => "images/pumpio.png", "name" => "pump.io"];
}
- if (plugin_enabled("tumblr")) {
+ if (Addon::isEnabled("tumblr")) {
$r[] = ["photo" => "images/tumblr.png", "name" => "Tumblr"];
}
- if (plugin_enabled("twitter")) {
+ if (Addon::isEnabled("twitter")) {
$r[] = ["photo" => "images/twitter.png", "name" => "Twitter"];
}
- if (plugin_enabled("wppost")) {
+ if (Addon::isEnabled("wppost")) {
$r[] = ["photo" => "images/wordpress.png", "name" => "Wordpress"];
}