function bright_theme_init() { elgg_unregister_menu_item('topbar', 'elgg_logo'); elgg_unregister_menu_item('site', 'members'); elgg_unregister_menu_item('site', 'thewire'); elgg_unregister_menu_item('site', 'groups'); elgg_unregister_menu_item('site', 'file'); elgg_unregister_menu_item('site', 'bookmarks'); elgg_unregister_menu_item('site', 'blog'); elgg_unregister_menu_item('site', 'photos'); elgg_register_page_handler('activity', 'river_addon_river_page_handler'); $user = elgg_get_logged_in_user_entity(); // Set up the menu if ($user) { $item = new ElggMenuItem('groups', elgg_echo('groups'), "groups/member/{$user->username}"); elgg_register_menu_item('site', $item); $item = new ElggMenuItem('file', elgg_echo('file'), "file/friends/{$user->username}"); elgg_register_menu_item('site', $item); //elgg_register_menu_item('site', array('name' => 'bookmarks','text' => elgg_echo('bookmarks'),'href' =>"bookmarks/friends/$user->username")); $item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), "blog/friends/{$user->username}"); elgg_register_menu_item('site', $item); } else { $item = new ElggMenuItem('groups', elgg_echo('groups'), "groups/all"); elgg_register_menu_item('site', $item); $item = new ElggMenuItem('file', elgg_echo('file'), "file/all"); elgg_register_menu_item('site', $item); elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => "bookmarks/all")); $item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), "blog/all"); elgg_register_menu_item('site', $item); } }
/** * Initialize the plugin. */ function tour_init() { $js_lib = elgg_get_plugin_setting('js_library', 'tour'); if ($js_lib == 'joyride') { elgg_register_css('joyride', '/mod/tour/vendors/joyride/joyride-2.1.css'); elgg_load_css('joyride'); elgg_define_js('joyride', array('src' => '/mod/tour/vendors/joyride/jquery.joyride-2.1.js', 'exports' => 'joyride')); } else { elgg_register_css('hopscotch', '/mod/tour/vendors/hopscotch/css/hopscotch.min.css'); elgg_load_css('hopscotch'); elgg_define_js('hopscotch', array('src' => '/mod/tour/vendors/hopscotch/hopscotch.min.js', 'exports' => 'hopscotch')); } elgg_require_js('elgg/tour/display'); //elgg_require_js('elgg/tour/edit'); elgg_register_ajax_view('ajax/tour_stop/save'); elgg_extend_view('page/elements/footer', 'tour/outline'); elgg_extend_view('css/elgg', 'css/tour'); elgg_extend_view('css/admin', 'css/tour_admin'); elgg_register_action('tour_page/save', __DIR__ . '/actions/tour_page/save.php', 'admin'); elgg_register_action('tour_page/reorder', __DIR__ . '/actions/tour_page/reorder.php', 'admin'); elgg_register_action('tour_page/delete', __DIR__ . '/actions/tour_page/delete.php', 'admin'); elgg_register_action('tour_stop/save', __DIR__ . '/actions/tour_stop/save.php', 'admin'); elgg_register_action('tour_stop/delete', __DIR__ . '/actions/tour_stop/delete.php', 'admin'); elgg_register_page_handler('tour', 'tour_page_handler'); elgg_register_page_handler('tour_stop', 'tour_page_handler'); // For convenience elgg_register_admin_menu_item('administer', 'tour', 'administer_utilities'); elgg_register_menu_item('topbar', array('name' => 'tour', 'href' => '', 'text' => elgg_echo('tour:start'), 'id' => 'tour-start', 'section' => 'alt', 'data-library' => $js_lib)); elgg_register_plugin_hook_handler('register', 'menu:entity', array('Tour\\Page\\EntityMenu', 'setUp')); elgg_register_plugin_hook_handler('register', 'menu:entity', array('Tour\\Stop\\EntityMenu', 'setUp')); elgg_register_viewtype('json'); }
/** * 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'); }
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'); }
/** * System init callback * @return void */ public function init() { hypeInbox()->config->registerLabels(); elgg_register_menu_item('page', array('name' => 'message_types', 'text' => elgg_echo('admin:inbox:message_types'), 'href' => 'admin/inbox/message_types', 'priority' => 500, 'contexts' => array('admin'), 'section' => 'configure')); elgg_register_css('inbox.base.css', elgg_get_simplecache_url('css', 'framework/inbox/stylesheet.css')); elgg_unregister_page_handler('messages', 'messages_page_handler'); elgg_register_page_handler($this->config->pagehandler_id, array($this->router, 'handlePages')); $action_path = $this->plugin->getPath() . '/actions/'; elgg_register_action("hypeInbox/settings/save", $action_path . 'settings/save.php', 'admin'); elgg_register_action('inbox/admin/import', $action_path . 'admin/import.php', 'admin'); elgg_register_action('messages/send', $action_path . 'messages/send.php'); elgg_register_action('messages/delete', $action_path . 'messages/delete.php'); elgg_register_action('messages/markread', $action_path . 'messages/markread.php'); elgg_register_action('messages/markunread', $action_path . 'messages/markunread.php'); // Third party integrations elgg_register_plugin_hook_handler('config:user_types', 'framework:inbox', array($this->hooks, 'filterUserTypes')); // Menu elgg_register_plugin_hook_handler('register', 'menu:page', array($this->hooks, 'setupPageMenu')); elgg_register_plugin_hook_handler('register', 'menu:inbox', array($this->hooks, 'setupInboxMenu')); elgg_register_plugin_hook_handler('register', 'menu:inbox:thread', array($this->hooks, 'setupInboxThreadMenu')); elgg_register_plugin_hook_handler('register', 'menu:entity', array($this->hooks, 'setupMessageMenu')); // Replace user hover menu items elgg_unregister_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); elgg_register_plugin_hook_handler('register', 'menu:user_hover', array($this->hooks, 'setupUserHoverMenu')); // URLs elgg_register_plugin_hook_handler('entity:url', 'object', array($this->hooks, 'handleMessageURL')); elgg_register_plugin_hook_handler('entity:icon:url', 'object', array($this->hooks, 'handleMessageIconURL')); }
/** * Initialize the plugin */ function reportedcontent_init() { // Register a page handler, so we can have nice URLs elgg_register_page_handler('reportedcontent', 'reportedcontent_page_handler'); // Extend CSS elgg_extend_view('css/elgg', 'reportedcontent/css'); elgg_extend_view('css/admin', 'reportedcontent/admin_css'); // Extend footer with report content link if (elgg_is_logged_in()) { $href = "javascript:elgg.forward('reportedcontent/add'"; $href .= "+'?address='+encodeURIComponent(location.href)"; $href .= "+'&title='+encodeURIComponent(document.title));"; elgg_register_menu_item('extras', array('name' => 'report_this', 'href' => $href, 'title' => elgg_echo('reportedcontent:this:tooltip'), 'text' => elgg_view_icon('report-this'), 'priority' => 500, 'section' => 'default')); } elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'reportedcontent_user_hover_menu'); // Add admin menu item // @todo Might want to move this to a 'feedback' section. something other than utils elgg_register_admin_menu_item('administer', 'reportedcontent', 'administer_utilities'); elgg_register_widget_type('reportedcontent', elgg_echo('reportedcontent'), elgg_echo('reportedcontent:widget:description'), array('admin')); // Register actions $action_path = elgg_get_plugins_path() . "reportedcontent/actions/reportedcontent"; elgg_register_action('reportedcontent/add', "{$action_path}/add.php"); elgg_register_action('reportedcontent/delete', "{$action_path}/delete.php", 'admin'); elgg_register_action('reportedcontent/archive', "{$action_path}/archive.php", 'admin'); }
/** * 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'); }
/** * 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); } }
/** * External pages page handler * * @param array $page URL segements * @param string $handler Handler identifier * @return bool */ function expages_page_handler($page, $handler) { if ($handler == 'expages') { expages_url_forwarder($page[1]); } $type = strtolower($handler); $title = elgg_echo("expages:{$type}"); $header = elgg_view_title($title); $object = elgg_get_entities(array('type' => 'object', 'subtype' => $type, 'limit' => 1)); if ($object) { $content .= elgg_view('output/longtext', array('value' => $object[0]->description)); } else { $content .= elgg_echo("expages:notset"); } $content = elgg_view('expages/wrapper', array('content' => $content)); if (elgg_is_admin_logged_in()) { elgg_register_menu_item('title', array('name' => 'edit', 'text' => elgg_echo('edit'), 'href' => "admin/appearance/expages?type={$type}", 'link_class' => 'elgg-button elgg-button-action')); } if (elgg_is_logged_in() || !elgg_get_config('walled_garden')) { $body = elgg_view_layout('one_column', array('title' => $title, 'content' => $content)); echo elgg_view_page($title, $body); } else { elgg_load_css('elgg.walled_garden'); $body = elgg_view_layout('walled_garden', array('content' => $header . $content)); echo elgg_view_page($title, $body, 'walled_garden'); } return true; }
/** * 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 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); }
function zelev_template_init() { // Extend system CSS with our own styles //elgg_extend_view('page/elements/elgg','page/elements/header_logo'); //elgg_extend_view('page/elements/elgg','page/elements/sidebar'); //elgg_extend_view('css/elements/elgg','css/elements/layout'); elgg_unregister_menu_item('topbar', 'elgg_logo'); $logo_url = elgg_get_site_url() . "mod/zelev/zelev_files/logo.png"; elgg_register_menu_item('topbar', array('name' => 'my_logo', 'href' => '/', 'text' => "<img src=\"{$logo_url}\" alt=\"My logo\" width=\"275\" height=\"45\" />", 'priority' => 1, 'link_class' => 'elgg-topbar-logo')); // if (!elgg_is_admin_logged_in()) { elgg_unregister_page_handler('activity'); } // Replace the default index page register_plugin_hook('index', 'system', 'zelev_index'); elgg_unregister_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup'); elgg_unregister_menu_item('site', 'file'); elgg_unregister_menu_item('site', 'bookmarks'); elgg_unregister_menu_item('site', 'reportedcontent'); elgg_unregister_menu_item('site', 'izap-contest'); elgg_unregister_menu_item('site', 'activity'); elgg_unregister_menu_item('site', 'groups'); $item_1 = new ElggMenuItem('homw', elgg_echo('Inicio'), '/'); elgg_register_menu_item('site', $item_1); $user = elgg_get_logged_in_user_entity(); if ($user) { $url = "groups/member/{$user->username}"; $item = new ElggMenuItem('groups:member', elgg_echo('groups:yours'), $url); elgg_register_menu_item('site', $item); } }
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"); }
/** * Sets up submenus. Triggered on pagesetup. * */ function add_submenus() { $plugins_base = elgg_get_site_url() . "plugins"; if (elgg_get_context() == 'admin') { elgg_register_admin_menu_item('administer', 'statistics', 'community_plugins'); elgg_register_admin_menu_item('administer', 'utilities', 'community_plugins'); elgg_register_admin_menu_item('configure', 'community_plugins', 'settings'); return; } if (elgg_get_context() != "plugins") { return; } $page_owner = elgg_get_page_owner_entity(); if (elgg_is_logged_in() && elgg_get_page_owner_guid() == elgg_get_logged_in_user_guid()) { elgg_register_menu_item('page', array('href' => "{$plugins_base}/developer/{$page_owner->username}", 'name' => 'plugins:yours', 'text' => elgg_echo("plugins:yours", array(elgg_echo('plugins:types:'))))); } else { if (elgg_get_page_owner_guid()) { $title = elgg_echo("plugins:user", array($page_owner->name, elgg_echo('plugins:types:'))); elgg_register_menu_item('page', array('href' => "{$plugins_base}/developer/{$page_owner->username}", 'name' => 'plugins:user', 'text' => $title)); } } elgg_register_menu_item('page', array('href' => '/plugins', 'name' => 'plugins:all', 'text' => elgg_echo('plugins:all'))); // add upload link when viewing own plugin page if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { elgg_register_menu_item('page', array('href' => "{$plugins_base}/new/project/{$page_owner->username}", 'name' => 'plugins:upload', 'text' => elgg_echo('plugins:upload'))); } }
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); }
/** * Register the navigation menu * * @param ElggEntity $container Container entity for the pages */ function pages_register_navigation_tree($container) { if (!$container) { return; } $top_pages = elgg_get_entities(array('type' => 'object', 'subtype' => 'page_top', 'container_guid' => $container->getGUID(), 'limit' => 0)); if (!$top_pages) { return; } foreach ($top_pages as $page) { elgg_register_menu_item('pages_nav', array('name' => $page->getGUID(), 'text' => $page->title, 'href' => $page->getURL())); $stack = array(); array_push($stack, $page); while (count($stack) > 0) { $parent = array_pop($stack); $children = elgg_get_entities_from_metadata(array('type' => 'object', 'subtype' => 'page', 'metadata_name' => 'parent_guid', 'metadata_value' => $parent->getGUID(), 'limit' => 0)); if ($children) { foreach ($children as $child) { elgg_register_menu_item('pages_nav', array('name' => $child->getGUID(), 'text' => $child->title, 'href' => $child->getURL(), 'parent_name' => $parent->getGUID())); array_push($stack, $child); } } } } }
function basic_pagesetup_handler() { elgg_unextend_view('page/elements/header', 'search/header'); elgg_unregister_menu_item('topbar', 'dashboard'); elgg_unregister_menu_item('topbar', 'elgg_logo'); // Extend footer with copyright $year = date('Y'); $href = "http://www.perjensen-online.dk"; elgg_register_menu_item('footer', array('name' => 'copyright_this', 'href' => $href, 'title' => elgg_echo('basic_light:tooltip'), 'text' => elgg_echo('basic_light:copyright') . $year . elgg_echo(' Elggzone'), 'priority' => 1, 'section' => 'alt')); // Extend footer with elgg link $href = "http://elgg.org"; elgg_register_menu_item('footer', array('name' => 'elgg', 'href' => $href, 'text' => elgg_echo('basic_light:elgg'), 'priority' => 2, 'section' => 'alt')); if (elgg_is_logged_in()) { $user = elgg_get_logged_in_user_entity(); if (elgg_is_active_plugin('dashboard')) { elgg_register_menu_item('topbar', array('name' => 'dashboard', 'href' => 'dashboard', 'text' => elgg_view_icon('home') . elgg_echo('dashboard'), 'priority' => 1000, 'section' => 'alt')); } if (elgg_is_active_plugin('reportedcontent')) { elgg_unregister_menu_item('footer', 'report_this'); $href = "javascript:elgg.forward('reportedcontent/add'"; $href .= "+'?address='+encodeURIComponent(location.href)"; $href .= "+'&title='+encodeURIComponent(document.title));"; elgg_register_menu_item('extras', array('name' => 'report_this', 'href' => $href, 'text' => elgg_view_icon('report-this') . elgg_echo(''), 'title' => elgg_echo('reportedcontent:this:tooltip'), 'priority' => 100)); } } }
function dashboard_init() { elgg_register_page_handler('dashboard', 'dashboard_page_handler'); elgg_extend_view('css/elgg', 'dashboard/css'); elgg_register_menu_item('topbar', array('name' => 'dashboard', 'href' => 'dashboard', 'text' => elgg_view_icon('home') . elgg_echo('dashboard'), 'priority' => 450, 'section' => 'alt')); elgg_register_plugin_hook_handler('get_list', 'default_widgets', 'dashboard_default_widgets'); }
/** * 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 hflts_init() { elgg_register_page_handler('hflts', 'hflts_page_handler'); // add to site links only in case of make the model result public /*if (elgg_is_logged_in()) { $item = new \ElggMenuItem('hflts', elgg_echo('hflts'), 'hflts'); elgg_register_menu_item('site', $item); }*/ //Puedo informar del karma en el dashboard o justo debajo del icono del usuario elgg_extend_view('icon/user/default', 'hflts/icon'); //guardar la configuración seleccionada en el formulario de settings $action_base = elgg_get_plugins_path() . 'hflts/actions/hflts'; //If you want to make an action available to only admins or open it up to unauthenticated users, you can pass ‘admin’ or ‘public’ elgg_register_action('hflts/settings', "{$action_base}/settings.php", 'admin'); if (elgg_in_context('admin')) { elgg_register_menu_item('page', array('name' => 'hflts_settings', 'href' => 'admin/hflts/settings', 'text' => elgg_echo('hflts:settings'), 'context' => 'admin', 'priority' => 10, 'section' => 'teranga')); } //register CSS file elgg_extend_view('css/elgg', 'hflts/css'); //teranga add user_hover_menu entry elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'hflts_user_hover_menu'); elgg_register_plugin_hook_handler('admin:teranga:import', 'system', 'hflts_import_external_data'); /* to handle mcdm objects elgg_register_event_handler('create','object', 'hflts_mcdm_object'); elgg_register_event_handler('delete','object', 'hflts_mcdm_object'); elgg_register_event_handler('delete','entity', 'hflts_mcdm_object'); */ }
/** * 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'); }
/** * 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'); }
/** * Register title menu items for an event * * @param Event $event * @return void */ function register_event_title_menu($event, $ts = null, $calendar = null) { if (!$event instanceof Event) { return; } $calendar_count = 0; if (elgg_is_logged_in()) { $calendar_count = Calendar::getCalendars(elgg_get_logged_in_user_entity(), true); } if ($calendar_count) { // may be different than the calendar being viewed // make the add/remove button work for the current calendar if they own it // or their default calendar if they're viewing another calendar if ($calendar->owner_guid == elgg_get_logged_in_user_guid()) { $mycalendar = $calendar; } else { $mycalendar = Calendar::getPublicCalendar(elgg_get_logged_in_user_entity()); } $text = elgg_echo('events:add_to_calendar:default'); $add_remove_calendar = $mycalendar->guid; if ($mycalendar->hasEvent($event)) { $text = elgg_echo('events:remove_from_calendar:default'); $add_remove_calendar = ''; } elgg_register_menu_item('title', array('name' => 'add_to_calendar', 'href' => elgg_http_add_url_query_elements('action/calendar/add_event', array('event_guid' => $event->guid, 'calendars[]' => $add_remove_calendar)), 'is_action' => true, 'data-object-event' => true, 'data-guid' => $event->guid, 'text' => $text, 'data-calendar-count' => $calendar_count, 'link_class' => 'elgg-button elgg-button-action events-ui-event-action-addtocalendar', 'priority' => 100)); } if ($event->canEdit()) { elgg_register_menu_item('title', array('name' => 'delete', 'text' => elgg_echo('events_ui:cancel'), 'href' => 'action/events/cancel?guid=' . $event->guid . '&ts=' . $ts, 'is_action' => true, 'link_class' => 'elgg-button elgg-button-delete elgg-requires-confirmation events-ui-event-action-cancel', 'data-object-event' => true, 'data-guid' => $event->guid, 'priority' => 300)); } if ($event->canEdit() && $event->isRecurring()) { elgg_register_menu_item('title', array('name' => 'delete_all', 'text' => elgg_echo('events_ui:cancel:all'), 'href' => 'action/events/delete?guid=' . $event->guid, 'is_action' => true, 'link_class' => 'elgg-button elgg-button-delete elgg-requires-confirmation events-ui-event-action-cancel-all', 'rel' => elgg_echo('events_ui:cancel:all:confirm'), 'data-object-event' => true, 'data-guid' => $event->guid, 'priority' => 400)); } }
function gvfriendrequest_pagesetup() { $context = elgg_get_context(); $page_owner = elgg_get_page_owner_entity(); // Remove link to friendsof elgg_unregister_menu_item("page", "friends:of"); if ($user = elgg_get_logged_in_user_entity()) { $options = array("type" => "user", "count" => true, "relationship" => "friendrequest", "relationship_guid" => $user->getGUID(), "inverse_relationship" => true); if ($count = elgg_get_entities_from_relationship($options)) { $class = "elgg-icon elgg-icon-users"; $text = "<span class='{$class}'></span>"; $tooltip = elgg_echo('gvtheme:myfriends'); if ($count > 0) { $text .= "<span class=\"messages-new\">{$count}</span>"; $tooltip = elgg_echo("friend_request:unreadcount", array($count)); } $params = array("name" => "friends", "href" => "friend_request/" . $user->username, "text" => $text, "section" => 'alt', "title" => $tooltip); elgg_register_menu_item("topbar", $params); } } // Show menu link in the correct context if (in_array($context, array("friends", "friendsof", "collections")) && !empty($page_owner) && $page_owner->canEdit()) { $options = array("type" => "user", "count" => true, "relationship" => "friendrequest", "relationship_guid" => $page_owner->getGUID(), "inverse_relationship" => true); if ($count = elgg_get_entities_from_relationship($options)) { $extra = " (" . $count . ")"; } else { $extra = ""; } // add menu item $menu_item = array("name" => "friend_request", "text" => elgg_echo("friend_request:menu") . $extra, "href" => "friend_request/" . $page_owner->username, "contexts" => array("friends", "friendsof", "collections"), "section" => "friend_request"); elgg_register_menu_item("page", $menu_item); } }
/** * Add some menu items during page setup */ function pagesetup() { elgg_register_menu_item('site', array('name' => 'categories', 'text' => elgg_echo('categories'), 'href' => PAGEHANDLER . '/all')); if (elgg_is_admin_logged_in()) { elgg_register_menu_item('page', array('name' => 'categories', 'text' => elgg_echo('categories:site'), 'href' => PAGEHANDLER . '/manage', 'priority' => 500, 'contexts' => array('admin'), 'section' => 'configure')); } }
/** * 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 friend_request_pagesetup() { $context = elgg_get_context(); $page_owner = elgg_get_page_owner_entity(); // Remove link to friendsof elgg_unregister_menu_item("page", "friends:of"); if ($user = elgg_get_logged_in_user_entity()) { $options = array("type" => "user", "count" => true, "relationship" => "friendrequest", "relationship_guid" => $user->getGUID(), "inverse_relationship" => true); if ($count = elgg_get_entities_from_relationship($options)) { $params = array("name" => "friend_request", "href" => "friend_request/" . $user->username, "text" => elgg_view_icon("user") . "<span class='friend-request-new'>" . $count . "</span>", "title" => elgg_echo("friend_request:menu"), "priority" => 301); elgg_register_menu_item("topbar", $params); } } // Show menu link in the correct context if (in_array($context, array("friends", "friendsof", "collections", "messages")) && !empty($page_owner) && $page_owner->canEdit()) { $options = array("type" => "user", "count" => true, "relationship" => "friendrequest", "relationship_guid" => $page_owner->getGUID(), "inverse_relationship" => true); if ($count = elgg_get_entities_from_relationship($options)) { $extra = " [" . $count . "]"; } else { $extra = ""; } // add menu item $menu_item = array("name" => "friend_request", "text" => elgg_echo("friend_request:menu") . $extra, "href" => "friend_request/" . $page_owner->username, "contexts" => array("friends", "friendsof", "collections", "messages"), "section" => "friend_request"); elgg_register_menu_item("page", $menu_item); } }
/** * adds the buttons to the specified menu * @param array $array * menu_name => menu name of the button * $title => title of button * $url => link of the button * */ protected function addButton($array) { extract($array); if (!empty($title) && !empty($menu_name)) { elgg_register_menu_item($menu_name, array('name' => elgg_get_friendly_title($title), 'href' => $url, 'text' => $title, 'link_class' => 'elgg-button elgg-button-action')); } }
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'); }
/** * 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"); elgg_extend_view("js/elgg", "js/blog_tools/site"); // 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("delete", "object", array("\\ColdTrick\\BlogTools\\DeleteHandler", "cleanupBlogIcon")); // register plugin hook handlers elgg_register_plugin_hook_handler("entity:url", "object", array("\\ColdTrick\\BlogTools\\Widgets", "widgetUrl")); elgg_register_plugin_hook_handler("cron", "daily", array("\\ColdTrick\\BlogTools\\Cron", "daily")); elgg_register_plugin_hook_handler("entity:icon:url", "object", array("\\ColdTrick\\BlogTools\\EntityIcon", "blogIcon")); elgg_register_plugin_hook_handler("route", "blog", array("\\ColdTrick\\BlogTools\\Router", "blog")); elgg_register_plugin_hook_handler("register", "menu:entity", array("\\ColdTrick\\BlogTools\\EntityMenu", "register")); elgg_register_plugin_hook_handler("group_tool_widgets", "widget_manager", array("\\ColdTrick\\BlogTools\\Widgets", "groupTools")); elgg_register_plugin_hook_handler("permissions_check:comment", "object", array("\\ColdTrick\\BlogTools\\Access", "blogCanComment")); // extend editmenu elgg_extend_view("editmenu", "blog_tools/editmenu"); // add featured filter menu item elgg_register_menu_item("filter", ElggMenuItem::factory(array("name" => "featured", "text" => elgg_echo("blog_tools:menu:filter: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"), array("index"), true); elgg_register_widget_type("blog", elgg_echo("blog"), elgg_echo("blog:widget:description"), array("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"); }