/** * Initialize the pages plugin. * */ function publications_init() { // register a library of helper functions elgg_register_library('elgg:publications', elgg_get_plugins_path() . 'publications/lib/publications.php'); $item = new ElggMenuItem('pages', elgg_echo('publications'), 'publications/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('publications', 'publications_page_handler'); // Register an icon handler for blog elgg_register_page_handler("publicationsicon", "publications_icon_handler"); // Register a url handler elgg_register_entity_url_handler('object', 'publication', 'publication_url_handler'); // Register some actions $action_base = elgg_get_plugins_path() . 'publications/actions'; elgg_register_action("publications/edit", "{$action_base}/publications/edit.php"); elgg_register_action("publications/delete", "{$action_base}/publications/delete.php"); // Register entity type for search elgg_register_entity_type('object', 'publication'); //icon url overide elgg_register_plugin_hook_handler("entity:icon:url", "object", "publications_icon_hook"); //add a widget elgg_register_widget_type('publications', elgg_echo('publications'), elgg_echo('publications:widget:description'), "index"); // Language short codes must be of the form "pages:key" // where key is the array key below elgg_set_config('publications', array('title' => 'text', 'description' => 'longtext', 'pubDate' => 'text', 'tags' => 'tags', 'access_id' => 'access')); }
/** * 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'); }
function messages_init() { // register a library of helper functions elgg_register_library('elgg:messages', elgg_get_plugins_path() . 'messages/lib/messages.php'); //Display notification of new messages in topbar is moved into zhaohu_theme //elgg_register_event_handler('pagesetup', 'system', 'messages_notifier'); // Extend system CSS with our own styles, which are defined in the messages/css view elgg_extend_view('css/elgg', 'messages/css'); elgg_extend_view('js/elgg', 'messages/js'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('messages', 'messages_page_handler'); // Register a URL handler elgg_register_entity_url_handler('object', 'messages', 'messages_url'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); // Register a notification handler for site messages register_notification_handler("site", "messages_site_notify_handler"); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'messages_notification_msg'); register_notification_object('object', 'messages', elgg_echo('messages:new')); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'messages_ecml_views_hook'); // permission overrides elgg_register_plugin_hook_handler('permissions_check:metadata', 'object', 'messages_can_edit_metadata'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'messages_can_edit'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'messages_can_edit_container'); // Register actions $action_path = elgg_get_plugins_path() . 'messages/actions/messages'; elgg_register_action("messages/send", "{$action_path}/send.php"); elgg_register_action("messages/delete", "{$action_path}/delete.php"); elgg_register_action("messages/process", "{$action_path}/process.php"); }
/** * 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); } }
/** * Initialize the projects plugin. * */ function surveys_init() { // register a library of helper functions elgg_register_library('surveys', elgg_get_plugins_path() . 'surveys/lib/surveys.php'); elgg_load_library('surveys'); //register css $css_url = 'mod/surveys/css/styles.css'; elgg_register_css('surveysCss', $css_url); elgg_load_css('surveysCss'); // register a project handler, so we can have nice URLs elgg_register_page_handler('surveys', 'surveys_page_handler'); // register a url handler elgg_register_entity_url_handler('object', 'survey', 'surveys_url'); // register entity type for search elgg_register_entity_type('object', 'survey'); // register some actions $action_base = elgg_get_plugins_path() . 'surveys/actions'; elgg_register_action("surveys/submit", "{$action_base}/submit.php"); elgg_register_action("surveys/delete", "{$action_base}/delete.php"); elgg_register_action("surveys/edit", "{$action_base}/edit.php"); // Language short codes must be of the form "projects:key" // where key is the array key below elgg_set_config('surveys', array('hear[]' => 'custom_checkbox', 'reason[]' => 'custom_checkbox', 'overall' => 'dropdown', 'speakers' => 'dropdown', 'facilitators' => 'dropdown', 'topics' => 'dropdown', 'structure' => 'dropdown', 'relevance' => 'dropdown', 'venue' => 'dropdown', 'overall_length' => 'dropdown', 'presentations' => 'dropdown', 'breaks' => 'dropdown', 'networking' => 'dropdown', 'groups' => 'dropdown', 'plenaries' => 'dropdown', 'worked' => 'plaintext', 'not_useful' => 'plaintext', 'useful' => 'plaintext', 'willAttend' => 'radio', 'attendExplain' => 'plaintext', 'help' => 'radio', 'helpExplain' => 'plaintext', 'recommend' => 'radio', 'otherDeparts' => 'radio', 'otherDepartsExplain' => 'plaintext', 'usefulDev' => 'radio', 'usefulDevExplain' => 'plaintext', 'suggestion' => 'plaintext', 'final1' => 'radio', 'final2' => 'radio', 'final3' => 'radio', 'final4' => 'radio', 'final5' => 'radio', 'final6' => 'radio', 'final7' => 'radio', 'final8[]' => 'custom_checkbox', 'final9' => 'plaintext', 'final10' => 'text')); // register the hook handler //elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu'); // 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'); }
/** * Init function for Menu Builder * * @return void */ function menu_builder_init() { elgg_extend_view("navigation/menu/site", "menu_builder/site_menu_extend"); elgg_extend_view("css/elgg", "menu_builder/css/site"); // register pagehandler for nice URL's elgg_register_page_handler("menu_builder", "menu_builder_page_handler"); // switch mode if (elgg_is_admin_logged_in()) { elgg_register_plugin_hook_handler("access:collections:write", "user", "menu_builder_write_access_hook"); if (get_input("menu_builder_edit_mode") == "on") { $_SESSION["menu_builder_edit_mode"] = true; } elseif (get_input("menu_builder_edit_mode") == "off") { unset($_SESSION["menu_builder_edit_mode"]); unset($_SESSION["menu_builder_logged_out"]); } if (get_input("menu_builder_logged_out") == "on") { $_SESSION["menu_builder_logged_out"] = true; } elseif (get_input("menu_builder_logged_out") == "off") { unset($_SESSION["menu_builder_logged_out"]); } } else { unset($_SESSION["menu_builder_edit_mode"]); unset($_SESSION["menu_builder_logged_out"]); } // register url handler for menu_builder objects elgg_register_entity_url_handler("object", MENU_BUILDER_SUBTYPE, "menu_builder_menu_item_url_handler"); // take control of menu setup elgg_unregister_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup'); elgg_register_plugin_hook_handler('prepare', 'menu:site', 'menu_builder_site_menu_prepare'); elgg_register_plugin_hook_handler('register', 'menu:site', 'menu_builder_site_menu_register'); }
/** * 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'); }
function messages_init() { // register a library of helper functions elgg_register_library('elgg:messages', elgg_get_plugins_path() . 'messages/lib/messages.php'); // add page menu items if (elgg_is_logged_in()) { elgg_register_menu_item('page', array('name' => 'messages:inbox', 'text' => elgg_echo('messages:inbox'), 'href' => "messages/inbox/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); elgg_register_menu_item('page', array('name' => 'messages:sentmessages', 'text' => elgg_echo('messages:sentmessages'), 'href' => "messages/sent/" . elgg_get_logged_in_user_entity()->username, 'context' => 'messages')); } elgg_register_event_handler('pagesetup', 'system', 'messages_notifier'); // Extend system CSS with our own styles, which are defined in the messages/css view elgg_extend_view('css/elgg', 'messages/css'); elgg_extend_view('js/elgg', 'messages/js'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('messages', 'messages_page_handler'); // Register a URL handler elgg_register_entity_url_handler('object', 'messages', 'messages_url'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); // Register a notification handler for site messages register_notification_handler("site", "messages_site_notify_handler"); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'messages_notification_msg'); register_notification_object('object', 'messages', elgg_echo('messages:new')); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'messages_ecml_views_hook'); // permission overrides elgg_register_plugin_hook_handler('permissions_check:metadata', 'object', 'messages_can_edit_metadata'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'messages_can_edit'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'messages_can_edit_container'); // Register actions $action_path = elgg_get_plugins_path() . 'messages/actions/messages'; elgg_register_action("messages/send", "{$action_path}/send.php"); elgg_register_action("messages/delete", "{$action_path}/delete.php"); elgg_register_action("messages/process", "{$action_path}/process.php"); }
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 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"); }
/** * 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 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'); }
/** * Initialize the tasks management plugin. * */ function tasks_init() { // register a library of helper functions elgg_register_library('elgg:tasks', elgg_get_plugins_path() . 'tasks/lib/tasks.php'); $item = new ElggMenuItem('tasks', elgg_echo('tasks'), 'tasks/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('tasks', 'tasks_page_handler'); // Register a url handler elgg_register_entity_url_handler('object', 'task', 'tasks_url'); // Register some actions $action_base = elgg_get_plugins_path() . 'tasks/actions/tasks'; elgg_register_action("tasks/edit", "{$action_base}/edit.php"); elgg_register_action("tasks/delete", "{$action_base}/delete.php"); elgg_register_action("tasks/comments/add", "{$action_base}/comments/add.php"); elgg_register_action("tasks/comments/delete", "{$action_base}/comments/delete.php"); // Extend the main css and js views elgg_extend_view('css/elgg', 'tasks/css'); elgg_extend_view('js/elgg', 'tasks/js'); // register the blog's JavaScript elgg_register_simplecache_view('js/tasks/tasklists'); elgg_register_js('elgg.tasks', elgg_get_simplecache_url('js', 'tasks/tasklists')); elgg_register_ajax_view('object/task'); elgg_register_ajax_view('tasks/tasklist_graph'); // Register entity type for search elgg_register_entity_type('object', 'task'); // Register a different form for annotations elgg_register_plugin_hook_handler('comments', 'object', 'tasks_comments_hook'); // Register granular notification for this type register_notification_object('object', 'task', elgg_echo('tasks:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'tasks_notify_message'); // add to groups add_group_tool_option('tasks', elgg_echo('groups:enabletasks'), true); elgg_extend_view('groups/tool_latest', 'tasks/group_module'); //add a widget elgg_register_widget_type('tasks', elgg_echo('tasks:active'), elgg_echo('tasks:widget:description')); // Language short codes must be of the form "tasks:key" // where key is the array key below elgg_set_config('tasks', array('title' => 'text', 'description' => 'longtext', 'list_guid' => 'tasks/list', 'enddate' => 'date', 'priority' => 'tasks/priority', 'tags' => 'tags', 'access_id' => 'access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'tasks_owner_block_menu'); elgg_register_event_handler('pagesetup', 'system', 'tasks_pagesetup'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'tasks_write_permission_check'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'tasks_container_permission_check'); // icon url override elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'tasks_icon_url_override'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'tasks_entity_menu_setup'); // register ecml views to parse elgg_register_plugin_hook_handler('get_views', 'ecml', 'tasks_ecml_views_hook'); elgg_register_plugin_hook_handler('format', 'friendly:time', 'tasks_get_friendly_time'); elgg_register_event_handler('upgrade', 'system', 'tasks_run_upgrades'); }
function init() { elgg_register_library('events:upgrades', __DIR__ . '/lib/upgrades.php'); elgg_extend_view('notifications/subscriptions/personal', 'core/settings/calendar/notifications'); elgg_register_css('jquery-ui', 'mod/events_ui/vendors/jquery-ui/jquery-ui.min.css'); elgg_register_css('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.css'); elgg_register_css('fullcalendar:print', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.print.css'); elgg_register_js('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.min.js'); elgg_register_js('moment.js', 'mod/events_ui/vendors/jquery/moment.min.js'); elgg_register_viewtype('ical'); elgg_register_simplecache_view('css/events_ui'); $url = elgg_get_simplecache_url('css', 'events_ui'); elgg_register_css('events-ui', $url); elgg_register_simplecache_view('js/events_ui'); $url = elgg_get_simplecache_url('js', 'events_ui'); elgg_register_js('events-ui', $url); elgg_register_simplecache_view('js/events_timezone'); $url = elgg_get_simplecache_url('js', 'events_timezone'); elgg_register_js('events/timezone', $url); elgg_register_page_handler('calendar', __NAMESPACE__ . '\\page_handler'); elgg_register_page_handler('events', __NAMESPACE__ . '\\event_pagehandler'); elgg_register_entity_url_handler('object', 'calendar', __NAMESPACE__ . '\\url_handler'); elgg_register_entity_url_handler('object', 'event', __NAMESPACE__ . '\\url_handler'); elgg_register_action('events_ui/settings/save', __DIR__ . '/actions/plugins/settings/save.php', 'admin'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\entity_icon_url'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', __NAMESPACE__ . '\\container_permissions_check'); elgg_register_plugin_hook_handler('action', 'notificationsettings/save', __NAMESPACE__ . '\\notification_settings_save'); elgg_register_plugin_hook_handler('cron', 'minute', __NAMESPACE__ . '\\event_reminders'); elgg_register_plugin_hook_handler('subscription_types', 'comment_tracker', __NAMESPACE__ . '\\register_comment_tracker'); elgg_register_plugin_hook_handler('public_pages', 'walled_garden', __NAMESPACE__ . '\\setup_public_pages'); elgg_register_plugin_hook_handler('export:instance', 'events_api', __NAMESPACE__ . '\\export_event_instance'); elgg_register_event_handler('create', 'object', __NAMESPACE__ . '\\event_create'); elgg_register_event_handler('update', 'object', __NAMESPACE__ . '\\event_update'); elgg_register_event_handler('events_api', 'add_to_calendar', __NAMESPACE__ . '\\add_to_calendar'); elgg_register_event_handler('shutdown', 'system', __NAMESPACE__ . '\\vroom_functions'); add_group_tool_option('calendar', elgg_echo('events:calendar:groups:enable'), true); elgg_register_widget_type('events', elgg_echo('events:widget:name'), 'events:widget:description', 'profile,dashboard,group'); elgg_register_ajax_view('events_ui/ajax/picker'); elgg_register_ajax_view('events_ui/ajax/ical_modal'); elgg_register_ajax_view('widgets/events/content'); // Timezone logic elgg_extend_view('forms/account/settings', 'core/settings/account/timezone', 100); elgg_register_plugin_hook_handler('usersettings:save', 'user', __NAMESPACE__ . '\\save_default_user_timezone'); elgg_register_plugin_hook_handler('timezones', 'events_api', __NAMESPACE__ . '\\filter_timezones'); elgg_extend_view('js/initialize_elgg', 'js/events_ui/config'); // migration stuff elgg_register_event_handler('upgrade', 'system', __NAMESPACE__ . '\\upgrades'); elgg_register_admin_menu_item('administer', 'events_migrate', 'administer_utilities'); elgg_register_action('events/migrate', __DIR__ . '/actions/events/migrate.php', 'admin'); }
/** * Init plugin. */ function shoutout_init() { elgg_register_library('elgg:shoutout', elgg_get_plugins_path() . 'shoutout/models/model.php'); elgg_register_library('elgg:shoutout:uploads', elgg_get_plugins_path() . 'shoutout/models/uploads.php'); // add a site navigation item //$item = new ElggMenuItem('shoutout', elgg_echo('shoutout:shoutouts'), 'shoutout/activity'); //elgg_register_menu_item('site', $item); // add to the main css elgg_extend_view('css/elgg', 'shoutout/css'); // add extend link js to poll plugin elgg_extend_view('object/poll', 'shoutout/add_link'); // register the JavaScript $js = elgg_get_simplecache_url('js', 'shoutout/js'); elgg_register_simplecache_view('js/shoutout/js'); elgg_register_js('elgg.shoutout', $js); $js = elgg_get_simplecache_url('js', 'shoutout/link'); elgg_register_simplecache_view('js/shoutout/link'); elgg_register_js('elgg.shoutout_link', $js); $js = elgg_get_simplecache_url('js', 'shoutout/fileuploader'); elgg_register_simplecache_view('js/shoutout/fileuploader'); elgg_register_js('qq.fileuploader', $js); // routing of urls elgg_register_page_handler('shoutout', 'shoutout_page_handler'); elgg_register_page_handler('activity', 'shoutout_page_handler'); // link elgg-river-timestamp to the shoutout item page elgg_register_plugin_hook_handler('view', 'river/elements/layout', 'shoutout_river_add_link'); // add edit and delete in river menu for shoutouts elgg_register_plugin_hook_handler('register', 'menu:river', 'shoutout_river_menu_setup'); elgg_register_entity_type('object', 'shoutout'); // override the default url to view a showout object elgg_register_entity_url_handler('object', 'shoutout', 'shoutout_url_handler'); // optionally add wall link to owner block $shoutout_wall = elgg_get_plugin_setting('wall', 'shoutout'); if ($shoutout_wall == 'yes') { elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'shoutout_owner_block_menu'); } // optionally support video attachments $shoutout_video_add = elgg_get_plugin_setting('video_add', 'shoutout'); if ($shoutout_video_add == 'yes') { elgg_register_library('elgg:shoutout:video', elgg_get_plugins_path() . 'shoutout/models/video.php'); elgg_register_plugin_hook_handler('shoutout:video:preprocess', 'url', 'shoutout_video_preprocess_url'); } // register actions $action_path = elgg_get_plugins_path() . 'shoutout/actions/shoutout'; elgg_register_action('shoutout/edit', "{$action_path}/edit.php"); elgg_register_action('shoutout/delete', "{$action_path}/delete.php"); elgg_register_action('shoutout/attach/add', "{$action_path}/attach/add.php"); elgg_register_action('shoutout/attach/delete', "{$action_path}/attach/delete.php"); // over-ride comments action elgg_register_action('comments/add', elgg_get_plugins_path() . 'shoutout/actions/comments/add.php'); }
function widget_manager_init() { // check valid WidgetManagerWidget class if (get_subtype_class("object", "widget") == "ElggWidget") { update_subtype("object", "widget", "WidgetManagerWidget"); } elgg_trigger_event("widgets_init", "widget_manager"); if (elgg_is_active_plugin("groups") && elgg_get_plugin_setting("group_enable", "widget_manager") == "yes") { // add the widget manager tool option $group_option_enabled = false; if (elgg_get_plugin_setting("group_option_default_enabled", "widget_manager") == "yes") { $group_option_enabled = true; } if (elgg_get_plugin_setting("group_option_admin_only", "widget_manager") != "yes") { // add the tool option for group admins add_group_tool_option('widget_manager', elgg_echo('widget_manager:groups:enable_widget_manager'), $group_option_enabled); } elseif (elgg_is_admin_logged_in()) { add_group_tool_option('widget_manager', elgg_echo('widget_manager:groups:enable_widget_manager'), $group_option_enabled); } elseif ($group_option_enabled) { // register event to make sure newly created groups have the group option enabled elgg_register_event_handler("create", "group", "widget_manager_create_group_event_handler"); elgg_register_plugin_hook_handler('get_list', 'default_widgets', 'widget_manager_group_widgets_default_list'); } } // extend CSS elgg_extend_view("css/elgg", "widget_manager/css/global"); elgg_extend_view("css/admin", "widget_manager/css/global"); elgg_extend_view("js/elgg", "widget_manager/js/site"); elgg_extend_view("js/admin", "widget_manager/js/admin"); // register a widget title url handler elgg_register_entity_url_handler("object", "widget", "widget_manager_widget_url_handler"); // multi dashboard support add_subtype("object", MultiDashboard::SUBTYPE, "MultiDashboard"); if (elgg_is_logged_in() && widget_manager_multi_dashboard_enabled()) { elgg_register_page_handler("multi_dashboard", "widget_manager_multi_dashboard_page_handler"); $options = array("type" => "object", "subtype" => MultiDashboard::SUBTYPE, "owner_guid" => elgg_get_logged_in_user_guid(), "count" => true); $tab_count = elgg_get_entities($options); if ($tab_count < MULTI_DASHBOARD_MAX_TABS) { elgg_register_menu_item("extras", array("name" => "multi_dashboard", "text" => elgg_view_icon("home"), "href" => "multi_dashboard/edit/?internal_url=" . urlencode(current_page_url()), "title" => elgg_echo("widget_manager:multi_dashboard:extras"), "rel" => "nofollow", "id" => "widget-manager-multi_dashboard-extras")); } elgg_extend_view("page/elements/sidebar", "widget_manager/multi_dashboard/sidebar", 400); elgg_register_event_handler("create", "object", "widget_manager_create_object_handler"); elgg_register_plugin_hook_handler("route", "dashboard", "widget_manager_dashboard_route_handler"); elgg_register_plugin_hook_handler("action", "widgets/add", "widget_manager_widgets_add_action_handler"); elgg_register_action("multi_dashboard/edit", dirname(__FILE__) . "/actions/multi_dashboard/edit.php"); elgg_register_action("multi_dashboard/delete", dirname(__FILE__) . "/actions/multi_dashboard/delete.php"); elgg_register_action("multi_dashboard/drop", dirname(__FILE__) . "/actions/multi_dashboard/drop.php"); elgg_register_action("multi_dashboard/reorder", dirname(__FILE__) . "/actions/multi_dashboard/reorder.php"); } }
/** * Initialize elgg-markdown_wiki plugin. */ function markdown_wiki_init() { // register libraries of helper functions $root = dirname(__FILE__); elgg_register_library('markdown_wiki:utilities', "{$root}/lib/utilities.php"); elgg_register_library('markdown_wiki:fineDiff', "{$root}/vendors/PHP-FineDiff/finediff.php"); // js and css elgg_register_js('showdown', "/mod/elgg-markdown_wiki/vendors/showdown/compressed/showdown.js"); elgg_register_js('showdownggouv', "/mod/elgg-markdown_wiki/vendors/showdown/compressed/extensions/showdownggouv.js"); elgg_load_js('showdown'); elgg_load_js('showdownggouv'); elgg_register_js('highlight', "/mod/elgg-markdown_wiki/vendors/highlight/highlight.pack.js", 'footer', 100); elgg_load_js('highlight'); elgg_extend_view('js/elgg', 'markdown_wiki/js'); elgg_extend_view('js/elgg', 'markdown_wiki/editor_js'); elgg_extend_view('css/elgg', 'markdown_wiki/css'); elgg_extend_view('css/elgg', 'markdown_wiki/markdown_css'); elgg_extend_view('css/elgg', 'markdown_wiki/highlight_css'); elgg_extend_view('page/elements/foot', 'markdown_wiki/syntax/language_selector'); // Add a menu item to the main site menu $item = new ElggMenuItem('markdown_wiki_all', elgg_echo('markdown_wiki'), 'wiki/all'); elgg_register_menu_item('site', $item); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'markdown_wiki_object_menu'); // write permission plugin hooks elgg_register_plugin_hook_handler('permissions_check', 'object', 'markdown_wiki_write_permission_check'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('wiki', 'markdown_wiki_page_handler'); // Register entity type for search elgg_register_entity_type('object', 'markdown_wiki'); // Register a url handler elgg_register_entity_url_handler('object', 'markdown_wiki', 'markdown_wiki_url'); // Register a script to handle (usually) a POST request (an action) $base_dir = "{$root}/actions/markdown_wiki"; elgg_register_action('markdown_wiki/edit', "{$base_dir}/edit.php"); elgg_register_action('markdown_wiki/compare', "{$root}/pages/markdown_wiki/compare.php"); elgg_register_action('markdown_wiki/settings', "{$base_dir}/settings.php"); // add to groups add_group_tool_option('markdown_wiki', elgg_echo('groups:enable_markdown_wiki'), true); elgg_extend_view('groups/tool_latest', 'markdown_wiki/group_module'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'markdown_wiki_owner_block_menu'); //add a widget elgg_register_widget_type('markdown_wiki', elgg_echo('markdown_wiki'), elgg_echo('markdown_wiki:widget:description')); // Language short codes must be of the form "markdown_wiki:key" // where key is the array key below elgg_set_config('markdown_wiki', array('description' => 'markdown', 'summary' => 'text', 'tags' => 'tags', 'write_access_id' => 'access', 'title' => 'hidden', 'guid' => 'hidden', 'container_guid' => 'hidden')); // Parse link elgg_register_plugin_hook_handler('format_markdown', 'format', 'markdown_wiki_parse_link_plugin_hook', 600); }
function init() { /** * JS and CSS */ elgg_register_js('jquery.nestedsortable.js', '/mod/hypeCategories/vendors/nestedSortable/jquery.mjs.nestedSortable.js'); elgg_register_simplecache_view('js/framework/categories/manage'); elgg_register_js('categories.manage.js', elgg_get_simplecache_url('js', 'framework/categories/manage')); elgg_register_simplecache_view('js/framework/categories/tree'); elgg_register_js('categories.tree.js', elgg_get_simplecache_url('js', 'framework/categories/tree')); elgg_extend_view('css/elgg', 'css/framework/categories/base'); elgg_extend_view('css/admin', 'css/framework/categories/base'); /** * Actions */ elgg_register_action('categories/manage', __DIR__ . '/actions/categories/manage.php'); elgg_register_action(PLUGIN_ID . '/settings/save', __DIR__ . '/actions/settings/save.php', 'admin'); /** * URL and Page handlers */ elgg_register_page_handler(PAGEHANDLER, __NAMESPACE__ . '\\page_handler'); elgg_register_page_handler('category', __NAMESPACE__ . '\\page_handler'); // alias elgg_register_entity_url_handler('object', HYPECATEGORIES_SUBTYPE, __NAMESPACE__ . '\\category_url_handler'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\category_icon_url'); /** * Widget */ elgg_register_widget_type('hypeCategories', elgg_echo('categories'), elgg_echo('categories:group_module'), "groups"); /** * Menus */ elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:categories', __NAMESPACE__ . '\\tree_menu_setup'); /** * Search */ elgg_register_entity_type('object', HYPECATEGORIES_SUBTYPE); // Register universal_categories metadata for search elgg_register_tag_metadata_name('universal_categories'); /** * Views Groups */ elgg_extend_view('page/elements/sidebar', 'framework/categories/sidebar'); elgg_extend_view('groups/tool_latest', 'framework/categories/group_module'); // Load fonts elgg_extend_view('page/elements/head', 'framework/fonts/font-awesome'); elgg_extend_view('page/elements/head', 'framework/fonts/open-sans'); }
function init() { /** * JS and CSS */ elgg_extend_view('js/elgg', 'js/framework/mechanics/mechanics'); elgg_extend_view('js/admin', 'js/framework/mechanics/mechanics'); elgg_extend_view('css/elgg', 'css/framework/mechanics/mechanics'); elgg_extend_view('css/admin', 'css/framework/mechanics/mechanics'); /** * Actions */ elgg_register_action('badge/claim', __DIR__ . '/actions/badge/claim.php'); elgg_register_action('badge/edit', __DIR__ . '/actions/badge/edit.php', 'admin'); elgg_register_action('badge/delete', __DIR__ . '/actions/badge/delete.php', 'admin'); elgg_register_action('badge/order', __DIR__ . '/actions/badge/order.php', 'admin'); elgg_register_action('points/award', __DIR__ . '/actions/points/award.php'); elgg_register_action('points/reset', __DIR__ . '/actions/points/reset.php', 'admin'); /** * URL and page handlers */ elgg_register_page_handler(PAGEHANDLER, __NAMESPACE__ . '\\page_handler'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\badge_icon_url_handler'); elgg_register_entity_url_handler('object', HYPEGAMEMECHANICS_BADGE_SUBTYPE, __NAMESPACE__ . '\\badge_url_handler'); /** * Rules */ elgg_register_plugin_hook_handler('get_rules', 'gm_score', __NAMESPACE__ . '\\setup_scoring_rules'); /** * Menus */ elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:user_hover', __NAMESPACE__ . '\\user_hover_menu_setup'); /** * Permissions */ elgg_register_plugin_hook_handler('permissions_check:annotate', 'user', __NAMESPACE__ . '\\permissions_check_gm_score_award'); /** * Views */ elgg_register_widget_type('hjmechanics', elgg_echo('mechanics:widget:badges'), elgg_echo('mechanics:widget:badges:description'), 'index'); elgg_extend_view('framework/mechanics/sidebar', 'framework/mechanics/history/filter'); elgg_extend_view('framework/mechanics/sidebar', 'framework/mechanics/leaderboard/filter'); // Load fonts elgg_extend_view('page/elements/head', 'framework/fonts/font-awesome'); elgg_extend_view('page/elements/head', 'framework/fonts/open-sans'); }
function pinboard_init() { // pagehandlers elgg_register_page_handler("pinboard", "pinboard_page_handler"); // actions $actions_base = dirname(__FILE__) . "/actions"; elgg_register_action("pinboard/save", "{$actions_base}/save.php"); elgg_register_action("pinboard/delete", "{$actions_base}/delete.php"); // register objects elgg_register_menu_item("site", array("name" => 'pinboard', "text" => elgg_echo('pinboard'), "href" => 'pinboard')); elgg_extend_view("css/elgg", "css/pinboard/site"); elgg_extend_view('js/elgg', 'js/pinboard/site'); elgg_register_entity_type("object", "cafe"); elgg_register_entity_url_handler("object", "cafe", "pinboard_url"); elgg_register_plugin_hook_handler("register", 'menu:filter', 'theme_ffd_cafe_filter_menu_handler'); }
/** * Initialize the group alias plugin. * */ function group_alias_init() { // Register a page handler, so we can have nice URLs // elgg_register_page_handler('g', 'group_alias_page_handler'); elgg_register_plugin_hook_handler('forward', '404', 'group_url_router', 0); // Override URL handlers for groups elgg_register_entity_url_handler('group', 'all', 'group_alias_url'); // Add alias field elgg_register_plugin_hook_handler('profile:fields', 'group', 'group_alias_field_setup'); // Override some actions $action_base = elgg_get_plugins_path() . 'group_alias/actions/groups'; elgg_register_action("groups/edit", "{$action_base}/edit.php"); // Extend the main css view elgg_extend_view('css/elgg', 'group_alias/css'); elgg_extend_view('js/elgg', 'group_alias/js'); }
/** * Initialize the webinar plugin. */ function webinar_init() { // register a library for new object class webinar elgg_register_library('elgg:webinar', elgg_get_plugins_path() . 'webinar/lib/webinar.php'); // register BigBlueButton API elgg_register_library('elgg:bbb', elgg_get_plugins_path() . 'webinar/vendors/bbb-api-php/bbb_api.php'); // Register a url handler for the new object elgg_register_entity_url_handler('object', 'webinar', 'webinar_url'); //add a tab in site menu $item = new ElggMenuItem('webinar', elgg_echo('webinar:menu:site'), 'webinar/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('webinar', 'webinar_page_handler'); // Register some actions $action_base = elgg_get_plugins_path() . 'webinar/actions/webinar'; elgg_register_action("webinar/subscribe", "{$action_base}/subscribe.php"); elgg_register_action("webinar/unsubscribe", "{$action_base}/unsubscribe.php"); elgg_register_action("webinar/join", "{$action_base}/join.php"); elgg_register_action("webinar/save", "{$action_base}/save.php"); elgg_register_action("webinar/delete", "{$action_base}/delete.php"); elgg_register_action("webinar/start", "{$action_base}/start.php"); elgg_register_action("webinar/stop", "{$action_base}/stop.php"); // Extend the main css view elgg_extend_view('css', 'webinar/css'); // Register entity type for search elgg_register_entity_type('object', 'webinar'); //register_elgg_event_handler('pagesetup','system','webinar_pagesetup'); // Register for notifications register_notification_object('object', 'webinar', elgg_echo('webinar:notify:new')); // add checkbox on group edit page to activate webinar add_group_tool_option('webinar', elgg_echo('webinar:enable'), false); elgg_extend_view('groups/tool_latest', 'webinar/group_module'); // owner_block menu elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'webinar_handler_menu_owner_block'); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'webinar_handler_menu_entity'); // Listen to notification events and supply a more useful message elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'webinar_handler_notify_message'); elgg_register_plugin_hook_handler('permissions_check', 'object', 'webinar_handler_permissions_check'); //intercept event_calendar notification because event that type is webinar are create by webinar object elgg_register_plugin_hook_handler('object:notifications', 'object', 'webinar_handler_notifications_intercept'); //on event create attendee relation ship, call add_river elgg_register_event_handler('create', 'attendee', 'webinar_handler_relationship_river'); // add a blog widget elgg_register_widget_type('webinar', elgg_echo('webinar:webinars'), elgg_echo('webinar:widget:description'), 'profile'); //elgg_extend_view('profile/tabs/menu_extend','webinar/group_profile_tabs_menu'); }
/** * File plugin initialization functions. */ function file_init() { // register a library of helper functions elgg_register_library('elgg:file', elgg_get_plugins_path() . 'file/lib/file.php'); // Site navigation $item = new ElggMenuItem('file', elgg_echo('file'), 'file/all'); elgg_register_menu_item('site', $item); // Extend CSS elgg_extend_view('css/elgg', 'file/css'); // add enclosure to rss item elgg_extend_view('extensions/item', 'file/enclosure'); // extend group main page elgg_extend_view('groups/tool_latest', 'file/group_module'); //register walled garden public pages for cron job elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'file_public_pages'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('file', 'file_page_handler'); // Add a new file widget elgg_register_widget_type('filerepo', elgg_echo("file"), elgg_echo("file:widget:description")); // Register URL handlers for files elgg_register_entity_url_handler('object', 'file', 'file_url_override'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'file_icon_url_override'); // Register granular notification for this object type register_notification_object('object', 'file', elgg_echo('file:newupload')); // Listen to notification events and supply a more useful message elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'file_notify_message'); // add the group files tool option add_group_tool_option('file', elgg_echo('groups:enablefiles'), true); // Register entity type for search elgg_register_entity_type('object', 'file'); // add a file link to owner blocks elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'file_owner_block_menu'); // Register actions $action_path = elgg_get_plugins_path() . 'file/actions/file'; elgg_register_action("file/upload", "{$action_path}/upload.php"); elgg_register_action("file/delete", "{$action_path}/delete.php"); //elgg_register_action("file/release", elgg_get_plugins_path() . "file/cron/releaser.php"); // temporary - see #2010 elgg_register_action("file/download", "{$action_path}/download.php"); // embed support $item = ElggMenuItem::factory(array('name' => 'file', 'text' => elgg_echo('file'), 'priority' => 10, 'data' => array('options' => array('type' => 'object', 'subtype' => 'file')))); elgg_register_menu_item('embed', $item); $item = ElggMenuItem::factory(array('name' => 'file_upload', 'text' => elgg_echo('file:upload'), 'priority' => 100, 'data' => array('view' => 'embed/file_upload/content'))); elgg_register_menu_item('embed', $item); //register cron plugin hook handler //elgg_register_plugin_hook_handler("cron", "hourly", "files_cron_handler"); }
/** * Initialize the gv project plugin. * */ function gvproject_init() { $item = new ElggMenuItem('projects', elgg_echo('gvprojects:menu:projects'), 'projects/all'); elgg_register_menu_item('site', $item); // Register a page handler, so we can have nice URLs elgg_register_page_handler('projects', 'gvproject_page_handler'); // Register a url handler elgg_register_entity_url_handler('object', 'project', 'gvproject_url'); // Register some actions $action_base = elgg_get_plugins_path() . 'gvproject/actions/'; elgg_register_action("projects/edit", "{$action_base}/edit.php"); elgg_register_action("projects/delete", "{$action_base}/delete.php"); // Register entity type for search elgg_register_entity_type('object', 'project'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'gvproject_owner_block_menu'); elgg_register_widget_type('latest_projects', elgg_echo("widget:latest_projects:title"), elgg_echo("widget:latest_projects:description"), "dashboard,profile,groups"); }
function blogbook_init() { $base_dir = elgg_get_plugins_path() . 'blogbook/actions/blogbook'; elgg_register_action("blogbook/save", $base_dir . '/save.php'); elgg_register_action('blogbook/delete', "{$base_dir}/delete.php"); elgg_register_action('blogbook/insertblog', "{$base_dir}/insertblog.php"); elgg_register_action('blogbook/remove', "{$base_dir}/removeblog.php"); elgg_register_action('LocationBook/savegrp', "{$base_dir}/savegrp.php"); //a little help from you to promote my site. elgg_extend_view('page/elements/footer', 'blogbook/footer/footerlink'); // Add a menu item to the main site menu $item = new ElggMenuItem('blogbook', elgg_echo('blogbook:blogbook'), 'blogbook/all'); elgg_register_menu_item('site', $item); elgg_register_page_handler('blogbook', 'blogbook_page_handler'); elgg_register_entity_url_handler('object', 'blogbook', 'blogbook_url_handler'); // register_plugin_hook('permissions_check', 'all', 'blogbook_permissions_check'); elgg_register_entity_type('object', 'blogbook'); }
/** * video init */ function videos_init() { // add a site navigation item $item = new ElggMenuItem('video', elgg_echo('videos'), 'videos/all'); elgg_register_menu_item('site', $item); elgg_register_library('elgg:videos', elgg_get_plugins_path() . 'videos/lib/videos.php'); 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 = elgg_get_plugins_path() . "videos/actions/videos"; elgg_register_action('videos/save', "{$action_path}/save.php"); elgg_register_action('videos/delete', "{$action_path}/delete.php"); //extend owner block menu elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videos_owner_block_menu'); //Add menu's in sidebar elgg_register_plugin_hook_handler('register', 'menu:page', 'videos_page_menu'); $context = elgg_get_context(); $contexts = elgg_get_plugin_setting('search_contexts', 'videos'); $contexts = explode(",", $contexts); if (in_array($context, $contexts)) { elgg_extend_view('page/elements/sidebar', 'page/elements/search', '400'); } // get items in video menu elgg_register_plugin_hook_handler("register", "menu:entity", "videos_entity_menu_setup"); // register actions elgg_register_action("videos/toggle_metadata", dirname(__FILE__) . "/actions/toggle_metadata.php"); 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'), array('dashboard', 'profile', 'main', 'index')); if (function_exists('elgg_get_version')) { elgg_register_notification_event('object', 'videos'); } else { register_notification_object('object', 'videos', elgg_echo('videos:new')); } elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videos_notify_message'); // Register a URL handler for video posts elgg_register_entity_url_handler('object', 'videos', 'videos_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); } }
/** * Init blog plugin. */ function blog_init() { elgg_register_library('elgg:blog', elgg_get_plugins_path() . 'blog/lib/blog.php'); // add a site navigation item $item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), 'blog/all'); elgg_register_menu_item('site', $item); elgg_register_event_handler('upgrade', 'upgrade', 'blog_run_upgrades'); // add to the main css elgg_extend_view('css/elgg', 'blog/css'); // register the blog's JavaScript $blog_js = elgg_get_simplecache_url('js', 'blog/save_draft'); elgg_register_simplecache_view('js/blog/save_draft'); elgg_register_js('elgg.blog', $blog_js); // routing of urls elgg_register_page_handler('blog', 'blog_page_handler'); // override the default url to view a blog object elgg_register_entity_url_handler('object', 'blog', 'blog_url_handler'); // notifications register_notification_object('object', 'blog', elgg_echo('blog:newpost')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'blog_notify_message'); // add blog link to elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu'); // pingbacks //elgg_register_event_handler('create', 'object', 'blog_incoming_ping'); //elgg_register_plugin_hook_handler('pingback:object:subtypes', 'object', 'blog_pingback_subtypes'); // 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'); // add a blog widget elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), array('profile')); // register actions $action_path = elgg_get_plugins_path() . 'blog/actions/blog'; elgg_register_action('blog/save', "{$action_path}/save.php"); elgg_register_action('blog/auto_save_revision', "{$action_path}/auto_save_revision.php"); elgg_register_action('blog/delete', "{$action_path}/delete.php"); // entity menu elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup'); // ecml elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook'); }
function answers_init() { // register a library of helper functions $root = dirname(__FILE__); elgg_register_library('answers:utilities', "{$root}/lib/answers.php"); // Add a menu item to the main site menu $item = new ElggMenuItem('answers', elgg_echo('answers:questions'), 'answers/all'); elgg_register_menu_item('site', $item); // Extend css and js elgg_extend_view('css/elgg', 'answers/css'); elgg_extend_view('js/elgg', 'answers/js'); // live search elgg_register_ajax_view('answers/search'); elgg_register_widget_type('answers', elgg_echo('answers'), elgg_echo('answers:widget'), 'all,groups,index', TRUE); elgg_register_page_handler('answers', 'answers_page_handler'); elgg_register_entity_url_handler('object', 'answer', 'answer_url'); elgg_register_entity_url_handler('object', 'question', 'question_url'); register_notification_object('object', 'question', elgg_echo('answers:question:new')); register_notification_object('object', 'answer', elgg_echo('answers:answer:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'answers_notify_message'); // support group questions/answers elgg_extend_view('groups/tool_latest', 'answers/group_module'); add_group_tool_option('answers', elgg_echo('groups:enableanswers'), true); // register questions and answers for search elgg_register_entity_type('object', 'question'); // on enregistre les objets que l'on veux pouvoir trouver par la recherche ou voir dans les colonnes du deck. elgg_register_entity_type('object', 'answer'); // register actions. Les actions sont dans le dossier actions/answers. C'est mieux si on veut les overrider. $action_path = "{$root}/actions/answers"; elgg_register_action("answers/question/save", "{$action_path}/question/save.php"); elgg_register_action("answers/answer/save", "{$action_path}/answer/save.php"); elgg_register_action("answers/answer/edit", "{$action_path}/editanswer.php"); elgg_register_action("answers/delete", "{$action_path}/delete.php"); elgg_register_action("answers/choose", "{$action_path}/chooseanswer.php"); elgg_register_action("answers/like", "{$action_path}/like.php"); elgg_register_action("answers/dislike", "{$action_path}/dislike.php"); elgg_register_plugin_hook_handler('creating', 'river', 'answer_comment_river_create_hook'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'answers_owner_block_menu'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'answers_setup_entity_menu_items'); // remove likes plugin integration for questions and answers elgg_register_plugin_hook_handler('register', 'menu:river', 'answers_river_menu_setup'); }