Ejemplo n.º 1
0
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);
    }
}
Ejemplo n.º 2
0
/**
 * 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');
}
Ejemplo n.º 3
0
/**
 * 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');
}
Ejemplo n.º 4
0
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');
}
Ejemplo n.º 5
0
Archivo: Plugin.php Proyecto: n8b/VMN
 /**
  * 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'));
 }
Ejemplo n.º 6
0
/**
 * 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');
}
Ejemplo n.º 7
0
Archivo: start.php Proyecto: elgg/elgg
/**
 * 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');
}
Ejemplo n.º 8
0
/**
 * 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);
    }
}
Ejemplo n.º 9
0
/**
 * 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;
}
Ejemplo n.º 10
0
/**
 * 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'));
}
Ejemplo n.º 11
0
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);
}
Ejemplo n.º 12
0
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);
    }
}
Ejemplo n.º 13
0
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");
}
Ejemplo n.º 14
0
/**
 * 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')));
    }
}
Ejemplo n.º 15
0
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);
}
Ejemplo n.º 16
0
/**
 * 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);
                }
            }
        }
    }
}
Ejemplo n.º 17
0
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));
        }
    }
}
Ejemplo n.º 18
0
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');
}
Ejemplo n.º 19
0
/**
 * 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');
}
Ejemplo n.º 20
0
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');
       */
}
Ejemplo n.º 21
0
/**
 * 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');
}
Ejemplo n.º 22
0
/**
 * 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');
}
Ejemplo n.º 23
0
/**
 * 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));
    }
}
Ejemplo n.º 24
0
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);
    }
}
Ejemplo n.º 25
0
/**
 * 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'));
    }
}
Ejemplo n.º 26
0
/**
 * 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');
}
Ejemplo n.º 27
0
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);
    }
}
Ejemplo n.º 28
0
 /**
  * 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'));
     }
 }
Ejemplo n.º 29
0
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');
}
Ejemplo n.º 30
0
/**
 * 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");
}