/** * 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'); }
/** * Register an annotation url handler. * * @param string $function_name The function. * @param string $extender_name The name, default 'all'. * * @deprecated 1.8 Use {@link elgg_register_annotation_url_handler()} */ function register_annotation_url_handler($function, $extender_name) { elgg_deprecated_notice("register_annotation_url_handler() was deprecated by elgg_register_annotation_url_handler()", 1.8); return elgg_register_annotation_url_handler($extender_name, $function); }
/** * Initialize the tasks plugin. * */ function tasks_init() { // register a library of helper functions elgg_register_library('elgg:tasks', elgg_get_plugins_path() . 'tasks/lib/tasks.php'); elgg_register_menu_item('site', array('name' => 'tasks', 'text' => elgg_echo('tasks'), 'href' => "tasks/all")); // Register a task handler, so we can have nice URLs elgg_register_page_handler('tasks', 'tasks_page_handler'); elgg_register_page_handler('calendars', 'calendars_page_handler'); // Register a url handler elgg_register_entity_url_handler('object', 'task_top', 'tasks_url'); elgg_register_entity_url_handler('object', 'task', 'tasks_url'); elgg_register_annotation_url_handler('task', 'tasks_revision_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/editwelcome", "{$action_base}/editwelcome.php"); elgg_register_action("tasks/delete", "{$action_base}/delete.php"); // Extend the main css view elgg_extend_view('css/elgg', 'tasks/css'); // Register javascript needed for sidebar menu $js_url = 'mod/tasks/vendors/jquery-treeview/jquery.treeview.min.js'; elgg_register_js('jquery-treeview', $js_url); $css_url = 'mod/tasks/vendors/jquery-treeview/jquery.treeview.css'; elgg_register_css('jquery-treeview', $css_url); // Register entity type for search elgg_register_entity_type('object', 'task'); elgg_register_entity_type('object', 'task_top'); // Register granular notification for this type register_notification_object('object', 'task', elgg_echo('tasks:new')); register_notification_object('object', 'task_top', elgg_echo('tasks:new')); elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'task_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'), elgg_echo('tasks:widget:description'), 'dashboard,profile,index,groups'); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "tasks_widget_url_handler"); $css_fullcalendar = 'mod/tasks/vendors/fullcalendar/fullcalendar.css'; $css_fullcalendar_print = 'mod/tasks/vendors/fullcalendar/fullcalendar.print.css'; $js_fullcalendar_moment = 'mod/tasks/vendors/fullcalendar/lib/moment.min.js'; $js_fullcalendar = 'mod/tasks/vendors/fullcalendar/fullcalendar.for.elgg.js'; elgg_register_js('fullcalendar_moment.js', $js_fullcalendar_moment); elgg_register_js('fullcalendar.js', $js_fullcalendar); elgg_register_css('fullcalendar.css', $css_fullcalendar); elgg_register_css('fullcalendar.css.print', $css_fullcalendar_print); // 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', 'start_date' => 'date', 'end_date' => 'date', 'task_type' => 'text', 'status' => 'text', 'assigned_to' => 'assign_to', 'percent_done' => 'text', 'work_remaining' => 'text', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'write_access')); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'tasks_owner_block_menu'); // 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'); // Access permissions //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'tasks_write_acl_plugin_hook'); //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'tasks_read_acl_plugin_hook'); }
/** * Initialize the annotation library * @access private */ function elgg_annotations_init() { elgg_register_annotation_url_handler('generic_comment', 'elgg_comment_url_handler'); elgg_register_plugin_hook_handler("export", "all", "export_annotation_plugin_hook", 2); elgg_register_plugin_hook_handler('unit_test', 'system', 'annotations_test'); }