function live_notifications() { // Register a page handler, so we can have nice URLs elgg_register_page_handler('live_notifications', 'live_notifications_page_handler'); elgg_register_event_handler('pagesetup', 'system', 'live_notifications_notifier'); elgg_register_event_handler('pagesetup', 'system', 'live_notifications_plugin_pagesetup'); // Extend system CSS with our own styles elgg_extend_view('css/elgg', 'live_notifications/css'); elgg_extend_view('page/elements/topbar', 'live_notifications/popup'); elgg_extend_view('js/elgg', 'live_notifications/js/live_notifications.init.js'); elgg_register_entity_type('object', 'notification'); //disable message notifications site, //Comment this line if you want to receive also default site notifications unregister_notification_handler("site"); //Cron to remove old notifications two week ago elgg_register_plugin_hook_handler('cron', 'daily', 'live_notifications_cron'); //Extend add_to_river function for catch a event and create notification elgg_register_plugin_hook_handler('creating', 'river', 'catch_add_to_river_event'); elgg_register_plugin_hook_handler("action", "likes/add", "likes_notification_action"); //Actions $actions_base = elgg_get_plugins_path() . 'live_notifications/actions'; elgg_register_action('live_notifications/refresh_count', "{$actions_base}/refresh_count.php"); elgg_register_action('live_notifications/read_all', "{$actions_base}/read_all.php"); elgg_register_action('live_notifications/delete', "{$actions_base}/delete.php"); elgg_register_action('live_notifications/delete_all', "{$actions_base}/delete_all.php"); }
/** * The Wire initialization */ function thewire_init() { // register the wire's JavaScript $thewire_js = elgg_get_simplecache_url('thewire.js'); 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('elgg.css', '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'); // 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'); // allow to be liked elgg_register_plugin_hook_handler('likes:is_likable', 'object:thewire', 'Elgg\\Values::getTrue'); elgg_register_plugin_hook_handler('unit_test', 'system', 'thewire_test'); }
/** * Init blog plugin. */ function blog_init() { elgg_register_library('elgg:blog', __DIR__ . '/lib/blog.php'); // add a site navigation item elgg_register_menu_item('site', ['name' => 'blog', 'text' => elgg_echo('blog:blogs'), 'href' => 'blog/all']); // add to the main css elgg_extend_view('elgg.css', 'blog/css'); // routing of urls elgg_register_page_handler('blog', 'blog_page_handler'); // override the default url to view a blog object elgg_register_plugin_hook_handler('entity:url', 'object', 'blog_set_url'); // notifications elgg_register_notification_event('object', 'blog', array('publish')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:blog', 'blog_prepare_notification'); // add blog link to owner block elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu'); // Register for search. elgg_register_entity_type('object', 'blog'); // Add group option add_group_tool_option('blog', elgg_echo('blog:enableblog'), true); elgg_extend_view('groups/tool_latest', 'blog/group_module'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup'); // archive menu elgg_register_plugin_hook_handler('register', 'menu:blog_archive', 'blog_archive_menu_setup'); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook'); // allow to be liked elgg_register_plugin_hook_handler('likes:is_likable', 'object:blog', 'Elgg\\Values::getTrue'); }
function questions_init() { elgg_register_library("elgg:questions", dirname(__FILE__) . "/lib/questions.php"); add_subtype("object", 'question', 'ElggQuestion'); update_subtype("object", 'question', 'ElggQuestion'); add_subtype("object", 'answer', 'ElggAnswer'); update_subtype("object", 'answer', 'ElggAnswer'); elgg_extend_view("css/elgg", "questions/css"); elgg_extend_view("js/elgg", "questions/js"); elgg_register_menu_item("site", array("name" => 'questions', "text" => elgg_echo('questions'), "href" => "/questions/all")); elgg_register_entity_type("object", 'questions'); elgg_register_widget_type('questions', elgg_echo("widget:questions:title"), elgg_echo("widget:questions:description")); $actions_base = dirname(__FILE__) . '/actions/object/question'; elgg_register_action("object/question/save", "{$actions_base}/save.php"); elgg_register_action("questions/delete", "{$actions_base}/delete.php"); $actions_base = dirname(__FILE__) . '/actions/object/answer'; elgg_register_action("object/answer/save", "{$actions_base}/save.php"); elgg_register_entity_url_handler('object', 'question', 'questions_url_handler'); $plugin_dir = dirname(__FILE__); elgg_register_entity_url_handler('object', 'answer', 'answers_url'); elgg_register_page_handler('questions', 'questions_page_handler'); elgg_register_page_handler('answers', 'answers_page_handler'); $actions_base = "{$plugin_dir}/actions/object/answer"; elgg_register_action('object/answer/add', "{$actions_base}/save.php"); elgg_register_action('object/answer/edit', "{$actions_base}/save.php"); elgg_register_action('answers/delete', "{$actions_base}/delete.php"); elgg_register_plugin_hook_handler("register", "menu:owner_block", 'questions_owner_block_menu_handler'); elgg_register_plugin_hook_handler("register", "menu:user_hover", 'questions_user_hover_menu_handler'); elgg_register_plugin_hook_handler("register", 'menu:entity', 'questions_entity_menu_handler'); elgg_register_plugin_hook_handler("notify:entity:message", "object", 'questions_notify_message_handler'); add_group_tool_option('questions', elgg_echo("questions:enable"), true); elgg_extend_view("groups/tool_latest", "questions/group_module"); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'questions_container_permissions_check'); }
/** * video init */ function videos_init() { $root = dirname(__FILE__); elgg_register_library('elgg:videos', elgg_get_plugins_path() . 'videos/lib/videos.php'); // For now we can use the embed video library of Cash. Once that plugin is updated to 1.8 // we can use the elgg's manifest file to make the users use that library along with this // and remove the library from this plugin // V1.4 Added support for https in Cash's library elgg_register_library('elgg:videos:embed', elgg_get_plugins_path() . 'videos/lib/embed_video.php'); elgg_register_library('elgg:youtube_api', elgg_get_plugins_path() . 'videos/lib/youtube_functions.php'); $action_path = "{$root}/actions/videos"; elgg_register_action('videos/save', "{$action_path}/save.php"); elgg_register_action('videos/delete', "{$action_path}/delete.php"); elgg_register_menu_item('site', array('name' => 'videos', 'text' => elgg_echo('videos'), 'href' => 'videos/all')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videos_owner_block_menu'); elgg_register_page_handler('videos', 'videos_page_handler'); elgg_extend_view('css/elgg', 'videos/css'); elgg_register_widget_type('videos', elgg_echo('videos'), elgg_echo('videos:widget:description')); register_notification_object('object', 'videos', elgg_echo('videos:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videos_notify_message'); elgg_register_entity_url_handler('object', 'videos', 'video_url'); elgg_register_entity_type('object', 'videos'); add_group_tool_option('videos', elgg_echo('videos:enablevideos'), true); elgg_extend_view('groups/tool_latest', 'videos/group_module'); $views = array('output/longtext', 'output/plaintext'); foreach ($views as $view) { elgg_register_plugin_hook_handler("view", $view, "videos_view_filter", 500); } }
/** * Bookmark init */ function bookmarks_init() { $root = dirname(__FILE__); elgg_register_library('elgg:bookmarks', "{$root}/lib/bookmarks.php"); // actions $action_path = "{$root}/actions/bookmarks"; elgg_register_action('bookmarks/save', "{$action_path}/save.php"); elgg_register_action('bookmarks/delete', "{$action_path}/delete.php"); elgg_register_action('bookmarks/share', "{$action_path}/share.php"); // menus elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => 'bookmarks/all')); elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu'); elgg_register_page_handler('bookmarks', 'bookmarks_page_handler'); elgg_extend_view('elgg.css', 'bookmarks/css'); elgg_extend_view('elgg.js', 'bookmarks/js'); elgg_register_widget_type('bookmarks', elgg_echo('bookmarks'), elgg_echo('bookmarks:widget:description')); if (elgg_is_logged_in()) { $user_guid = elgg_get_logged_in_user_guid(); $address = urlencode(current_page_url()); elgg_register_menu_item('extras', array('name' => 'bookmark', 'text' => elgg_view_icon('push-pin-alt'), 'href' => "bookmarks/add/{$user_guid}?address={$address}", 'title' => elgg_echo('bookmarks:this'), 'rel' => 'nofollow')); } // Register for notifications elgg_register_notification_event('object', 'bookmarks', array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:bookmarks', 'bookmarks_prepare_notification'); // Register bookmarks view for ecml parsing elgg_register_plugin_hook_handler('get_views', 'ecml', 'bookmarks_ecml_views_hook'); // Register a URL handler for bookmarks elgg_register_plugin_hook_handler('entity:url', 'object', 'bookmark_set_url'); // Register entity type for search elgg_register_entity_type('object', 'bookmarks'); // Groups add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true); elgg_extend_view('groups/tool_latest', 'bookmarks/group_module'); }
/** * Bookmark init */ function bookmarks_init() { $root = dirname(__FILE__); elgg_register_library('elgg:bookmarks', "{$root}/lib/bookmarks.php"); // actions $action_path = "{$root}/actions/bookmarks"; elgg_register_action('bookmarks/save', "{$action_path}/save.php"); elgg_register_action('bookmarks/delete', "{$action_path}/delete.php"); elgg_register_action('bookmarks/share', "{$action_path}/share.php"); // menus elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => 'bookmarks/all')); elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu'); elgg_register_page_handler('bookmarks', 'bookmarks_page_handler'); elgg_extend_view('css/elgg', 'bookmarks/css'); elgg_extend_view('js/elgg', 'bookmarks/js'); elgg_register_widget_type('bookmarks', elgg_echo('bookmarks'), elgg_echo('bookmarks:widget:description')); if (elgg_is_logged_in()) { $user_guid = elgg_get_logged_in_user_guid(); $address = urlencode(current_page_url()); elgg_register_menu_item('extras', array('name' => 'bookmark', 'text' => elgg_view_icon('push-pin-alt'), 'href' => "bookmarks/add/{$user_guid}?address={$address}", 'title' => elgg_echo('bookmarks:this'), 'rel' => 'nofollow')); } // Register granular notification for this type register_notification_object('object', 'bookmarks', elgg_echo('bookmarks:new')); // Listen to notification events and supply a more useful message elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'bookmarks_notify_message'); // Register a URL handler for bookmarks elgg_register_entity_url_handler('object', 'bookmarks', 'bookmark_url'); // Register entity type for search elgg_register_entity_type('object', 'bookmarks'); // Groups add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true); elgg_extend_view('groups/tool_latest', 'bookmarks/group_module'); }
/** * 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 event_manager_init() { // Register subtype run_function_once("event_manager_run_once_subtypes"); // Register entity_type for search elgg_register_entity_type("object", Event::SUBTYPE); elgg_extend_view("css/elgg", "event_manager/css/site"); elgg_extend_view("js/elgg", "js/event_manager/site"); elgg_extend_view("page/elements/head", "event_manager/metatags"); elgg_register_page_handler("events", "event_manager_page_handler"); // Register granular notification for this type register_notification_object("object", Event::SUBTYPE, elgg_echo("event_manager:notification:subject")); // Listen to notification events and supply a more useful message elgg_register_plugin_hook_handler("notify:entity:message", "object", "event_manager_notify_message"); // add site menu item elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events")); // add group tool option add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true); // add to group profile elgg_extend_view("groups/tool_latest", "event_manager/group_module"); // add widgets elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), "index,dashboard,profile,groups"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "event_manager_widget_events_url"); // register js libraries $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager"); elgg_register_simplecache_view("js/event_manager/googlemaps"); $em_maps_js = elgg_get_simplecache_url("js", "event_manager/googlemaps"); elgg_register_js("event_manager.maps.helper", $em_maps_js); elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true"); elgg_register_js("addthisevent", elgg_get_site_url() . "mod/event_manager/vendors/addthisevent/atemay.js"); }
/** * Vouchers plugin initialization functions. */ function vouchers_init() { // register a library of helper functions elgg_register_library('elgg:vouchers', elgg_get_plugins_path() . 'vouchers/lib/vouchers.php'); // Register subtype run_function_once('vouchers_manager_run_once_subtypes'); // Register entity_type for search elgg_register_entity_type('object', Voucher::SUBTYPE); // Site navigation $item = new ElggMenuItem('vouchers', elgg_echo('vouchers:menu'), 'vouchers/all'); elgg_register_menu_item('site', $item); // Extend CSS elgg_extend_view('css/elgg', 'vouchers/css'); elgg_register_css('vouchers_tooltip_css', '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css'); // Extend js elgg_register_js('vouchersjs', elgg_get_site_url() . 'mod/vouchers/assets/vouchers.js'); elgg_register_js('vouchers_tooltip_js', '//code.jquery.com/ui/1.11.1/jquery-ui.js'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('vouchers', 'vouchers_page_handler'); // Register a URL handler for voucher $release = get_version(true); // Register a URL handler for agora if ($release < 1.9) { // version 1.8 elgg_register_entity_url_handler('object', 'vouchers', 'voucher_url'); } else { // use this since Elgg 1.9 elgg_register_plugin_hook_handler('entity:url', 'object', 'vouchers_set_url'); } // Register menu item to an ownerblock elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'vouchers_owner_block_menu'); // Register admin transaction log menu under "Utilities" elgg_register_admin_menu_item('administer', 'vouchers_transactions_log', 'administer_utilities'); // register plugin hooks elgg_register_plugin_hook_handler("public_pages", "walled_garden", "vouchers_walled_garden_hook"); // Register actions $action_path = elgg_get_plugins_path() . 'vouchers/actions'; elgg_register_action("vouchers/addvoucher", "{$action_path}/addvoucher.php"); elgg_register_action("vouchers/delete", "{$action_path}/delvoucher.php"); elgg_register_action("vouchers/set_featured", "{$action_path}/vouchers/set_featured.php"); // set a voucher post as featured elgg_register_action("vouchers/unset_featured", "{$action_path}/vouchers/unset_featured.php"); // unset a voucher post from featured elgg_register_action("vouchers/get_with_points", "{$action_path}/vouchers/get_with_points.php"); // voucher purchase with points only elgg_register_action('vouchers/be_interested', "{$action_path}/be_interested.php"); // send interest elgg_register_action("vouchers/usersettings", "{$action_path}/usersettings.php"); // save user settings // extend group main page elgg_extend_view('groups/tool_latest', 'vouchers/group_module'); //elgg_extend_view("print", "printpreview/pageshell/pageshell"); // add the group vouchers tool option add_group_tool_option('vouchers', elgg_echo('vouchers:group:enablevouchers'), true); // Add vouchers widgets elgg_register_widget_type('vouchers', elgg_echo('vouchers:widget'), elgg_echo('vouchers:widget:description'), 'profile,groups,dashboard'); // member's voucher posts elgg_register_widget_type('vouchers_featured', elgg_echo('vouchers:widget:featured'), elgg_echo('vouchers:widget:featured:description'), 'dashboard'); // featured vouchers for dashboard }
/** * Initialize the pages plugin. * */ function publications_init() { // register a library of helper functions elgg_register_library('elgg:publications', elgg_get_plugins_path() . 'publications/lib/publications.php'); $item = new ElggMenuItem('pages', elgg_echo('publications'), 'publications/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('publications', 'publications_page_handler'); // Register an icon handler for blog elgg_register_page_handler("publicationsicon", "publications_icon_handler"); // Register a url handler elgg_register_entity_url_handler('object', 'publication', 'publication_url_handler'); // Register some actions $action_base = elgg_get_plugins_path() . 'publications/actions'; elgg_register_action("publications/edit", "{$action_base}/publications/edit.php"); elgg_register_action("publications/delete", "{$action_base}/publications/delete.php"); // Register entity type for search elgg_register_entity_type('object', 'publication'); //icon url overide elgg_register_plugin_hook_handler("entity:icon:url", "object", "publications_icon_hook"); //add a widget elgg_register_widget_type('publications', elgg_echo('publications'), elgg_echo('publications:widget:description'), "index"); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('publications', array('title' => 'text', 'description' => 'longtext', 'pubDate' => 'text', 'tags' => 'tags', 'access_id' => 'access')); }
function faq_init() { // Extend CSS elgg_extend_view("css/elgg", "faq/css"); if (elgg_get_plugin_setting("publicAvailable", "faq") == "yes" || elgg_is_admin_logged_in()) { // Register a page handler, so we can have nice URLs elgg_register_page_handler('faq', 'faq_page_handler'); if (elgg_get_plugin_setting("publicAvailable_sitemenu", "faq") == "yes" || elgg_is_logged_in()) { // Add menu item elgg_register_menu_item('site', array('name' => elgg_echo("faq:shorttitle"), 'text' => elgg_echo("faq:shorttitle"), 'href' => elgg_get_site_url() . "faq/")); } if (elgg_get_plugin_setting("publicAvailable_footerlink", "faq") == "yes" || elgg_is_logged_in()) { // Add footer link faq_setup_footer_menu(); } // Register faq pages as public pages for walled-garden elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'faq_public'); // Register Actions $base_dir = elgg_get_plugins_path() . 'faq/actions/faq/'; elgg_register_action("faq/add", $base_dir . "add.php", "admin"); elgg_register_action("faq/delete", $base_dir . "delete.php", "admin"); elgg_register_action("faq/edit", $base_dir . "edit.php", "admin"); elgg_register_action("faq/search", $base_dir . "search.php", "public"); elgg_register_action("faq/changeCategory", $base_dir . "changeCategory.php", "admin"); if (elgg_get_plugin_setting("userQuestions", "faq") == "yes") { elgg_register_action("faq/ask", $base_dir . "ask.php", "logged_in"); elgg_register_action("faq/answer", $base_dir . "answer.php", "admin"); } // Register FAQs for site search elgg_register_entity_type("object", "faq"); elgg_register_plugin_hook_handler('search', 'object:faq', 'faq_search_hook'); } }
/** * Initialize the projects plugin. * */ function surveys_init() { // register a library of helper functions elgg_register_library('surveys', elgg_get_plugins_path() . 'surveys/lib/surveys.php'); elgg_load_library('surveys'); //register css $css_url = 'mod/surveys/css/styles.css'; elgg_register_css('surveysCss', $css_url); elgg_load_css('surveysCss'); // register a project handler, so we can have nice URLs elgg_register_page_handler('surveys', 'surveys_page_handler'); // register a url handler elgg_register_entity_url_handler('object', 'survey', 'surveys_url'); // register entity type for search elgg_register_entity_type('object', 'survey'); // register some actions $action_base = elgg_get_plugins_path() . 'surveys/actions'; elgg_register_action("surveys/submit", "{$action_base}/submit.php"); elgg_register_action("surveys/delete", "{$action_base}/delete.php"); elgg_register_action("surveys/edit", "{$action_base}/edit.php"); // Language short codes must be of the form "projects:key" // where key is the array key below elgg_set_config('surveys', array('hear[]' => 'custom_checkbox', 'reason[]' => 'custom_checkbox', 'overall' => 'dropdown', 'speakers' => 'dropdown', 'facilitators' => 'dropdown', 'topics' => 'dropdown', 'structure' => 'dropdown', 'relevance' => 'dropdown', 'venue' => 'dropdown', 'overall_length' => 'dropdown', 'presentations' => 'dropdown', 'breaks' => 'dropdown', 'networking' => 'dropdown', 'groups' => 'dropdown', 'plenaries' => 'dropdown', 'worked' => 'plaintext', 'not_useful' => 'plaintext', 'useful' => 'plaintext', 'willAttend' => 'radio', 'attendExplain' => 'plaintext', 'help' => 'radio', 'helpExplain' => 'plaintext', 'recommend' => 'radio', 'otherDeparts' => 'radio', 'otherDepartsExplain' => 'plaintext', 'usefulDev' => 'radio', 'usefulDevExplain' => 'plaintext', 'suggestion' => 'plaintext', 'final1' => 'radio', 'final2' => 'radio', 'final3' => 'radio', 'final4' => 'radio', 'final5' => 'radio', 'final6' => 'radio', 'final7' => 'radio', 'final8[]' => 'custom_checkbox', 'final9' => 'plaintext', 'final10' => 'text')); // register the hook handler //elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu'); // Access permissions //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook'); //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook'); }
function polls_init() { elgg_register_library('elgg:polls', elgg_get_plugins_path() . 'polls/models/model.php'); // Set up menu for logged in users if (elgg_is_logged_in()) { $item = new ElggMenuItem('polls', elgg_echo('polls'), 'polls/owner/' . elgg_get_logged_in_user_entity()->username); } else { $item = new ElggMenuItem('polls', elgg_echo('poll'), 'polls/all'); } elgg_register_menu_item('site', $item); // Extend system CSS with our own styles, which are defined in the polls/css view elgg_extend_view('css/elgg', 'polls/css'); // Extend hover-over menu elgg_extend_view('profile/menu/links', 'polls/menu'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('polls', 'polls_page_handler'); // Register a URL handler for poll posts elgg_register_entity_url_handler('object', 'poll', 'polls_url'); // notifications $elgg_version = explode('.', get_version(true)); if ($elgg_version[1] > 8) { $send_notification = elgg_get_plugin_setting('send_notification', 'polls'); if (!$send_notification || $send_notification != 'no') { elgg_register_notification_event('object', 'poll'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:poll', 'polls_prepare_notification'); } } // add link to owner block elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'polls_owner_block_menu'); elgg_register_plugin_hook_handler('widget_url', 'widget_manager', 'polls_widget_url_handler'); // Register entity type elgg_register_entity_type('object', 'poll'); // register the JavaScript $js = elgg_get_simplecache_url('js', 'polls/js'); elgg_register_simplecache_view('js/polls/js'); elgg_register_js('elgg.polls', $js); // add group widget $group_polls = elgg_get_plugin_setting('group_polls', 'polls'); if (!$group_polls || $group_polls != 'no') { elgg_extend_view('groups/tool_latest', 'polls/group_module'); } if (!$group_polls || $group_polls == 'yes_default') { add_group_tool_option('polls', elgg_echo('polls:enable_polls'), TRUE); } else { if ($group_polls == 'yes_not_default') { add_group_tool_option('polls', elgg_echo('polls:enable_polls'), FALSE); } } //add widgets elgg_register_widget_type('poll', elgg_echo('polls:my_widget_title'), elgg_echo('polls:my_widget_description'), "profile,groups"); elgg_register_widget_type('latestPolls', elgg_echo('polls:latest_widget_title'), elgg_echo('polls:latest_widget_description'), "index,profile,dashboard,groups"); elgg_register_widget_type('poll_individual', elgg_echo('polls:individual'), elgg_echo('poll_individual_group:widget:description'), "index,profile,dashboard,groups"); // Register actions $action_path = elgg_get_plugins_path() . 'polls/actions/polls'; elgg_register_action("polls/add", "{$action_path}/add.php"); elgg_register_action("polls/edit", "{$action_path}/edit.php"); elgg_register_action("polls/delete", "{$action_path}/delete.php"); elgg_register_action("polls/vote", "{$action_path}/vote.php"); }
function simplekaltura_init() { $plugin_root = dirname(__FILE__); elgg_register_library('simplekaltura', "{$plugin_root}/lib/simplekaltura_lib.php"); elgg_register_library('KalturaClient', "{$plugin_root}/vendors/kaltura_client/KalturaClient.php"); elgg_load_library('simplekaltura'); // helper libs $libs = array('swfobject', 'html5', 'utility', 'thumbs'); foreach ($libs as $lib) { $url = elgg_get_simplecache_url('js', "simplekaltura/{$lib}"); elgg_register_js("simplekaltura:{$lib}", $url); } // Register SKUploader elgg_register_external_view('js/simplekaltura/SKUploader.js', TRUE); // Include html5 js library elgg_load_js('simplekaltura:html5'); elgg_load_js('simplekaltura:utility'); elgg_extend_view('css/elgg', 'simplekaltura/css'); // If plugin is properly configured if (simplekaltura_is_configured()) { // Add to main menu $item = new ElggMenuItem('simplekaltura', elgg_get_plugin_setting('kaltura_entity_title', 'simplekaltura'), 'videos'); elgg_register_menu_item('site', $item); // Register page handler elgg_register_page_handler('videos', 'simplekaltura_page_handler'); } else { elgg_add_admin_notice('simpkaltura_not_configured', elgg_echo('simplekaltura:error:pluginnotconfigured')); } // add the group pages tool option add_group_tool_option('simplekaltura', elgg_echo('groups:enablesimplekaltura'), TRUE); // Profile block hook elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'simplekaltura_owner_block_menu'); // Modify entity menu for addional video items elgg_register_plugin_hook_handler('register', 'menu:entity', 'simplekaltura_setup_entity_menu'); // notifications elgg_register_notification_event('object', 'simplekaltura_video', array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:simplekaltura_video', 'simplekaltura_prepare_notification'); // actions $actions_root = "{$plugin_root}/actions/simplekaltura"; elgg_register_action('simplekaltura/save', "{$actions_root}/save.php"); elgg_register_action('simplekaltura/update', "{$actions_root}/update.php"); elgg_register_action('simplekaltura/get_embed', "{$actions_root}/get_embed.php"); elgg_register_action('simplekaltura/featured', "{$actions_root}/featured.php", 'admin'); elgg_register_action('videos/delete', "{$actions_root}/delete.php"); elgg_register_action('simplekaltura/migrate', "{$actions_root}/migrate.php", 'admin'); // entity url and icon handlers elgg_register_plugin_hook_handler('entity:url', 'object', 'simplekaltura_url_handler'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simplekaltura_icon_url_override'); // Register type elgg_register_entity_type('object', 'simplekaltura_video'); // register CRON hook to poll video plays/duration/etc.. elgg_register_plugin_hook_handler('cron', 'fifteenmin', 'simplekaltura_bulk_update'); // Most Played Sidebar elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/featured'); elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/most_played'); // Whitelist ajax views elgg_register_ajax_view('simplekaltura/popup'); return TRUE; }
function videos_init() { elgg_register_entity_type('object', 'videos'); elgg_register_page_handler('videos', 'videos_page_handler'); elgg_register_action('videos/save', dirname(__FILE__) . "/actions/save.php"); elgg_register_action('videos/delete', dirname(__FILE__) . "/actions/delete.php"); elgg_register_plugin_hook_handler('container_permissions_check', 'all', 'videos_container_permissions_check'); }
/** * System init callback * @return void */ public function init() { elgg_register_page_handler($this->router->getPageHandlerId(), array($this->router, 'handlePages')); elgg_register_plugin_hook_handler('entity:url', 'object', array($this->hooks, 'urlHandler')); elgg_register_entity_type('object', Post::SUBTYPE); elgg_extend_view('css/elgg', 'css/framework/wall/stylesheet'); elgg_extend_view('js/initialize_elgg', 'js/framework/wall/config'); // AJAX view to load URL previews elgg_register_ajax_view('output/wall/url'); if (\hypeJunction\Integration::isElggVersionBelow('1.9.0')) { elgg_load_js('jquery.form'); elgg_extend_view('js/elgg', 'js/framework/wall/legacy/status'); // Display wall form elgg_extend_view('page/layouts/content/filter', 'framework/wall/container', 100); // Notifications register_notification_object('object', Post::SUBTYPE, elgg_echo('wall:new:notification:generic')); elgg_register_event_handler('publish', 'object', array($this->notifications, 'sendMessageLegacy')); elgg_register_plugin_hook_handler('object:notifications', 'object', array($this->notifications, 'disableDefaultHandlerLegacy')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', array($this->notifications, 'formatMessageLegacy')); } else { // Display wall form elgg_extend_view('page/layouts/elements/filter', 'framework/wall/container', 100); // JS elgg_extend_view('js/elgg', 'js/framework/wall/elgg.js'); // Notifications elgg_register_event_handler('publish', 'object', array($this->notifications, 'sendCustomNotifications')); elgg_register_notification_event('object', 'hjwall', array('publish')); elgg_register_notification_event('object', 'thewire', array('publish')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:hjwall', array($this->notifications, 'formatMessage')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:thewire', array($this->notifications, 'formatMessage')); elgg_register_plugin_hook_handler('likes:is_likable', 'object:hjwall', 'Elgg\\Values::getTrue'); } $action_path = $this->plugin->getPath() . '/actions/'; elgg_register_action('wall/status', $action_path . 'wall/status.php'); elgg_register_action('wall/photo', $action_path . 'wall/status.php'); elgg_register_action('wall/file', $action_path . 'wall/status.php'); elgg_register_action('wall/url', $action_path . 'wall/status.php'); elgg_register_action('wall/content', $action_path . 'wall/status.php'); elgg_register_action('wall/delete', $action_path . 'wall/delete.php'); elgg_register_action('wall/remove_tag', $action_path . 'wall/remove_tag.php'); elgg_register_action('wall/geopositioning/update', $action_path . 'wall/geopositioning/update.php', 'public'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', array($this->hooks, 'containerPermissionsCheck')); elgg_register_plugin_hook_handler('register', 'menu:river', array($this->hooks, 'riverMenuSetup')); elgg_register_plugin_hook_handler('register', 'menu:entity', array($this->hooks, 'entityMenuSetup')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', array($this->hooks, 'ownerBlockMenuSetup')); elgg_register_plugin_hook_handler('register', 'menu:user_hover', array($this->hooks, 'userHoverMenuSetup')); elgg_register_plugin_hook_handler('get_views', 'ecml', array($this->hooks, 'getECMLViews')); elgg_register_plugin_hook_handler('view', 'object/thewire', array($this->hooks, 'hijackWire')); elgg_register_plugin_hook_handler('view', 'river/object/thewire/create', array($this->hooks, 'hijackWireRiver')); elgg_register_widget_type('wall', elgg_echo('wall'), elgg_echo('wall:widget:description')); add_group_tool_option('wall', elgg_echo('wall:groups:enable'), false); elgg_extend_view('groups/tool_latest', 'framework/wall/group_module'); // Export $subtype = Post::SUBTYPE; elgg_register_plugin_hook_handler('aliases', 'graph', array($this->hooks, 'getGraphAlias')); elgg_register_plugin_hook_handler('graph:properties', "object:{$subtype}", array($this->hooks, 'getPostProperties')); // @todo Move graph controller when interface is implemented in hypeApps }
function zhaohu_manager_init() { zhaohu_expose_restapi(); // owner block menu if (elgg_get_viewtype() == 'default') { elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'zh_owner_block_menu'); } // remove rss icon elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); // Register subtype // Register entity_type for search elgg_register_entity_type("object", Zhaohu::SUBTYPE); elgg_register_entity_type("object", Coupon::SUBTYPE); // Extend system CSS with our own styles elgg_extend_view("css/elgg", "zhaohu_manager/css/site"); // Register a page handler, so we can have nice URLs elgg_register_page_handler('zhaohus', 'zhaohu_page_handler'); elgg_register_page_handler('zhaohu_icon', 'zhaohu_icon_handler'); // Add a menu item to the main site menu elgg_register_menu_item('site', ElggMenuItem::factory(array('name' => 'zhaohu', 'href' => '/zhaohus', 'text' => elgg_echo('zhaohu_manager:zhaohu')))); // register default elgg zhaohus elgg_register_plugin_hook_handler("register", "menu:entity", "zhaohu_manager_entity_menu", 600); //actions elgg_register_action("zhaohu/broadcast", dirname(__FILE__) . "/actions/zhaohu/broadcast.php"); elgg_register_action("zhaohu/invite", dirname(__FILE__) . "/actions/zhaohu/invite.php"); elgg_register_action("zhaohu_manager/zhaohu/cancel", dirname(__FILE__) . "/actions/zhaohu/cancel.php"); elgg_register_action("zhaohu_manager/zhaohu/delete", dirname(__FILE__) . "/actions/zhaohu/delete.php"); elgg_register_action("zhaohu_manager/zhaohu/edit", dirname(__FILE__) . "/actions/zhaohu/edit.php"); elgg_register_action("zhaohu_manager/zhaohu/feature", dirname(__FILE__) . "/actions/zhaohu/feature.php"); elgg_register_action("zhaohu_manager/zhaohu/publish", dirname(__FILE__) . "/actions/zhaohu/publish.php"); elgg_register_action("zhaohu_manager/zhaohu/rsvp", dirname(__FILE__) . "/actions/zhaohu/rsvp.php"); elgg_register_action("coupon/delete", dirname(__FILE__) . "/actions/coupon/delete.php"); elgg_register_action("coupon/use", dirname(__FILE__) . "/actions/coupon/use.php"); elgg_register_action("coupons/gen", dirname(__FILE__) . "/actions/coupons/gen.php"); elgg_register_action("coupons/send", dirname(__FILE__) . "/actions/coupons/send.php"); // add widgets //elgg_register_widget_type("zhaohus", elgg_echo("zhaohu:widgets:title"), elgg_echo("zhaohu:widgets:description"), "index,dashboard,profile,groups"); //elgg_register_plugin_hook_handler("widget_url", "widget_manager", "zhaohu_manager_widget_zhaohus_url"); // register js libraries //$maps_key = elgg_get_plugin_setting("google_api_key", "zhaohu_manager"); $maps_key = ""; elgg_register_simplecache_view("js/zhaohu_manager/gm_div"); $gm_div_js = elgg_get_simplecache_url("js", "zhaohu_manager/gm_div"); elgg_register_js("zhaohu_manager.maps.gm.div", $gm_div_js, 'footer'); elgg_register_js("zhaohu_manager.maps.base", "//maps.googleapis.com/maps/api/js?sensor=false", 'footer'); elgg_register_simplecache_view("js/addthisevent/atemin"); $addthisevent_js = elgg_get_simplecache_url("js", "addthisevent/atemin"); elgg_register_js("addthisevent.base", $addthisevent_js, 'footer'); // $view_type = elgg_get_viewtype(); elgg_register_simplecache_view("js/zhaohu_manager/search"); $search_js = elgg_get_simplecache_url("js", "zhaohu_manager/search"); elgg_register_js("zhaohu_manager.search", $search_js); elgg_register_simplecache_view("js/zhaohu_manager/edit"); $edit_js = elgg_get_simplecache_url("js", "zhaohu_manager/edit"); elgg_register_js("zhaohu_manager.edit", $edit_js); }
function news_init() { elgg_register_entity_type('object', 'news'); elgg_register_page_handler('news', 'news_page_handler'); elgg_register_action('news/save', dirname(__FILE__) . "/actions/save.php"); elgg_register_action('news/delete', dirname(__FILE__) . "/actions/delete.php"); elgg_register_plugin_hook_handler('container_permissions_check', 'all', 'news_container_permissions_check'); elgg_extend_view("js/elgg", "js/news/site"); }
/** * This function is called when the Elgg system gets initialized * * @return void */ function newsletter_init() { // register page handler elgg_register_page_handler("newsletter", "newsletter_page_handler"); // Register entity_type for search elgg_register_entity_type("object", "newsletter"); // CSS & JS elgg_extend_view("css/elgg", "css/newsletter/site"); elgg_register_simplecache_view("js/newsletter/embed.js"); // extend views elgg_extend_view("groups/sidebar/my_status", "newsletter/sidebar/subscribe"); elgg_extend_view("register/extend", "newsletter/register"); // create group setting if (newsletter_is_group_enabled()) { add_group_tool_option("newsletter", elgg_echo("newsletter:group:tool_option"), true); } // widget elgg_register_widget_type("newsletter_subscribe", elgg_echo("newsletter:sidebar:subscribe:title"), elgg_echo("newsletter:widget:subscribe:description"), array("index", "groups")); // register plugin hooks elgg_register_plugin_hook_handler("cron", "hourly", "newsletter_cron_handler"); elgg_register_plugin_hook_handler("access:collections:write", "all", "newsletter_write_access_handler", 600); // needs to be after groups elgg_register_plugin_hook_handler("register", "menu:page", "newsletter_register_page_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:newsletter_steps", "newsletter_register_newsletter_steps_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:entity", "newsletter_register_entity_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:owner_block", "newsletter_register_owner_block_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:filter", "newsletter_register_filter_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:newsletter_buttons", "newsletter_register_buttons_menu_handler"); elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler"); elgg_register_plugin_hook_handler("usersettings:save", "user", "newsletter_usersettings_save_handler"); elgg_register_plugin_hook_handler("register", "user", "newsletter_register_user_handler"); elgg_register_plugin_hook_handler("entity:icon:url", "object", "newsletter_icon_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "newsletter_widget_url_handler"); elgg_register_plugin_hook_handler("notification_type_subtype", "tag_tools", "newsletter_tag_tools_notifications"); // extend public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'newsletter_public_pages'); // register event handlers elgg_register_event_handler("upgrade", "system", "newsletter_upgrade_event_handler"); elgg_register_event_handler("create", "member_of_site", "newsletter_join_site_event_handler"); // register actions elgg_register_action("newsletter/edit", dirname(__FILE__) . "/actions/edit.php"); elgg_register_action("newsletter/edit/schedule", dirname(__FILE__) . "/actions/edit/schedule.php"); elgg_register_action("newsletter/edit/content", dirname(__FILE__) . "/actions/edit/content.php"); elgg_register_action("newsletter/edit/template", dirname(__FILE__) . "/actions/edit/template.php"); elgg_register_action("newsletter/edit/template_to_custom", dirname(__FILE__) . "/actions/edit/template_to_custom.php"); elgg_register_action("newsletter/edit/recipients", dirname(__FILE__) . "/actions/edit/recipients.php"); elgg_register_action("newsletter/delete", dirname(__FILE__) . "/actions/delete.php"); elgg_register_action("newsletter/send", dirname(__FILE__) . "/actions/send.php"); elgg_register_action("newsletter/subscribe", dirname(__FILE__) . "/actions/subscribe.php", "public"); elgg_register_action("newsletter/unsubscribe", dirname(__FILE__) . "/actions/unsubscribe.php", "public"); elgg_register_action("newsletter/subscriptions", dirname(__FILE__) . "/actions/subscriptions.php"); elgg_register_action("newsletter/duplicate", dirname(__FILE__) . "/actions/duplicate.php"); elgg_register_action("newsletter/preview_mail", dirname(__FILE__) . "/actions/preview_mail.php"); elgg_register_action("newsletter/template/edit", dirname(__FILE__) . "/actions/template/edit.php"); elgg_register_action("newsletter/template/delete", dirname(__FILE__) . "/actions/template/delete.php"); }
/** * People init function */ function people_init() { // add a site navigation item $item = new ElggMenuItem('people', elgg_echo('people:people'), 'people'); elgg_register_menu_item('site', $item); elgg_register_entity_type('object', 'people'); // elgg_register_page_handler('people', 'people_page_handler'); }
/** * This function is called when the Elgg system gets initialized * * @return void */ function newsletter_init() { // register page handler elgg_register_page_handler('newsletter', '\\ColdTrick\\Newsletter\\PageHandler::newsletter'); // Register entity_type for search elgg_register_entity_type('object', 'newsletter'); // CSS & JS elgg_extend_view('css/elgg', 'css/newsletter.css'); elgg_register_simplecache_view('js/newsletter/embed.js'); // extend views elgg_extend_view('groups/sidebar/my_status', 'newsletter/sidebar/subscribe'); elgg_extend_view('register/extend', 'newsletter/register'); // create group setting if (newsletter_is_group_enabled()) { add_group_tool_option('newsletter', elgg_echo('newsletter:group:tool_option'), true); } // widget elgg_register_widget_type('newsletter_subscribe', elgg_echo('newsletter:sidebar:subscribe:title'), elgg_echo('newsletter:widget:subscribe:description'), ['index', 'groups']); // register plugin hooks elgg_register_plugin_hook_handler('cron', 'hourly', '\\ColdTrick\\Newsletter\\Cron::sendNewsletters'); elgg_register_plugin_hook_handler('access:collections:write', 'all', '\\ColdTrick\\Newsletter\\Access::writeAccessCollections', 600); // needs to be after groups elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\Newsletter\\Menus::pageRegister'); elgg_register_plugin_hook_handler('register', 'menu:newsletter_steps', '\\ColdTrick\\Newsletter\\Menus::newsletterSteps'); elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\Newsletter\\Menus::entityRegister'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', '\\ColdTrick\\Newsletter\\Menus::ownerBlockRegister'); elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\Newsletter\\Menus::filterRegister'); elgg_register_plugin_hook_handler('register', 'menu:newsletter_buttons', '\\ColdTrick\\Newsletter\\Menus::newsletterButtonsRegister'); elgg_register_plugin_hook_handler('register', 'menu:longtext', '\\ColdTrick\\Newsletter\\Menus::longtextRegister'); elgg_register_plugin_hook_handler('usersettings:save', 'user', '\\ColdTrick\\Newsletter\\User::convertEmailSubscriptionToUserSetting'); elgg_register_plugin_hook_handler('register', 'user', '\\ColdTrick\\Newsletter\\User::subscribeToSiteNewsletter'); elgg_register_plugin_hook_handler('widget_url', 'widget_manager', '\\ColdTrick\\Newsletter\\Widgets::widgetURL'); elgg_register_plugin_hook_handler('notification_type_subtype', 'tag_tools', '\\ColdTrick\\Newsletter\\TagTools::notificationTypeSubtype'); elgg_register_plugin_hook_handler('likes:is_likable', 'object:' . \Newsletter::SUBTYPE, '\\Elgg\\Values::getTrue'); // extend public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '\\ColdTrick\\Newsletter\\Site::publicPages'); // register event handlers elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Newsletter\\Upgrade::urlPostfix'); elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\Newsletter\\Site::join'); // register actions elgg_register_action('newsletter/edit', dirname(__FILE__) . '/actions/edit.php'); elgg_register_action('newsletter/edit/schedule', dirname(__FILE__) . '/actions/edit/schedule.php'); elgg_register_action('newsletter/edit/content', dirname(__FILE__) . '/actions/edit/content.php'); elgg_register_action('newsletter/edit/template', dirname(__FILE__) . '/actions/edit/template.php'); elgg_register_action('newsletter/edit/template_to_custom', dirname(__FILE__) . '/actions/edit/template_to_custom.php'); elgg_register_action('newsletter/edit/recipients', dirname(__FILE__) . '/actions/edit/recipients.php'); elgg_register_action('newsletter/delete', dirname(__FILE__) . '/actions/delete.php'); elgg_register_action('newsletter/send', dirname(__FILE__) . '/actions/send.php'); elgg_register_action('newsletter/subscribe', dirname(__FILE__) . '/actions/subscribe.php', 'public'); elgg_register_action('newsletter/unsubscribe', dirname(__FILE__) . '/actions/unsubscribe.php', 'public'); elgg_register_action('newsletter/subscriptions', dirname(__FILE__) . '/actions/subscriptions.php'); elgg_register_action('newsletter/duplicate', dirname(__FILE__) . '/actions/duplicate.php'); elgg_register_action('newsletter/preview_mail', dirname(__FILE__) . '/actions/preview_mail.php'); elgg_register_action('newsletter/template/edit', dirname(__FILE__) . '/actions/template/edit.php'); elgg_register_action('newsletter/template/delete', dirname(__FILE__) . '/actions/template/delete.php'); }
/** * Init function for this plugin * * @return void */ function event_manager_init() { elgg_register_library("dompdf", dirname(__FILE__) . "/vendors/dompdf/dompdf_config.inc.php"); // Register entity_type for search elgg_register_entity_type("object", Event::SUBTYPE); elgg_extend_view("css/elgg", "event_manager/css/site"); elgg_extend_view("js/elgg", "js/event_manager/site"); elgg_extend_view("page/elements/head", "event_manager/metatags"); // notifications elgg_register_notification_event('object', Event::SUBTYPE, array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Event::SUBTYPE, 'event_manager_prepare_notification'); // add site menu item elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events")); // add group tool option if (event_manager_groups_enabled()) { add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true); } // add to group profile elgg_extend_view("groups/tool_latest", "event_manager/group_module"); // add widgets elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), array("index", "dashboard", "profile", "groups")); // register js libraries $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager"); elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true"); elgg_register_js("addthisevent", "mod/event_manager/vendors/addthisevent/atemay.js"); // page handlers elgg_register_page_handler("events", "event_manager_page_handler"); // events elgg_register_event_handler("update", "object", "event_manager_update_object_handler"); // hooks elgg_register_plugin_hook_handler("register", "menu:user_hover", "event_manager_user_hover_menu"); elgg_register_plugin_hook_handler("register", "menu:entity", "event_manager_entity_menu", 600); elgg_register_plugin_hook_handler("register", "menu:owner_block", "event_manager_owner_block_menu"); elgg_register_plugin_hook_handler("permissions_check", "object", "event_manager_permissions_check_handler"); elgg_register_plugin_hook_handler("entity:url", "object", "event_manager_widget_events_url"); // actions elgg_register_action("event_manager/event/edit", dirname(__FILE__) . "/actions/event/edit.php"); elgg_register_action("event_manager/event/delete", dirname(__FILE__) . "/actions/event/delete.php"); elgg_register_action("event_manager/event/rsvp", dirname(__FILE__) . "/actions/event/rsvp.php"); elgg_register_action("event_manager/event/upload", dirname(__FILE__) . "/actions/event/upload.php"); elgg_register_action("event_manager/event/deletefile", dirname(__FILE__) . "/actions/event/deletefile.php"); elgg_register_action("event_manager/event/search", dirname(__FILE__) . "/actions/event/search.php"); elgg_register_action("event_manager/event/unsubscribe", dirname(__FILE__) . "/actions/event/unsubscribe.php", "public"); elgg_register_action("event_manager/event/unsubscribe_confirm", dirname(__FILE__) . "/actions/event/unsubscribe_confirm.php", "public"); elgg_register_action("event_manager/event/resend_confirmation", dirname(__FILE__) . "/actions/event/resend_confirmation.php"); elgg_register_action("event_manager/event/register", dirname(__FILE__) . "/actions/event/register.php", "public"); elgg_register_action("event_manager/attendees/export", dirname(__FILE__) . "/actions/attendees/export.php"); elgg_register_action("event_manager/attendees/move_to_attendees", dirname(__FILE__) . "/actions/attendees/move_to_attendees.php"); elgg_register_action("event_manager/registration/edit", dirname(__FILE__) . "/actions/registration/edit.php"); elgg_register_action("event_manager/registration/approve", dirname(__FILE__) . "/actions/registration/approve.php"); elgg_register_action("event_manager/registration/pdf", dirname(__FILE__) . "/actions/registration/pdf.php", "public"); elgg_register_action("event_manager/registration/confirm", dirname(__FILE__) . "/actions/registration/confirm.php", "public"); elgg_register_action("event_manager/slot/save", dirname(__FILE__) . "/actions/slot/save.php"); elgg_register_action("event_manager/slot/delete", dirname(__FILE__) . "/actions/slot/delete.php"); elgg_register_action("event_manager/day/delete", dirname(__FILE__) . "/actions/day/delete.php"); }
/** * Comments initialization function * * @return void * @access private */ function _elgg_comments_init() { elgg_register_entity_type('object', 'comment'); elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_comment_setup_entity_menu', 900); elgg_register_plugin_hook_handler('entity:url', 'object', '_elgg_comment_url_handler'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', '_elgg_comments_container_permissions_override'); elgg_register_plugin_hook_handler('permissions_check', 'object', '_elgg_comments_permissions_override'); elgg_register_page_handler('comment', '_elgg_comments_page_handler'); elgg_register_ajax_view('core/ajax/edit_comment'); }
/** * Initialize the pages plugin. * */ function pages_init() { // register a library of helper functions elgg_register_library('elgg:pages', elgg_get_plugins_path() . 'pages/lib/pages.php'); $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('pages', 'pages_page_handler'); // Register a url handler elgg_register_entity_url_handler('object', 'page_top', 'pages_url'); elgg_register_entity_url_handler('object', 'page', 'pages_url'); elgg_register_annotation_url_handler('page', 'pages_revision_url'); // Register some actions $action_base = elgg_get_plugins_path() . 'pages/actions'; elgg_register_action("pages/edit", "{$action_base}/pages/edit.php"); elgg_register_action("pages/delete", "{$action_base}/pages/delete.php"); elgg_register_action("pages/checkout", "{$action_base}/pages/checkout.php"); elgg_register_action("pages/checkin", "{$action_base}/pages/checkin.php"); elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php"); // Extend the main css view elgg_extend_view('css/elgg', 'pages/css'); // Register javascript needed for sidebar menu $js_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.min.js'; elgg_register_js('jquery-treeview', $js_url); $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css'; elgg_register_css('jquery-treeview', $css_url); // Register entity type for search elgg_register_entity_type('object', 'page'); elgg_register_entity_type('object', 'page_top'); // Register granular notification for this type //register_notification_object('object', 'page', elgg_echo('pages:new')); //register_notification_object('object', 'page_top', elgg_echo('pages:new')); //elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'page_notify_message'); // add to groups add_group_tool_option('pages', elgg_echo('groups:enablepages'), true); elgg_extend_view('groups/tool_latest', 'pages/group_module'); //add a widget elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description')); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup'); // hook into annotation menu //elgg_register_plugin_hook_handler('register', 'menu:annotation', 'pages_annotation_menu_setup'); // register ecml views to parse elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook'); elgg_register_event_handler('upgrade', 'system', 'pages_run_upgrades'); }
/** * Initialize the pages plugin. * */ function pages_init() { // register a library of helper functions elgg_register_library('elgg:pages', __DIR__ . '/lib/pages.php'); $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('pages', 'pages_page_handler'); // Register a url handler elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url'); elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url'); elgg_register_plugin_hook_handler('extender:url', 'annotation', 'pages_set_revision_url'); // Register some actions $action_base = __DIR__ . '/actions'; elgg_register_action("pages/edit", "{$action_base}/pages/edit.php"); elgg_register_action("pages/delete", "{$action_base}/pages/delete.php"); elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php"); // Extend the main css view elgg_extend_view('elgg.css', 'pages/css'); elgg_define_js('jquery.treeview', array('src' => '/mod/pages/vendors/jquery-treeview/jquery.treeview.min.js', 'exports' => 'jQuery.fn.treeview', 'deps' => array('jquery'))); $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css'; elgg_register_css('jquery.treeview', $css_url); // Register entity type for search elgg_register_entity_type('object', 'page'); elgg_register_entity_type('object', 'page_top'); // Register for notifications elgg_register_notification_event('object', 'page'); elgg_register_notification_event('object', 'page_top'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page', 'pages_prepare_notification'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page_top', 'pages_prepare_notification'); // add to groups add_group_tool_option('pages', elgg_echo('groups:enablepages'), true); elgg_extend_view('groups/tool_latest', 'pages/group_module'); //add a widget elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description')); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check'); elgg_register_plugin_hook_handler('access:collections:write', 'user', 'pages_write_access_options_hook'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup'); // register ecml views to parse elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook'); // allow to be liked elgg_register_plugin_hook_handler('likes:is_likable', 'object:page', 'Elgg\\Values::getTrue'); elgg_register_plugin_hook_handler('likes:is_likable', 'object:page_top', 'Elgg\\Values::getTrue'); // prevent public write access elgg_register_plugin_hook_handler('view_vars', 'input/access', 'pages_write_access_vars'); }
/** * Initialize the plugin * @return void */ function group_subtypes_init() { // Search elgg_unregister_entity_type('group', ''); elgg_unregister_plugin_hook_handler('search', 'group', 'search_groups_hook'); elgg_register_plugin_hook_handler('search', 'group', 'group_subtypes_search_hook'); elgg_register_plugin_hook_handler('route', 'groups', 'group_subtypes_route_edit_pages'); $hooks = _elgg_services()->hooks->getAllHandlers(); $conf = group_subtypes_get_config(); $identifiers = array(); foreach ($conf as $subtype => $options) { elgg_register_entity_type('group', $subtype); $identifier = elgg_extract('identifier', $options, 'groups'); if (in_array($identifier, $identifiers)) { continue; } elgg_register_plugin_hook_handler('page_identifier', "group:{$subtype}", 'group_subtypes_page_identifier'); elgg_register_plugin_hook_handler('list_subtypes', $identifier, 'group_subtypes_list_subtypes'); if ($identifier !== 'groups') { elgg_register_menu_item('site', array('name' => $identifier, 'href' => "{$identifier}/all", 'text' => elgg_echo($identifier))); elgg_register_plugin_hook_handler('route', $identifier, 'group_subtypes_router', 1); // core doesn't run 'route' hooks on an updated page identifier, so we will register the callback manually if (!isset($hooks['route']['groups'])) { continue; } foreach ($hooks['route']['groups'] as $priority => $callbacks) { $callbacks = (array) $callbacks; foreach ($callbacks as $callback) { elgg_register_plugin_hook_handler('route', $identifier, $callback, $priority); } } } } elgg_register_plugin_hook_handler('permissions_check:parent', 'group', 'group_subtypes_can_parent'); // Form hacks elgg_register_plugin_hook_handler('action', 'groups/edit', 'group_subtypes_update_fields_config'); elgg_extend_view('forms/groups/edit', 'forms/groups/edit/subtype'); elgg_extend_view('forms/groups/edit', 'forms/groups/edit/parent_guid'); // Group URL elgg_register_plugin_hook_handler('entity:url', 'group', 'group_subtypes_rewrite_group_urls'); // Admin elgg_register_admin_menu_item('administer', 'groups', null, 20); elgg_register_admin_menu_item('administer', 'subtypes', 'groups', 10); elgg_register_action('admin/groups/subtypes/add', __DIR__ . '/actions/admin/groups/subtypes/add.php', 'admin'); elgg_register_action('admin/groups/subtypes/config', __DIR__ . '/actions/admin/groups/subtypes/config.php', 'admin'); elgg_register_action('admin/groups/subtypes/change_subtype', __DIR__ . '/actions/admin/groups/subtypes/change_subtype.php', 'admin'); elgg_extend_view('admin.css', 'forms/admin/groups/subtypes/config.css'); // Group tools if (elgg_is_active_plugin('group_tools')) { elgg_unextend_view("groups/edit", "group_tools/group_edit_tabbed", 1); elgg_unextend_view("groups/edit", "group_tools/group_edit_tabbed_js", 999999999); elgg_extend_view('css/elgg', 'forms/groups/edit/group_tools.css'); } }
/** * Initialize the projects plugin. * */ function projects_init() { // register a library of helper functions elgg_register_library('elgg:projects', elgg_get_plugins_path() . 'projects/lib/projects.php'); elgg_load_library('elgg:projects'); //register css $css_url = 'mod/projects/css/styles.css'; elgg_register_css('projectsCss', $css_url); elgg_load_css('projectsCss'); // register an elgg menu item $item = new ElggMenuItem('projects', elgg_echo('projects'), 'projects/all'); //elgg_register_menu_item('site', $item); // register a project handler, so we can have nice URLs elgg_register_page_handler('projects', 'projects_page_handler'); // register a url handler elgg_register_entity_url_handler('object', 'project_top', 'projects_url'); elgg_register_entity_url_handler('object', 'project', 'projects_url'); elgg_register_annotation_url_handler('project', 'projects_revision_url'); // register entity type for search elgg_register_entity_type('object', 'project'); elgg_register_entity_type('object', 'project_top'); // register some actions $action_base = elgg_get_plugins_path() . 'projects/actions/projects'; $requests_action_base = elgg_get_plugins_path() . 'projects/actions/requests'; elgg_register_action("projects/edit", "{$action_base}/edit.php"); elgg_register_action("projects/editwelcome", "{$action_base}/editwelcome.php"); elgg_register_action("projects/delete", "{$action_base}/delete.php"); elgg_register_action("requests/add", "{$requests_action_base}/add.php"); elgg_register_action("requests/edit", "{$requests_action_base}/edit.php"); elgg_register_action("projects/helperFuncs", elgg_get_plugins_path() . 'lib/projects.php'); //elgg_register_action("projects/search", elgg_get_plugins_path() ."projects/pages/projects/search.php"); // register granular notification for this type register_notification_object('object', 'project', elgg_echo('projects:new')); register_notification_object('object', 'project_top', elgg_echo('projects:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'project_notify_message'); // add to groups add_group_tool_option('projects', elgg_echo('groups:enableprojects'), true); elgg_extend_view('groups/tool_latest', 'projects/group_module'); // Language short codes must be of the form "projects:key" // where key is the array key below elgg_set_config('projects', array('title' => 'text', 'description' => 'longtext', 'project_type' => 'dr_down', 'cost' => 'text', 'organization' => 'text', 'funding' => 'text', 'status' => 'dr_down', 'start_date' => 'date', 'end_date' => 'date', 'assigned_to[]' => 'assign_to', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'write_access', 'upload' => 'file')); // register the hook handler elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'projects_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'projects_container_permission_check'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'projects_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'projects_entity_menu_setup'); // Access permissions //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook'); //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook'); }
function publication_init() { // extend javascript elgg_extend_view('js/elgg', 'js/publications/site'); elgg_extend_view('css/elgg', 'css/publications/site'); // ajax views elgg_register_ajax_view('publications/publication/custom_fields'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('publications', 'publication_page_handler'); // Add a new widget elgg_register_widget_type('publications', elgg_echo('publications:widget'), elgg_echo('publications:widget:description')); // Register granular notification for this type elgg_register_notification_event('object', Publication::SUBTYPE, ['create']); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Publication::SUBTYPE, ['\\ColdTrick\\Publications\\Notifications', 'createPublication']); // Register entity type for search elgg_register_entity_type('object', Publication::SUBTYPE); // add group option add_group_tool_option('publication', elgg_echo('publication:enablepublication'), true); // register plugin hooks elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'publication_register_menu_owner_block'); elgg_register_plugin_hook_handler('register', 'menu:title', 'publication_register_menu_title'); // elgg_register_plugin_hook_handler('action','register','publication_custom_register'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'publication_write_permission_check'); // custom publication types elgg_register_plugin_hook_handler('register:types', 'publications', ['\\ColdTrick\\Publications\\Types', 'registerTypeBibTex']); elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthors']); elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthorsEditors']); elgg_register_plugin_hook_handler('input_validation:article', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputArticle']); elgg_register_plugin_hook_handler('input_validation:book', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputBook']); elgg_register_plugin_hook_handler('input_validation:inbook', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInBook']); elgg_register_plugin_hook_handler('input_validation:incollection', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInCollection']); elgg_register_plugin_hook_handler('input_validation:inproceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInProceedings']); elgg_register_plugin_hook_handler('input_validation:mastersthesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputMastersThesis']); elgg_register_plugin_hook_handler('input_validation:phdhesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputPhdThesis']); elgg_register_plugin_hook_handler('input_validation:proceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputProceedings']); elgg_register_plugin_hook_handler('input_validation:techreport', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputTechreport']); elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveeAuthors']); elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveBookEditors']); // register event handlers elgg_register_event_handler('login', 'user', 'publication_login_check'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::setClassHandler'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleBook'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleJournal'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::abstractToDescription'); // Make sure the publication initialisation function is called on initialisation elgg_register_event_handler('pagesetup', 'system', 'publication_pagesetup'); elgg_register_event_handler('create', 'user', 'publication_create_user'); // Register actions elgg_register_action('publications/edit', dirname(__FILE__) . '/actions/edit.php'); elgg_register_action('publications/delete', dirname(__FILE__) . '/actions/delete.php'); // elgg_register_action('publications/invite', dirname(__FILE__) . '/actions/invite.php'); elgg_register_action('publications/import', dirname(__FILE__) . '/actions/import.php'); elgg_register_action('publications/export', dirname(__FILE__) . '/actions/export.php'); }
/** * Comments initialization function * * @return void * @access private */ function _elgg_comments_init() { elgg_register_entity_type('object', 'comment'); elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_comment_setup_entity_menu', 900); elgg_register_plugin_hook_handler('entity:url', 'object', '_elgg_comment_url_handler'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', '_elgg_comments_container_permissions_override'); elgg_register_plugin_hook_handler('permissions_check', 'object', '_elgg_comments_permissions_override'); elgg_register_plugin_hook_handler('email', 'system', '_elgg_comments_notification_email_subject'); elgg_register_event_handler('update:after', 'all', '_elgg_comments_access_sync'); elgg_register_page_handler('comment', '_elgg_comments_page_handler'); elgg_register_ajax_view('core/ajax/edit_comment'); }