/** * Initialize the plugin */ function pool_init() { $actions_path = elgg_get_plugins_path() . 'pool/actions/pool/'; elgg_register_action('pool/admin/save', $actions_path . 'save.php', 'admin'); elgg_register_action('pool/admin/delete', $actions_path . 'delete.php', 'admin'); elgg_register_action('pool/toggle_membership', $actions_path . 'toggle_membership.php'); elgg_register_action('pool/shift', $actions_path . 'shift.php', 'admin'); elgg_register_action('pool/remove', $actions_path . 'remove.php', 'admin'); elgg_register_action('pool/reorder', $actions_path . 'reorder.php', 'admin'); if (elgg_in_context('activity')) { elgg_extend_view('page/elements/sidebar', 'pool/sidebar'); } elgg_register_plugin_hook_handler('register', 'menu:entity', 'pool_entity_menu'); elgg_register_plugin_hook_handler('entity:url', 'object', 'pool_url_handler'); elgg_register_page_handler('pool', 'pool_page_handler'); elgg_register_menu_item('site', array('name' => 'pool', 'href' => 'pool/all', 'text' => elgg_echo('pool:all'))); // Register cron hook for each of the periods foreach (array('daily', 'weekly', 'monthly') as $period) { elgg_register_plugin_hook_handler('cron', $period, 'pool_assign_new_turn_cron'); } // Rearrange lists when user is banned or deleted elgg_register_event_handler('delete', 'user', 'pool_remove_user'); elgg_register_event_handler('ban', 'user', 'pool_remove_user'); // This is used instead of elgg_register_admin_menu_item() because we // don't want to create a separate menu section elgg_register_menu_item('page', array('name' => 'pools', 'href' => 'admin/pool/list', 'text' => elgg_echo('admin:pool:list'), 'context' => 'admin', 'section' => 'administer')); }
function friend_request_init() { // extend css elgg_extend_view("css/elgg", "css/friend_request/site"); // Page handlers // unregister friendsof elgg_unregister_page_handler("friendsof"); //This will let users view their friend requests elgg_register_page_handler('friend_request', 'friend_request_page_handler'); // Events // unregister default elgg friend handler elgg_unregister_event_handler("create", "friend", "relationship_notification_hook"); // Handle our add action event elgg_register_event_handler("create", "friendrequest", "friend_request_event_create_friendrequest"); // Plugin hooks elgg_register_plugin_hook_handler("register", "menu:user_hover", "friend_request_user_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:entity", "friend_request_entity_menu_handler"); // Actions // This overwrites the original friend requesting stuff. elgg_register_action("friends/add", dirname(__FILE__) . "/actions/friends/add.php"); // We need to override the friend remove action to remove the relationship we created elgg_register_action("friends/remove", dirname(__FILE__) . "/actions/friends/removefriend.php"); // friend request actions elgg_register_action("friend_request/approve", dirname(__FILE__) . "/actions/approve.php"); elgg_register_action("friend_request/decline", dirname(__FILE__) . "/actions/decline.php"); elgg_register_action("friend_request/revoke", dirname(__FILE__) . "/actions/revoke.php"); }
function uservalidationbyemail_init() { require_once dirname(__FILE__) . '/lib/functions.php'; // Register page handler to validate users // This doesn't need to be an action because security is handled by the validation codes. elgg_register_page_handler('uservalidationbyemail', 'uservalidationbyemail_page_handler'); // mark users as unvalidated and disable when they register elgg_register_plugin_hook_handler('register', 'user', 'uservalidationbyemail_disable_new_user'); // forward to uservalidationbyemail/emailsent page after register elgg_register_plugin_hook_handler('forward', 'system', 'uservalidationbyemail_after_registration_url'); // canEdit override to allow not logged in code to disable a user elgg_register_plugin_hook_handler('permissions_check', 'user', 'uservalidationbyemail_allow_new_user_can_edit'); // prevent users from logging in if they aren't validated register_pam_handler('uservalidationbyemail_check_auth_attempt', "required"); // when requesting a new password elgg_register_plugin_hook_handler('action', 'user/requestnewpassword', 'uservalidationbyemail_check_request_password'); // prevent the engine from logging in users via login() elgg_register_event_handler('login:before', 'user', 'uservalidationbyemail_check_manual_login'); // make admin users always validated elgg_register_event_handler('make_admin', 'user', 'uservalidationbyemail_validate_new_admin_user'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'uservalidationbyemail_public_pages'); // admin interface to manually validate users elgg_register_admin_menu_item('administer', 'unvalidated', 'users'); elgg_extend_view('admin.css', 'uservalidationbyemail/css'); elgg_extend_view('elgg.js', 'uservalidationbyemail/js'); $action_path = dirname(__FILE__) . '/actions'; elgg_register_action('uservalidationbyemail/validate', "{$action_path}/validate.php", 'admin'); elgg_register_action('uservalidationbyemail/resend_validation', "{$action_path}/resend_validation.php", 'admin'); elgg_register_action('uservalidationbyemail/delete', "{$action_path}/delete.php", 'admin'); elgg_register_action('uservalidationbyemail/bulk_action', "{$action_path}/bulk_action.php", 'admin'); }
function messages_init() { // register a library of helper functions elgg_register_library('elgg:messages', elgg_get_plugins_path() . 'messages/lib/messages.php'); // add page menu items if (elgg_is_logged_in()) { elgg_register_menu_item('page', array('name' => 'messages:inbox', 'text' => elgg_echo('messages:inbox'), 'href' => "messages/inbox/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); elgg_register_menu_item('page', array('name' => 'messages:sentmessages', 'text' => elgg_echo('messages:sentmessages'), 'href' => "messages/sent/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); } elgg_register_event_handler('pagesetup', 'system', 'messages_notifier'); // Extend system CSS with our own styles, which are defined in the messages/css view elgg_extend_view('css/elgg', 'messages/css'); elgg_extend_view('js/elgg', 'messages/js'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('messages', 'messages_page_handler'); // Register a URL handler elgg_register_entity_url_handler('object', 'messages', 'messages_url'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); // Register a notification handler for site messages register_notification_handler("site", "messages_site_notify_handler"); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'messages_notification_msg'); register_notification_object('object', 'messages', elgg_echo('messages:new')); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'messages_ecml_views_hook'); // permission overrides elgg_register_plugin_hook_handler('permissions_check:metadata', 'object', 'messages_can_edit_metadata'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'messages_can_edit'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'messages_can_edit_container'); // Register actions $action_path = elgg_get_plugins_path() . 'messages/actions/messages'; elgg_register_action("messages/send", "{$action_path}/send.php"); elgg_register_action("messages/delete", "{$action_path}/delete.php"); elgg_register_action("messages/process", "{$action_path}/process.php"); }
/** * Initialize the plugin * * @return void */ function notifier_init() { notifier_set_view_listener(); // Add hidden popup module to topbar elgg_extend_view('page/elements/topbar', 'notifier/popup'); elgg_require_js('notifier/notifier'); elgg_register_page_handler('notifier', 'notifier_page_handler'); // Add css elgg_extend_view('elgg.css', 'notifier/notifier.css'); elgg_register_notification_method('notifier'); elgg_register_plugin_hook_handler('send', 'notification:notifier', 'notifier_notification_send'); elgg_register_plugin_hook_handler('route', 'friendsof', 'notifier_read_friends_notification'); elgg_register_event_handler('create', 'relationship', 'notifier_relationship_notifications'); elgg_register_event_handler('delete', 'relationship', 'notifier_read_group_invitation_notification'); // Hook handler for cron that removes old messages elgg_register_plugin_hook_handler('cron', 'daily', 'notifier_cron'); elgg_register_plugin_hook_handler('register', 'menu:topbar', 'notifier_topbar_menu_setup'); elgg_register_event_handler('create', 'user', 'notifier_enable_for_new_user'); elgg_register_event_handler('join', 'group', 'notifier_enable_for_new_group_member'); $action_path = elgg_get_plugins_path() . 'notifier/actions/notifier/'; elgg_register_action('notifier/dismiss', $action_path . 'dismiss.php'); elgg_register_action('notifier/dismiss_one', $action_path . 'dismiss_one.php'); elgg_register_action('notifier/clear', $action_path . 'clear.php'); elgg_register_action('notifier/delete', $action_path . 'delete.php'); }
/** * Initialize the theme * * @return void */ function theme_eersel_init() { elgg_register_css('font-awesome', 'mod/theme_eersel/vendors/font-awesome-4.3.0/css/font-awesome.min.css'); elgg_load_css('font-awesome'); // extend views elgg_extend_view("js/elgg", "js/theme_eersel"); elgg_extend_view("css/elgg", "css/theme_eersel"); elgg_extend_view("css/elgg", "css/theme_eersel_images"); elgg_extend_view("page/layouts/widgets", "theme_eersel/widgets_fix"); elgg_extend_view('icon/default', 'theme_eersel/group/icon', 400); elgg_unextend_view("page/elements/header", "search/header"); elgg_unextend_view("page/elements/owner_block/extend", "group_tools/owner_block"); // page handlers elgg_register_page_handler("theme_eersel", "theme_eersel_page_handler"); elgg_register_page_handler("profile", "theme_eersel_profile_page_handler"); elgg_register_js('jquery.flexslider', 'mod/theme_eersel/vendors/jquery.flexslider/jquery.flexslider-min.js'); elgg_load_js('jquery.flexslider'); // register widgets elgg_register_widget_type("profile_owner_block", elgg_echo("theme_eersel:widgets:profile_owner_block:title"), elgg_echo("theme_eersel:widgets:profile_owner_block:description"), "profile"); elgg_register_widget_type("index_photos", elgg_echo("theme_eersel:widgets:index_photos:title"), elgg_echo("theme_eersel:widgets:index_photos:description"), "index"); elgg_register_widget_type("index_sidebar", elgg_echo("theme_eersel:widgets:index_sidebar:title"), elgg_echo("theme_eersel:widgets:index_sidebar:description"), "index"); // register plugin hooks elgg_register_plugin_hook_handler("register", "menu:topbar", "theme_eersel_register_topbar_menu_handler"); elgg_register_plugin_hook_handler("prepare", "menu:owner_block", "theme_eersel_prepare_owner_block_menu_handler"); elgg_register_plugin_hook_handler('route', 'groups', 'theme_eersel_route_groups_handler'); // register events elgg_register_event_handler('pagesetup', 'system', 'theme_eersel_pagesetup'); // register admin menu item elgg_register_admin_menu_item("configure", "theme_eersel", "appearance"); // register actions elgg_register_action("theme_eersel/slider_upload", dirname(__FILE__) . "/actions/slider_upload.php", "admin"); elgg_register_action("theme_eersel/links", dirname(__FILE__) . "/actions/links.php", "admin"); }
function elggchat_init() { elgg_extend_view('css/admin', 'elggchat/admin_css'); elgg_extend_view('css/elgg', 'elggchat/css'); $js_elggchat_sound = elgg_get_simplecache_url('js', 'elggchat/buzz.js'); elgg_register_simplecache_view('js/elggchat/buzz.js'); elgg_register_js('elggchat_sound', $js_elggchat_sound, 'head', 400); elgg_define_js('elggchat_scroll', array('src' => elgg_get_site_url() . 'mod/elggchat/views/default/js/elggchat/jquery.scrollTo.js')); if (elgg_is_logged_in()) { if (elgg_get_plugin_user_setting("enableChat", 0, "elggchat") != "no") { elgg_extend_view('page/elements/footer', 'elggchat/session_monitor'); } } elgg_register_admin_menu_item('administer', 'elggchat', 'administer_utilities'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'elggchat_user_hover_menu'); // Register cron job $keepsessions = elgg_get_plugin_setting("keepsessions", "elggchat"); if (elgg_get_plugin_setting("keepsessions", "elggchat") != "yes") { elgg_register_plugin_hook_handler('cron', 'hourly', 'elggchat_session_cleanup'); } // Actions $action_path = elgg_get_plugins_path() . 'elggchat/actions'; elgg_register_action("elggchat/create", "{$action_path}/create.php", "logged_in"); elgg_register_action("elggchat/post_message", "{$action_path}/post_message.php", "logged_in"); elgg_register_action("elggchat/poll", "{$action_path}/poll.php", "logged_in"); elgg_register_action("elggchat/invite", "{$action_path}/invite.php", "logged_in"); elgg_register_action("elggchat/leave", "{$action_path}/leave.php", "logged_in"); elgg_register_action("elggchat/get_smiley", "{$action_path}/get_smiley.php", "logged_in"); elgg_register_action("elggchat/admin_message", "{$action_path}/admin_message.php", "admin"); elgg_register_action("elggchat/delete_session", "{$action_path}/delete_session.php", "admin"); // Logout event handler elgg_register_event_handler('logout:before', 'user', 'elggchat_logout_handler'); }
/** * This function is executed during the 'init' event, when all plugin are initialized * * @return void */ function translation_editor_init() { // extend JS/CSS elgg_extend_view('css/elgg', 'css/translation_editor/site.css'); elgg_extend_view('js/elgg', 'js/translation_editor/site.js'); elgg_register_page_handler('translation_editor', '\\ColdTrick\\TranslationEditor\\PageHandler::translationEditor'); // register hooks elgg_register_plugin_hook_handler('register', 'menu:user_hover', '\\ColdTrick\\TranslationEditor\\UserHoverMenu::register'); elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\TranslationEditor\\PageMenu::register'); elgg_register_plugin_hook_handler('register', 'menu:site', '\\ColdTrick\\TranslationEditor\\SiteMenu::register'); // register events elgg_register_event_handler('cache:flush', 'system', '\\ColdTrick\\TranslationEditor\\CacheHandler::resetTranslationCache'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\TranslationEditor\\Upgrade::cleanupCustomTranslations'); // Register actions elgg_register_action('translation_editor/translate', dirname(__FILE__) . '/actions/translate.php'); elgg_register_action('translation_editor/merge', dirname(__FILE__) . '/actions/merge.php'); elgg_register_action('translation_editor/remove_cleanup', dirname(__FILE__) . '/actions/cleanup/remove.php'); elgg_register_action('translation_editor/download_cleanup', dirname(__FILE__) . '/actions/cleanup/download.php'); // Admin only actions elgg_register_action('translation_editor/make_translation_editor', dirname(__FILE__) . '/actions/make_translation_editor.php', 'admin'); elgg_register_action('translation_editor/unmake_translation_editor', dirname(__FILE__) . '/actions/unmake_translation_editor.php', 'admin'); elgg_register_action('translation_editor/delete', dirname(__FILE__) . '/actions/delete.php', 'admin'); elgg_register_action('translation_editor/disable_languages', dirname(__FILE__) . '/actions/disable_languages.php', 'admin'); elgg_register_action('translation_editor/add_language', dirname(__FILE__) . '/actions/add_language.php', 'admin'); elgg_register_action('translation_editor/add_custom_key', dirname(__FILE__) . '/actions/add_custom_key.php', 'admin'); elgg_register_action('translation_editor/delete_language', dirname(__FILE__) . '/actions/delete_language.php', 'admin'); }
function time_theme_init() { elgg_register_event_handler('pagesetup', 'system', 'time_theme_pagesetup', 1000); // theme specific CSS elgg_extend_view('css/elgg', 'time_theme/css'); // theme specific CSS elgg_extend_view('css/elgg', 'extractability/css'); elgg_register_plugin_hook_handler('head', 'page', 'time_theme_setup_head'); // registered with priority < 500 so other plugins can remove likes elgg_unregister_plugin_hook_handler('register', 'menu:river', 'likes_river_menu_setup'); elgg_unregister_plugin_hook_handler('register', 'menu:entity', 'likes_entity_menu_setup'); elgg_unregister_plugin_hook_handler('register', 'menu:river', '_elgg_river_menu_setup'); elgg_unregister_plugin_hook_handler('register', 'menu:entity', '_elgg_entity_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', '_my_elgg_river_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', '_my_elgg_entity_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', 'my_likes_river_menu_setup', 401); elgg_register_plugin_hook_handler('register', 'menu:entity', 'my_likes_entity_menu_setup', 401); elgg_unregister_widget_type('river_widget'); elgg_register_js('slidebars', 'mod/time_theme/lib/slidebars/slidebars.js', 'head'); elgg_register_css('slidebars', 'mod/time_theme/lib/slidebars/slidebars.css'); elgg_register_js('flowplayer', 'mod/time_theme/lib/flowplayer/flowplayer.min.js', 'head'); elgg_register_css('flowplayer', 'mod/time_theme/lib/flowplayer/minimalist.css'); elgg_register_css('font-awesome', 'mod/time_theme/lib/font-awesome/css/font-awesome.min.css'); $base = elgg_get_plugins_path() . 'time_theme'; // non-members do not get visible links to RSS feeds if (!elgg_is_logged_in()) { elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); } // Register page handler elgg_unregister_page_handler('activity', 'elgg_river_page_handler'); elgg_register_page_handler('activity', 'river_auto_update_page_handler'); // extend js view elgg_extend_view("js/elgg", "js/time_theme/functions"); }
/** * Called on the 'init' 'system' event * * @return void */ function simplesaml_init() { // load libraries elgg_load_library("simplesamlphp"); require_once dirname(__FILE__) . "/lib/events.php"; require_once dirname(__FILE__) . "/lib/functions.php"; require_once dirname(__FILE__) . "/lib/hooks.php"; require_once dirname(__FILE__) . "/lib/page_handlers.php"; // check for force authentication elgg_extend_view("page/default", "simplesaml/force_authentication", 200); elgg_extend_view("page/walled_garden", "simplesaml/force_authentication", 200); elgg_register_library("pgregg.ipcheck", dirname(__FILE__) . "/vendors/pgregg/ip_check.php"); // extend CSS/JS elgg_extend_view("js/admin", "js/simplesaml/admin"); // allow login elgg_extend_view("forms/login", "simplesaml/login"); // register page_handler for nice URL's elgg_register_page_handler("saml", "simplesaml_page_handler"); // register widgets elgg_register_widget_type("simplesaml", elgg_echo("login"), elgg_echo("simplesaml:widget:description"), "index", true); // register events elgg_register_event_handler("login", "user", "simplesaml_login_event_handler"); // register plugin hooks elgg_register_plugin_hook_handler("public_pages", "walled_garden", "simplesaml_walled_garden_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "simplesaml_widget_url_hook"); elgg_register_plugin_hook_handler("setting", "plugin", "simplesaml_plugin_setting_save_hook"); elgg_register_plugin_hook_handler("action", "logout", "simplesaml_logout_action_hook"); // register actions elgg_register_action("simplesaml/register", dirname(__FILE__) . "/actions/register.php", "public"); elgg_register_action("simplesaml/unlink", dirname(__FILE__) . "/actions/unlink.php"); }
/** * Gets called during system initialization * * @return void */ function friend_request_init() { // extend css elgg_extend_view('css/elgg', 'css/friend_request/site'); // Page handlers // unregister friendsof elgg_unregister_page_handler('friendsof'); // This will let users view their friend requests elgg_register_page_handler('friend_request', '\\ColdTrick\\FriendRequest\\PageHandler::friendRequest'); // Events // unregister default elgg friend handler elgg_unregister_event_handler('create', 'friend', '_elgg_send_friend_notification'); // Handle our add action event elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\FriendRequest\\Relationships::createFriendRequest'); // Plugin hooks elgg_register_plugin_hook_handler('register', 'menu:topbar', '\\ColdTrick\\FriendRequest\\TopbarMenu::register'); elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\FriendRequest\\PageMenu::registerCleanup'); elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\FriendRequest\\PageMenu::register'); elgg_register_plugin_hook_handler('register', 'menu:user_hover', '\\ColdTrick\\FriendRequest\\Users::registerUserHoverMenu'); elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\FriendRequest\\Users::registerEntityMenu'); // Actions // This overwrites the original friend requesting stuff. elgg_register_action('friends/add', dirname(__FILE__) . '/actions/friends/add.php'); // We need to override the friend remove action to remove the relationship we created elgg_register_action('friends/remove', dirname(__FILE__) . '/actions/friends/removefriend.php'); // friend request actions elgg_register_action('friend_request/approve', dirname(__FILE__) . '/actions/approve.php'); elgg_register_action('friend_request/decline', dirname(__FILE__) . '/actions/decline.php'); elgg_register_action('friend_request/revoke', dirname(__FILE__) . '/actions/revoke.php'); }
/** * Initialize the plugin * @return void */ function user_friends_init() { elgg_extend_view('elgg.css', 'user/format/friend.css'); elgg_register_page_handler('friends', 'user_friends_page_handler'); elgg_register_plugin_hook_handler('route', 'friend_request', 'user_friends_route_friend_request'); elgg_register_plugin_hook_handler('route', 'collections', 'user_friends_route_collections'); elgg_unregister_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\FriendRequest\\PageMenu::register'); elgg_unregister_plugin_hook_handler('register', 'menu:topbar', '\\ColdTrick\\FriendRequest\\TopbarMenu::register'); elgg_unregister_event_handler('pagesetup', 'system', '_elgg_friends_page_setup'); elgg_unregister_event_handler('pagesetup', 'system', '_elgg_setup_collections_menu'); elgg_register_plugin_hook_handler('register', 'menu:friendship', 'user_friends_friendship_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:topbar', 'user_friends_topbar_menu_setup'); if (elgg_is_active_plugin('invitefriends')) { elgg_register_plugin_hook_handler('route', 'invite', 'user_friends_route_invite'); elgg_unregister_menu_item('page', 'invite'); } elgg_register_plugin_hook_handler('view', 'widgets/friends/content', 'user_friends_friends_widget_access'); // Custom friend request notifications elgg_unregister_event_handler('create', 'relationship', '_elgg_send_friend_notification'); elgg_unregister_event_handler('create', 'relationship', '\\ColdTrick\\FriendRequest\\Relationships::createFriendRequest'); elgg_register_event_handler('create', 'relationship', 'user_friends_friend_request_notification'); elgg_register_plugin_hook_handler('get_templates', 'notifications', 'user_friends_notification_templates'); elgg_register_action('friend_request/approve', __DIR__ . '/actions/approve.php'); elgg_register_action('friend_request/decline', __DIR__ . '/actions/decline.php'); }
function au_theme_init() { elgg_register_event_handler('pagesetup', 'system', 'au_theme_pagesetup', 1000); // theme specific CSS elgg_extend_view('css/elgg', 'au_theme/css'); //add friends list to collections for all-in-one page elgg_extend_view('core/friends/collections', 'au_theme/following'); elgg_register_js('respond', 'mod/au_theme/vendors/js/respond.min.js'); elgg_load_js('respond'); // non-members do not get visible links to RSS feeds if (!elgg_is_logged_in()) { elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); } if (elgg_is_logged_in()) { // add in header links for authenticated users elgg_extend_view('page/elements/header', 'au_theme/header_links_auth'); } else { // add in header links and guest login form for anonymous users elgg_extend_view('page/elements/header', 'au_theme/header_links'); } // kill the widget manager index page and add our own responsive version if (elgg_is_active_plugin('widget_manager')) { elgg_unregister_plugin_hook_handler("route", "all", "widget_manager_route_index_handler"); elgg_register_plugin_hook_handler('route', 'all', 'au_theme_custom_index'); // must be very early } //optionally show title buttons as dropdown list if (elgg_get_plugin_setting("enable_compact_title_buttons", 'au_theme') == 'true') { // set title menu to dropdown if more than one action exists // use register, all to make sure this is called last elgg_register_plugin_hook_handler('register', 'all', 'au_theme_titlemenu', 9999); } elgg_register_plugin_hook_handler('head', 'page', 'au_theme_metatags'); }
function gvtheme_init() { // custom topbar elgg_unregister_menu_item('topbar', 'elgg_logo'); elgg_register_plugin_hook_handler('register', 'menu:topbar', 'gvtheme_custom_topbarmenu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'gvtheme_custom_entitymenu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', 'gvtheme_custom_rivermenu_setup'); elgg_register_event_handler('pagesetup', 'system', 'gvtheme_custom_usersettings_pagesetup'); elgg_extend_view('css/elgg', 'gvtheme/css'); elgg_extend_view('page/elements/head', 'gvtheme/head'); // remove entities statistics views from user account elgg_unextend_view('core/settings/statistics', 'core/settings/statistics/numentities'); // override some actions $action_base = elgg_get_plugins_path() . 'gvtheme/actions'; elgg_register_action("avatar/upload", "{$action_base}/avatar/upload.php"); elgg_register_action("avatar/crop", "{$action_base}/avatar/crop.php"); elgg_register_action("friends/add", "{$action_base}/friends/add.php"); // get number of users $num_members = get_number_users(); elgg_register_menu_item('topbar', array('name' => 'member_number', 'href' => "members/newest", 'text' => elgg_echo("gvtheme:num_members", array($num_members)), 'priority' => 1000, 'section' => 'alt')); $initiatives_item = new ElggMenuItem('initiatives', elgg_echo('gvtheme:initiatives')); $cnc_item = new ElggMenuItem('cnc', elgg_echo('gvtheme:cnc'), 'file/group/9545/all'); $cnc_item->setItemClass('gvgroup-child-menu'); $initiatives_item->addChild($cnc_item); elgg_register_menu_item('site', $initiatives_item); }
/** * AllFriends * * @package AllFriends */ function allfriends_init() { // Register handler for adding friends elgg_register_event_handler('create', 'user', 'allfriends_friendall'); // Prevent users from getting flooded with "new friend" notifications elgg_unregister_event_handler('create', 'relationship', '_elgg_send_friend_notification'); }
function izap_zcontest_init() { global $CONFIG; izap_plugin_init(GLOBAL_IZAP_CONTEST_PLUGIN); // asking group to include the izap_files if (is_callable('add_group_tool_option')) { add_group_tool_option(GLOBAL_IZAP_CONTEST_CHALLENGE_SUBTYPE, elgg_echo('izap-contest:challenge:group:enable'), true); elgg_extend_view('groups/tool_latest', GLOBAL_IZAP_CONTEST_PLUGIN . '/group_module'); } elgg_register_page_handler(GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER); elgg_register_page_handler(GLOBAL_IZAP_CONTEST_QUIZ_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER); elgg_register_action(GLOBAL_IZAP_CONTEST_QUIZ_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER); elgg_register_page_handler(GLOBAL_IZAP_CONTEST_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER); elgg_register_event_handler('izap', 'link', 'izap_contest_link_hook'); elgg_register_menu_item('site', new ElggMenuItem('izap-contest', elgg_echo('izap-contest:contests'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'vars' => array('all'), 'page_owner' => false)))); if (elgg_get_context() == GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER) { $menu_item_add = new ElggMenuItem('izap-contest:challenge_add', elgg_echo('izap-contest:challenge:add'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'add'))); //elgg_register_menu_item('page', $menu_item_add); $menu_item_list = new ElggMenuItem('izap-contest:challenge_list', elgg_echo('izap-contest:challenge:all'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'page_owner' => false, 'vars' => array('all')))); //elgg_register_menu_item('page', $menu_item_list); $menu_item_my_list = new ElggMenuItem('izap-contest:challenge_my_list', elgg_echo("izap-contest:chellenge:list", array("My")), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'page_owner' => false, 'vars' => array($_SESSION['user']->username)))); //elgg_register_menu_item('page', $menu_item_my_list); $menu_item_my_accepted = new ElggMenuItem('izap-contest:challenge_my_myaccepted', elgg_echo('izap-contest:challenge:accepted'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'accepted'))); elgg_register_menu_item('page', $menu_item_my_accepted); } }
/** * Subgroups plugin initialization functions. */ function subgroups_init() { // register a library of helper functions elgg_register_library('elgg:subgroups', elgg_get_plugins_path() . 'subgroups/lib/subgroups.php'); // override groups library elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'subgroups/lib/groups.php'); // Register actions $actions_path = elgg_get_plugins_path() . 'subgroups/actions/subgroups'; elgg_register_action("subgroups/add", $actions_path . "/add.php"); elgg_register_action("subgroups/remove", $actions_path . "/remove.php"); // Register page handler elgg_register_page_handler('subgroups', 'subgroups_page_handler'); // Register pagesetup event handler elgg_register_event_handler('pagesetup', 'system', 'subgroups_setup_sidebar_menus'); // Register unsetter container_guid handler elgg_register_event_handler('update', 'group', 'subgroups_unset_group_container'); // Register an unrelate link to entity menu (max priority to run the last) elgg_register_plugin_hook_handler('register', 'menu:entity', 'subgroups_menu_setup', 9999); // Extend group fields elgg_register_plugin_hook_handler('profile:fields', 'group', 'subgroups_add_container_field'); // Access permissions elgg_register_plugin_hook_handler('access:collections:write', 'all', 'subgroups_read_acl_plugin_hook'); // Extending views elgg_extend_view('groups/sidebar/members', 'groups/sidebar/subgroups', 300); //TODO elgg_extend_view('groups/forum_latest', 'subgroups/frontpage'); // Extending CSS elgg_extend_view('css/elements/components', 'groups/css/elements/components'); elgg_register_ajax_view('subgroups/groups_i_can_edit'); // Add group tool add_group_tool_option('subgroups', elgg_echo('subgroups:in_frontpage'), false); elgg_extend_view('groups/tool_latest', 'subgroups/group_module'); }
/** * This function gets called during the system initialization * * @return void */ function blog_tools_init() { // extend css elgg_extend_view('css/elgg', 'css/blog_tools/site.css'); // extra blog views elgg_extend_view('object/blog', 'blog_tools/full/navigation'); elgg_extend_view('object/blog', 'blog_tools/full/owner'); elgg_extend_view('object/blog', 'blog_tools/full/related'); elgg_extend_view('blog/sidebar', 'blog_tools/full/related'); // register event handlers elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\BlogTools\\Upgrade::moveBlogIcons'); // register plugin hook handlers elgg_register_plugin_hook_handler('entity:url', 'object', '\\ColdTrick\\BlogTools\\Widgets::widgetUrl'); elgg_register_plugin_hook_handler('cron', 'daily', '\\ColdTrick\\BlogTools\\Cron::daily'); elgg_register_plugin_hook_handler('route', 'blog', '\\ColdTrick\\BlogTools\\Router::blog'); elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\BlogTools\\EntityMenu::register'); elgg_register_plugin_hook_handler('group_tool_widgets', 'widget_manager', '\\ColdTrick\\BlogTools\\Widgets::groupTools'); elgg_register_plugin_hook_handler('permissions_check:comment', 'object', '\\ColdTrick\\BlogTools\\Access::blogCanComment'); elgg_register_plugin_hook_handler('view_vars', 'input/form', '\\ColdTrick\\BlogTools\\Views::blogEditFormVars'); // extend editmenu elgg_extend_view('editmenu', 'blog_tools/editmenu'); // add featured filter menu item elgg_register_menu_item('filter', ElggMenuItem::factory(['name' => 'featured', 'text' => elgg_echo('status:featured'), 'context' => 'blog', 'href' => 'blog/featured', 'priority' => 600])); // register index widget elgg_register_widget_type('index_blog', elgg_echo('blog'), elgg_echo('blog_tools:widgets:index_blog:description'), ['index'], true); elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), ['profile', 'dashboard', 'groups']); // overrule blog actions elgg_register_action('blog/save', dirname(__FILE__) . '/actions/blog/save.php'); elgg_register_action('blog/auto_save_revision', dirname(__FILE__) . '/actions/blog/auto_save_revision.php'); // register actions elgg_register_action('blog_tools/toggle_metadata', dirname(__FILE__) . '/actions/toggle_metadata.php', 'admin'); elgg_register_action('blog_tools/upgrades/move_icons', dirname(__FILE__) . '/actions/upgrades/move_icons.php', 'admin'); }
/** * * @return unknown_type */ function init() { // register_pam_handler('au_cas_auth_authenticate'); elgg_register_page_handler('au_cas_auth', __NAMESPACE__ . '\\au_cas_auth_page_handler'); elgg_register_plugin_hook_handler('permissions_check', 'all', __NAMESPACE__ . '\\permissions_check'); elgg_register_event_handler('upgrade', 'system', __NAMESPACE__ . '\\upgrades'); }
function digest_init() { // extend css elgg_extend_view("css/elgg", "css/digest/site"); elgg_extend_view("css/admin", "css/digest/admin"); // register page handler for nice url's elgg_register_page_handler("digest", "digest_page_handler"); // extend register with subscribe option elgg_extend_view("register/extend", "digest/register"); // extend groups edit screen elgg_extend_view("groups/edit", "digest/groupsettings/form", 400); // register plugin hooks elgg_register_plugin_hook_handler("register", "user", "digest_register_user_hook"); elgg_register_plugin_hook_handler("cron", "daily", "digest_cron_handler"); elgg_register_plugin_hook_handler("public_pages", "walled_garden", "digest_walled_garden_hook"); // register events elgg_register_event_handler("leave", "group", "digest_group_leave_event"); // register actions elgg_register_action("digest/settings/save", dirname(__FILE__) . "/actions/settings/save.php", "admin"); elgg_register_action("digest/reset_stats", dirname(__FILE__) . "/actions/reset_stats.php", "admin"); elgg_register_action("digest/update/usersettings", dirname(__FILE__) . "/actions/update/usersettings.php"); elgg_register_action("digest/update/groupsettings", dirname(__FILE__) . "/actions/update/groupsettings.php"); // register html converter library elgg_register_library("emogrifier", dirname(__FILE__) . "/vendors/emogrifier/emogrifier.php"); }
/** * Called during system init * * @return void */ function pages_tools_init() { // register DOM PDF as a library elgg_register_library("dompdf", dirname(__FILE__) . "/vendor/dompdf/dompdf/dompdf_config.inc.php"); // extend site css elgg_extend_view("css/elgg", "css/pages_tools/site"); // extend site js elgg_extend_view("js/elgg", "js/pages_tools/site"); // register JS library elgg_register_js("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/jquery.tree.min.js"); elgg_register_css("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/themes/classic/style.css"); // add widgets (overrule default pages widget, to add group support) elgg_register_widget_type("pages", elgg_echo("pages"), elgg_echo("pages:widget:description"), array("profile", "dashboard", "groups")); elgg_register_widget_type("index_pages", elgg_echo("pages"), elgg_echo("pages_tools:widgets:index_pages:description"), array("index"), true); // register plugin hooks elgg_register_plugin_hook_handler("route", "pages", "pages_tools_route_pages_hook"); elgg_register_plugin_hook_handler("register", "menu:entity", "pages_tools_entity_menu_hook"); elgg_register_plugin_hook_handler("permissions_check:comment", "object", "pages_tools_permissions_comment_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "pages_tools_widget_url_hook"); elgg_register_plugin_hook_handler("cron", "daily", "pages_tools_daily_cron_hook"); // events elgg_register_event_handler('create', 'object', 'pages_tools_cache_handler'); elgg_register_event_handler('update', 'object', 'pages_tools_cache_handler'); elgg_register_event_handler('delete', 'object', 'pages_tools_cache_handler'); // register actions elgg_register_action("pages/export", dirname(__FILE__) . "/actions/export.php", "public"); elgg_register_action("pages/reorder", dirname(__FILE__) . "/actions/reorder.php"); elgg_register_action("pages_tools/update_edit_notice", dirname(__FILE__) . "/actions/update_edit_notice.php"); // overrule action elgg_register_action("pages/edit", dirname(__FILE__) . "/actions/pages/edit.php"); elgg_register_action("pages/delete", dirname(__FILE__) . "/actions/pages/delete.php"); }
/** * Initialize the GV groups plugin. */ function gvgroups_init() { // override the groups library elgg_register_library('elgg:groups', elgg_get_plugins_path() . "gvgroups/lib/groups.php"); elgg_register_library('elgg:discussion', elgg_get_plugins_path() . 'gvgroups/lib/discussion.php'); // add admin menu elgg_register_admin_menu_item('administer', 'createlocal', 'groups'); elgg_register_admin_menu_item('administer', 'deletelocal', 'groups'); // unregister the sidebar menu (my groups, group that I own, ...) elgg_unregister_event_handler('pagesetup', 'system', 'groups_setup_sidebar_menus'); // add some page handler elgg_register_plugin_hook_handler("route", "groups", "gvgroups_route_groups_handler"); elgg_register_plugin_hook_handler("route", "discussion", "gvgroups_route_discussion_handler"); // override some actions $action_base = elgg_get_plugins_path() . 'gvgroups/actions'; elgg_register_action("gvgroups/edit", "{$action_base}/gvgroups/edit.php"); // register some new actions elgg_register_action("admin/createlocal", "{$action_base}/admin/createlocal.php"); elgg_register_action("admin/deletelocal", "{$action_base}/admin/deletelocal.php"); // add a hook to transform group menu item in a dropdown menu elgg_register_plugin_hook_handler('register', 'menu:site', 'gvgroups_custom_sitemenu_setup'); // add an event handler to add the user in local groups, according to his profile elgg_register_event_handler('profileupdate', 'user', 'gvgroups_profileupdate'); // manage some specific subscribing (town groups) elgg_register_event_handler('create', 'member', 'gvgroups_join_group'); // add "my groups" menu to the topbar elgg_register_menu_item('topbar', array('name' => 'mygroups', 'href' => "groups/member/{$user->username}", 'text' => elgg_echo('gvgroups:mygroups'), 'section' => 'alt')); // extend CSS view elgg_extend_view('css/elgg', 'gvgroups/css'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'gvgroups_entity_menu_setup'); // check groups subscription at login elgg_register_event_handler('login', 'user', 'gvgroups_profileupdate'); }
function messages_init() { // register a library of helper functions elgg_register_library('elgg:messages', __DIR__ . '/lib/messages.php'); // add page menu items if (elgg_is_logged_in()) { elgg_register_menu_item('page', array('name' => 'messages:inbox', 'text' => elgg_echo('messages:inbox'), 'href' => "messages/inbox/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); elgg_register_menu_item('page', array('name' => 'messages:sentmessages', 'text' => elgg_echo('messages:sentmessages'), 'href' => "messages/sent/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); } // Extend system CSS with our own styles, which are defined in the messages/css view elgg_extend_view('elgg.css', 'messages/css'); elgg_extend_view('elgg.js', 'messages/js'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('messages', 'messages_page_handler'); // Register a URL handler elgg_register_plugin_hook_handler('entity:url', 'object', 'messages_set_url'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); // delete messages sent by a user when user is deleted elgg_register_event_handler('delete', 'user', 'messages_purge'); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'messages_ecml_views_hook'); // permission overrides elgg_register_plugin_hook_handler('permissions_check:metadata', 'object', 'messages_can_edit_metadata'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'messages_can_edit'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'messages_can_edit_container'); // Register actions $action_path = __DIR__ . '/actions/messages'; elgg_register_action("messages/send", "{$action_path}/send.php"); elgg_register_action("messages/delete", "{$action_path}/delete.php"); elgg_register_action("messages/process", "{$action_path}/process.php"); // Topbar menu. We assume this menu will render *after* a message is rendered. If a refactor/plugin // causes it to render first, the unread count notification will not update until the next page. elgg_register_plugin_hook_handler('register', 'menu:topbar', 'messages_register_topbar'); }
function follow_tags_init() { //Register Save Action for saving and changing FollowTags elgg_register_action("follow_tags/save", dirname(__FILE__) . '/action/save.php'); //Register a River Tab if (elgg_is_logged_in()) { $user = elgg_get_logged_in_user_entity(); elgg_register_menu_item('filter', array('name' => 'tags', 'href' => "/activity/tags", 'text' => elgg_echo("follow_tags:tab:title"), 'priority' => 500, 'contexts' => array('activity'))); //Register a Sidebar Item for Usersettings elgg_register_menu_item('page', array('name' => "follow_tags", 'text' => elgg_echo("follow_tags:sidebar:title"), 'href' => "follow_tags/settings/" . $user->username, 'context' => "settings")); } elgg_register_plugin_hook_handler("route", "activity", "follow_tags_route_activity_hook"); //Register Pagehandlers elgg_register_page_handler('follow_tags', 'follow_tags_page_handler'); elgg_register_page_handler('follow_tags_data', 'follow_tags_data_page_handler'); //Register JS and CSS for custom taginput field $js_url = 'mod/follow_tags/vendors/jquery.tagsinput.min.js'; elgg_register_js('jquery.tagsinput', $js_url, 'footer'); // Register CSS for TagInput $css_url = 'mod/follow_tags/vendors/jquery.tagsinput.css'; elgg_register_css('jquery.tagsinput', $css_url); // extend tags to include js/css just in time elgg_extend_view("input/tags", "follow_tags/extends/tags"); // Add a JavaScript Initialization elgg_extend_view('js/elgg', 'js/follow_tags/site'); // Run the followtags_notofy function in event is triggerd elgg_register_event_handler('create', 'object', 'follow_tags_notify', 501); }
function widget_favorites_init() { elgg_register_widget_type("favorites", elgg_echo("widgets:favorites:title"), elgg_echo("widgets:favorites:description"), "dashboard"); elgg_register_event_handler("pagesetup", "system", "widget_favorites_pagesetup"); elgg_register_action("favorite/toggle", dirname(__FILE__) . "/actions/toggle.php"); elgg_extend_view("js/elgg", "widgets/favorites/js"); }
/** * Initializes the plugin * * @return void */ function search_advanced_init() { // page handler for search actions and results elgg_register_page_handler("search_advanced", "search_advanced_page_handler"); elgg_register_page_handler("search", "search_advanced_search_page_handler"); // search hooks search_advanced_unregister_default_search_hooks(); search_advanced_register_search_hooks(); // unregister object:page from search elgg_unregister_entity_type("object", "page_top"); // views elgg_extend_view("css/elgg", "css/search_advanced/site"); elgg_extend_view("js/elgg", "js/search_advanced/site"); // widgets elgg_register_widget_type("search", elgg_echo("search"), elgg_echo("search"), array("profile", "dashboard", "index", "groups"), true); elgg_register_widget_type("search_user", elgg_echo("search_advanced:widgets:search_user:title"), elgg_echo("search_advanced:widgets:search_user:description"), array("dashboard", "index")); if (elgg_is_active_plugin("categories")) { // make universal categories searchable add_translation(get_current_language(), array("tag_names:universal_categories" => elgg_echo("categories"))); elgg_register_tag_metadata_name("universal_categories"); } // hooks and events to clear cache // register hooks elgg_register_plugin_hook_handler("action", "admin/plugins/activate", "search_advanced_clear_keywords_cache"); elgg_register_plugin_hook_handler("action", "admin/plugins/deactivate", "search_advanced_clear_keywords_cache"); elgg_register_plugin_hook_handler("action", "admin/plugins/activate_all", "search_advanced_clear_keywords_cache"); elgg_register_plugin_hook_handler("action", "admin/plugins/deactivate_all", "search_advanced_clear_keywords_cache"); elgg_register_plugin_hook_handler("action", "plugins/settings/save", "search_advanced_clear_keywords_cache"); elgg_register_plugin_hook_handler("register", "menu:search_type_selection", "search_advanced_register_menu_type_selection"); // register events elgg_register_event_handler("upgrade", "system", "search_advanced_clear_keywords_cache"); // actions elgg_register_action("search_advanced/settings/save", dirname(__FILE__) . "/actions/plugins/settings/save.php", "admin"); }
function developers_process_settings() { if (elgg_get_plugin_setting('display_errors', 'developers') == 1) { ini_set('display_errors', 1); } else { ini_set('display_errors', 0); } if (elgg_get_plugin_setting('screen_log', 'developers') == 1) { $cache = new ElggLogCache(); elgg_set_config('log_cache', $cache); elgg_register_plugin_hook_handler('debug', 'log', array($cache, 'insertDump')); elgg_extend_view('page/elements/foot', 'developers/log'); } if (elgg_get_plugin_setting('show_strings', 'developers') == 1) { // first and last in case a plugin registers a translation in an init method elgg_register_event_handler('init', 'system', 'developers_clear_strings', 1000); elgg_register_event_handler('init', 'system', 'developers_clear_strings', 1); } if (elgg_get_plugin_setting('wrap_views', 'developers') == 1) { elgg_register_plugin_hook_handler('view', 'all', 'developers_wrap_views'); } if (elgg_get_plugin_setting('log_events', 'developers') == 1) { elgg_register_event_handler('all', 'all', 'developers_log_events', 1); elgg_register_plugin_hook_handler('all', 'all', 'developers_log_events', 1); } }
/** * The Wire initialization */ function thewire_init() { // register the wire's JavaScript $thewire_js = elgg_get_simplecache_url('js', 'thewire'); elgg_register_js('elgg.thewire', $thewire_js, 'footer'); elgg_register_ajax_view('thewire/previous'); // add a site navigation item $item = new ElggMenuItem('thewire', elgg_echo('thewire'), 'thewire/all'); elgg_register_menu_item('site', $item); // owner block menu elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'thewire_owner_block_menu'); // remove edit and access and add thread, reply, view previous elgg_register_plugin_hook_handler('register', 'menu:entity', 'thewire_setup_entity_menu_items'); // Extend system CSS with our own styles, which are defined in the thewire/css view elgg_extend_view('css/elgg', 'thewire/css'); // Add a user's latest wire post to profile elgg_extend_view('profile/status', 'thewire/profile_status'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('thewire', 'thewire_page_handler'); // Register a URL handler for thewire posts elgg_register_plugin_hook_handler('entity:url', 'object', 'thewire_set_url'); elgg_register_widget_type('thewire', elgg_echo('thewire'), elgg_echo("thewire:widget:desc")); // Register for search elgg_register_entity_type('object', 'thewire'); // Register for notifications elgg_register_notification_event('object', 'thewire'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:thewire', 'thewire_prepare_notification'); elgg_register_plugin_hook_handler('get', 'subscriptions', 'thewire_add_original_poster'); // Register actions $action_base = elgg_get_plugins_path() . 'thewire/actions'; elgg_register_action("thewire/add", "{$action_base}/add.php"); elgg_register_action("thewire/delete", "{$action_base}/delete.php"); elgg_register_plugin_hook_handler('unit_test', 'system', 'thewire_test'); elgg_register_event_handler('upgrade', 'system', 'thewire_run_upgrades'); }
function init() { if (is_on_probation()) { // don't allow sending messages elgg_unregister_action('messages/send'); elgg_register_plugin_hook_handler('register', 'menu:topbar', __NAMESPACE__ . '\\hook_register_menu_topbar', 999); // don't allow group creation elgg_unregister_action('groups/edit'); elgg_register_plugin_hook_handler('register', 'menu:title', __NAMESPACE__ . '\\hook_register_title_menu', 999); // mark content as probationary and make it private. if (elgg_get_plugin_setting(QUARANTINE_CONTENT, PLUGIN_ID)) { elgg_register_event_handler('create', 'object', __NAMESPACE__ . '\\event_create_object'); elgg_register_event_handler('update', 'object', __NAMESPACE__ . '\\event_update_object'); } } if (elgg_is_admin_logged_in()) { elgg_register_admin_menu_item('administer', 'probation', 'users'); // Add approval links to entity menus elgg_register_plugin_hook_handler('prepare', 'menu:entity', __NAMESPACE__ . '\\hook_prepare_entity_menu', 999); } // show message above user profile elgg_extend_view('profile/details', 'probation/profile_details_400', 400); elgg_register_action('probation/approve_content', __DIR__ . '/actions/probation/approve_content.php', 'admin'); elgg_register_action('probation/approve_user', __DIR__ . '/actions/probation/approve_user.php', 'admin'); // hiding "Send message" or adding "Remove probation" elgg_register_plugin_hook_handler('register', 'menu:user_hover', __NAMESPACE__ . '\\hook_register_hover_menu', 999); // put all newly-enabled users on probation elgg_register_event_handler('enable', 'user', __NAMESPACE__ . '\\event_enable_user'); // we don't enqueue notification events for probationary content elgg_register_plugin_hook_handler('enqueue', 'notification', __NAMESPACE__ . '\\hook_enqueue_notification'); // nor do we allow notify_user() for comments/replies elgg_register_plugin_hook_handler('email', 'system', __NAMESPACE__ . '\\hook_email_system', 1); elgg_register_event_handler('shutdown', 'system', __NAMESPACE__ . '\\event_shutdown'); }
/** * Gets called during system initialization * * @return void */ function advanced_notifications_init() { // default object notifications elgg_register_event_handler("create", "object", "advanced_notifications_create_object_event_handler"); elgg_register_event_handler("publish", "object", "advanced_notifications_create_object_event_handler"); // for blog as of Elgg 1.8.14 elgg_register_event_handler("notify", "album", "advanced_notifications_create_object_event_handler"); // for TidyPics elgg_unregister_event_handler("create", "object", "object_notifications"); elgg_unregister_event_handler("publish", "object", "object_notifications"); // for blog as of Elgg 1.8.14 elgg_unregister_event_handler("notify", "album", "object_notifications"); // for TidyPics // group forum topic notifications elgg_register_event_handler("create", "annotation", "advanced_notifications_create_annotation_event_handler"); elgg_unregister_event_handler("create", "annotation", "discussion_reply_notifications"); // for Elgg versions >= 1.8.6 elgg_unregister_event_handler("annotate", "all", "group_object_notifications"); // older versions of Elgg < 1.8.6 elgg_register_plugin_hook_handler("notify:annotation:subject", "group_topic_post", "advanced_notifications_discussion_reply_subject_hook"); elgg_register_plugin_hook_handler("notify:entity:subject", "object", "advanced_notifications_discussion_subject_hook"); // replace the email notification body elgg_register_plugin_hook_handler("notify:entity:message", "object", "advanced_notifications_email_body_hook", 99999); elgg_register_plugin_hook_handler("notify:annotation:message", "group_topic_post", "advanced_notifications_email_body_hook", 99999); elgg_register_plugin_hook_handler("action", "comments/add", "advanced_notifications_comment_action_hook"); // unregister some stuff from messages elgg_unregister_plugin_hook_handler("notify:entity:message", "object", "messages_notification_msg"); advanced_notifications_unregister_notification_object("object", "messages"); // thewire elgg_unregister_plugin_hook_handler("notify:entity:message", "object", "thewire_notify_message"); // replace site notifications elgg_register_plugin_hook_handler("register", "menu:filter", "advanced_notifications_filter_menu_hook"); elgg_register_plugin_hook_handler("route", "activity", "advanced_notifications_route_hook"); }