Example #1
0
function pleiofile_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if ($page_owner->file_enable == "no") {
        elgg_unregister_widget_type("group_files");
    }
}
Example #2
0
File: start.php Project: n8b/VMN
function time_theme_init()
{
    elgg_register_event_handler('pagesetup', 'system', 'time_theme_pagesetup', 1000);
    // theme specific CSS
    elgg_extend_view('css/elgg', 'time_theme/css');
    // theme specific CSS
    elgg_extend_view('css/elgg', 'extractability/css');
    elgg_register_plugin_hook_handler('head', 'page', 'time_theme_setup_head');
    // registered with priority < 500 so other plugins can remove likes
    elgg_unregister_plugin_hook_handler('register', 'menu:river', 'likes_river_menu_setup');
    elgg_unregister_plugin_hook_handler('register', 'menu:entity', 'likes_entity_menu_setup');
    elgg_unregister_plugin_hook_handler('register', 'menu:river', '_elgg_river_menu_setup');
    elgg_unregister_plugin_hook_handler('register', 'menu:entity', '_elgg_entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:river', '_my_elgg_river_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '_my_elgg_entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:river', 'my_likes_river_menu_setup', 401);
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'my_likes_entity_menu_setup', 401);
    elgg_unregister_widget_type('river_widget');
    elgg_register_js('slidebars', 'mod/time_theme/lib/slidebars/slidebars.js', 'head');
    elgg_register_css('slidebars', 'mod/time_theme/lib/slidebars/slidebars.css');
    elgg_register_js('flowplayer', 'mod/time_theme/lib/flowplayer/flowplayer.min.js', 'head');
    elgg_register_css('flowplayer', 'mod/time_theme/lib/flowplayer/minimalist.css');
    elgg_register_css('font-awesome', 'mod/time_theme/lib/font-awesome/css/font-awesome.min.css');
    $base = elgg_get_plugins_path() . 'time_theme';
    // non-members do not get visible links to RSS feeds
    if (!elgg_is_logged_in()) {
        elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link');
    }
    // Register page handler
    elgg_unregister_page_handler('activity', 'elgg_river_page_handler');
    elgg_register_page_handler('activity', 'river_auto_update_page_handler');
    // extend js view
    elgg_extend_view("js/elgg", "js/time_theme/functions");
}
Example #3
0
function widget_group_files_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if ($page_owner instanceof ElggGroup && $page_owner->files_enable == "no") {
        // unset if not enabled for this plugin
        elgg_unregister_widget_type("group_files");
    }
}
Example #4
0
 /**
  * Remove discussions widget from group context if discussions are not enabled
  *
  * @param string $hook   "view_vars"
  * @param string $type   "page/layouts/widgets"
  * @param array  $return View vars
  * @param array  $params Hook params
  * @return void
  */
 public static function filterWidgetLayoutVars($hook, $type, $return, $params)
 {
     //$owner_guid = elgg_extract('owner_guid', $return, elgg_get_page_owner_guid()); // not yet supported
     $owner = elgg_get_page_owner_entity();
     if ($owner instanceof ElggGroup && $owner->forum_enable != 'yes') {
         elgg_unregister_widget_type('group_discussions');
     }
 }
Example #5
0
function group_tools_init()
{
    // extend css & js
    elgg_extend_view("css/elgg", "group_tools/css/site");
    // register JS and CSS libs
    elgg_register_js("jquery.autocomplete.min", elgg_get_site_url() . "vendors/jquery/jquery.autocomplete.min.js");
    elgg_register_simplecache_view("js/group_tools/autocomplete");
    elgg_register_js("group_tools.autocomplete", elgg_get_simplecache_url("js", "group_tools/autocomplete"));
    elgg_register_simplecache_view("css/group_tools/autocomplete");
    elgg_register_css("group_tools.autocomplete", elgg_get_simplecache_url("css", "group_tools/autocomplete"));
    // extend groups page handler
    elgg_register_plugin_hook_handler("route", "groups", "group_tools_route_groups_handler");
    // hook on title menu
    elgg_register_plugin_hook_handler("register", "menu:title", "group_tools_menu_title_handler");
    elgg_register_plugin_hook_handler("register", "menu:user_hover", "group_tools_menu_entity_handler");
    if (elgg_get_plugin_setting("multiple_admin", "group_tools") == "yes") {
        // add group tool option
        add_group_tool_option("group_multiple_admin_allow", elgg_echo("group_tools:multiple_admin:group_tool_option"), false);
        // register permissions check hook
        elgg_register_plugin_hook_handler("permissions_check", "group", "group_tools_multiple_admin_can_edit_hook");
        // register on group leave
        elgg_register_event_handler("leave", "group", "group_tools_multiple_admin_group_leave");
    }
    // register group activity widget
    // 2012-05-03: restored limited functionality of group activity widget, will be fully restored if Elgg fixes widget settings
    elgg_register_widget_type("group_river_widget", elgg_echo("widgets:group_river_widget:title"), elgg_echo("widgets:group_river_widget:description"), "dashboard,profile,index,groups", true);
    // unregister dashboard widget
    elgg_unregister_widget_type("group_activity");
    // register group members widget
    elgg_register_widget_type("group_members", elgg_echo("widgets:group_members:title"), elgg_echo("widgets:group_members:description"), "groups", false);
    // register groups invitations widget
    elgg_register_widget_type("group_invitations", elgg_echo("widgets:group_invitations:title"), elgg_echo("widgets:group_invitations:description"), "index,dashboard", false);
    // register featured groups widget
    elgg_register_widget_type("featured_groups", elgg_echo("groups:featured"), elgg_echo("widgets:featured_groups:description"), "index");
    // group invitation
    elgg_register_action("groups/invite", dirname(__FILE__) . "/actions/groups/invite.php");
    // manage auto join for groups
    elgg_extend_view("groups/edit", "group_tools/forms/auto_join", 400);
    elgg_register_event_handler("create", "member_of_site", "group_tools_join_site_handler");
    // show group edit as tabbed
    elgg_extend_view("groups/edit", "group_tools/group_edit_tabbed", 1);
    elgg_extend_view("groups/edit", "group_tools/group_edit_tabbed_js", 999999999);
    // show group profile widgets - edit form
    elgg_extend_view("groups/edit", "group_tools/forms/profile_widgets", 400);
    // show group status in owner block
    elgg_extend_view("page/elements/owner_block/extend", "group_tools/owner_block");
    // show group status in stats (on group profile)
    elgg_extend_view("groups/profile/summary", "group_tools/group_stats");
    if (elgg_is_admin_logged_in()) {
        run_function_once("group_tools_version_1_3");
    }
    // group creation can be limited to admins
    if (!elgg_is_admin_logged_in() && group_tools_is_group_creation_limited()) {
        elgg_unregister_action("groups/edit");
    }
    // register index widget to show latest discussions
    elgg_register_widget_type("index_discussions", elgg_echo("discussion:latest"), elgg_echo("widgets:index_discussions:description"), "index", false);
}
Example #6
0
function discussions_tools_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if ($page_owner instanceof ElggGroup) {
        if ($page_owner->forum_enable === 'no') {
            // unregister widget because the tool option is disabled
            elgg_unregister_widget_type('group_forum_topics');
        }
    }
}
Example #7
0
function file_tools_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if (elgg_instanceof($page_owner, "group")) {
        // check if the group hase files enabled
        if ($page_owner->files_enable == "no") {
            // no, so remove the widgets
            elgg_unregister_widget_type("file_tree");
            elgg_unregister_widget_type("group_files");
        }
    }
}
Example #8
0
/**
 * This function is called during the "pagesetup" event
 *
 * @return void
 */
function thewire_tools_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if (!empty($page_owner) && elgg_instanceof($page_owner, "group")) {
        // cleanup group widget
        if ($page_owner->thewire_enable == "no") {
            elgg_unregister_widget_type("thewire_groups");
        }
    } else {
        if ($user = elgg_get_logged_in_user_entity()) {
            elgg_register_menu_item("page", array("name" => "mentions", "href" => "thewire/search/@" . $user->username, "text" => elgg_echo("thewire_tools:menu:mentions"), "context" => "thewire"));
        }
        elgg_register_menu_item("page", array("name" => "search", "href" => "thewire/search", "text" => elgg_echo("search"), "context" => "thewire"));
    }
}
Example #9
0
/**
 * called during page setup
 *
 * @return void
 */
function birthdays_pagesetup()
{
    // add top menu item
    elgg_register_menu_item("site", array("name" => "birthdays", "text" => elgg_echo("birthdays:menu:site:title"), "href" => "birthdays"));
    if ($page_owner = elgg_get_page_owner_entity()) {
        // do we have a group
        if (elgg_instanceof($page_owner, "group")) {
            // check if the group wishes to show birthdays
            if ($page_owner->birthdays_enable != "yes") {
                // no, so unregister stuff
                elgg_unregister_widget_type("birthdays");
            }
        }
    }
}
Example #10
0
/**
 * The GV Wire initialization
 */
function gvthewire_init()
{
    // override action
    $action_base = elgg_get_plugins_path() . 'gvthewire/actions';
    elgg_register_action("thewire/add", "{$action_base}/add.php");
    // extend thewire page handler
    elgg_register_plugin_hook_handler("route", "thewire", "gvthewire_route_handler");
    // add thewire group option
    add_group_tool_option('thewire', elgg_echo('gvthewire:enablemicroblog'), true);
    // add a menu item in the group menu
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'gvthewire_owner_block_menu');
    // update widget type
    elgg_unregister_widget_type('thewire');
    elgg_register_widget_type('thewire', elgg_echo('thewire'), elgg_echo("thewire:widget:desc"), "groups");
}
Example #11
0
/**
 * This function is called during the "pagesetup" event
 *
 * @return void
 */
function thewire_tools_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if (elgg_instanceof($page_owner, 'group')) {
        // cleanup group widget
        if ($page_owner->thewire_enable == 'no') {
            elgg_unregister_widget_type('thewire_groups');
        }
    } else {
        $user = elgg_get_logged_in_user_entity();
        if ($user) {
            elgg_register_menu_item('page', ['name' => 'mentions', 'href' => 'thewire/search/@' . $user->username, 'text' => elgg_echo('thewire_tools:menu:mentions'), 'context' => 'thewire']);
        }
        elgg_register_menu_item('page', ['name' => 'search', 'href' => 'thewire/search', 'text' => elgg_echo('search'), 'context' => 'thewire']);
    }
}
Example #12
0
function init()
{
    // add in our own css
    elgg_extend_view('css/elgg', 'css/au_widgets');
    elgg_extend_view('object/widget', 'object/widget/au_widgets');
    // make some views accessible by ajax
    elgg_register_ajax_view('eligo/displayby/options');
    // hook into the widget save action
    // so we can manually save a serialized array
    elgg_register_plugin_hook_handler('action', 'widgets/save', __NAMESPACE__ . '\\widget_save_selected');
    //register the tag tracker
    elgg_register_widget_type('au_tagtracker', elgg_echo('au_tagtracker'), elgg_echo('au_tagtracker:description'), array('all', 'index'), TRUE);
    //register the random content widget
    elgg_register_widget_type('au_random_content', elgg_echo('au_random_content'), elgg_echo('au_random_content:widget:description'), array('all', 'index'), TRUE);
    //register the pages widget
    if (elgg_is_active_plugin('pages')) {
        elgg_unregister_widget_type('pages');
        elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'), array('all'), TRUE);
    }
    //register the files widget
    if (elgg_is_active_plugin('file')) {
        elgg_unregister_widget_type("filerepo");
        elgg_register_widget_type('filerepo', elgg_echo("file"), elgg_echo("file:widget:description"), array('all', 'index'), TRUE);
    }
    //register	the bookmarks widget
    if (elgg_is_active_plugin('bookmarks')) {
        elgg_unregister_widget_type('bookmarks');
        elgg_register_widget_type('bookmarks', elgg_echo('bookmarks'), elgg_echo('bookmarks:widget:description'), array('all', 'index'), TRUE);
    }
    //register the blog widget
    if (elgg_is_active_plugin('blog')) {
        elgg_unregister_widget_type('blog');
        elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), array('all', 'index'), TRUE);
    }
    //register the group member river widget
    elgg_register_widget_type('groupmemberriver', elgg_echo('groupmemberriver:widget:title'), elgg_echo('groupmemberriver:widget:description'), array('groups'), TRUE);
    // register our widget
    elgg_register_widget_type('tabtext', elgg_echo('tabtext'), elgg_echo('tabtext:description'), array('all', 'index'), TRUE);
    // custom save our content without filtering if allowed and admin
    elgg_register_plugin_hook_handler('widget_settings', 'tabtext', __NAMESPACE__ . '\\tabtext_save_settings');
    //register liked content widget
    elgg_register_widget_type('liked_content', elgg_echo('liked_content:widget:your_likes:title'), elgg_echo('liked_content:widget:your_likes:description'), array('all', 'index'), TRUE);
    // make some views accessible by ajax
    elgg_register_ajax_view('forms/tabtext');
    elgg_register_ajax_view('tabtext/content');
    elgg_register_event_handler('upgrade', 'system', __NAMESPACE__ . '\\upgrades');
}
Example #13
0
/**
 * Init admin_blog plugin.
 */
function init()
{
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu');
    elgg_register_action('blog/save', elgg_get_config('pluginspath') . 'blog/actions/blog/save.php', 'admin');
    elgg_register_action('blog/auto_save_revision', elgg_get_config('pluginspath') . 'blog/actions/blog/auto_save_revision.php', 'admin');
    elgg_register_action('blog/delete', elgg_get_config('pluginspath') . 'blog/actions/blog/delete.php', 'admin');
    $group_blogs = (int) elgg_get_plugin_setting('group_blog', PLUGIN_ID);
    $widget_contexts = array('profile', 'dashboard', 'index');
    if (!$group_blogs) {
        elgg_unextend_view('groups/tool_latest', 'blog/group_module');
        remove_group_tool_option('blog');
    } else {
        $widget_contexts[] = 'group';
    }
    elgg_unregister_widget_type('blog');
    elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), $widget_contexts);
}
Example #14
0
/**
 * Initialize the GV widgets plugin.
 */
function gvwidgets_init()
{
    //register library
    elgg_register_library("elgg:gvwidgets", elgg_get_plugins_path() . "gvwidgets/lib/widgets.php");
    // allow admins to set default widgets for groups
    elgg_register_plugin_hook_handler('get_list', 'default_widgets', 'gvwidgets_default_widgets_hook');
    // register actions
    $action_base = elgg_get_plugins_path() . 'gvwidgets/actions';
    elgg_register_action("dashboard/reinitialize", "{$action_base}/dashboard/reinitialize.php");
    // remove old widget types that are not well defined
    $old_widget_names = array('blog', 'filerepo', 'pages', 'event_calendar', 'twitter_search', 'content_stats', 'poll', 'latestPolls', 'poll_individual', 'featured_groups', 'index_groups', 'discussion', 'group_forum_topics', 'thewire', 'profile_completeness', 'register', 'questions', 'etherpad', 'content_by_tag', 'entity_statistics', 'favorites', 'image_slider', 'index_activity', 'index_login', 'index_members', 'index_members_online', 'messages', 'tagcloud');
    foreach ($old_widget_names as $old_widget_name) {
        elgg_unregister_widget_type($old_widget_name);
    }
    //register new widget types
    $widget_names = array('latest_files', 'latest_polls', 'latest_questions', 'latest_blogs', 'latest_pages', 'latest_discussions', 'latest_events', 'latest_wires', 'group_new_members', 'new_groups', 'my_activities', 'my_blogs', 'my_discussions', 'my_events', 'my_files', 'my_pages', 'my_polls', 'my_questions', 'my_wires');
    foreach ($widget_names as $widget_name) {
        elgg_register_widget_type($widget_name, elgg_echo("widget:{$widget_name}:title"), elgg_echo("widget:{$widget_name}:description"), "dashboard,profile,groups");
    }
    // modify widget title and description by re-register widget types
    elgg_register_widget_type('friends', elgg_echo('widget:friends:title'), elgg_echo('widget:friends:description'));
    elgg_register_widget_type("online_users", elgg_echo("admin:widget:online_users"), elgg_echo("admin:widget:online_users:help"), "dashboard");
    elgg_register_widget_type("new_users", elgg_echo("admin:widget:new_users"), elgg_echo("admin:widget:new_users:help"), "dashboard");
}
Example #15
0
/**
 * Remove a widget type
 *
 * @param string $handler The identifier for the widget handler
 *
 * @return void
 * @since 1.7.1
 * @deprecated 1.8 Use elgg_unregister_widget_type
 */
function remove_widget_type($handler)
{
    elgg_deprecated_notice("remove_widget_type deprecated for elgg_unregister_widget_type", 1.8);
    return elgg_unregister_widget_type($handler);
}
Example #16
0
    elgg_register_plugin_hook_handler('entity:url', 'object', [Router::class, 'urlHandler'], 600);
    // Register actions
    elgg_register_action('discussion/save', __DIR__ . '/actions/discussion/save.php');
    elgg_register_action('discussion/reply/save', __DIR__ . '/actions/discussion/reply/save.php');
    // Cleanup river menu
    elgg_unregister_plugin_hook_handler('register', 'menu:river', 'discussion_add_to_river_menu');
    // Setup interactions menu for discussions
    elgg_register_plugin_hook_handler('register', 'menu:interactions', [Menus::class, 'setupInteractionsMenu']);
    // Route pages
    elgg_register_plugin_hook_handler('route', 'stream', [Router::class, 'routeStream']);
    elgg_register_plugin_hook_handler('route', 'discussion', [Router::class, 'routeDiscussion']);
    elgg_register_plugin_hook_handler('route', 'groups', [Router::class, 'routeGroups']);
    // Configure permissions
    elgg_register_plugin_hook_handler('permissions_check:comment', 'object', [Permissions::class, 'allowRepliesInThreadedDiscussions']);
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', [Permissions::class, 'fixDiscussionContainerPermissions']);
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', [Permissions::class, 'fixReplyContainerPermissions']);
    elgg_register_plugin_hook_handler('view_vars', 'forms/discussion/save', [Views::class, 'filterDiscussionFormVars']);
    // Cleanup group_tools registrations
    elgg_unregister_widget_type('start_discussion');
    elgg_unregister_widget_type('group_forum_topics');
    // Add a new discussion widget
    elgg_register_widget_type('discussion', elgg_echo('discussion:widget'), elgg_echo('discussion:widget:desc'), ['dashboard', 'profile', 'groups']);
    // Unregister discussion widget type if group forum is disabled
    elgg_register_plugin_hook_handler('view_vars', 'page/layouts/widgets', [Views::class, 'filterWidgetLayoutVars']);
    // Update access picker based on group selection in the discussion form
    elgg_register_ajax_view('input/discussions/access');
    // Allow admin only discussion creation in groups
    add_group_tool_option('admin_only_discussions', elgg_echo('group:discussion:admin_only'), false);
    // Register site menu item
    elgg_register_menu_item('site', ['name' => 'discussion', 'href' => 'discussions', 'text' => elgg_echo('discussion')]);
});
Example #17
0
/**
 * Page setup function
 *
 * @return void
 */
function event_manager_pagesetup()
{
    $page_owner = elgg_get_page_owner_entity();
    if ($page_owner instanceof ElggGroup) {
        if ($page_owner->event_manager_enable == 'no') {
            elgg_unregister_widget_type('events');
        }
    }
}
Example #18
0
function wet4_theme_init()
{
    /* cyu - global change to sidebars, display when it is not the crawler
     * the following batch of elgg_extend_view overwrites the elements in the page
     */
    elgg_extend_view('page/elements/sidebar', 'page/elements/gsa_view_start', 1);
    elgg_extend_view('page/elements/sidebar', 'page/elements/gsa_view_end', 1000);
    elgg_extend_view('page/elements/footer', 'page/elements/gsa_view_start', 1);
    elgg_extend_view('page/elements/footer', 'page/elements/gsa_view_end', 1000);
    elgg_extend_view('navigation/breadcrumbs', 'page/elements/gsa_view_start', 1);
    elgg_extend_view('navigation/breadcrumbs', 'page/elements/gsa_view_end', 1000);
    elgg_extend_view('object/widget/elements/content', 'page/elements/gsa_view_start', 1);
    elgg_extend_view('object/widget/elements/content', 'page/elements/gsa_view_end', 1000);
    //reload groups library to have our sidebar changes
    elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'wet4/lib/groups.php');
    elgg_register_library('GCconnex_logging', elgg_get_plugins_path() . 'wet4/lib/logging.php');
    elgg_register_library('GCconnex_display_in_language', elgg_get_plugins_path() . 'wet4/lib/translate_display.php');
    //elgg_register_library('elgg:user_settings', elgg_get_plugins_path(). 'wet4/lib/user_settings.php');
    elgg_register_library('wet:custom_core', elgg_get_plugins_path() . 'wet4/lib/custom_core.php');
    //elgg_load_library('user_settings');
    elgg_load_library('GCconnex_logging');
    elgg_load_library('GCconnex_display_in_language');
    elgg_load_library('wet:custom_core');
    //get rid of reply icon on river menu
    elgg_unregister_plugin_hook_handler('register', 'menu:river', 'discussion_add_to_river_menu');
    //change icons for blog entity
    elgg_unregister_plugin_hook_handler("register", "menu:entity", array("\\ColdTrick\\BlogTools\\EntityMenu", "register"));
    elgg_register_plugin_hook_handler("register", "menu:entity", 'wet4_blog_entity_menu');
    //Friendly Time - Nick
    elgg_register_plugin_hook_handler('format', 'friendly:time', 'enhanced_friendly_time_hook');
    elgg_register_event_handler('pagesetup', 'system', 'wet4_theme_pagesetup', 1000);
    elgg_register_event_handler('pagesetup', 'system', 'wet4_riverItem_remove');
    elgg_register_event_handler('pagesetup', 'system', 'messages_notifier');
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_elgg_entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:widget', 'wet4_widget_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:page', 'wet4_elgg_page_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:river', 'wet4_elgg_river_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:site', 'career_menu_hander');
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_likes_entity_menu_setup', 400);
    //elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_delete_entity_menu', 400);
    // theme specific CSS
    elgg_extend_view('css/elgg', 'wet4_theme/css');
    elgg_extend_view('css/elgg', 'wet4_theme/custom_css');
    //remove_group_tool_option('activity');
    //extending views to pass metadata to head.php
    elgg_extend_view("object/elements/full", "wet4_theme/track_page_entity", 451);
    elgg_extend_view('profile/wrapper', 'wet4_theme/pass');
    elgg_extend_view('forms/notificationsettings/save', 'forms/notificationsettings/groupsave');
    //register a page handler for friends
    elgg_unregister_page_handler('friends');
    //unregister core page handler
    elgg_unregister_page_handler('dashboard');
    //unregister dashboard handler to make our own
    elgg_register_page_handler('dashboard', 'wet4_dashboard_page_handler');
    elgg_register_page_handler('friends', '_wet4_friends_page_handler');
    //register new page handler for data tables
    elgg_register_page_handler('friendsof', '_wet4_friends_page_handler');
    elgg_register_page_handler('activity', 'activity_page_handler');
    elgg_unregister_page_handler('messages', 'messages_page_handler');
    elgg_register_page_handler('messages', 'wet4_messages_page_handler');
    elgg_register_page_handler('collections', 'wet4_collections_page_handler');
    //datatables css file
    elgg_extend_view('css/elgg', '//cdn.datatables.net/1.10.10/css/jquery.dataTables.css');
    //elgg_unextend_view('page/elements/header', 'search/header');
    //elgg_extend_view('page/elements/sidebar', 'search/header', 0);
    //load datatables
    elgg_require_js("wet4/test");
    //the wire reply and thread
    elgg_register_ajax_view("thewire_tools/reply");
    elgg_register_ajax_view("thewire_tools/thread");
    //viewing phot on newsfeed
    elgg_register_ajax_view("ajax/photo");
    //edit colleague circle
    elgg_register_ajax_view("friend_circle/edit");
    //verfiy department pop up
    elgg_register_ajax_view("verify_department/verify_department");
    //file tools
    elgg_register_ajax_view("file_tools/move");
    //message preview
    elgg_register_ajax_view("messages/message_preview");
    //newsfeed filter form
    elgg_register_ajax_view("ajax/newsfeed_filter");
    elgg_register_action("newsfeed/filter", elgg_get_plugins_path() . "/wet4/actions/newsfeed/filter.php");
    //Group AJAX loading view
    elgg_register_ajax_view('ajax/grp_ajax_content');
    elgg_extend_view("js/elgg", "js/wet4/group_ajax");
    elgg_extend_view("js/elgg", "js/wet4/discussion_quick_start");
    //Notification / Messages dropdown view
    elgg_register_ajax_view('ajax/notif_dd');
    elgg_register_plugin_hook_handler('head', 'page', 'wet4_theme_setup_head');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'my_owner_block_handler');
    elgg_register_plugin_hook_handler('register', 'menu:title', 'my_title_menu_handler');
    elgg_register_plugin_hook_handler('register', 'menu:filter', 'my_filter_menu_handler');
    elgg_register_plugin_hook_handler('register', 'menu:site', 'my_site_menu_handler');
    elgg_register_plugin_hook_handler('register', 'menu:river', 'river_handler');
    elgg_register_simplecache_view('wet4/test.js');
    //added since goups didnt have this action but called it
    elgg_register_action("discussion_reply/delete", elgg_get_plugins_path() . "/wet4/actions/discussion/reply/delete.php");
    if (elgg_is_active_plugin('au_subgroups')) {
        elgg_register_action("groups/invite", elgg_get_plugins_path() . "/wet4/actions/groups/invite.php");
    }
    elgg_register_action("file/move_folder", elgg_get_plugins_path() . "/wet4/actions/file/move.php");
    elgg_register_action("friends/collections/edit", elgg_get_plugins_path() . "/wet4/actions/friends/collections/edit.php");
    elgg_register_action("login", elgg_get_plugins_path() . "/wet4/actions/login.php", "public");
    elgg_register_action("widgets/delete", elgg_get_plugins_path() . "/wet4/actions/widgets/delete.php");
    elgg_register_action("user/requestnewpassword", elgg_get_plugins_path() . "/wet4/actions/user/requestnewpassword.php", "public");
    //Verify the department action
    elgg_register_action("department/verify_department", elgg_get_plugins_path() . "/wet4/actions/department/verify_department.php");
    // non-members do not get visible links to RSS feeds
    if (!elgg_is_logged_in()) {
        elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link');
    }
    // new widgets
    //registering wet 4 activity widget
    if (elgg_is_logged_in()) {
        //for my the my groups widget on the home page
        $mygroups_title = elgg_echo('wet_mygroups:my_groups');
        $wet_activity_title = elgg_echo('wet4:colandgroupactivity');
    } else {
        $mygroups_title = elgg_echo('wet_mygroups:my_groups_nolog');
        $wet_activity_title = elgg_echo('wet4:colandgroupactivitynolog');
    }
    elgg_register_widget_type('wet_activity', $wet_activity_title, 'GCconnex Group and Colleague Activity', array('custom_index_widgets'), false);
    elgg_register_widget_type('suggested_friends', elgg_echo('sf:suggcolleagues'), elgg_echo('sf:suggcolleagues'), array('custom_index_widgets'), false);
    elgg_register_widget_type('feature_tour', 'feature_tour', 'feature_tour', array('custom_index_widgets'), false);
    //WET my groups widget
    elgg_register_widget_type('wet_mygroups_index', $mygroups_title, 'My Groups Index', array('custom_index_widgets'), true);
    elgg_register_widget_type('most_liked', elgg_echo('activity:module:weekly_likes'), elgg_echo('activity:module:weekly_likes'), array('dashboard', 'custom_index_widgets'), true);
    //Temp fix for river widget
    elgg_unregister_widget_type("group_river_widget");
    //extend views of plugin files to remove unwanted menu items
    $active_plugins = elgg_get_plugins();
    foreach ($active_plugins as $plugin) {
        $plugin_id = $plugin->getID();
        if (elgg_view_exists("usersettings/{$plugin_id}/edit") || elgg_view_exists("plugins/{$plugin_id}/usersettings")) {
            elgg_extend_view("usersettings/{$plugin_id}/edit", "forms/usersettings/menus");
            elgg_extend_view("plugins/{$plugin_id}/usersettings", "forms/usersettings/menus");
        }
    }
    elgg_extend_view("core/settings/statistics", "forms/usersettings/menus");
    elgg_extend_view('forms/account/settings', 'core/settings/account/landing_page');
    //menu item for career dropdown
    elgg_register_menu_item('site', array('name' => 'career', 'href' => '#career_menu', 'text' => elgg_echo('career') . '<span class="expicon glyphicon glyphicon-chevron-down"></span>'));
    //set up metadata for user's landing page preference
    if (elgg_is_logged_in()) {
        $user = elgg_get_logged_in_user_entity();
        if (!isset($user->landingpage)) {
            $user->landingpage = 'news';
        }
    }
    //save new user settings on landing page
    elgg_register_plugin_hook_handler('usersettings:save', 'user', '_elgg_set_landing_page');
    // Replace the default index page with redirect
    elgg_register_plugin_hook_handler('index', 'system', 'new_index');
    elgg_register_page_handler('newsfeed', 'newsfeed_page_handler');
    elgg_register_page_handler('splash', 'splash_page_handler');
    elgg_register_page_handler('c_photo_image', 'c_photo_page_handler');
    elgg_register_page_handler('groups_autocomplete', 'groups_autocomplete');
    //jobs.gc.ca menu link
    elgg_register_menu_item('subSite', array('name' => 'jobs', 'text' => elgg_echo('wet:jobs:link'), 'href' => elgg_echo('wet:jobs:href'), 'target' => '_blank'));
}
Example #19
0
function event_manager_pagesetup()
{
    // @todo check if this can be better
    elgg_load_js("lightbox");
    elgg_load_css("lightbox");
    $page_owner = elgg_get_page_owner_entity();
    if ($page_owner instanceof ElggGroup) {
        if ($page_owner->event_manager_enable == "no") {
            elgg_unregister_widget_type("events");
        }
    }
}
<?php

/**
 * Prepends the widget add panel to unregister widgets based on a group tool option
 * when in the context of a group
 */
$context = elgg_extract('context', $vars);
if ($context != 'groups') {
    // only cleanup for groups
    return;
}
$page_owner = elgg_get_page_owner_entity();
if (empty($page_owner) || !elgg_instanceof($page_owner, 'group')) {
    // we need a group
    return;
}
$result = ['enable' => [], 'disable' => []];
$params = ['entity' => $page_owner];
$result = elgg_trigger_plugin_hook('group_tool_widgets', 'widget_manager', $params, $result);
if (empty($result) || !is_array($result)) {
    return;
}
$disable_widget_handlers = elgg_extract('disable', $result);
if (!empty($disable_widget_handlers) && is_array($disable_widget_handlers)) {
    foreach ($disable_widget_handlers as $handler) {
        elgg_unregister_widget_type($handler);
    }
}
Example #21
0
function group_tools_pagesetup()
{
    $user = elgg_get_logged_in_user_entity();
    $page_owner = elgg_get_page_owner_entity();
    if (elgg_in_context("groups") && $page_owner instanceof ElggGroup) {
        if ($page_owner->forum_enable == "no") {
            // unset if not enabled for this plugin
            elgg_unregister_widget_type("group_forum_topics");
        }
        if (!empty($user)) {
            // check for admin transfer
            $admin_transfer = elgg_get_plugin_setting("admin_transfer", "group_tools");
            if ($admin_transfer == "admin" && $user->isAdmin()) {
                elgg_extend_view("groups/edit", "group_tools/forms/admin_transfer", 400);
            } elseif ($admin_transfer == "owner" && ($page_owner->getOwnerGUID() == $user->getGUID() || $user->isAdmin())) {
                elgg_extend_view("groups/edit", "group_tools/forms/admin_transfer", 400);
            }
            // check multiple admin
            if (elgg_get_plugin_setting("multiple_admin", "group_tools") == "yes") {
                // extend group members sidebar list
                elgg_extend_view("groups/sidebar/members", "group_tools/group_admins", 400);
                // remove group tool options for group admins
                if ($page_owner->getOwnerGUID() != $user->getGUID() && !$user->isAdmin()) {
                    remove_group_tool_option("group_multiple_admin_allow");
                }
            }
            // invitation management
            if ($page_owner->canEdit()) {
                $request_options = array("type" => "user", "relationship" => "membership_request", "relationship_guid" => $page_owner->getGUID(), "inverse_relationship" => true, "count" => true);
                $invite_options = array("type" => "user", "relationship" => "invited", "relationship_guid" => $page_owner->getGUID(), "count" => true);
                $postfix = "";
                if ($requests = elgg_get_entities_from_relationship($request_options)) {
                    $postfix = " [" . $requests . "]";
                } elseif ($invited = elgg_get_entities_from_relationship($invite_options)) {
                    $postfix = " [" . $invited . "]";
                }
                if (!$page_owner->isPublicMembership() || !empty($requests)) {
                    elgg_register_menu_item('page', array('name' => 'membership_requests', 'text' => elgg_echo('groups:membershiprequests') . $postfix, 'href' => "groups/requests/" . $page_owner->getGUID()));
                } elseif (!empty($invited)) {
                    elgg_register_menu_item('page', array('name' => 'membership_requests', 'text' => elgg_echo('group_tools:menu:invitations') . $postfix, 'href' => "groups/requests/" . $page_owner->getGUID()));
                }
            }
            // group mail options
            if ($page_owner->canEdit() && elgg_get_plugin_setting("mail", "group_tools") == "yes") {
                elgg_register_menu_item('page', array('name' => 'mail', 'text' => elgg_echo('group_tools:menu:mail'), 'href' => "groups/mail/" . $page_owner->getGUID()));
            }
        }
    }
    if ($page_owner instanceof ElggGroup) {
        if (!$page_owner->isPublicMembership()) {
            if (elgg_get_plugin_setting("search_index", "group_tools") != "yes") {
                // closed groups should be indexed by search engines
                elgg_extend_view("page/elements/head", "metatags/noindex");
            }
        }
        // cleanup sidebar
        elgg_extend_view("page/elements/sidebar", "group_tools/sidebar/cleanup");
    }
}
Example #22
0
/**
 * called when the Elgg system get initialized
 *
 * @return void
 */
function group_tools_init()
{
    // extend css & js
    elgg_extend_view('css/elgg', 'css/group_tools/site.css');
    elgg_extend_view('js/elgg', 'js/group_tools/site.js');
    // extend page handlers
    elgg_register_plugin_hook_handler('route', 'groups', '\\ColdTrick\\GroupTools\\Router::groups');
    elgg_register_plugin_hook_handler('route', 'livesearch', '\\ColdTrick\\GroupTools\\Router::livesearch');
    // admin menu item
    elgg_register_admin_menu_item('configure', 'group_tool_presets', 'appearance');
    elgg_register_admin_menu_item('administer', 'group_bulk_delete', 'administer_utilities');
    // hook on title menu
    elgg_register_plugin_hook_handler('register', 'menu:title', '\\ColdTrick\\GroupTools\\TitleMenu::groupMembership');
    elgg_register_plugin_hook_handler('register', 'menu:title', '\\ColdTrick\\GroupTools\\TitleMenu::groupInvite');
    elgg_register_plugin_hook_handler('register', 'menu:title', '\\ColdTrick\\GroupTools\\TitleMenu::exportGroupMembers');
    elgg_register_plugin_hook_handler('register', 'menu:title', '\\ColdTrick\\GroupTools\\TitleMenu::pendingApproval', 9999);
    elgg_register_plugin_hook_handler('register', 'menu:user_hover', '\\ColdTrick\\GroupTools\\GroupAdmins::assignGroupAdmin');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\GroupTools\\GroupAdmins::assignGroupAdmin', 501);
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\GroupTools\\EntityMenu::relatedGroup');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\GroupTools\\EntityMenu::showMemberCount');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\GroupTools\\EntityMenu::showGroupHiddenIndicator');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\GroupTools\\EntityMenu::removeUserFromGroup', 501);
    elgg_register_plugin_hook_handler('register', 'menu:membershiprequest', '\\ColdTrick\\GroupTools\\Membership::membershiprequestMenu');
    elgg_register_plugin_hook_handler('register', 'menu:emailinvitation', '\\ColdTrick\\GroupTools\\Membership::emailinvitationMenu');
    elgg_register_plugin_hook_handler('register', 'menu:group:membershiprequests', '\\ColdTrick\\GroupTools\\Membership::groupMembershiprequests');
    elgg_register_plugin_hook_handler('register', 'menu:group:membershiprequest', '\\ColdTrick\\GroupTools\\Membership::groupMembershiprequest');
    elgg_register_plugin_hook_handler('register', 'menu:group:invitation', '\\ColdTrick\\GroupTools\\Membership::groupInvitation');
    elgg_register_plugin_hook_handler('register', 'menu:group:email_invitation', '\\ColdTrick\\GroupTools\\Membership::groupEmailInvitation');
    elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\GroupTools\\Membership::groupProfileSidebar');
    elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\GroupTools\\GroupSortMenu::addTabs');
    elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\GroupTools\\GroupSortMenu::addSorting');
    elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\GroupTools\\GroupSortMenu::cleanupTabs', 900);
    elgg_register_plugin_hook_handler('register', 'menu:groups:my_status', '\\ColdTrick\\GroupTools\\MyStatus::registerJoinStatus');
    elgg_register_plugin_hook_handler('prepare', 'menu:filter', '\\ColdTrick\\GroupTools\\GroupSortMenu::setSelected');
    // group admins
    if (group_tools_multiple_admin_enabled()) {
        // add group tool option
        add_group_tool_option('group_multiple_admin_allow', elgg_echo('group_tools:multiple_admin:group_tool_option'), false);
        // extend group members sidebar list
        elgg_extend_view('groups/sidebar/members', 'group_tools/group_admins', 400);
        // cleanup for group admins
        elgg_extend_view('groups/edit/tools', 'group_tools/extends/groups/edit/tools/group_admins', 400);
    }
    // notify admin on membership request
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\GroupTools\\GroupAdmins::membershipRequest');
    // register on group leave
    elgg_register_event_handler('leave', 'group', '\\ColdTrick\\GroupTools\\GroupAdmins::groupLeave');
    // register permissions check hook
    elgg_register_plugin_hook_handler('permissions_check', 'group', '\\ColdTrick\\GroupTools\\GroupAdmins::permissionsCheck');
    // register group activity widget
    // 2012-05-03: restored limited functionality of group activity widget, will be fully restored if Elgg fixes widget settings
    elgg_register_widget_type('group_river_widget', elgg_echo('widgets:group_river_widget:title'), elgg_echo('widgets:group_river_widget:description'), ['dashboard', 'profile', 'index', 'groups'], true);
    // unregister dashboard widget group_activity, because our version is better ;)
    elgg_unregister_widget_type('group_activity');
    // register group members widget
    elgg_register_widget_type('group_members', elgg_echo('widgets:group_members:title'), elgg_echo('widgets:group_members:description'), ['groups'], false);
    // register groups invitations widget
    elgg_register_widget_type('group_invitations', elgg_echo('widgets:group_invitations:title'), elgg_echo('widgets:group_invitations:description'), ['index', 'dashboard'], false);
    // register featured groups widget
    elgg_register_widget_type('featured_groups', elgg_echo('groups:featured'), elgg_echo('widgets:featured_groups:description'), ['index']);
    // register index groups widget
    elgg_register_widget_type('index_groups', elgg_echo('groups'), elgg_echo('widgets:index_groups:description'), ['index'], true);
    // group invitation
    elgg_register_action('groups/invite', dirname(__FILE__) . '/actions/groups/invite.php');
    // manage auto join for groups
    elgg_extend_view('groups/edit', 'group_tools/forms/special_states', 350);
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\GroupTools\\Membership::siteJoinAutoJoinGroups');
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\GroupTools\\Membership::siteJoinEmailInvitedGroups');
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\GroupTools\\Membership::siteJoinGroupInviteCode');
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\GroupTools\\Membership::siteJoinDomainBasedGroups');
    // group admin approve
    elgg_extend_view('groups/edit', 'group_tools/extends/groups/edit/admin_approve', 1);
    elgg_extend_view('groups/profile/layout', 'group_tools/extends/groups/edit/admin_approve', 1);
    elgg_register_admin_menu_item('administer', 'admin_approval', 'groups');
    elgg_register_notification_event('group', null, ['admin_approval']);
    elgg_register_plugin_hook_handler('get', 'subscriptions', '\\ColdTrick\\GroupTools\\Notifications::adminApprovalSubs');
    elgg_register_plugin_hook_handler('prepare', 'notification:admin_approval:group:', '\\ColdTrick\\GroupTools\\Notifications::prepareAdminApprovalMessage');
    // show group edit as tabbed
    elgg_extend_view('groups/edit', 'group_tools/group_edit_tabbed', 10);
    // cleanup group side menu
    elgg_extend_view('page/elements/sidebar', 'group_tools/sidebar/featured');
    elgg_extend_view('groups/edit', 'group_tools/forms/cleanup', 450);
    elgg_register_plugin_hook_handler('view_vars', 'groups/sidebar/members', '\\ColdTrick\\GroupTools\\Cleanup::hideSidebarMembers');
    elgg_register_plugin_hook_handler('view_vars', 'groups/sidebar/my_status', '\\ColdTrick\\GroupTools\\Cleanup::hideMyStatus');
    elgg_register_plugin_hook_handler('view_vars', 'groups/sidebar/search', '\\ColdTrick\\GroupTools\\Cleanup::hideSearchbox');
    elgg_register_plugin_hook_handler('prepare', 'menu:extras', '\\ColdTrick\\GroupTools\\Cleanup::hideExtrasMenu');
    elgg_register_plugin_hook_handler('prepare', 'menu:title', '\\ColdTrick\\GroupTools\\Cleanup::hideMembershipActions');
    elgg_register_plugin_hook_handler('prepare', 'menu:groups:my_status', '\\ColdTrick\\GroupTools\\Cleanup::hideMembershipActions');
    elgg_register_plugin_hook_handler('prepare', 'menu:owner_block', '\\ColdTrick\\GroupTools\\Cleanup::hideOwnerBlockMenu');
    // group notifications
    elgg_extend_view('groups/edit', 'group_tools/forms/notifications', 375);
    // allow group members to invite new members
    elgg_extend_view('groups/edit', 'group_tools/forms/invite_members', 475);
    // configure a group welcome message
    elgg_extend_view('groups/edit', 'group_tools/forms/welcome_message');
    // configure domain based group join
    elgg_extend_view('groups/edit', 'group_tools/forms/domain_based');
    // show group status in owner block
    elgg_extend_view('page/elements/owner_block/extend', 'group_tools/owner_block');
    // show group status in stats (on group profile)
    elgg_extend_view('groups/profile/summary', 'group_tools/group_stats');
    if (elgg_is_active_plugin('blog')) {
        elgg_register_widget_type('group_news', elgg_echo('widgets:group_news:title'), elgg_echo('widgets:group_news:description'), ['profile', 'index', 'dashboard'], true);
        elgg_extend_view('css/elgg', 'css/group_tools/group_news.css');
    }
    // related groups
    add_group_tool_option('related_groups', elgg_echo('groups_tools:related_groups:tool_option'), false);
    elgg_extend_view('groups/tool_latest', 'group_tools/modules/related_groups');
    elgg_register_widget_type('group_related', elgg_echo('groups_tools:related_groups:widget:title'), elgg_echo('groups_tools:related_groups:widget:description'), ['groups']);
    // registration
    elgg_extend_view('register/extend', 'group_tools/register_extend');
    // theme sandbox
    elgg_extend_view('theme_sandbox/forms', 'group_tools/theme_sandbox/grouppicker');
    // closed groups shouldn't be indexed by search engines
    elgg_register_plugin_hook_handler('head', 'page', '\\ColdTrick\\GroupTools\\PageLayout::noIndexClosedGroups');
    // group invitations
    elgg_extend_view('groups/invitationrequests', 'group_tools/invitationrequests/emailinvitations');
    elgg_extend_view('groups/invitationrequests', 'group_tools/invitationrequests/membershiprequests');
    elgg_extend_view('groups/invitationrequests', 'group_tools/invitationrequests/emailinviteform');
    // group join motivation
    elgg_register_ajax_view('group_tools/forms/motivation');
    // register events
    elgg_register_event_handler('join', 'group', '\\ColdTrick\\GroupTools\\Membership::groupJoin');
    elgg_register_event_handler('delete', 'relationship', 'ColdTrick\\GroupTools\\Membership::deleteRequest');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\GroupTools\\Upgrade::setGroupMailClassHandler');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\GroupTools\\Upgrade::migrateListingSettings');
    // group mail option
    elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\GroupTools\\GroupMail::pageMenu');
    elgg_register_notification_event('object', GroupMail::SUBTYPE, ['enqueue']);
    elgg_register_plugin_hook_handler('prepare', 'notification:enqueue:object:' . GroupMail::SUBTYPE, '\\ColdTrick\\GroupTools\\GroupMail::prepareNotification');
    elgg_register_plugin_hook_handler('get', 'subscriptions', '\\ColdTrick\\GroupTools\\GroupMail::getSubscribers');
    elgg_register_plugin_hook_handler('send:after', 'notifications', '\\ColdTrick\\GroupTools\\GroupMail::cleanup');
    if (group_tools_group_mail_members_enabled()) {
        add_group_tool_option('mail_members', elgg_echo('group_tools:tools:mail_members'), false);
    }
    // register plugin hooks
    elgg_register_plugin_hook_handler('entity:url', 'object', '\\ColdTrick\\GroupTools\\WidgetManager::widgetURL');
    elgg_register_plugin_hook_handler('default', 'access', '\\ColdTrick\\GroupTools\\Access::setGroupDefaultAccess');
    elgg_register_plugin_hook_handler('default', 'access', '\\ColdTrick\\GroupTools\\Access::validateGroupDefaultAccess', 999999);
    elgg_register_plugin_hook_handler('access:collections:write', 'user', '\\ColdTrick\\GroupTools\\Access::defaultAccessOptions');
    elgg_register_plugin_hook_handler('action', 'groups/join', '\\ColdTrick\\GroupTools\\Membership::groupJoinAction');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', '\\ColdTrick\\GroupTools\\OwnerBlockMenu::relatedGroups');
    elgg_register_plugin_hook_handler('route', 'register', '\\ColdTrick\\GroupTools\\Router::allowRegistration');
    elgg_register_plugin_hook_handler('action', 'register', '\\ColdTrick\\GroupTools\\Router::allowRegistration');
    elgg_register_plugin_hook_handler('group_tool_widgets', 'widget_manager', '\\ColdTrick\\GroupTools\\WidgetManager::groupToolWidgets');
    elgg_register_plugin_hook_handler('get_exportable_values', 'csv_exporter', '\\ColdTrick\\GroupTools\\CSVExporter::addGroupAdminsToGroups');
    elgg_register_plugin_hook_handler('get_exportable_values', 'csv_exporter', '\\ColdTrick\\GroupTools\\CSVExporter::addGroupAdminsToUsers');
    elgg_register_plugin_hook_handler('export_value', 'csv_exporter', '\\ColdTrick\\GroupTools\\CSVExporter::exportGroupAdminsForGroups');
    elgg_register_plugin_hook_handler('export_value', 'csv_exporter', '\\ColdTrick\\GroupTools\\CSVExporter::exportGroupAdminsForUsers');
    // actions
    elgg_register_action('group_tools/toggle_admin', dirname(__FILE__) . '/actions/toggle_admin.php');
    elgg_register_action('group_tools/mail', dirname(__FILE__) . '/actions/mail.php');
    elgg_register_action('group_tools/cleanup', dirname(__FILE__) . '/actions/cleanup.php');
    elgg_register_action('group_tools/invite_members', dirname(__FILE__) . '/actions/invite_members.php');
    elgg_register_action('group_tools/welcome_message', dirname(__FILE__) . '/actions/welcome_message.php');
    elgg_register_action('group_tools/domain_based', dirname(__FILE__) . '/actions/domain_based.php');
    elgg_register_action('group_tools/related_groups', dirname(__FILE__) . '/actions/related_groups.php');
    elgg_register_action('group_tools/remove_related_groups', dirname(__FILE__) . '/actions/remove_related_groups.php');
    elgg_register_action('group_tools/member_export', dirname(__FILE__) . '/actions/member_export.php');
    elgg_register_action('group_tools/toggle_notifications', dirname(__FILE__) . '/actions/toggle_notifications.php');
    elgg_register_action('group_tools/join_motivation', dirname(__FILE__) . '/actions/membership/join_motivation.php');
    elgg_register_action('group_tools/toggle_special_state', dirname(__FILE__) . '/actions/admin/toggle_special_state.php', 'admin');
    elgg_register_action('group_tools/fix_auto_join', dirname(__FILE__) . '/actions/admin/fix_auto_join.php', 'admin');
    elgg_register_action('group_tools/notifications', dirname(__FILE__) . '/actions/admin/notifications.php', 'admin');
    elgg_register_action('group_tools/fix_acl', dirname(__FILE__) . '/actions/admin/fix_acl.php', 'admin');
    elgg_register_action('group_tools/group_tool_presets', dirname(__FILE__) . '/actions/admin/group_tool_presets.php', 'admin');
    elgg_register_action('group_tools/admin/bulk_delete', dirname(__FILE__) . '/actions/admin/bulk_delete.php', 'admin');
    elgg_register_action('group_tools/admin/approve', dirname(__FILE__) . '/actions/admin/approve.php', 'admin');
    elgg_register_action('group_tools/admin/decline', dirname(__FILE__) . '/actions/admin/decline.php', 'admin');
    elgg_register_action('group_tools/email_invitation', dirname(__FILE__) . '/actions/membership/email_invitation.php');
    elgg_register_action('groups/decline_email_invitation', dirname(__FILE__) . '/actions/groups/decline_email_invitation.php');
    elgg_register_action('group_tools/revoke_email_invitation', dirname(__FILE__) . '/actions/groups/revoke_email_invitation.php');
    elgg_register_action('groups/edit', dirname(__FILE__) . '/actions/groups/edit.php');
    elgg_register_action('group_tools/order_groups', dirname(__FILE__) . '/actions/order_groups.php', 'admin');
}