/** * Name: XMPP (Jabber) * Description: Embedded XMPP (Jabber) client * Version: 0.1 * Author: Michael Vogel <https://pirati.ca/profile/heluecht> */ function xmpp_load() { register_hook('feature_settings', 'addon/xmpp/xmpp.php', 'xmpp_plugin_settings'); register_hook('feature_settings_post', 'addon/xmpp/xmpp.php', 'xmpp_plugin_settings_post'); register_hook('page_end', 'addon/xmpp/xmpp.php', 'xmpp_script'); register_hook('change_channel', 'addon/xmpp/xmpp.php', 'xmpp_login'); }
/** * Name: public_server * Description: Friendica plugin/addon with functions suitable for a public server. * Version: 1.0 * Author: Keith Fernie <http://friendika.me4.it/profile/keith> */ function public_server_install() { register_hook('register_account', 'addon/public_server/public_server.php', 'public_server_register_account'); register_hook('cron', 'addon/public_server/public_server.php', 'public_server_cron'); register_hook('enotify', 'addon/public_server/public_server.php', 'public_server_enotify'); register_hook('logged_in', 'addon/public_server/public_server.php', 'public_server_login'); }
/** * Name: Mail Stream * Description: Mail all items coming into your network feed to an email address * Version: 0.2 * Author: Matthew Exon <http://mat.exon.name> */ function mailstream_install() { register_hook('plugin_settings', 'addon/mailstream/mailstream.php', 'mailstream_plugin_settings'); register_hook('plugin_settings_post', 'addon/mailstream/mailstream.php', 'mailstream_plugin_settings_post'); register_hook('post_remote_end', 'addon/mailstream/mailstream.php', 'mailstream_post_remote_hook'); register_hook('cron', 'addon/mailstream/mailstream.php', 'mailstream_cron'); $schema = file_get_contents(dirname(__FILE__) . '/database.sql'); $arr = explode(';', $schema); foreach ($arr as $a) { $r = q($a); } if (get_config('mailstream', 'dbversion') == '0.1') { q('ALTER TABLE `mailstream_item` DROP INDEX `uid`'); q('ALTER TABLE `mailstream_item` DROP INDEX `contact-id`'); q('ALTER TABLE `mailstream_item` DROP INDEX `plink`'); q('ALTER TABLE `mailstream_item` CHANGE `plink` `uri` char(255) NOT NULL'); } if (get_config('mailstream', 'dbversion') == '0.2') { q('DELETE FROM `pconfig` WHERE `cat` = "mailstream" AND `k` = "delay"'); } if (get_config('mailstream', 'dbversion') == '0.3') { q('ALTER TABLE `mailstream_item` CHANGE `created` `created` timestamp NOT NULL DEFAULT now()'); q('ALTER TABLE `mailstream_item` CHANGE `completed` `completed` timestamp NULL DEFAULT NULL'); } if (get_config('mailstream', 'dbversion') == '0.4') { q('ALTER TABLE `mailstream_item` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin'); } set_config('mailstream', 'dbversion', '0.5'); }
function securemail_install() { register_hook('plugin_settings', 'addon/securemail/securemail.php', 'securemail_settings'); register_hook('plugin_settings_post', 'addon/securemail/securemail.php', 'securemail_settings_post'); register_hook('emailer_send_prepare', 'addon/securemail/securemail.php', 'securemail_emailer_send_prepare'); logger("installed securemail"); }
/** * Name: unhosted remote storage * Description: Expose in user XRD the link to external user's unhosted-enabled storage * Version: 1.0 * Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm> * Status: Unsupported */ function uhremotestorage_install() { register_hook('personal_xrd', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_personal_xrd'); register_hook('plugin_settings', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings'); register_hook('plugin_settings_post', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings_post'); logger("installed uhremotestorage"); }
function privacy_image_cache_install() { register_hook('bbcode', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_bbcode_hook'); register_hook('display_item', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_display_item_hook'); register_hook('ping_xmlize', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_ping_xmlize_hook'); register_hook('cron', 'addon/privacy_image_cache/privacy_image_cache.php', 'privacy_image_cache_cron'); }
/** * Name: testdrive * Description: Sample Friendica plugin/addon for creating a test drive Friendica site with automatic account expiration. * Version: 1.0 * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> */ function testdrive_install() { register_hook('register_account', 'addon/testdrive/testdrive.php', 'testdrive_register_account'); register_hook('cron', 'addon/testdrive/testdrive.php', 'testdrive_cron'); register_hook('enotify', 'addon/testdrive/testdrive.php', 'testdrive_enotify'); register_hook('globaldir_update', 'addon/testdrive/testdrive.php', 'testdrive_globaldir_update'); }
function fortunate_install() { register_hook('page_end', 'addon/fortunate/fortunate.php', 'fortunate_fetch'); if (FORTUNATE_SERVER == 'hostname.com' && is_site_admin()) { notice('Fortunate plugin requires configuration. See README'); } }
/** * Name: FromApp * Description: Change the displayed application you are posting from * Version: 1.0 * Author: Commander Zot * */ function fromapp_install() { register_hook('post_local', 'addon/fromapp/fromapp.php', 'fromapp_post_hook'); register_hook('plugin_settings', 'addon/fromapp/fromapp.php', 'fromapp_settings'); register_hook('plugin_settings_post', 'addon/fromapp/fromapp.php', 'fromapp_settings_post'); logger("installed fromapp"); }
function chess_load() { // Control the page composition by loading a custom layout register_hook('feature_settings', 'addon/chess/chess.php', 'chess_settings'); register_hook('feature_settings_post', 'addon/chess/chess.php', 'chess_settings_post'); register_hook('load_pdl', 'addon/chess/chess.php', 'chess_load_pdl'); }
/** * Name: MathJax * Description: Addon for Friendika to include MathJax (LaTeX math syntax) * Version: 1.0 * Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendika/profile/tobias> * License: 3-clause BSD license */ function mathjax_install() { register_hook('page_header', 'addon/mathjax/mathjax.php', 'mathjax_page_header'); register_hook('plugin_settings', 'addon/mathjax/mathjax.php', 'mathjax_settings'); register_hook('plugin_settings_post', 'addon/mathjax/mathjax.php', 'mathjax_settings_post'); logger('installed js_math plugin'); }
function dav_install() { register_hook('event_created', 'addon/dav/dav.php', 'dav_event_created_hook'); register_hook('event_updated', 'addon/dav/dav.php', 'dav_event_updated_hook'); register_hook('profile_tabs', 'addon/dav/dav.php', 'dav_profile_tabs_hook'); register_hook('cron', 'addon/dav/dav.php', 'dav_cron'); }
/** * Name: Gnot * Description: Thread email comment notifications on Gmail and anonymise them * Version: 1.0 * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> * * */ function gnot_install() { register_hook('plugin_settings', 'addon/gnot/gnot.php', 'gnot_settings'); register_hook('plugin_settings_post', 'addon/gnot/gnot.php', 'gnot_settings_post'); register_hook('enotify_mail', 'addon/gnot/gnot.php', 'gnot_enotify_mail'); logger("installed gnot"); }
function keepout_load() { foreach (keepout_urls() as $x) { register_hook($x . '_mod_init', 'addon/keepout/keepout.php', 'keepout_mod_init'); register_hook($x . '_mod_content', 'addon/keepout/keepout.php', 'keepout_mod_content'); } }
/** * * JavaScript Photo/Image Uploader * * Uses Valum 'qq' Uploader. * Module Author: Chris Case * */ function js_upload_load() { register_hook('photo_upload_form', 'addon/js_upload/js_upload.php', 'js_upload_form'); register_hook('photo_upload_begin', 'addon/js_upload/js_upload.php', 'js_upload_post_init'); register_hook('photo_upload_file', 'addon/js_upload/js_upload.php', 'js_upload_post_file'); register_hook('photo_upload_end', 'addon/js_upload/js_upload.php', 'js_upload_post_end'); }
function pubsubhubbub_load() { register_hook('notifier_process', 'addon/pubsubhubbub/pubsubhubbub.php', 'push_notifier_process'); register_hook('queue_deliver', 'addon/pubsubhubbub/pubsubhubbub.php', 'push_queue_deliver'); register_hook('atom_feed', 'addon/pubsubhubbub/pubsubhubbub.php', 'push_atom_feed'); register_hook('module_loaded', 'addon/pubsubhubbub/pubsubhubbub.php', 'push_module_loaded'); }
/** * Name: Page * Description: This addon is now deprecated. Administrators should switch to forumlist instead. Developers should also add any functionality to forumlist instead of here. * Version: 1.0 * Author: Mike Macgirvin <*****@*****.**> * based on pages plugin by * Author: Michael Vogel <*****@*****.**> * Status: Unsupported * */ function page_install() { register_hook('network_mod_init', 'addon/page/page.php', 'page_network_mod_init'); register_hook('plugin_settings', 'addon/page/page.php', 'page_plugin_settings'); register_hook('plugin_settings_post', 'addon/page/page.php', 'page_plugin_settings_post'); register_hook('profile_advanced', 'addon/page/page.php', 'page_profile_advanced'); }
function map_load() { register_hook('feature_settings', 'addon/map/map.php', 'map_settings'); register_hook('feature_settings_post', 'addon/map/map.php', 'map_settings_post'); register_hook('load_pdl', 'addon/map/map.php', 'map_load_pdl'); logger("Installed Location Services"); }
/** * Name: XMPP (Jabber) * Description: Embedded XMPP (Jabber) client * Version: 0.1 * Author: Michael Vogel <https://pirati.ca/profile/heluecht> */ function xmpp_install() { register_hook('plugin_settings', 'addon/xmpp/xmpp.php', 'xmpp_plugin_settings'); register_hook('plugin_settings_post', 'addon/xmpp/xmpp.php', 'xmpp_plugin_settings_post'); register_hook('page_end', 'addon/xmpp/xmpp.php', 'xmpp_script'); register_hook('logged_in', 'addon/xmpp/xmpp.php', 'xmpp_login'); }
/** * Name: ForumList * Description: Shows list of subscribed community forums on network sidebar * Version: 1.1 * Author: Mike Macgirvin <*****@*****.**> * based on pages plugin by * Author: Michael Vogel <*****@*****.**> * Status: Unsupported * */ function forumlist_install() { register_hook('network_mod_init', 'addon/forumlist/forumlist.php', 'forumlist_network_mod_init'); register_hook('plugin_settings', 'addon/forumlist/forumlist.php', 'forumlist_plugin_settings'); register_hook('plugin_settings_post', 'addon/forumlist/forumlist.php', 'forumlist_plugin_settings_post'); register_hook('profile_advanced', 'addon/forumlist/forumlist.php', 'forumlist_profile_advanced'); }
/** * Name: Tumblr Post Connector * Description: Post to Tumblr * Version: 1.0 * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> */ function tumblr_install() { register_hook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); register_hook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); register_hook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); register_hook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); register_hook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); }
/** * Name: LiveJournal Post Connector * Description: Post to LiveJournal * Version: 1.0 * Author: Tony Baldwin <https://free-haven.org/profile/tony> * Author: Michael Johnston * Author: Cat Gray <https://free-haven.org/profile/catness> */ function ljpost_install() { register_hook('post_local', 'addon/ljpost/ljpost.php', 'ljpost_post_local'); register_hook('notifier_normal', 'addon/ljpost/ljpost.php', 'ljpost_send'); register_hook('jot_networks', 'addon/ljpost/ljpost.php', 'ljpost_jot_nets'); register_hook('connector_settings', 'addon/ljpost/ljpost.php', 'ljpost_settings'); register_hook('connector_settings_post', 'addon/ljpost/ljpost.php', 'ljpost_settings_post'); }
/** * Name: Convert Paths * Description: Converts all internal paths according to the current scheme (http or https) * Version: 1.0 * Author: Michael Vogel <https://pirati.ca/profile/heluecht> * Status: Unsupported */ function convpath_install() { register_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end'); register_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header'); register_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook'); register_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook'); register_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook'); }
function nofed_load() { register_hook('feature_settings', 'addon/nofed/nofed.php', 'nofed_settings'); register_hook('feature_settings_post', 'addon/nofed/nofed.php', 'nofed_settings_post'); register_hook('post_local', 'addon/nofed/nofed.php', 'nofed_post_local'); register_hook('jot_networks', 'addon/nofed/nofed.php', 'nofed_jot_nets'); logger("loaded nofed"); }
/** * Name: Libertree Post Connector * Description: Post to libertree accounts * Version: 1.0 * Author: Tony Baldwin <https://free-haven.org/u/tony> */ function libertree_install() { register_hook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local'); register_hook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send'); register_hook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets'); register_hook('connector_settings', 'addon/libertree/libertree.php', 'libertree_settings'); register_hook('connector_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post'); }
/** * Name: Diaspora Post Connector * Description: Post to Diaspora * Version: 0.1 * Author: Michael Vogel <*****@*****.**> */ function diaspora_load() { register_hook('post_local', 'addon/diaspora/diaspora.php', 'diaspora_post_local'); register_hook('notifier_normal', 'addon/diaspora/diaspora.php', 'diaspora_send'); register_hook('jot_networks', 'addon/diaspora/diaspora.php', 'diaspora_jot_nets'); register_hook('feature_settings', 'addon/diaspora/diaspora.php', 'diaspora_settings'); register_hook('feature_settings_post', 'addon/diaspora/diaspora.php', 'diaspora_settings_post'); }
/** * Name: Posterous Post Connector * Description: Post to Posterous accounts * Version: 1.0 * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> * Author: Tony Baldwin <https://free-haven.org/u/tony> */ function posterous_install() { register_hook('post_local', 'addon/posterous/posterous.php', 'posterous_post_local'); register_hook('notifier_normal', 'addon/posterous/posterous.php', 'posterous_send'); register_hook('jot_networks', 'addon/posterous/posterous.php', 'posterous_jot_nets'); register_hook('connector_settings', 'addon/posterous/posterous.php', 'posterous_settings'); register_hook('connector_settings_post', 'addon/posterous/posterous.php', 'posterous_settings_post'); }
function libertree_load() { register_hook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local'); register_hook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send'); register_hook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets'); register_hook('feature_settings', 'addon/libertree/libertree.php', 'libertree_settings'); register_hook('feature_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post'); }
function dwpost_load() { register_hook('post_local', 'addon/dwpost/dwpost.php', 'dwpost_post_local'); register_hook('notifier_normal', 'addon/dwpost/dwpost.php', 'dwpost_send'); register_hook('jot_networks', 'addon/dwpost/dwpost.php', 'dwpost_jot_nets'); register_hook('feature_settings', 'addon/dwpost/dwpost.php', 'dwpost_settings'); register_hook('feature_settings_post', 'addon/dwpost/dwpost.php', 'dwpost_settings_post'); }
/** * Name: OpenStreetMap * Description: Use OpenStreetMap for displaying locations. After activation the post location just beneath your avatar in your posts will link to OpenStreetMap. * Version: 1.3 * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> * Author: Klaus Weidenbach * Maintainer: none */ function openstreetmap_load() { register_hook('render_location', 'addon/openstreetmap/openstreetmap.php', 'openstreetmap_location'); register_hook('generate_map', 'addon/openstreetmap/openstreetmap.php', 'openstreetmap_generate_map'); register_hook('generate_named_map', 'addon/openstreetmap/openstreetmap.php', 'openstreetmap_generate_named_map'); register_hook('page_header', 'addon/openstreetmap/openstreetmap.php', 'openstreetmap_alterheader'); logger("installed openstreetmap"); }