function bookmarks_init()
{
    // Grab the config global
    global $CONFIG;
    //add a tools menu option
    if (isloggedin()) {
        add_menu(elgg_echo('bookmarks'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . '/items');
        // add "bookmark this" to owner block
        elgg_extend_view('owner_block/extend', 'bookmarks/owner_block');
    }
    // Register a page handler, so we can have nice URLs
    register_page_handler('bookmarks', 'bookmarks_page_handler');
    // Add our CSS
    elgg_extend_view('css', 'bookmarks/css');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'bookmarks', elgg_echo('bookmarks:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'bookmarks_notify_message');
    // Register a URL handler for shared items
    register_entity_url_handler('bookmark_url', 'object', 'bookmarks');
    // Shares widget
    add_widget_type('bookmarks', elgg_echo("bookmarks:recent"), elgg_echo("bookmarks:widget:description"));
    // Register entity type
    register_entity_type('object', 'bookmarks');
    // Add group menu option
    add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true);
}
예제 #2
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);
    }
}
예제 #3
0
파일: start.php 프로젝트: lorea/Hydra-dev
/**
 * Subgroups plugin initialization functions.
 */
function subgroups_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:subgroups', elgg_get_plugins_path() . 'subgroups/lib/subgroups.php');
    // override groups library
    elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'subgroups/lib/groups.php');
    // Register actions
    $actions_path = elgg_get_plugins_path() . 'subgroups/actions/subgroups';
    elgg_register_action("subgroups/add", $actions_path . "/add.php");
    elgg_register_action("subgroups/remove", $actions_path . "/remove.php");
    // Register page handler
    elgg_register_page_handler('subgroups', 'subgroups_page_handler');
    // Register pagesetup event handler
    elgg_register_event_handler('pagesetup', 'system', 'subgroups_setup_sidebar_menus');
    // Register unsetter container_guid handler
    elgg_register_event_handler('update', 'group', 'subgroups_unset_group_container');
    // Register an unrelate link to entity menu (max priority to run the last)
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'subgroups_menu_setup', 9999);
    // Extend group fields
    elgg_register_plugin_hook_handler('profile:fields', 'group', 'subgroups_add_container_field');
    // Access permissions
    elgg_register_plugin_hook_handler('access:collections:write', 'all', 'subgroups_read_acl_plugin_hook');
    // Extending views
    elgg_extend_view('groups/sidebar/members', 'groups/sidebar/subgroups', 300);
    //TODO elgg_extend_view('groups/forum_latest', 'subgroups/frontpage');
    // Extending CSS
    elgg_extend_view('css/elements/components', 'groups/css/elements/components');
    elgg_register_ajax_view('subgroups/groups_i_can_edit');
    // Add group tool
    add_group_tool_option('subgroups', elgg_echo('subgroups:in_frontpage'), false);
    elgg_extend_view('groups/tool_latest', 'subgroups/group_module');
}
예제 #4
0
파일: start.php 프로젝트: redvabel/Vabelgg
/**
 * 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');
}
예제 #5
0
파일: start.php 프로젝트: lorea/Hydra-dev
/**
 * Init proposals plugin.
 */
function proposals_init()
{
    if (!elgg_is_active_plugin('crud')) {
        return;
    }
    // register proposals library
    elgg_register_library('elgg:proposals', elgg_get_plugins_path() . 'proposals/lib/proposals.php');
    // add to the main css
    elgg_extend_view('css/elgg', 'proposals/css');
    // Add group option
    add_group_tool_option('proposals', elgg_echo('proposals:enableproposals'), false);
    elgg_extend_view('groups/tool_latest', 'proposals/group_module');
    //
    $action_path = elgg_get_plugins_path() . 'proposals/actions/proposals';
    elgg_register_action("proposals/vote", "{$action_path}/vote.php");
    elgg_register_plugin_hook_handler('permissions_check:annotate', 'object', 'proposals_user_can_vote');
    // data types
    $variables = array('title' => 'text', 'description' => 'longtext', 'access_id' => 'access');
    $crud = crud_register_type('decision', $variables);
    $crud->children_type = 'proposal';
    // the following is to not overwrite module if assemblies set it
    // before, since we don't need explicit module.
    if ($crud->module == 'decision') {
        $crud->module = 'proposals';
    }
    //$crud->module = 'proposals';
    $crud->owner_menu = 'group';
    $variables = array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'access_id' => 'access', 'improves_guid' => array('type' => 'url', 'input_view' => 'hidden', 'output_view' => 'proposal', 'default_value' => get_input('improves')));
    $crud = crud_register_type('proposal', $variables);
    #$crud->children_type = 'agenda_point';
    $crud->module = 'proposals';
}
예제 #6
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');
}
예제 #7
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");
}
예제 #8
0
파일: start.php 프로젝트: eokyere/elgg
function tasks_init()
{
    // Grab the config file
    global $CONFIG;
    extend_view('metatags', 'tasks/js');
    //add a tools menu option
    if (isloggedin()) {
        add_menu(elgg_echo('tasks'), $CONFIG->wwwroot . "pg/tasks/" . $_SESSION['user']->username . '/items');
    }
    // Register a page handler, so we can have nice URLs
    register_page_handler('tasks', 'tasks_page_handler');
    // Add our CSS
    extend_view('css', 'tasks/css');
    // Add to groups context
    extend_view('groups/left_column', 'tasks/groupprofile_tasks');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'tasks', elgg_echo('tasks:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'tasks_notify_message');
    // Register a URL handler for shared items
    register_entity_url_handler('task_url', 'object', 'tasks');
    // Shares widget
    add_widget_type('tasks', elgg_echo("tasks:recent"), elgg_echo("tasks:widget:description"));
    // Register entity type
    register_entity_type('object', 'tasks');
    // Add group menu option
    add_group_tool_option('tasks', elgg_echo('tasks:enabletasks'), true);
}
예제 #9
0
/**
 * Vouchers plugin initialization functions.
 */
function vouchers_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:vouchers', elgg_get_plugins_path() . 'vouchers/lib/vouchers.php');
    // Register subtype
    run_function_once('vouchers_manager_run_once_subtypes');
    // Register entity_type for search
    elgg_register_entity_type('object', Voucher::SUBTYPE);
    // Site navigation
    $item = new ElggMenuItem('vouchers', elgg_echo('vouchers:menu'), 'vouchers/all');
    elgg_register_menu_item('site', $item);
    // Extend CSS
    elgg_extend_view('css/elgg', 'vouchers/css');
    elgg_register_css('vouchers_tooltip_css', '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css');
    // Extend js
    elgg_register_js('vouchersjs', elgg_get_site_url() . 'mod/vouchers/assets/vouchers.js');
    elgg_register_js('vouchers_tooltip_js', '//code.jquery.com/ui/1.11.1/jquery-ui.js');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('vouchers', 'vouchers_page_handler');
    // Register a URL handler for voucher
    $release = get_version(true);
    // Register a URL handler for agora
    if ($release < 1.9) {
        // version 1.8
        elgg_register_entity_url_handler('object', 'vouchers', 'voucher_url');
    } else {
        // use this since Elgg 1.9
        elgg_register_plugin_hook_handler('entity:url', 'object', 'vouchers_set_url');
    }
    // Register menu item to an ownerblock
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'vouchers_owner_block_menu');
    // Register admin transaction log menu under "Utilities"
    elgg_register_admin_menu_item('administer', 'vouchers_transactions_log', 'administer_utilities');
    // register plugin hooks
    elgg_register_plugin_hook_handler("public_pages", "walled_garden", "vouchers_walled_garden_hook");
    // Register actions
    $action_path = elgg_get_plugins_path() . 'vouchers/actions';
    elgg_register_action("vouchers/addvoucher", "{$action_path}/addvoucher.php");
    elgg_register_action("vouchers/delete", "{$action_path}/delvoucher.php");
    elgg_register_action("vouchers/set_featured", "{$action_path}/vouchers/set_featured.php");
    // set a voucher post as featured
    elgg_register_action("vouchers/unset_featured", "{$action_path}/vouchers/unset_featured.php");
    // unset a voucher post from featured
    elgg_register_action("vouchers/get_with_points", "{$action_path}/vouchers/get_with_points.php");
    // voucher purchase with points only
    elgg_register_action('vouchers/be_interested', "{$action_path}/be_interested.php");
    // send interest
    elgg_register_action("vouchers/usersettings", "{$action_path}/usersettings.php");
    // save user settings
    // extend group main page
    elgg_extend_view('groups/tool_latest', 'vouchers/group_module');
    //elgg_extend_view("print", "printpreview/pageshell/pageshell");
    // add the group vouchers tool option
    add_group_tool_option('vouchers', elgg_echo('vouchers:group:enablevouchers'), true);
    // Add vouchers widgets
    elgg_register_widget_type('vouchers', elgg_echo('vouchers:widget'), elgg_echo('vouchers:widget:description'), 'profile,groups,dashboard');
    // member's voucher posts
    elgg_register_widget_type('vouchers_featured', elgg_echo('vouchers:widget:featured'), elgg_echo('vouchers:widget:featured:description'), 'dashboard');
    // featured vouchers for dashboard
}
예제 #10
0
파일: start.php 프로젝트: remy40/gvrs
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');
}
예제 #11
0
파일: start.php 프로젝트: elgg/elgg
/**
 * Init blog plugin.
 */
function blog_init()
{
    elgg_register_library('elgg:blog', __DIR__ . '/lib/blog.php');
    // add a site navigation item
    elgg_register_menu_item('site', ['name' => 'blog', 'text' => elgg_echo('blog:blogs'), 'href' => 'blog/all']);
    // add to the main css
    elgg_extend_view('elgg.css', 'blog/css');
    // routing of urls
    elgg_register_page_handler('blog', 'blog_page_handler');
    // override the default url to view a blog object
    elgg_register_plugin_hook_handler('entity:url', 'object', 'blog_set_url');
    // notifications
    elgg_register_notification_event('object', 'blog', array('publish'));
    elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:blog', 'blog_prepare_notification');
    // add blog link to owner block
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu');
    // Register for search.
    elgg_register_entity_type('object', 'blog');
    // Add group option
    add_group_tool_option('blog', elgg_echo('blog:enableblog'), true);
    elgg_extend_view('groups/tool_latest', 'blog/group_module');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup');
    // archive menu
    elgg_register_plugin_hook_handler('register', 'menu:blog_archive', 'blog_archive_menu_setup');
    // ecml
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook');
    // allow to be liked
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:blog', 'Elgg\\Values::getTrue');
}
예제 #12
0
파일: start.php 프로젝트: socialweb/PiGo
function izap_zcontest_init()
{
    global $CONFIG;
    izap_plugin_init(GLOBAL_IZAP_CONTEST_PLUGIN);
    // asking group to include the izap_files
    if (is_callable('add_group_tool_option')) {
        add_group_tool_option(GLOBAL_IZAP_CONTEST_CHALLENGE_SUBTYPE, elgg_echo('izap-contest:challenge:group:enable'), true);
        elgg_extend_view('groups/tool_latest', GLOBAL_IZAP_CONTEST_PLUGIN . '/group_module');
    }
    elgg_register_page_handler(GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER);
    elgg_register_page_handler(GLOBAL_IZAP_CONTEST_QUIZ_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER);
    elgg_register_action(GLOBAL_IZAP_CONTEST_QUIZ_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER);
    elgg_register_page_handler(GLOBAL_IZAP_CONTEST_PAGEHANDLER, GLOBAL_IZAP_PAGEHANDLER);
    elgg_register_event_handler('izap', 'link', 'izap_contest_link_hook');
    elgg_register_menu_item('site', new ElggMenuItem('izap-contest', elgg_echo('izap-contest:contests'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'vars' => array('all'), 'page_owner' => false))));
    if (elgg_get_context() == GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER) {
        $menu_item_add = new ElggMenuItem('izap-contest:challenge_add', elgg_echo('izap-contest:challenge:add'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'add')));
        //elgg_register_menu_item('page', $menu_item_add);
        $menu_item_list = new ElggMenuItem('izap-contest:challenge_list', elgg_echo('izap-contest:challenge:all'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'page_owner' => false, 'vars' => array('all'))));
        //elgg_register_menu_item('page', $menu_item_list);
        $menu_item_my_list = new ElggMenuItem('izap-contest:challenge_my_list', elgg_echo("izap-contest:chellenge:list", array("My")), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'list', 'page_owner' => false, 'vars' => array($_SESSION['user']->username))));
        //elgg_register_menu_item('page', $menu_item_my_list);
        $menu_item_my_accepted = new ElggMenuItem('izap-contest:challenge_my_myaccepted', elgg_echo('izap-contest:challenge:accepted'), IzapBase::setHref(array('context' => GLOBAL_IZAP_CONTEST_CHALLENGE_PAGEHANDLER, 'action' => 'accepted')));
        elgg_register_menu_item('page', $menu_item_my_accepted);
    }
}
예제 #13
0
파일: start.php 프로젝트: eokyere/elgg
/**
 * File plugin initialisation functions.
 */
function file_init()
{
    // Get config
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('file'), $CONFIG->wwwroot . "pg/file/" . $_SESSION['user']->username);
    }
    // Extend CSS
    extend_view('css', 'file/css');
    // Extend hover-over and profile menu
    extend_view('profile/menu/links', 'file/menu');
    extend_view('groups/left_column', 'file/groupprofile_files');
    extend_view('dgroups/left_column', 'file/groupprofile_files');
    // Register a page handler, so we can have nice URLs
    register_page_handler('file', 'file_page_handler');
    // Add a new file widget
    add_widget_type('filerepo', elgg_echo("file:widget"), elgg_echo("file:widget:description"));
    // Register a URL handler for files
    register_entity_url_handler('file_url', 'object', 'file');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'file', elgg_echo('file:newupload'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'file_notify_message');
    // add the group files tool option
    add_group_tool_option('files', elgg_echo('groups:enablefiles'), true);
    // Register entity type
    register_entity_type('object', 'file');
}
예제 #14
0
function simplekaltura_init()
{
    $plugin_root = dirname(__FILE__);
    elgg_register_library('simplekaltura', "{$plugin_root}/lib/simplekaltura_lib.php");
    elgg_register_library('KalturaClient', "{$plugin_root}/vendors/kaltura_client/KalturaClient.php");
    elgg_load_library('simplekaltura');
    // helper libs
    $libs = array('swfobject', 'html5', 'utility', 'thumbs');
    foreach ($libs as $lib) {
        $url = elgg_get_simplecache_url('js', "simplekaltura/{$lib}");
        elgg_register_js("simplekaltura:{$lib}", $url);
    }
    // Register SKUploader
    elgg_register_external_view('js/simplekaltura/SKUploader.js', TRUE);
    // Include html5 js library
    elgg_load_js('simplekaltura:html5');
    elgg_load_js('simplekaltura:utility');
    elgg_extend_view('css/elgg', 'simplekaltura/css');
    // If plugin is properly configured
    if (simplekaltura_is_configured()) {
        // Add to main menu
        $item = new ElggMenuItem('simplekaltura', elgg_get_plugin_setting('kaltura_entity_title', 'simplekaltura'), 'videos');
        elgg_register_menu_item('site', $item);
        // Register page handler
        elgg_register_page_handler('videos', 'simplekaltura_page_handler');
    } else {
        elgg_add_admin_notice('simpkaltura_not_configured', elgg_echo('simplekaltura:error:pluginnotconfigured'));
    }
    // add the group pages tool option
    add_group_tool_option('simplekaltura', elgg_echo('groups:enablesimplekaltura'), TRUE);
    // Profile block hook
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'simplekaltura_owner_block_menu');
    // Modify entity menu for addional video items
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'simplekaltura_setup_entity_menu');
    // notifications
    elgg_register_notification_event('object', 'simplekaltura_video', array('create'));
    elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:simplekaltura_video', 'simplekaltura_prepare_notification');
    // actions
    $actions_root = "{$plugin_root}/actions/simplekaltura";
    elgg_register_action('simplekaltura/save', "{$actions_root}/save.php");
    elgg_register_action('simplekaltura/update', "{$actions_root}/update.php");
    elgg_register_action('simplekaltura/get_embed', "{$actions_root}/get_embed.php");
    elgg_register_action('simplekaltura/featured', "{$actions_root}/featured.php", 'admin');
    elgg_register_action('videos/delete', "{$actions_root}/delete.php");
    elgg_register_action('simplekaltura/migrate', "{$actions_root}/migrate.php", 'admin');
    // entity url and icon handlers
    elgg_register_plugin_hook_handler('entity:url', 'object', 'simplekaltura_url_handler');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simplekaltura_icon_url_override');
    // Register type
    elgg_register_entity_type('object', 'simplekaltura_video');
    // register CRON hook to poll video plays/duration/etc..
    elgg_register_plugin_hook_handler('cron', 'fifteenmin', 'simplekaltura_bulk_update');
    // Most Played Sidebar
    elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/featured');
    elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/most_played');
    // Whitelist ajax views
    elgg_register_ajax_view('simplekaltura/popup');
    return TRUE;
}
예제 #15
0
파일: start.php 프로젝트: socialweb/PiGo
function polls_init()
{
    elgg_register_library('elgg:polls', elgg_get_plugins_path() . 'polls/models/model.php');
    // Set up menu for logged in users
    if (elgg_is_logged_in()) {
        $item = new ElggMenuItem('polls', elgg_echo('polls'), 'polls/owner/' . elgg_get_logged_in_user_entity()->username);
    } else {
        $item = new ElggMenuItem('polls', elgg_echo('poll'), 'polls/all');
    }
    elgg_register_menu_item('site', $item);
    // Extend system CSS with our own styles, which are defined in the polls/css view
    elgg_extend_view('css/elgg', 'polls/css');
    // Extend hover-over menu
    elgg_extend_view('profile/menu/links', 'polls/menu');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('polls', 'polls_page_handler');
    // Register a URL handler for poll posts
    elgg_register_entity_url_handler('object', 'poll', 'polls_url');
    // notifications
    $elgg_version = explode('.', get_version(true));
    if ($elgg_version[1] > 8) {
        $send_notification = elgg_get_plugin_setting('send_notification', 'polls');
        if (!$send_notification || $send_notification != 'no') {
            elgg_register_notification_event('object', 'poll');
            elgg_register_plugin_hook_handler('prepare', 'notification:create:object:poll', 'polls_prepare_notification');
        }
    }
    // add link to owner block
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'polls_owner_block_menu');
    elgg_register_plugin_hook_handler('widget_url', 'widget_manager', 'polls_widget_url_handler');
    // Register entity type
    elgg_register_entity_type('object', 'poll');
    // register the JavaScript
    $js = elgg_get_simplecache_url('js', 'polls/js');
    elgg_register_simplecache_view('js/polls/js');
    elgg_register_js('elgg.polls', $js);
    // add group widget
    $group_polls = elgg_get_plugin_setting('group_polls', 'polls');
    if (!$group_polls || $group_polls != 'no') {
        elgg_extend_view('groups/tool_latest', 'polls/group_module');
    }
    if (!$group_polls || $group_polls == 'yes_default') {
        add_group_tool_option('polls', elgg_echo('polls:enable_polls'), TRUE);
    } else {
        if ($group_polls == 'yes_not_default') {
            add_group_tool_option('polls', elgg_echo('polls:enable_polls'), FALSE);
        }
    }
    //add widgets
    elgg_register_widget_type('poll', elgg_echo('polls:my_widget_title'), elgg_echo('polls:my_widget_description'), "profile,groups");
    elgg_register_widget_type('latestPolls', elgg_echo('polls:latest_widget_title'), elgg_echo('polls:latest_widget_description'), "index,profile,dashboard,groups");
    elgg_register_widget_type('poll_individual', elgg_echo('polls:individual'), elgg_echo('poll_individual_group:widget:description'), "index,profile,dashboard,groups");
    // Register actions
    $action_path = elgg_get_plugins_path() . 'polls/actions/polls';
    elgg_register_action("polls/add", "{$action_path}/add.php");
    elgg_register_action("polls/edit", "{$action_path}/edit.php");
    elgg_register_action("polls/delete", "{$action_path}/delete.php");
    elgg_register_action("polls/vote", "{$action_path}/vote.php");
}
예제 #16
0
파일: start.php 프로젝트: rijojoy/MyIceBerg
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);
}
예제 #17
0
/**
 * Initialize the plugin
 * @return void
 */
function groups_invite_init()
{
    elgg_register_action('groups/invite', __DIR__ . '/actions/groups/invite.php');
    add_group_tool_option('invites', elgg_echo('groups:invite:tool_option'), false);
    elgg_register_event_handler('create', 'user', 'groups_invite_user_created_event');
    elgg_extend_view('groups/profile/layout', 'groups/profile/buttons/invite');
    elgg_register_plugin_hook_handler('route', 'groups', 'groups_invite_router');
    elgg_register_plugin_hook_handler('get_templates', 'notifications', 'groups_invite_add_custom_templates');
}
예제 #18
0
파일: start.php 프로젝트: lorea/Hydra-dev
/**
 * This function is called when the Elgg system gets initialized
 *
 * @return void
 */
function newsletter_init()
{
    // register page handler
    elgg_register_page_handler("newsletter", "newsletter_page_handler");
    // Register entity_type for search
    elgg_register_entity_type("object", "newsletter");
    // CSS & JS
    elgg_extend_view("css/elgg", "css/newsletter/site");
    elgg_register_simplecache_view("js/newsletter/embed.js");
    // extend views
    elgg_extend_view("groups/sidebar/my_status", "newsletter/sidebar/subscribe");
    elgg_extend_view("register/extend", "newsletter/register");
    // create group setting
    if (newsletter_is_group_enabled()) {
        add_group_tool_option("newsletter", elgg_echo("newsletter:group:tool_option"), true);
    }
    // widget
    elgg_register_widget_type("newsletter_subscribe", elgg_echo("newsletter:sidebar:subscribe:title"), elgg_echo("newsletter:widget:subscribe:description"), array("index", "groups"));
    // register plugin hooks
    elgg_register_plugin_hook_handler("cron", "hourly", "newsletter_cron_handler");
    elgg_register_plugin_hook_handler("access:collections:write", "all", "newsletter_write_access_handler", 600);
    // needs to be after groups
    elgg_register_plugin_hook_handler("register", "menu:page", "newsletter_register_page_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:newsletter_steps", "newsletter_register_newsletter_steps_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:entity", "newsletter_register_entity_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:owner_block", "newsletter_register_owner_block_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:filter", "newsletter_register_filter_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:newsletter_buttons", "newsletter_register_buttons_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler");
    elgg_register_plugin_hook_handler("usersettings:save", "user", "newsletter_usersettings_save_handler");
    elgg_register_plugin_hook_handler("register", "user", "newsletter_register_user_handler");
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "newsletter_icon_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "newsletter_widget_url_handler");
    elgg_register_plugin_hook_handler("notification_type_subtype", "tag_tools", "newsletter_tag_tools_notifications");
    // extend public pages
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'newsletter_public_pages');
    // register event handlers
    elgg_register_event_handler("upgrade", "system", "newsletter_upgrade_event_handler");
    elgg_register_event_handler("create", "member_of_site", "newsletter_join_site_event_handler");
    // register actions
    elgg_register_action("newsletter/edit", dirname(__FILE__) . "/actions/edit.php");
    elgg_register_action("newsletter/edit/schedule", dirname(__FILE__) . "/actions/edit/schedule.php");
    elgg_register_action("newsletter/edit/content", dirname(__FILE__) . "/actions/edit/content.php");
    elgg_register_action("newsletter/edit/template", dirname(__FILE__) . "/actions/edit/template.php");
    elgg_register_action("newsletter/edit/template_to_custom", dirname(__FILE__) . "/actions/edit/template_to_custom.php");
    elgg_register_action("newsletter/edit/recipients", dirname(__FILE__) . "/actions/edit/recipients.php");
    elgg_register_action("newsletter/delete", dirname(__FILE__) . "/actions/delete.php");
    elgg_register_action("newsletter/send", dirname(__FILE__) . "/actions/send.php");
    elgg_register_action("newsletter/subscribe", dirname(__FILE__) . "/actions/subscribe.php", "public");
    elgg_register_action("newsletter/unsubscribe", dirname(__FILE__) . "/actions/unsubscribe.php", "public");
    elgg_register_action("newsletter/subscriptions", dirname(__FILE__) . "/actions/subscriptions.php");
    elgg_register_action("newsletter/duplicate", dirname(__FILE__) . "/actions/duplicate.php");
    elgg_register_action("newsletter/preview_mail", dirname(__FILE__) . "/actions/preview_mail.php");
    elgg_register_action("newsletter/template/edit", dirname(__FILE__) . "/actions/template/edit.php");
    elgg_register_action("newsletter/template/delete", dirname(__FILE__) . "/actions/template/delete.php");
}
예제 #19
0
파일: start.php 프로젝트: pleio/file_tools
function file_tools_init()
{
    // extend CSS
    elgg_extend_view("css/elgg", "file_tools/css/site");
    if (file_tools_use_folder_structure()) {
        elgg_extend_view("groups/edit", "file_tools/group_settings");
    }
    // extend js
    elgg_extend_view("js/elgg", "file_tools/js/site");
    // register JS libraries
    $vendors = elgg_get_site_url() . "mod/file_tools/vendors/";
    elgg_register_js("jquery.tree", $vendors . "jstree/jquery.tree.min.js");
    elgg_register_css("jquery.tree", $vendors . "jstree/themes/default/style.css");
    elgg_register_js("jquery.hashchange", $vendors . "hashchange/jquery.hashchange.js");
    // register page handler for nice URL's
    elgg_register_page_handler("file_tools", "file_tools_page_handler");
    // make our own URLs for folders
    elgg_register_entity_url_handler("object", "file", "file_tools_url_handler");
    elgg_register_entity_url_handler("object", FILE_TOOLS_SUBTYPE, "file_tools_folder_url_handler");
    // make our own URLs for folder icons
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "file_tools_folder_icon_hook");
    // register group option to allow management of file tree structure
    add_group_tool_option("file_tools_structure_management", elgg_echo("file_tools:group_tool_option:structure_management"));
    // register group option to allow group members to overwrite all their files
    add_group_tool_option("file_tools_file_management", elgg_echo("file_tools:group_tool_option:file_management"), false);
    // register widgets
    // add folder widget
    // need to keep file_tree for the widget name to be compatible with previous filetree plugin users
    elgg_register_widget_type("file_tree", elgg_echo("widgets:file_tree:title"), elgg_echo("widgets:file_tree:description"), "dashboard,profile,groups", true);
    // group files
    elgg_register_widget_type("group_files", elgg_echo("file:group"), elgg_echo("widgets:group_files:description"), "groups");
    // index files
    elgg_register_widget_type("index_file", elgg_echo("file"), elgg_echo("widgets:index_file:description"), "index", true);
    // register events
    elgg_register_event_handler("create", "object", "file_tools_object_handler");
    elgg_register_event_handler("update", "object", "file_tools_object_handler");
    elgg_register_event_handler("delete", "object", "file_tools_object_handler_delete");
    elgg_register_event_handler("upgrade", "system", "file_tools_upgrade_handler");
    // register hooks
    elgg_register_plugin_hook_handler("register", "menu:entity", "file_tools_entity_menu_hook");
    elgg_register_plugin_hook_handler("permissions_check", "object", "file_tools_can_edit_metadata_hook");
    elgg_register_plugin_hook_handler("route", "file", "file_tools_file_route_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "file_tools_widget_url_hook");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_breadcrumb", "file_tools_folder_breadcrumb_hook");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_sidebar_tree", "file_tools_folder_sidebar_tree_hook");
    // register actions
    elgg_register_action("file_tools/folder/edit", dirname(__FILE__) . "/actions/folder/edit.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/folder/reorder", dirname(__FILE__) . "/actions/folder/reorder.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/file/hide", dirname(__FILE__) . "/actions/file/hide.php");
    elgg_register_action("file_tools/file/upload", dirname(__FILE__) . "/actions/file/upload.php");
    elgg_register_action("file_tools/file/delete", dirname(__FILE__) . "/actions/file/delete.php");
    elgg_register_action("file/move", dirname(__FILE__) . "/actions/file/move.php");
    elgg_register_action("file/bulk_delete", dirname(__FILE__) . "/actions/file/bulk_delete.php");
    elgg_register_action("file_tools/groups/save_sort", dirname(__FILE__) . "/actions/groups/save_sort.php");
}
예제 #20
0
/**
 * Init function for this plugin
 *
 * @return void
 */
function event_manager_init()
{
    elgg_register_library("dompdf", dirname(__FILE__) . "/vendors/dompdf/dompdf_config.inc.php");
    // Register entity_type for search
    elgg_register_entity_type("object", Event::SUBTYPE);
    elgg_extend_view("css/elgg", "event_manager/css/site");
    elgg_extend_view("js/elgg", "js/event_manager/site");
    elgg_extend_view("page/elements/head", "event_manager/metatags");
    // notifications
    elgg_register_notification_event('object', Event::SUBTYPE, array('create'));
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Event::SUBTYPE, 'event_manager_prepare_notification');
    // add site menu item
    elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events"));
    // add group tool option
    if (event_manager_groups_enabled()) {
        add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true);
    }
    // add to group profile
    elgg_extend_view("groups/tool_latest", "event_manager/group_module");
    // add widgets
    elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), array("index", "dashboard", "profile", "groups"));
    // register js libraries
    $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager");
    elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true");
    elgg_register_js("addthisevent", "mod/event_manager/vendors/addthisevent/atemay.js");
    // page handlers
    elgg_register_page_handler("events", "event_manager_page_handler");
    // events
    elgg_register_event_handler("update", "object", "event_manager_update_object_handler");
    // hooks
    elgg_register_plugin_hook_handler("register", "menu:user_hover", "event_manager_user_hover_menu");
    elgg_register_plugin_hook_handler("register", "menu:entity", "event_manager_entity_menu", 600);
    elgg_register_plugin_hook_handler("register", "menu:owner_block", "event_manager_owner_block_menu");
    elgg_register_plugin_hook_handler("permissions_check", "object", "event_manager_permissions_check_handler");
    elgg_register_plugin_hook_handler("entity:url", "object", "event_manager_widget_events_url");
    // actions
    elgg_register_action("event_manager/event/edit", dirname(__FILE__) . "/actions/event/edit.php");
    elgg_register_action("event_manager/event/delete", dirname(__FILE__) . "/actions/event/delete.php");
    elgg_register_action("event_manager/event/rsvp", dirname(__FILE__) . "/actions/event/rsvp.php");
    elgg_register_action("event_manager/event/upload", dirname(__FILE__) . "/actions/event/upload.php");
    elgg_register_action("event_manager/event/deletefile", dirname(__FILE__) . "/actions/event/deletefile.php");
    elgg_register_action("event_manager/event/search", dirname(__FILE__) . "/actions/event/search.php");
    elgg_register_action("event_manager/event/unsubscribe", dirname(__FILE__) . "/actions/event/unsubscribe.php", "public");
    elgg_register_action("event_manager/event/unsubscribe_confirm", dirname(__FILE__) . "/actions/event/unsubscribe_confirm.php", "public");
    elgg_register_action("event_manager/event/resend_confirmation", dirname(__FILE__) . "/actions/event/resend_confirmation.php");
    elgg_register_action("event_manager/event/register", dirname(__FILE__) . "/actions/event/register.php", "public");
    elgg_register_action("event_manager/attendees/export", dirname(__FILE__) . "/actions/attendees/export.php");
    elgg_register_action("event_manager/attendees/move_to_attendees", dirname(__FILE__) . "/actions/attendees/move_to_attendees.php");
    elgg_register_action("event_manager/registration/edit", dirname(__FILE__) . "/actions/registration/edit.php");
    elgg_register_action("event_manager/registration/approve", dirname(__FILE__) . "/actions/registration/approve.php");
    elgg_register_action("event_manager/registration/pdf", dirname(__FILE__) . "/actions/registration/pdf.php", "public");
    elgg_register_action("event_manager/registration/confirm", dirname(__FILE__) . "/actions/registration/confirm.php", "public");
    elgg_register_action("event_manager/slot/save", dirname(__FILE__) . "/actions/slot/save.php");
    elgg_register_action("event_manager/slot/delete", dirname(__FILE__) . "/actions/slot/delete.php");
    elgg_register_action("event_manager/day/delete", dirname(__FILE__) . "/actions/day/delete.php");
}
예제 #21
0
/**
 * This function is called when the Elgg system gets initialized
 *
 * @return void
 */
function newsletter_init()
{
    // register page handler
    elgg_register_page_handler('newsletter', '\\ColdTrick\\Newsletter\\PageHandler::newsletter');
    // Register entity_type for search
    elgg_register_entity_type('object', 'newsletter');
    // CSS & JS
    elgg_extend_view('css/elgg', 'css/newsletter.css');
    elgg_register_simplecache_view('js/newsletter/embed.js');
    // extend views
    elgg_extend_view('groups/sidebar/my_status', 'newsletter/sidebar/subscribe');
    elgg_extend_view('register/extend', 'newsletter/register');
    // create group setting
    if (newsletter_is_group_enabled()) {
        add_group_tool_option('newsletter', elgg_echo('newsletter:group:tool_option'), true);
    }
    // widget
    elgg_register_widget_type('newsletter_subscribe', elgg_echo('newsletter:sidebar:subscribe:title'), elgg_echo('newsletter:widget:subscribe:description'), ['index', 'groups']);
    // register plugin hooks
    elgg_register_plugin_hook_handler('cron', 'hourly', '\\ColdTrick\\Newsletter\\Cron::sendNewsletters');
    elgg_register_plugin_hook_handler('access:collections:write', 'all', '\\ColdTrick\\Newsletter\\Access::writeAccessCollections', 600);
    // needs to be after groups
    elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\Newsletter\\Menus::pageRegister');
    elgg_register_plugin_hook_handler('register', 'menu:newsletter_steps', '\\ColdTrick\\Newsletter\\Menus::newsletterSteps');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\Newsletter\\Menus::entityRegister');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', '\\ColdTrick\\Newsletter\\Menus::ownerBlockRegister');
    elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\Newsletter\\Menus::filterRegister');
    elgg_register_plugin_hook_handler('register', 'menu:newsletter_buttons', '\\ColdTrick\\Newsletter\\Menus::newsletterButtonsRegister');
    elgg_register_plugin_hook_handler('register', 'menu:longtext', '\\ColdTrick\\Newsletter\\Menus::longtextRegister');
    elgg_register_plugin_hook_handler('usersettings:save', 'user', '\\ColdTrick\\Newsletter\\User::convertEmailSubscriptionToUserSetting');
    elgg_register_plugin_hook_handler('register', 'user', '\\ColdTrick\\Newsletter\\User::subscribeToSiteNewsletter');
    elgg_register_plugin_hook_handler('widget_url', 'widget_manager', '\\ColdTrick\\Newsletter\\Widgets::widgetURL');
    elgg_register_plugin_hook_handler('notification_type_subtype', 'tag_tools', '\\ColdTrick\\Newsletter\\TagTools::notificationTypeSubtype');
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:' . \Newsletter::SUBTYPE, '\\Elgg\\Values::getTrue');
    // extend public pages
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '\\ColdTrick\\Newsletter\\Site::publicPages');
    // register event handlers
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Newsletter\\Upgrade::urlPostfix');
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\Newsletter\\Site::join');
    // register actions
    elgg_register_action('newsletter/edit', dirname(__FILE__) . '/actions/edit.php');
    elgg_register_action('newsletter/edit/schedule', dirname(__FILE__) . '/actions/edit/schedule.php');
    elgg_register_action('newsletter/edit/content', dirname(__FILE__) . '/actions/edit/content.php');
    elgg_register_action('newsletter/edit/template', dirname(__FILE__) . '/actions/edit/template.php');
    elgg_register_action('newsletter/edit/template_to_custom', dirname(__FILE__) . '/actions/edit/template_to_custom.php');
    elgg_register_action('newsletter/edit/recipients', dirname(__FILE__) . '/actions/edit/recipients.php');
    elgg_register_action('newsletter/delete', dirname(__FILE__) . '/actions/delete.php');
    elgg_register_action('newsletter/send', dirname(__FILE__) . '/actions/send.php');
    elgg_register_action('newsletter/subscribe', dirname(__FILE__) . '/actions/subscribe.php', 'public');
    elgg_register_action('newsletter/unsubscribe', dirname(__FILE__) . '/actions/unsubscribe.php', 'public');
    elgg_register_action('newsletter/subscriptions', dirname(__FILE__) . '/actions/subscriptions.php');
    elgg_register_action('newsletter/duplicate', dirname(__FILE__) . '/actions/duplicate.php');
    elgg_register_action('newsletter/preview_mail', dirname(__FILE__) . '/actions/preview_mail.php');
    elgg_register_action('newsletter/template/edit', dirname(__FILE__) . '/actions/template/edit.php');
    elgg_register_action('newsletter/template/delete', dirname(__FILE__) . '/actions/template/delete.php');
}
예제 #22
0
파일: start.php 프로젝트: thehereward/Elgg
/**
 * Initialize the pages plugin.
 *
 */
function pages_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:pages', __DIR__ . '/lib/pages.php');
    $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('pages', 'pages_page_handler');
    // Register a url handler
    elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url');
    elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url');
    elgg_register_plugin_hook_handler('extender:url', 'annotation', 'pages_set_revision_url');
    // Register some actions
    $action_base = __DIR__ . '/actions';
    elgg_register_action("pages/edit", "{$action_base}/pages/edit.php");
    elgg_register_action("pages/delete", "{$action_base}/pages/delete.php");
    elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php");
    // Extend the main css view
    elgg_extend_view('elgg.css', 'pages/css');
    elgg_define_js('jquery.treeview', array('src' => '/mod/pages/vendors/jquery-treeview/jquery.treeview.min.js', 'exports' => 'jQuery.fn.treeview', 'deps' => array('jquery')));
    $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css';
    elgg_register_css('jquery.treeview', $css_url);
    // Register entity type for search
    elgg_register_entity_type('object', 'page');
    elgg_register_entity_type('object', 'page_top');
    // Register for notifications
    elgg_register_notification_event('object', 'page');
    elgg_register_notification_event('object', 'page_top');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page', 'pages_prepare_notification');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page_top', 'pages_prepare_notification');
    // add to groups
    add_group_tool_option('pages', elgg_echo('groups:enablepages'), true);
    elgg_extend_view('groups/tool_latest', 'pages/group_module');
    //add a widget
    elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'));
    // Language short codes must be of the form "pages:key"
    // where key is the array key below
    elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check');
    elgg_register_plugin_hook_handler('access:collections:write', 'user', 'pages_write_access_options_hook');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup');
    // register ecml views to parse
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');
    // allow to be liked
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:page', 'Elgg\\Values::getTrue');
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:page_top', 'Elgg\\Values::getTrue');
    // prevent public write access
    elgg_register_plugin_hook_handler('view_vars', 'input/access', 'pages_write_access_vars');
}
예제 #23
0
/**
 * Initialize the pages plugin.
 *
 */
function pages_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:pages', elgg_get_plugins_path() . 'pages/lib/pages.php');
    $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('pages', 'pages_page_handler');
    // Register a url handler
    elgg_register_entity_url_handler('object', 'page_top', 'pages_url');
    elgg_register_entity_url_handler('object', 'page', 'pages_url');
    elgg_register_annotation_url_handler('page', 'pages_revision_url');
    // Register some actions
    $action_base = elgg_get_plugins_path() . 'pages/actions';
    elgg_register_action("pages/edit", "{$action_base}/pages/edit.php");
    elgg_register_action("pages/delete", "{$action_base}/pages/delete.php");
    elgg_register_action("pages/checkout", "{$action_base}/pages/checkout.php");
    elgg_register_action("pages/checkin", "{$action_base}/pages/checkin.php");
    elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php");
    // Extend the main css view
    elgg_extend_view('css/elgg', 'pages/css');
    // Register javascript needed for sidebar menu
    $js_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.min.js';
    elgg_register_js('jquery-treeview', $js_url);
    $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css';
    elgg_register_css('jquery-treeview', $css_url);
    // Register entity type for search
    elgg_register_entity_type('object', 'page');
    elgg_register_entity_type('object', 'page_top');
    // Register granular notification for this type
    //register_notification_object('object', 'page', elgg_echo('pages:new'));
    //register_notification_object('object', 'page_top', elgg_echo('pages:new'));
    //elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'page_notify_message');
    // add to groups
    add_group_tool_option('pages', elgg_echo('groups:enablepages'), true);
    elgg_extend_view('groups/tool_latest', 'pages/group_module');
    //add a widget
    elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'));
    // Language short codes must be of the form "pages:key"
    // where key is the array key below
    elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup');
    // hook into annotation menu
    //elgg_register_plugin_hook_handler('register', 'menu:annotation', 'pages_annotation_menu_setup');
    // register ecml views to parse
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');
    elgg_register_event_handler('upgrade', 'system', 'pages_run_upgrades');
}
예제 #24
0
/**
 * Initialize the projects plugin.
 *
 */
function projects_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:projects', elgg_get_plugins_path() . 'projects/lib/projects.php');
    elgg_load_library('elgg:projects');
    //register css
    $css_url = 'mod/projects/css/styles.css';
    elgg_register_css('projectsCss', $css_url);
    elgg_load_css('projectsCss');
    // register an elgg menu item
    $item = new ElggMenuItem('projects', elgg_echo('projects'), 'projects/all');
    //elgg_register_menu_item('site', $item);
    // register a project handler, so we can have nice URLs
    elgg_register_page_handler('projects', 'projects_page_handler');
    // register a url handler
    elgg_register_entity_url_handler('object', 'project_top', 'projects_url');
    elgg_register_entity_url_handler('object', 'project', 'projects_url');
    elgg_register_annotation_url_handler('project', 'projects_revision_url');
    // register entity type for search
    elgg_register_entity_type('object', 'project');
    elgg_register_entity_type('object', 'project_top');
    // register some actions
    $action_base = elgg_get_plugins_path() . 'projects/actions/projects';
    $requests_action_base = elgg_get_plugins_path() . 'projects/actions/requests';
    elgg_register_action("projects/edit", "{$action_base}/edit.php");
    elgg_register_action("projects/editwelcome", "{$action_base}/editwelcome.php");
    elgg_register_action("projects/delete", "{$action_base}/delete.php");
    elgg_register_action("requests/add", "{$requests_action_base}/add.php");
    elgg_register_action("requests/edit", "{$requests_action_base}/edit.php");
    elgg_register_action("projects/helperFuncs", elgg_get_plugins_path() . 'lib/projects.php');
    //elgg_register_action("projects/search", elgg_get_plugins_path() ."projects/pages/projects/search.php");
    // register granular notification for this type
    register_notification_object('object', 'project', elgg_echo('projects:new'));
    register_notification_object('object', 'project_top', elgg_echo('projects:new'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'project_notify_message');
    // add to groups
    add_group_tool_option('projects', elgg_echo('groups:enableprojects'), true);
    elgg_extend_view('groups/tool_latest', 'projects/group_module');
    // Language short codes must be of the form "projects:key"
    // where key is the array key below
    elgg_set_config('projects', array('title' => 'text', 'description' => 'longtext', 'project_type' => 'dr_down', 'cost' => 'text', 'organization' => 'text', 'funding' => 'text', 'status' => 'dr_down', 'start_date' => 'date', 'end_date' => 'date', 'assigned_to[]' => 'assign_to', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'write_access', 'upload' => 'file'));
    // register the hook handler
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'projects_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'projects_container_permission_check');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'projects_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'projects_entity_menu_setup');
    // Access permissions
    //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook');
    //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook');
}
예제 #25
0
function publication_init()
{
    // extend javascript
    elgg_extend_view('js/elgg', 'js/publications/site');
    elgg_extend_view('css/elgg', 'css/publications/site');
    // ajax views
    elgg_register_ajax_view('publications/publication/custom_fields');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('publications', 'publication_page_handler');
    // Add a new widget
    elgg_register_widget_type('publications', elgg_echo('publications:widget'), elgg_echo('publications:widget:description'));
    // Register granular notification for this type
    elgg_register_notification_event('object', Publication::SUBTYPE, ['create']);
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Publication::SUBTYPE, ['\\ColdTrick\\Publications\\Notifications', 'createPublication']);
    // Register entity type for search
    elgg_register_entity_type('object', Publication::SUBTYPE);
    // add group option
    add_group_tool_option('publication', elgg_echo('publication:enablepublication'), true);
    // register plugin hooks
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'publication_register_menu_owner_block');
    elgg_register_plugin_hook_handler('register', 'menu:title', 'publication_register_menu_title');
    // 	elgg_register_plugin_hook_handler('action','register','publication_custom_register');
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'publication_write_permission_check');
    // custom publication types
    elgg_register_plugin_hook_handler('register:types', 'publications', ['\\ColdTrick\\Publications\\Types', 'registerTypeBibTex']);
    elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthors']);
    elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthorsEditors']);
    elgg_register_plugin_hook_handler('input_validation:article', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputArticle']);
    elgg_register_plugin_hook_handler('input_validation:book', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputBook']);
    elgg_register_plugin_hook_handler('input_validation:inbook', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInBook']);
    elgg_register_plugin_hook_handler('input_validation:incollection', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInCollection']);
    elgg_register_plugin_hook_handler('input_validation:inproceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInProceedings']);
    elgg_register_plugin_hook_handler('input_validation:mastersthesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputMastersThesis']);
    elgg_register_plugin_hook_handler('input_validation:phdhesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputPhdThesis']);
    elgg_register_plugin_hook_handler('input_validation:proceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputProceedings']);
    elgg_register_plugin_hook_handler('input_validation:techreport', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputTechreport']);
    elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveeAuthors']);
    elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveBookEditors']);
    // register event handlers
    elgg_register_event_handler('login', 'user', 'publication_login_check');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::setClassHandler');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleBook');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleJournal');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::abstractToDescription');
    // Make sure the publication initialisation function is called on initialisation
    elgg_register_event_handler('pagesetup', 'system', 'publication_pagesetup');
    elgg_register_event_handler('create', 'user', 'publication_create_user');
    // Register actions
    elgg_register_action('publications/edit', dirname(__FILE__) . '/actions/edit.php');
    elgg_register_action('publications/delete', dirname(__FILE__) . '/actions/delete.php');
    // 	elgg_register_action('publications/invite', dirname(__FILE__) . '/actions/invite.php');
    elgg_register_action('publications/import', dirname(__FILE__) . '/actions/import.php');
    elgg_register_action('publications/export', dirname(__FILE__) . '/actions/export.php');
}
예제 #26
0
파일: start.php 프로젝트: lorea/Hydra-dev
/**
 * Called during system initialization
 *
 * @return void
 */
function file_tools_init()
{
    // extend CSS
    elgg_extend_view("css/elgg", "css/file_tools/site");
    $vendors = elgg_get_site_url() . "mod/file_tools/vendors/";
    // register JS libraries
    elgg_define_js('jquery.uploadify', array('src' => '/mod/file_tools/vendors/uploadify/jquery.uploadify-3.1.min.js', 'deps' => array('jquery')));
    elgg_register_simplecache_view("css/uploadify/uploadify");
    elgg_register_css("jquery.uploadify", elgg_get_simplecache_url("css", "uploadify/uploadify"));
    elgg_register_css("jquery.tree", $vendors . "jstree/dist/themes/default/style.css");
    elgg_define_js('jquery.tree', array('src' => $vendors . 'jstree/dist/jstree.min.js', 'deps' => array('jquery')));
    elgg_define_js('jquery.hashchange', array('src' => '/mod/file_tools/vendors/hashchange/jquery.hashchange.js', 'exports' => 'jQuery.fn.hashchange', 'deps' => array('jquery')));
    // Make settings file loadable through AMD
    elgg_register_simplecache_view('js/file_tools/settings.js');
    // extend views
    elgg_extend_view("groups/edit", "file_tools/group_settings");
    // register page handler for nice URL's
    elgg_register_page_handler("file_tools", "file_tools_page_handler");
    // make our own URLs for folder icons
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "file_tools_folder_icon_hook");
    // register group option to allow management of file tree structure
    add_group_tool_option("file_tools_structure_management", elgg_echo("file_tools:group_tool_option:structure_management"));
    // register widgets
    // add folder widget
    // need to keep file_tree for the widget name to be compatible with previous filetree plugin users
    elgg_register_widget_type("file_tree", elgg_echo("widgets:file_tree:title"), elgg_echo("widgets:file_tree:description"), array("dashboard", "profile", "groups"), true);
    // group files
    elgg_register_widget_type("group_files", elgg_echo("file:group"), elgg_echo("widgets:group_files:description"), array("groups"));
    // index files
    elgg_register_widget_type("index_file", elgg_echo("file"), elgg_echo("widgets:index_file:description"), array("index"), true);
    // register events
    elgg_register_event_handler("create", "object", "file_tools_object_handler");
    elgg_register_event_handler("update", "object", "file_tools_object_handler");
    elgg_register_event_handler("delete", "object", "file_tools_object_handler_delete");
    // register hooks
    elgg_register_plugin_hook_handler("register", "menu:entity", "file_tools_entity_menu_hook");
    elgg_register_plugin_hook_handler("permissions_check:metadata", "object", "file_tools_can_edit_metadata_hook");
    // 	elgg_register_plugin_hook_handler("access:collections:write", "all", "file_tools_write_acl_plugin_hook", 550);
    elgg_register_plugin_hook_handler("route", "file", "file_tools_file_route_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "file_tools_widget_url_hook");
    elgg_register_plugin_hook_handler("entity:url", "object", "file_tools_folder_url_handler");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_breadcrumb", "file_tools_folder_breadcrumb_hook");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_sidebar_tree", "file_tools_folder_sidebar_tree_hook");
    // register actions
    elgg_register_action("file_tools/groups/save_sort", dirname(__FILE__) . "/actions/groups/save_sort.php");
    elgg_register_action("file_tools/folder/edit", dirname(__FILE__) . "/actions/folder/edit.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/folder/reorder", dirname(__FILE__) . "/actions/folder/reorder.php");
    elgg_register_action("file_tools/upload/zip", dirname(__FILE__) . "/actions/upload/zip.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/file/hide", dirname(__FILE__) . "/actions/file/hide.php");
    elgg_register_action("file/move", dirname(__FILE__) . "/actions/file/move.php");
    elgg_register_action("file/bulk_delete", dirname(__FILE__) . "/actions/file/bulk_delete.php");
}
예제 #27
0
function grouppoints_widget_init()
{
    // uncommenting the following line would list the top users in the sidebar of groups
    //elgg_extend_view('groups/sidebar/members', 'userpoints_group_widget/sidebar');
    // Add group option
    add_group_tool_option('grouppoints_widget', elgg_echo('grouppoints_widget:enable_grouppoints_widget'), true);
    elgg_extend_view('groups/tool_latest', 'grouppoints_widget/group_module');
    if (elgg_is_active_plugin('widget_manager')) {
        //add groups widget
        elgg_register_widget_type('grouppoints_widget', elgg_echo("grouppoints_widget:top_group_members"), elgg_echo('grouppoints_widget:top_group_members'), array("groups"));
    }
}
예제 #28
0
function videolist_init()
{
    elgg_register_library('elgg:videolist', elgg_get_plugins_path() . 'videolist/lib/videolist.php');
    if (!class_exists('Videolist_PlatformInterface')) {
        // ./classes autoloading failed (pre 1.9)
        spl_autoload_register('videolist_load_class');
    }
    // add a site navigation item
    $item = new ElggMenuItem('videolist', elgg_echo('videolist'), 'videolist/all');
    elgg_register_menu_item('site', $item);
    // Extend system CSS with our own styles
    elgg_extend_view('css/elgg', 'videolist/css');
    // register the js
    $js = elgg_get_simplecache_url('js', 'videolist/videolist');
    elgg_register_simplecache_view('js/videolist/videolist');
    elgg_register_js('elgg.videolist', $js);
    $js = elgg_get_simplecache_url('js', 'videolist/json2');
    elgg_register_simplecache_view('js/videolist/json2');
    elgg_register_js('elgg.videolist.json2', $js);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('videolist', 'videolist_page_handler');
    // Language short codes must be of the form "videolist:key"
    // where key is the array key below
    elgg_set_config('videolist', array('video_url' => 'url', 'title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'access_id' => 'access'));
    elgg_set_config('videolist_dimensions', array('width' => 600, 'height' => 400));
    // add to groups
    add_group_tool_option('videolist', elgg_echo('groups:enablevideolist'), true);
    elgg_extend_view('groups/tool_latest', 'videolist/group_module');
    //add a widget
    elgg_register_widget_type('videolist', elgg_echo('videolist'), elgg_echo('videolist:widget:description'));
    // Register granular notification for this type
    register_notification_object('object', 'videolist_item', elgg_echo('videolist:notification:subject'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videolist_notify_message');
    // Register entity type for search
    elgg_register_entity_type('object', 'videolist_item');
    // add a file link to owner blocks
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videolist_owner_block_menu');
    //register entity url handler
    elgg_register_entity_url_handler('object', 'videolist_item', 'videolist_url');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'videolist_icon_url_override');
    // register for embed
    elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'videolist_embed_get_sections');
    elgg_register_plugin_hook_handler('embed_get_items', 'videolist', 'videolist_embed_get_items');
    // handle URLs without scheme
    elgg_register_plugin_hook_handler('videolist:preprocess', 'url', 'videolist_preprocess_url');
    // Register actions
    $actions_path = elgg_get_plugins_path() . "videolist/actions/videolist";
    elgg_register_action("videolist/add", "{$actions_path}/add.php");
    elgg_register_action("videolist/edit", "{$actions_path}/edit.php");
    elgg_register_action("videolist/delete", "{$actions_path}/delete.php");
    elgg_register_action("videolist/get_metadata_from_url", "{$actions_path}/get_metadata_from_url.php");
    elgg_register_event_handler('upgrade', 'system', 'videolist_run_upgrades');
}
예제 #29
0
파일: start.php 프로젝트: lorea/Hydra-dev
function au_subgroups_init()
{
    // add in our own css
    elgg_extend_view('css/elgg', 'au_subgroups/css');
    elgg_extend_view('forms/groups/edit', 'forms/au_subgroups/edit');
    elgg_extend_view('navigation/breadcrumbs', 'au_subgroups/breadcrumb_override', 1);
    elgg_extend_view('group/elements/summary', 'au_subgroups/group/elements/summary');
    elgg_extend_view('groups/tool_latest', 'au_subgroups/group_module');
    elgg_extend_view('groups/sidebar/members', 'au_subgroups/sidebar/subgroups');
    elgg_extend_view('groups/edit', 'au_subgroups/group/transfer');
    elgg_extend_view('groups/profile/fields', 'au_subgroups/groups/profile/fields');
    // register the edit page's JavaScript
    $js = elgg_get_simplecache_url('js', 'au_subgroups/edit_js');
    elgg_register_js('au_subgroups_edit.js', $js);
    elgg_register_simplecache_view('js/au_subgroups/edit_js');
    // after group creation or editing we need to check the permissions
    elgg_register_event_handler('update', 'group', 'au_subgroups_group_visibility');
    elgg_register_event_handler('create', 'member', 'au_subgroups_join_group', 0);
    elgg_register_event_handler('leave', 'group', 'au_subgroups_leave_group');
    // break up the create/update events to be more manageable
    elgg_register_event_handler('create', 'group', 'au_subgroups_add_parent', 1000);
    elgg_register_event_handler('create', 'group', 'au_subgroups_clone_layout_on_create', 1000);
    elgg_register_event_handler('create', 'group', 'au_subgroups_group_visibility', 1000);
    elgg_register_event_handler('pagesetup', 'system', 'au_subgroups_pagesetup');
    // replace the existing groups library so we can push some display options
    elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'au_subgroups/lib/groups.php');
    add_group_tool_option('subgroups', elgg_echo('au_subgroups:group:enable'));
    add_group_tool_option('subgroups_members_create', elgg_echo('au_subgroups:group:memberspermissions'));
    // route some urls that go through 'groups' handler
    elgg_register_plugin_hook_handler('route', 'groups', 'au_subgroups_groups_router', 499);
    // make sure river entries have the correct access
    elgg_register_plugin_hook_handler('creating', 'river', 'au_subgroups_river_permissions');
    // admins of the parent group can edit the sub-group
    elgg_register_plugin_hook_handler('permissions_check', 'group', 'au_subgroups_group_canedit');
    // sort out what happens when a parent group is deleted
    elgg_register_plugin_hook_handler('action', 'groups/delete', 'au_subgroups_delete_group');
    // prevent users from being invited into a subgroup they can't join
    elgg_register_plugin_hook_handler('action', 'groups/invite', 'au_subgroups_group_invite');
    // remove 'join' and 'request membership' title links on subgroups for people not members of the parent
    elgg_register_plugin_hook_handler('register', 'menu:title', 'au_subgroups_titlemenu');
    // register our widget
    elgg_register_widget_type('au_subgroups', elgg_echo('au_subgroups'), elgg_echo('au_subgroups:widget:description'), 'groups');
    //elgg_register_plugin_hook_handler("register", "menu:entity", "group_member_entity_menu_handler");
    elgg_register_ajax_view('au_subgroups/search_results');
    // group entity menu
    //elgg_register_plugin_hook_handler('register', 'menu:entity', 'subgroups_entity_menu_setup');
    // actions
    elgg_register_action('au_subgroups/move', dirname(__FILE__) . '/actions/move.php');
    // fix some problems
    if (elgg_is_admin_logged_in()) {
        run_function_once('au_subgroups_bugfix_20121024a');
    }
}
예제 #30
0
파일: start.php 프로젝트: eokyere/elgg
function groups_from_members_init()
{
    global $CONFIG;
    add_group_tool_option('members_invite', elgg_echo('groupsfrommembers:members-invite'), false);
    if (get_plugin_setting('maxusers') == 0) {
        set_plugin_setting('maxusers', 20);
    }
    register_plugin_hook('permissions_check', 'group', 'groups_from_members_member_can_invite');
    register_elgg_event_handler('pagesetup', 'system', 'groups_from_members_submenus');
    register_plugin_hook('action', 'groups/invite', 'groups_from_members_member_invited_action');
    register_action('groupsfrommembers/search', false, $CONFIG->pluginspath . 'groupsfrommembers/actions/search.php');
}