/** * GnuPG plugin initialization functions. */ function elggpg_init() { // Register library elgg_register_library('elggpg', elgg_get_plugins_path() . 'elggpg/lib/elggpg.php'); elgg_register_library('elggpg:send:override', elgg_get_plugins_path() . 'elggpg/lib/messages_send.php'); // Extend CSS elgg_extend_view('css/elgg', 'elggpg/css'); // elgg_extend_view('profile/status', 'elggpg/profile_elggpg'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('elggpg', 'elggpg_page_handler'); // Add fingerprint in user details elgg_register_plugin_hook_handler('profile:fields', 'profile', 'elggpg_profile_fingerprint'); // Register a notification handler to encrypt messages elgg_register_plugin_hook_handler('email', 'system', 'elggpg_send_email_handler'); elgg_extend_view("core/settings/account/email", "elggpg/viewkey", 1); // Actions $actions_path = elgg_get_plugins_path() . 'elggpg/actions/elggpg'; elgg_register_action("elggpg/pubkey_upload", "{$actions_path}/pubkey_upload.php"); elgg_register_action("elggpg/pubkey_delete", "{$actions_path}/pubkey_delete.php"); elgg_register_action("messages/send", "{$actions_path}/send_encrypted.php"); // add a GPG link to owner blocks elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'elggpg_owner_block_menu'); // upgrade elgg_register_event_handler('upgrade', 'system', 'elggpg_run_upgrades'); }
function modules_init() { // Register and load library elgg_register_library('ajaxmodule', elgg_get_plugins_path() . 'modules/lib/ajaxmodule.php'); elgg_load_library('ajaxmodule'); // Ajax module page handler elgg_register_page_handler('ajaxmodule', 'ajaxmodule_page_handler'); // Register view hook handler elgg_register_plugin_hook_handler('view', 'all', 'ajaxmodule_view_hook_handler'); // Register icon handlers elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simpleicon_hook_handler', 600); // Register JS $ajaxmodule_js = elgg_get_simplecache_url('js', 'modules/ajaxmodule'); elgg_register_simplecache_view('js/modules/ajaxmodule'); elgg_register_js('elgg.modules.ajaxmodule', $ajaxmodule_js); // Register JS $genericmodule_js = elgg_get_simplecache_url('js', 'modules/genericmodule'); elgg_register_simplecache_view('js/modules/genericmodule'); elgg_register_js('elgg.modules.genericmodule', $genericmodule_js); // Register CSS $m_css = elgg_get_simplecache_url('css', 'modules/css'); elgg_register_simplecache_view('css/modules/css'); elgg_register_css('elgg.modules', $m_css); // Load JS/CSS elgg_load_js('elgg.modules.ajaxmodule'); elgg_load_js('elgg.modules.genericmodule'); elgg_load_css('lightbox'); elgg_load_js('lightbox'); elgg_load_css('elgg.modules'); }
/** * * Initializes the Roles plugin */ function roles_init($event, $type, $object) { elgg_register_library('roles', elgg_get_plugins_path() . 'roles/lib/roles.php'); elgg_register_library('roles_config', elgg_get_plugins_path() . 'roles/lib/config.php'); elgg_load_library('roles'); elgg_load_library('roles_config'); // Provides default roles by own handler. This should be extended by site specific handlers elgg_register_plugin_hook_handler('roles:config', 'role', 'roles_get_roles_config'); // Catch all actions and page route requests elgg_register_plugin_hook_handler('action', 'all', 'roles_actions_permissions'); elgg_register_plugin_hook_handler('route', 'all', 'roles_pages_permissions'); // Due to dynamically created (or extended) menus, we need to catch all 'register' hooks _after_ other modules added/removed their menu items elgg_register_plugin_hook_handler('register', 'all', 'roles_menus_permissions', 9999); // Set up roles based hooks and event listener, after all plugin is initialized elgg_register_event_handler('ready', 'system', 'roles_hooks_permissions'); elgg_register_event_handler('ready', 'system', 'roles_events_permissions'); // Check for role configuration updates if (elgg_is_admin_logged_in()) { // @TODO think through if this should rather be a role-based permission run_function_once('roles_update_100_to_101'); elgg_register_event_handler('ready', 'system', 'roles_check_update'); } // Set up roles based view management elgg_register_event_handler('ready', 'system', 'roles_register_views'); }
/** * Called during system init * * @return void */ function pages_tools_init() { // register DOM PDF as a library elgg_register_library("dompdf", dirname(__FILE__) . "/vendor/dompdf/dompdf/dompdf_config.inc.php"); // extend site css elgg_extend_view("css/elgg", "css/pages_tools/site"); // extend site js elgg_extend_view("js/elgg", "js/pages_tools/site"); // register JS library elgg_register_js("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/jquery.tree.min.js"); elgg_register_css("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/themes/classic/style.css"); // add widgets (overrule default pages widget, to add group support) elgg_register_widget_type("pages", elgg_echo("pages"), elgg_echo("pages:widget:description"), array("profile", "dashboard", "groups")); elgg_register_widget_type("index_pages", elgg_echo("pages"), elgg_echo("pages_tools:widgets:index_pages:description"), array("index"), true); // register plugin hooks elgg_register_plugin_hook_handler("route", "pages", "pages_tools_route_pages_hook"); elgg_register_plugin_hook_handler("register", "menu:entity", "pages_tools_entity_menu_hook"); elgg_register_plugin_hook_handler("permissions_check:comment", "object", "pages_tools_permissions_comment_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "pages_tools_widget_url_hook"); elgg_register_plugin_hook_handler("cron", "daily", "pages_tools_daily_cron_hook"); // events elgg_register_event_handler('create', 'object', 'pages_tools_cache_handler'); elgg_register_event_handler('update', 'object', 'pages_tools_cache_handler'); elgg_register_event_handler('delete', 'object', 'pages_tools_cache_handler'); // register actions elgg_register_action("pages/export", dirname(__FILE__) . "/actions/export.php", "public"); elgg_register_action("pages/reorder", dirname(__FILE__) . "/actions/reorder.php"); elgg_register_action("pages_tools/update_edit_notice", dirname(__FILE__) . "/actions/update_edit_notice.php"); // overrule action elgg_register_action("pages/edit", dirname(__FILE__) . "/actions/pages/edit.php"); elgg_register_action("pages/delete", dirname(__FILE__) . "/actions/pages/delete.php"); }
function messages_init() { // register a library of helper functions elgg_register_library('elgg:messages', __DIR__ . '/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')); } // Extend system CSS with our own styles, which are defined in the messages/css view elgg_extend_view('elgg.css', 'messages/css'); elgg_extend_view('elgg.js', '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_plugin_hook_handler('entity:url', 'object', 'messages_set_url'); // Extend avatar hover menu elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'messages_user_hover_menu'); // delete messages sent by a user when user is deleted elgg_register_event_handler('delete', 'user', 'messages_purge'); // 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 = __DIR__ . '/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"); // Topbar menu. We assume this menu will render *after* a message is rendered. If a refactor/plugin // causes it to render first, the unread count notification will not update until the next page. elgg_register_plugin_hook_handler('register', 'menu:topbar', 'messages_register_topbar'); }
/** * Initialize the htmlawed plugin */ function htmlawed_init() { elgg_register_plugin_hook_handler('validate', 'input', 'htmlawed_filter_tags', 1); $lib = elgg_get_plugins_path() . "htmlawed/vendors/htmLawed/htmLawed.php"; elgg_register_library('htmlawed', $lib); elgg_register_plugin_hook_handler('unit_test', 'system', 'htmlawed_test'); }
/** * 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'); }
/** * 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'; }
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"); }
/** * 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 }
/** * 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 wet4_theme_init() { //reload groups library to have our sidebar changes elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'wet4/lib/groups.php'); elgg_register_event_handler('pagesetup', 'system', 'wet4_theme_pagesetup', 1000); elgg_register_event_handler('pagesetup', 'system', 'wet4_riverItem_remove'); elgg_register_event_handler('pagesetup', 'system', 'messages_notifier'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_elgg_entity_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', 'wet4_elgg_river_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_likes_entity_menu_setup', 400); //elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_delete_entity_menu', 400); // theme specific CSS elgg_extend_view('css/elgg', 'wet4_theme/css'); //elgg_unextend_view('page/elements/header', 'search/header'); //elgg_extend_view('page/elements/sidebar', 'search/header', 0); elgg_register_plugin_hook_handler('head', 'page', 'wet4_theme_setup_head'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'my_owner_block_handler'); //replace files lost while removing require.js elgg_register_js('elgg/dev', elgg_get_site_url() . 'mod/wet4/views/default/js/elgg/dev.js', 'footer'); elgg_register_js('elgg/reportedcontent', elgg_get_site_url() . 'mod/wet4/views/default/js/elgg/reportedcontent.js', 'footer'); // non-members do not get visible links to RSS feeds if (!elgg_is_logged_in()) { elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); } }
function groupuserpoints_init() { // Register library elgg_register_library('groupuserpoints_library', elgg_get_plugins_path() . 'elggx_groupuserpoints/lib/groupuserpoint.php'); elgg_load_library('groupuserpoints_library'); elgg_register_plugin_hook_handler('expirationdate:expire_entity', 'all', 'elggx_groupuserpoints_expire'); elgg_extend_view('css/elgg', 'elggx_groupuserpoints/css'); elgg_extend_view('icon/user/default', 'elggx_groupuserpoints/icon'); //elgg_register_widget_type('topgrouppoints', elgg_echo('elggx_groupuserpoints:toppoints'), elgg_echo('elggx_groupuserpoints:widget:toppoints:info')); //elgg_register_widget_type('index_topgrouppoints', elgg_echo('elggx_groupuserpoints:toppoints'), elgg_echo('elggx_groupuserpoints:toppoints'), array('index')); // Hooks for awarding points //elgg_register_plugin_hook_handler('action', 'invitefriends/invite', 'elggx_groupuserpoints_invite'); //elgg_register_plugin_hook_handler('action', 'groups/invite', 'elggx_groupuserpoints_invite'); elgg_register_plugin_hook_handler('action', 'likes/add', 'elggx_groupuserpoints_like'); elgg_register_plugin_hook_handler('action', 'poll/vote', 'elggx_groupuserpoints_vote'); elgg_register_plugin_hook_handler('action', 'recommendations/new', 'elggx_groupuserpoints_recommendations'); elgg_register_plugin_hook_handler('action', 'recommendations/approve', 'elggx_groupuserpoints_recommendations'); elgg_register_event_handler('create', 'object', 'elggx_groupuserpoints_object'); elgg_register_event_handler('delete', 'object', 'elggx_groupuserpoints_object'); elgg_register_event_handler('delete', 'entity', 'elggx_groupuserpoints_object'); elgg_register_event_handler('create', 'annotation', 'elggx_groupuserpoints_annotate_create'); elgg_register_event_handler('create', 'group', 'elggx_groupuserpoints_group'); elgg_register_event_handler('delete', 'group', 'elggx_groupuserpoints_group'); elgg_register_admin_menu_item('administer', 'elggx_groupuserpoints', 'administer_utilities'); // Register actions $base_dir = elgg_get_plugins_path() . 'elggx_groupuserpoints/actions'; elgg_register_action("elggx_groupuserpoints/settings", "{$base_dir}/settings.php", 'admin'); elgg_register_action("elggx_groupuserpoints/delete", "{$base_dir}/delete.php", 'admin'); elgg_register_action("elggx_groupuserpoints/moderate", "{$base_dir}/moderate.php", 'admin'); elgg_register_action("elggx_groupuserpoints/add", "{$base_dir}/add.php", 'admin'); elgg_register_action("elggx_groupuserpoints/scaling", "{$base_dir}/scaling.php", 'admin'); elgg_register_action("elggx_groupuserpoints/reset", "{$base_dir}/reset.php", 'admin'); elgg_register_action("elggx_groupuserpoints/restore", "{$base_dir}/restore.php", 'admin'); elgg_register_action("elggx_groupuserpoints/restore_all", "{$base_dir}/restore_all.php", 'admin'); }
/** * Initialize the GV groups plugin. */ function gvgroups_init() { // override the groups library elgg_register_library('elgg:groups', elgg_get_plugins_path() . "gvgroups/lib/groups.php"); elgg_register_library('elgg:discussion', elgg_get_plugins_path() . 'gvgroups/lib/discussion.php'); // add admin menu elgg_register_admin_menu_item('administer', 'createlocal', 'groups'); elgg_register_admin_menu_item('administer', 'deletelocal', 'groups'); // unregister the sidebar menu (my groups, group that I own, ...) elgg_unregister_event_handler('pagesetup', 'system', 'groups_setup_sidebar_menus'); // add some page handler elgg_register_plugin_hook_handler("route", "groups", "gvgroups_route_groups_handler"); elgg_register_plugin_hook_handler("route", "discussion", "gvgroups_route_discussion_handler"); // override some actions $action_base = elgg_get_plugins_path() . 'gvgroups/actions'; elgg_register_action("gvgroups/edit", "{$action_base}/gvgroups/edit.php"); // register some new actions elgg_register_action("admin/createlocal", "{$action_base}/admin/createlocal.php"); elgg_register_action("admin/deletelocal", "{$action_base}/admin/deletelocal.php"); // add a hook to transform group menu item in a dropdown menu elgg_register_plugin_hook_handler('register', 'menu:site', 'gvgroups_custom_sitemenu_setup'); // add an event handler to add the user in local groups, according to his profile elgg_register_event_handler('profileupdate', 'user', 'gvgroups_profileupdate'); // manage some specific subscribing (town groups) elgg_register_event_handler('create', 'member', 'gvgroups_join_group'); // add "my groups" menu to the topbar elgg_register_menu_item('topbar', array('name' => 'mygroups', 'href' => "groups/member/{$user->username}", 'text' => elgg_echo('gvgroups:mygroups'), 'section' => 'alt')); // extend CSS view elgg_extend_view('css/elgg', 'gvgroups/css'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'gvgroups_entity_menu_setup'); // check groups subscription at login elgg_register_event_handler('login', 'user', 'gvgroups_profileupdate'); }
function backup_tool_init() { //REGISTER ACTIONS elgg_register_action("backup-tool/create", elgg_get_plugins_path() . "backup-tool/actions/create.php", "admin"); elgg_register_action("backup-tool/restore", elgg_get_plugins_path() . "backup-tool/actions/restore.php", "admin"); elgg_register_action("backup-tool/download", elgg_get_plugins_path() . "backup-tool/actions/download.php", "admin"); elgg_register_action("backup-tool/remove", elgg_get_plugins_path() . "backup-tool/actions/remove.php", "admin"); elgg_register_action("backup-tool/ftp-test", elgg_get_plugins_path() . "backup-tool/actions/ftp-test.php", "admin"); elgg_register_action("backup-tool/schedule-settings", elgg_get_plugins_path() . "backup-tool/actions/schedule-settings.php", "admin"); //REGISTER LIBRARY elgg_register_library("backup_tool", elgg_get_plugins_path() . "backup-tool/lib/backup-tool.php"); //EXTEND VIEW elgg_extend_view('js/elgg', 'backup-tool/js'); //register cron jobs only if schedule was enabled if (elgg_get_plugin_setting('enable_schedule', 'backup-tool')) { $schedule_period = elgg_get_plugin_setting('schedule_period', 'backup-tool'); $schedule_delete = elgg_get_plugin_setting('schedule_delete', 'backup-tool'); if ($schedule_period != "never") { // Register cron hook for creating backup elgg_register_plugin_hook_handler('cron', $schedule_period, 'backup_tool_cron'); } if ($schedule_delete != 'never') { // Register cron hook for deletion of selected archived logs elgg_register_plugin_hook_handler('cron', 'daily', 'backup_tool_cleanup_cron'); } } //register view of dialog of backup creation elgg_register_ajax_view('backup-tool/create-backup'); }
function facebook_api_init() { global $CONFIG; $base = elgg_get_plugins_path() . 'facebook_api'; elgg_register_library('facebook', "{$base}/vendors/facebookoauth/src/facebook.php"); elgg_register_library('facebook_api', "{$base}/lib/facebook_api.php"); elgg_load_library('facebook_api'); elgg_extend_view('css/elgg', 'facebook_api/css'); // sign on with facebook if (facebook_api_allow_sign_on_with_facebook()) { elgg_extend_view('login/extend', 'facebook_api/login'); } // register page handler elgg_register_page_handler('facebook_api', 'facebook_api_pagehandler'); // allow plugin authors to hook into this service elgg_register_plugin_hook_handler('post', 'facebook_service', 'facebookservice_post'); elgg_register_plugin_hook_handler('viewnote', 'facebook_service', 'facebookservice_viewnote'); elgg_register_plugin_hook_handler('postnote', 'facebook_service', 'facebookservice_postnote'); elgg_register_plugin_hook_handler('viewwall', 'facebook_service', 'facebookservice_viewwall'); elgg_register_plugin_hook_handler('viewstatus', 'facebook_service', 'facebookservice_viewstatus'); elgg_register_plugin_hook_handler('viewfeed', 'facebook_service', 'facebookservice_viewfeed'); elgg_register_plugin_hook_handler('viewfeedgraph', 'facebook_service', 'facebookservice_viewfeedgraph'); elgg_register_plugin_hook_handler('viewcomment', 'facebook_service', 'facebookservice_viewcomment'); elgg_register_plugin_hook_handler('viewusername', 'facebook_service', 'facebookservice_viewusername'); elgg_register_plugin_hook_handler('viewlike', 'facebook_service', 'facebookservice_viewlike'); elgg_register_plugin_hook_handler('postcomment', 'facebook_service', 'facebookservice_postcomment'); elgg_register_plugin_hook_handler('postlike', 'facebook_service', 'facebookservice_postlike'); elgg_register_plugin_hook_handler('friendrequest', 'facebook_service', 'facebookservice_friendrequest'); }
/** * 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); } }
function gnusocial_api_init() { // require libraries $base = elgg_get_plugins_path() . 'gnusocial_api'; elgg_register_class('GNUSocialOAuth', "{$base}/vendors/gnusocialoauth/gnusocialOAuth.php"); elgg_register_library('gnusocial_api', "{$base}/lib/gnusocial_api.php"); elgg_load_library('gnusocial_api'); // extend site views //elgg_extend_view('metatags', 'gnusocial_api/metatags'); elgg_extend_view('css/elgg', 'gnusocial_api/css'); elgg_extend_view('css/admin', 'gnusocial_api/css'); elgg_extend_view('js/elgg', 'gnusocial_api/js'); // sign on with gnusocial if (gnusocial_api_allow_sign_on_with_gnusocial()) { elgg_extend_view('login/extend', 'gnusocial_api/login'); } // register page handler elgg_register_page_handler('gnusocial_api', 'gnusocial_api_pagehandler'); // backward compatibility elgg_register_page_handler('gnusocialservice', 'gnusocial_api_pagehandler_deprecated'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'gnusocial_api_public_pages'); // push wire post messages to gnusocial if (elgg_get_plugin_setting('wire_posts', 'gnusocial_api') == 'yes') { elgg_register_plugin_hook_handler('status', 'user', 'gnusocial_api_tweet'); } $actions = dirname(__FILE__) . '/actions/gnusocial_api'; elgg_register_action('gnusocial_api/interstitial_settings', "{$actions}/interstitial_settings.php", 'logged_in'); }
function staticsites_init() { // Register backbone elgg_register_library('elgg:backbone', elgg_get_plugins_path() . 'staticsites/lib/backbone/backbone.php'); elgg_load_library('elgg:backbone'); elgg_register_library('elgg:staticsites', elgg_get_plugins_path() . 'staticsites/lib/staticsites.php'); elgg_load_library('elgg:staticsites'); // Include plugin vendors require elgg_get_plugins_path() . 'staticsites/vendor/autoload.php'; // Static sites CSS elgg_extend_view('css/elgg', 'css/staticsites/css'); // Register underscore with requirejs (and elgg) elgg_define_js('underscore', array('src' => 'mod/staticsites/vendors/underscore-min.js', 'location' => 'footer', 'exports' => '_')); // Register backbone with requirejs (and elgg) elgg_define_js('backbone', array('src' => 'mod/staticsites/vendors/backbone-min.js', 'location' => 'footer', 'deps' => array('jquery'), 'exports' => 'Backbone')); // Alloy Editor elgg_define_js('alloyEditor', array('src' => 'mod/staticsites/vendors/alloy-editor/alloy-editor-all-min.js', 'location' => 'footer', 'exports' => 'AlloyEditor')); // Alloy Editor CSS elgg_register_css('alloyeditor', 'mod/staticsites/vendors/alloy-editor/assets/alloy-editor-ocean-min.css'); elgg_load_css('alloyeditor'); // Set up group admin tools menu elgg_register_plugin_hook_handler('register', 'menu:groups:admin', 'staticsites_groups_admin_menu_setup'); // Register main page handler elgg_register_page_handler('staticsites', 'staticsites_page_handler'); // Actions $action_base = elgg_get_plugins_path() . "staticsites/actions/staticsites"; elgg_register_action('staticsites/save_page', "{$action_base}/save_page.php"); elgg_register_action('staticsites/delete_page', "{$action_base}/delete_page.php"); // Whitelist template dir for ajax loads backbone_whitelist_templates(elgg_get_plugins_path() . 'staticsites/views/default/staticsites/templates/'); }
/** * 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 twitter_api_init() { // require libraries $base = __DIR__; elgg_register_class('TwitterOAuth', "{$base}/vendors/twitteroauth/twitterOAuth.php"); elgg_register_library('twitter_api', "{$base}/lib/twitter_api.php"); elgg_load_library('twitter_api'); // extend site views //elgg_extend_view('metatags', 'twitter_api/metatags'); elgg_extend_view('elgg.css', 'twitter_api/css'); elgg_extend_view('admin.css', 'twitter_api/css'); elgg_extend_view('elgg.js', 'twitter_api/js'); // sign on with twitter if (twitter_api_allow_sign_on_with_twitter()) { elgg_extend_view('login/extend', 'twitter_api/login'); } // register page handler elgg_register_page_handler('twitter_api', 'twitter_api_pagehandler'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitter_api_public_pages'); // push wire post messages to twitter if (elgg_get_plugin_setting('wire_posts', 'twitter_api') == 'yes') { elgg_register_plugin_hook_handler('status', 'user', 'twitter_api_tweet'); } }
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 hj_framework_init() { $path_libraries = elgg_get_root_path() . 'mod/hypeFramework/lib/'; elgg_register_library('framework:base', $path_libraries . 'base.php'); elgg_load_library('framework:base'); hj_framework_check_release('hypeFramework', HYPEFRAMEWORK_RELEASE); // Classes elgg_register_classes(elgg_get_root_path() . 'mod/hypeFramework/classes/'); // Libraries $libraries = array('forms', 'page_handlers', 'actions', 'assets', 'views', 'ajax', 'menus', 'files', 'lists', 'hierarchies', 'location', 'knowledge', 'deprecated'); foreach ($libraries as $lib) { $path = "{$path_libraries}{$lib}.php"; if (file_exists($path)) { elgg_register_library("framework:library:{$lib}", $path); elgg_load_library("framework:library:{$lib}"); } } // Vendor Libraries // DomPDF library is not included by default // Download and unzip to vendors/dompdf $dompdf = elgg_get_root_path() . 'mod/hypeFramework/vendors/dompdf/dompdf_config.inc.php'; if (file_exists($dompdf)) { elgg_register_library('framework:dompdf', $dompdf); } }
function twitter_api_init() { // require libraries $base = elgg_get_plugins_path() . 'twitter_api'; elgg_register_class('TwitterOAuth', "{$base}/vendors/twitteroauth/twitterOAuth.php"); elgg_register_library('twitter_api', "{$base}/lib/twitter_api.php"); elgg_load_library('twitter_api'); // extend site views //elgg_extend_view('metatags', 'twitter_api/metatags'); elgg_extend_view('css/elgg', 'twitter_api/css'); elgg_extend_view('css/admin', 'twitter_api/css'); // sign on with twitter if (twitter_api_allow_sign_on_with_twitter()) { elgg_extend_view('login/extend', 'twitter_api/login'); } // register page handler elgg_register_page_handler('twitter_api', 'twitter_api_pagehandler'); // backward compatibility elgg_register_page_handler('twitterservice', 'twitter_api_pagehandler_deprecated'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitter_api_public_pages'); // push status messages to twitter elgg_register_plugin_hook_handler('status', 'user', 'twitter_api_tweet'); $actions = dirname(__FILE__) . '/actions/twitter_api'; elgg_register_action('twitter_api/interstitial_settings', "{$actions}/interstitial_settings.php", 'logged_in'); }
/** * Called on the 'init' 'system' event * * @return void */ function simplesaml_init() { // load libraries elgg_load_library("simplesamlphp"); require_once dirname(__FILE__) . "/lib/events.php"; require_once dirname(__FILE__) . "/lib/functions.php"; require_once dirname(__FILE__) . "/lib/hooks.php"; require_once dirname(__FILE__) . "/lib/page_handlers.php"; // check for force authentication elgg_extend_view("page/default", "simplesaml/force_authentication", 200); elgg_extend_view("page/walled_garden", "simplesaml/force_authentication", 200); elgg_register_library("pgregg.ipcheck", dirname(__FILE__) . "/vendors/pgregg/ip_check.php"); // extend CSS/JS elgg_extend_view("js/admin", "js/simplesaml/admin"); // allow login elgg_extend_view("forms/login", "simplesaml/login"); // register page_handler for nice URL's elgg_register_page_handler("saml", "simplesaml_page_handler"); // register widgets elgg_register_widget_type("simplesaml", elgg_echo("login"), elgg_echo("simplesaml:widget:description"), "index", true); // register events elgg_register_event_handler("login", "user", "simplesaml_login_event_handler"); // register plugin hooks elgg_register_plugin_hook_handler("public_pages", "walled_garden", "simplesaml_walled_garden_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "simplesaml_widget_url_hook"); elgg_register_plugin_hook_handler("setting", "plugin", "simplesaml_plugin_setting_save_hook"); elgg_register_plugin_hook_handler("action", "logout", "simplesaml_logout_action_hook"); // register actions elgg_register_action("simplesaml/register", dirname(__FILE__) . "/actions/register.php", "public"); elgg_register_action("simplesaml/unlink", dirname(__FILE__) . "/actions/unlink.php"); }
/** * 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 digest_init() { // extend css elgg_extend_view("css/elgg", "css/digest/site"); elgg_extend_view("css/admin", "css/digest/admin"); // register page handler for nice url's elgg_register_page_handler("digest", "digest_page_handler"); // extend register with subscribe option elgg_extend_view("register/extend", "digest/register"); // extend groups edit screen elgg_extend_view("groups/edit", "digest/groupsettings/form", 400); // register plugin hooks elgg_register_plugin_hook_handler("register", "user", "digest_register_user_hook"); elgg_register_plugin_hook_handler("cron", "daily", "digest_cron_handler"); elgg_register_plugin_hook_handler("public_pages", "walled_garden", "digest_walled_garden_hook"); // register events elgg_register_event_handler("leave", "group", "digest_group_leave_event"); // register actions elgg_register_action("digest/settings/save", dirname(__FILE__) . "/actions/settings/save.php", "admin"); elgg_register_action("digest/reset_stats", dirname(__FILE__) . "/actions/reset_stats.php", "admin"); elgg_register_action("digest/update/usersettings", dirname(__FILE__) . "/actions/update/usersettings.php"); elgg_register_action("digest/update/groupsettings", dirname(__FILE__) . "/actions/update/groupsettings.php"); // register html converter library elgg_register_library("emogrifier", dirname(__FILE__) . "/vendors/emogrifier/emogrifier.php"); }
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 openid_api_init() { $dir = elgg_get_plugins_path() . 'openid_api/lib'; elgg_register_library('openid_consumer', "{$dir}/openid_consumer.php"); elgg_register_library('openid_server', "{$dir}/openid_server.php"); elgg_register_plugin_hook_handler('cron', 'daily', 'openid_api_cleanup'); }