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); }
/** * 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); } }
/** * 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'); }
/** * 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'); }
/** * 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'; }
/** * Bookmark init */ function bookmarks_init() { $root = dirname(__FILE__); elgg_register_library('elgg:bookmarks', "{$root}/lib/bookmarks.php"); // actions $action_path = "{$root}/actions/bookmarks"; elgg_register_action('bookmarks/save', "{$action_path}/save.php"); elgg_register_action('bookmarks/delete', "{$action_path}/delete.php"); elgg_register_action('bookmarks/share', "{$action_path}/share.php"); // menus elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => 'bookmarks/all')); elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu'); elgg_register_page_handler('bookmarks', 'bookmarks_page_handler'); elgg_extend_view('elgg.css', 'bookmarks/css'); elgg_extend_view('elgg.js', 'bookmarks/js'); elgg_register_widget_type('bookmarks', elgg_echo('bookmarks'), elgg_echo('bookmarks:widget:description')); if (elgg_is_logged_in()) { $user_guid = elgg_get_logged_in_user_guid(); $address = urlencode(current_page_url()); elgg_register_menu_item('extras', array('name' => 'bookmark', 'text' => elgg_view_icon('push-pin-alt'), 'href' => "bookmarks/add/{$user_guid}?address={$address}", 'title' => elgg_echo('bookmarks:this'), 'rel' => 'nofollow')); } // Register for notifications elgg_register_notification_event('object', 'bookmarks', array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:bookmarks', 'bookmarks_prepare_notification'); // Register bookmarks view for ecml parsing elgg_register_plugin_hook_handler('get_views', 'ecml', 'bookmarks_ecml_views_hook'); // Register a URL handler for bookmarks elgg_register_plugin_hook_handler('entity:url', 'object', 'bookmark_set_url'); // Register entity type for search elgg_register_entity_type('object', 'bookmarks'); // Groups add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true); elgg_extend_view('groups/tool_latest', 'bookmarks/group_module'); }
function 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"); }
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); }
/** * 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 }
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'); }
/** * Init blog plugin. */ function blog_init() { elgg_register_library('elgg:blog', __DIR__ . '/lib/blog.php'); // add a site navigation item elgg_register_menu_item('site', ['name' => 'blog', 'text' => elgg_echo('blog:blogs'), 'href' => 'blog/all']); // add to the main css elgg_extend_view('elgg.css', 'blog/css'); // routing of urls elgg_register_page_handler('blog', 'blog_page_handler'); // override the default url to view a blog object elgg_register_plugin_hook_handler('entity:url', 'object', 'blog_set_url'); // notifications elgg_register_notification_event('object', 'blog', array('publish')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:blog', 'blog_prepare_notification'); // add blog link to owner block elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu'); // Register for search. elgg_register_entity_type('object', 'blog'); // Add group option add_group_tool_option('blog', elgg_echo('blog:enableblog'), true); elgg_extend_view('groups/tool_latest', 'blog/group_module'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup'); // archive menu elgg_register_plugin_hook_handler('register', 'menu:blog_archive', 'blog_archive_menu_setup'); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook'); // allow to be liked elgg_register_plugin_hook_handler('likes:is_likable', 'object:blog', 'Elgg\\Values::getTrue'); }
function 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); } }
/** * 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'); }
function simplekaltura_init() { $plugin_root = dirname(__FILE__); elgg_register_library('simplekaltura', "{$plugin_root}/lib/simplekaltura_lib.php"); elgg_register_library('KalturaClient', "{$plugin_root}/vendors/kaltura_client/KalturaClient.php"); elgg_load_library('simplekaltura'); // helper libs $libs = array('swfobject', 'html5', 'utility', 'thumbs'); foreach ($libs as $lib) { $url = elgg_get_simplecache_url('js', "simplekaltura/{$lib}"); elgg_register_js("simplekaltura:{$lib}", $url); } // Register SKUploader elgg_register_external_view('js/simplekaltura/SKUploader.js', TRUE); // Include html5 js library elgg_load_js('simplekaltura:html5'); elgg_load_js('simplekaltura:utility'); elgg_extend_view('css/elgg', 'simplekaltura/css'); // If plugin is properly configured if (simplekaltura_is_configured()) { // Add to main menu $item = new ElggMenuItem('simplekaltura', elgg_get_plugin_setting('kaltura_entity_title', 'simplekaltura'), 'videos'); elgg_register_menu_item('site', $item); // Register page handler elgg_register_page_handler('videos', 'simplekaltura_page_handler'); } else { elgg_add_admin_notice('simpkaltura_not_configured', elgg_echo('simplekaltura:error:pluginnotconfigured')); } // add the group pages tool option add_group_tool_option('simplekaltura', elgg_echo('groups:enablesimplekaltura'), TRUE); // Profile block hook elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'simplekaltura_owner_block_menu'); // Modify entity menu for addional video items elgg_register_plugin_hook_handler('register', 'menu:entity', 'simplekaltura_setup_entity_menu'); // notifications elgg_register_notification_event('object', 'simplekaltura_video', array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:simplekaltura_video', 'simplekaltura_prepare_notification'); // actions $actions_root = "{$plugin_root}/actions/simplekaltura"; elgg_register_action('simplekaltura/save', "{$actions_root}/save.php"); elgg_register_action('simplekaltura/update', "{$actions_root}/update.php"); elgg_register_action('simplekaltura/get_embed', "{$actions_root}/get_embed.php"); elgg_register_action('simplekaltura/featured', "{$actions_root}/featured.php", 'admin'); elgg_register_action('videos/delete', "{$actions_root}/delete.php"); elgg_register_action('simplekaltura/migrate', "{$actions_root}/migrate.php", 'admin'); // entity url and icon handlers elgg_register_plugin_hook_handler('entity:url', 'object', 'simplekaltura_url_handler'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simplekaltura_icon_url_override'); // Register type elgg_register_entity_type('object', 'simplekaltura_video'); // register CRON hook to poll video plays/duration/etc.. elgg_register_plugin_hook_handler('cron', 'fifteenmin', 'simplekaltura_bulk_update'); // Most Played Sidebar elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/featured'); elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/most_played'); // Whitelist ajax views elgg_register_ajax_view('simplekaltura/popup'); return TRUE; }
function polls_init() { elgg_register_library('elgg:polls', elgg_get_plugins_path() . 'polls/models/model.php'); // Set up menu for logged in users if (elgg_is_logged_in()) { $item = new ElggMenuItem('polls', elgg_echo('polls'), 'polls/owner/' . elgg_get_logged_in_user_entity()->username); } else { $item = new ElggMenuItem('polls', elgg_echo('poll'), 'polls/all'); } elgg_register_menu_item('site', $item); // Extend system CSS with our own styles, which are defined in the polls/css view elgg_extend_view('css/elgg', 'polls/css'); // Extend hover-over menu elgg_extend_view('profile/menu/links', 'polls/menu'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('polls', 'polls_page_handler'); // Register a URL handler for poll posts elgg_register_entity_url_handler('object', 'poll', 'polls_url'); // notifications $elgg_version = explode('.', get_version(true)); if ($elgg_version[1] > 8) { $send_notification = elgg_get_plugin_setting('send_notification', 'polls'); if (!$send_notification || $send_notification != 'no') { elgg_register_notification_event('object', 'poll'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:poll', 'polls_prepare_notification'); } } // add link to owner block elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'polls_owner_block_menu'); elgg_register_plugin_hook_handler('widget_url', 'widget_manager', 'polls_widget_url_handler'); // Register entity type elgg_register_entity_type('object', 'poll'); // register the JavaScript $js = elgg_get_simplecache_url('js', 'polls/js'); elgg_register_simplecache_view('js/polls/js'); elgg_register_js('elgg.polls', $js); // add group widget $group_polls = elgg_get_plugin_setting('group_polls', 'polls'); if (!$group_polls || $group_polls != 'no') { elgg_extend_view('groups/tool_latest', 'polls/group_module'); } if (!$group_polls || $group_polls == 'yes_default') { add_group_tool_option('polls', elgg_echo('polls:enable_polls'), TRUE); } else { if ($group_polls == 'yes_not_default') { add_group_tool_option('polls', elgg_echo('polls:enable_polls'), FALSE); } } //add widgets elgg_register_widget_type('poll', elgg_echo('polls:my_widget_title'), elgg_echo('polls:my_widget_description'), "profile,groups"); elgg_register_widget_type('latestPolls', elgg_echo('polls:latest_widget_title'), elgg_echo('polls:latest_widget_description'), "index,profile,dashboard,groups"); elgg_register_widget_type('poll_individual', elgg_echo('polls:individual'), elgg_echo('poll_individual_group:widget:description'), "index,profile,dashboard,groups"); // Register actions $action_path = elgg_get_plugins_path() . 'polls/actions/polls'; elgg_register_action("polls/add", "{$action_path}/add.php"); elgg_register_action("polls/edit", "{$action_path}/edit.php"); elgg_register_action("polls/delete", "{$action_path}/delete.php"); elgg_register_action("polls/vote", "{$action_path}/vote.php"); }
function 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); }
/** * 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'); }
/** * 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"); }
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"); }
/** * 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"); }
/** * 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'); }
/** * Initialize the pages plugin. * */ function pages_init() { // register a library of helper functions elgg_register_library('elgg:pages', __DIR__ . '/lib/pages.php'); $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('pages', 'pages_page_handler'); // Register a url handler elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url'); elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url'); elgg_register_plugin_hook_handler('extender:url', 'annotation', 'pages_set_revision_url'); // Register some actions $action_base = __DIR__ . '/actions'; elgg_register_action("pages/edit", "{$action_base}/pages/edit.php"); elgg_register_action("pages/delete", "{$action_base}/pages/delete.php"); elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php"); // Extend the main css view elgg_extend_view('elgg.css', 'pages/css'); elgg_define_js('jquery.treeview', array('src' => '/mod/pages/vendors/jquery-treeview/jquery.treeview.min.js', 'exports' => 'jQuery.fn.treeview', 'deps' => array('jquery'))); $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css'; elgg_register_css('jquery.treeview', $css_url); // Register entity type for search elgg_register_entity_type('object', 'page'); elgg_register_entity_type('object', 'page_top'); // Register for notifications elgg_register_notification_event('object', 'page'); elgg_register_notification_event('object', 'page_top'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page', 'pages_prepare_notification'); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page_top', 'pages_prepare_notification'); // add to groups add_group_tool_option('pages', elgg_echo('groups:enablepages'), true); elgg_extend_view('groups/tool_latest', 'pages/group_module'); //add a widget elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description')); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check'); elgg_register_plugin_hook_handler('access:collections:write', 'user', 'pages_write_access_options_hook'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup'); // register ecml views to parse elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook'); // allow to be liked elgg_register_plugin_hook_handler('likes:is_likable', 'object:page', 'Elgg\\Values::getTrue'); elgg_register_plugin_hook_handler('likes:is_likable', 'object:page_top', 'Elgg\\Values::getTrue'); // prevent public write access elgg_register_plugin_hook_handler('view_vars', 'input/access', 'pages_write_access_vars'); }
/** * Initialize the pages plugin. * */ function pages_init() { // register a library of helper functions elgg_register_library('elgg:pages', elgg_get_plugins_path() . 'pages/lib/pages.php'); $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('pages', 'pages_page_handler'); // Register a url handler elgg_register_entity_url_handler('object', 'page_top', 'pages_url'); elgg_register_entity_url_handler('object', 'page', 'pages_url'); elgg_register_annotation_url_handler('page', 'pages_revision_url'); // Register some actions $action_base = elgg_get_plugins_path() . 'pages/actions'; elgg_register_action("pages/edit", "{$action_base}/pages/edit.php"); elgg_register_action("pages/delete", "{$action_base}/pages/delete.php"); elgg_register_action("pages/checkout", "{$action_base}/pages/checkout.php"); elgg_register_action("pages/checkin", "{$action_base}/pages/checkin.php"); elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php"); // Extend the main css view elgg_extend_view('css/elgg', 'pages/css'); // Register javascript needed for sidebar menu $js_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.min.js'; elgg_register_js('jquery-treeview', $js_url); $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css'; elgg_register_css('jquery-treeview', $css_url); // Register entity type for search elgg_register_entity_type('object', 'page'); elgg_register_entity_type('object', 'page_top'); // Register granular notification for this type //register_notification_object('object', 'page', elgg_echo('pages:new')); //register_notification_object('object', 'page_top', elgg_echo('pages:new')); //elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'page_notify_message'); // add to groups add_group_tool_option('pages', elgg_echo('groups:enablepages'), true); elgg_extend_view('groups/tool_latest', 'pages/group_module'); //add a widget elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description')); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup'); // hook into annotation menu //elgg_register_plugin_hook_handler('register', 'menu:annotation', 'pages_annotation_menu_setup'); // register ecml views to parse elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook'); elgg_register_event_handler('upgrade', 'system', 'pages_run_upgrades'); }
/** * Initialize the projects plugin. * */ function projects_init() { // register a library of helper functions elgg_register_library('elgg:projects', elgg_get_plugins_path() . 'projects/lib/projects.php'); elgg_load_library('elgg:projects'); //register css $css_url = 'mod/projects/css/styles.css'; elgg_register_css('projectsCss', $css_url); elgg_load_css('projectsCss'); // register an elgg menu item $item = new ElggMenuItem('projects', elgg_echo('projects'), 'projects/all'); //elgg_register_menu_item('site', $item); // register a project handler, so we can have nice URLs elgg_register_page_handler('projects', 'projects_page_handler'); // register a url handler elgg_register_entity_url_handler('object', 'project_top', 'projects_url'); elgg_register_entity_url_handler('object', 'project', 'projects_url'); elgg_register_annotation_url_handler('project', 'projects_revision_url'); // register entity type for search elgg_register_entity_type('object', 'project'); elgg_register_entity_type('object', 'project_top'); // register some actions $action_base = elgg_get_plugins_path() . 'projects/actions/projects'; $requests_action_base = elgg_get_plugins_path() . 'projects/actions/requests'; elgg_register_action("projects/edit", "{$action_base}/edit.php"); elgg_register_action("projects/editwelcome", "{$action_base}/editwelcome.php"); elgg_register_action("projects/delete", "{$action_base}/delete.php"); elgg_register_action("requests/add", "{$requests_action_base}/add.php"); elgg_register_action("requests/edit", "{$requests_action_base}/edit.php"); elgg_register_action("projects/helperFuncs", elgg_get_plugins_path() . 'lib/projects.php'); //elgg_register_action("projects/search", elgg_get_plugins_path() ."projects/pages/projects/search.php"); // register granular notification for this type register_notification_object('object', 'project', elgg_echo('projects:new')); register_notification_object('object', 'project_top', elgg_echo('projects:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'project_notify_message'); // add to groups add_group_tool_option('projects', elgg_echo('groups:enableprojects'), true); elgg_extend_view('groups/tool_latest', 'projects/group_module'); // Language short codes must be of the form "projects:key" // where key is the array key below elgg_set_config('projects', array('title' => 'text', 'description' => 'longtext', 'project_type' => 'dr_down', 'cost' => 'text', 'organization' => 'text', 'funding' => 'text', 'status' => 'dr_down', 'start_date' => 'date', 'end_date' => 'date', 'assigned_to[]' => 'assign_to', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'write_access', 'upload' => 'file')); // register the hook handler elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'projects_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'projects_container_permission_check'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'projects_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'projects_entity_menu_setup'); // Access permissions //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook'); //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook'); }
function publication_init() { // extend javascript elgg_extend_view('js/elgg', 'js/publications/site'); elgg_extend_view('css/elgg', 'css/publications/site'); // ajax views elgg_register_ajax_view('publications/publication/custom_fields'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('publications', 'publication_page_handler'); // Add a new widget elgg_register_widget_type('publications', elgg_echo('publications:widget'), elgg_echo('publications:widget:description')); // Register granular notification for this type elgg_register_notification_event('object', Publication::SUBTYPE, ['create']); elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Publication::SUBTYPE, ['\\ColdTrick\\Publications\\Notifications', 'createPublication']); // Register entity type for search elgg_register_entity_type('object', Publication::SUBTYPE); // add group option add_group_tool_option('publication', elgg_echo('publication:enablepublication'), true); // register plugin hooks elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'publication_register_menu_owner_block'); elgg_register_plugin_hook_handler('register', 'menu:title', 'publication_register_menu_title'); // elgg_register_plugin_hook_handler('action','register','publication_custom_register'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'publication_write_permission_check'); // custom publication types elgg_register_plugin_hook_handler('register:types', 'publications', ['\\ColdTrick\\Publications\\Types', 'registerTypeBibTex']); elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthors']); elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthorsEditors']); elgg_register_plugin_hook_handler('input_validation:article', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputArticle']); elgg_register_plugin_hook_handler('input_validation:book', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputBook']); elgg_register_plugin_hook_handler('input_validation:inbook', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInBook']); elgg_register_plugin_hook_handler('input_validation:incollection', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInCollection']); elgg_register_plugin_hook_handler('input_validation:inproceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInProceedings']); elgg_register_plugin_hook_handler('input_validation:mastersthesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputMastersThesis']); elgg_register_plugin_hook_handler('input_validation:phdhesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputPhdThesis']); elgg_register_plugin_hook_handler('input_validation:proceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputProceedings']); elgg_register_plugin_hook_handler('input_validation:techreport', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputTechreport']); elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveeAuthors']); elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveBookEditors']); // register event handlers elgg_register_event_handler('login', 'user', 'publication_login_check'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::setClassHandler'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleBook'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleJournal'); elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::abstractToDescription'); // Make sure the publication initialisation function is called on initialisation elgg_register_event_handler('pagesetup', 'system', 'publication_pagesetup'); elgg_register_event_handler('create', 'user', 'publication_create_user'); // Register actions elgg_register_action('publications/edit', dirname(__FILE__) . '/actions/edit.php'); elgg_register_action('publications/delete', dirname(__FILE__) . '/actions/delete.php'); // elgg_register_action('publications/invite', dirname(__FILE__) . '/actions/invite.php'); elgg_register_action('publications/import', dirname(__FILE__) . '/actions/import.php'); elgg_register_action('publications/export', dirname(__FILE__) . '/actions/export.php'); }
/** * 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"); }
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")); } }
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'); }
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'); } }
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'); }