Beispiel #1
0
/**
 * 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');
}
Beispiel #2
0
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');
}
Beispiel #3
0
/**
 *
 * 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');
}
Beispiel #4
0
/**
 * 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");
}
Beispiel #5
0
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');
}
Beispiel #6
0
/**
 * 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');
}
Beispiel #7
0
/**
 * 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');
}
Beispiel #8
0
/**
 * 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';
}
Beispiel #9
0
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");
}
Beispiel #10
0
/**
 * 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'));
}
Beispiel #11
0
/**
 * Vouchers plugin initialization functions.
 */
function vouchers_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:vouchers', elgg_get_plugins_path() . 'vouchers/lib/vouchers.php');
    // Register subtype
    run_function_once('vouchers_manager_run_once_subtypes');
    // Register entity_type for search
    elgg_register_entity_type('object', Voucher::SUBTYPE);
    // Site navigation
    $item = new ElggMenuItem('vouchers', elgg_echo('vouchers:menu'), 'vouchers/all');
    elgg_register_menu_item('site', $item);
    // Extend CSS
    elgg_extend_view('css/elgg', 'vouchers/css');
    elgg_register_css('vouchers_tooltip_css', '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css');
    // Extend js
    elgg_register_js('vouchersjs', elgg_get_site_url() . 'mod/vouchers/assets/vouchers.js');
    elgg_register_js('vouchers_tooltip_js', '//code.jquery.com/ui/1.11.1/jquery-ui.js');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('vouchers', 'vouchers_page_handler');
    // Register a URL handler for voucher
    $release = get_version(true);
    // Register a URL handler for agora
    if ($release < 1.9) {
        // version 1.8
        elgg_register_entity_url_handler('object', 'vouchers', 'voucher_url');
    } else {
        // use this since Elgg 1.9
        elgg_register_plugin_hook_handler('entity:url', 'object', 'vouchers_set_url');
    }
    // Register menu item to an ownerblock
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'vouchers_owner_block_menu');
    // Register admin transaction log menu under "Utilities"
    elgg_register_admin_menu_item('administer', 'vouchers_transactions_log', 'administer_utilities');
    // register plugin hooks
    elgg_register_plugin_hook_handler("public_pages", "walled_garden", "vouchers_walled_garden_hook");
    // Register actions
    $action_path = elgg_get_plugins_path() . 'vouchers/actions';
    elgg_register_action("vouchers/addvoucher", "{$action_path}/addvoucher.php");
    elgg_register_action("vouchers/delete", "{$action_path}/delvoucher.php");
    elgg_register_action("vouchers/set_featured", "{$action_path}/vouchers/set_featured.php");
    // set a voucher post as featured
    elgg_register_action("vouchers/unset_featured", "{$action_path}/vouchers/unset_featured.php");
    // unset a voucher post from featured
    elgg_register_action("vouchers/get_with_points", "{$action_path}/vouchers/get_with_points.php");
    // voucher purchase with points only
    elgg_register_action('vouchers/be_interested', "{$action_path}/be_interested.php");
    // send interest
    elgg_register_action("vouchers/usersettings", "{$action_path}/usersettings.php");
    // save user settings
    // extend group main page
    elgg_extend_view('groups/tool_latest', 'vouchers/group_module');
    //elgg_extend_view("print", "printpreview/pageshell/pageshell");
    // add the group vouchers tool option
    add_group_tool_option('vouchers', elgg_echo('vouchers:group:enablevouchers'), true);
    // Add vouchers widgets
    elgg_register_widget_type('vouchers', elgg_echo('vouchers:widget'), elgg_echo('vouchers:widget:description'), 'profile,groups,dashboard');
    // member's voucher posts
    elgg_register_widget_type('vouchers_featured', elgg_echo('vouchers:widget:featured'), elgg_echo('vouchers:widget:featured:description'), 'dashboard');
    // featured vouchers for dashboard
}
Beispiel #12
0
/**
 * 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');
}
Beispiel #13
0
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');
    }
}
Beispiel #14
0
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');
}
Beispiel #15
0
/**
 * 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');
}
Beispiel #16
0
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');
}
Beispiel #17
0
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');
}
Beispiel #18
0
/**
 * video init
 */
function videos_init()
{
    $root = dirname(__FILE__);
    elgg_register_library('elgg:videos', elgg_get_plugins_path() . 'videos/lib/videos.php');
    // For now we can use the embed video library of Cash. Once that plugin is updated to 1.8
    // we can use the elgg's manifest file to make the users use that library along with this
    // and remove the library from this plugin
    // V1.4 Added support for https in Cash's library
    elgg_register_library('elgg:videos:embed', elgg_get_plugins_path() . 'videos/lib/embed_video.php');
    elgg_register_library('elgg:youtube_api', elgg_get_plugins_path() . 'videos/lib/youtube_functions.php');
    $action_path = "{$root}/actions/videos";
    elgg_register_action('videos/save', "{$action_path}/save.php");
    elgg_register_action('videos/delete', "{$action_path}/delete.php");
    elgg_register_menu_item('site', array('name' => 'videos', 'text' => elgg_echo('videos'), 'href' => 'videos/all'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videos_owner_block_menu');
    elgg_register_page_handler('videos', 'videos_page_handler');
    elgg_extend_view('css/elgg', 'videos/css');
    elgg_register_widget_type('videos', elgg_echo('videos'), elgg_echo('videos:widget:description'));
    register_notification_object('object', 'videos', elgg_echo('videos:new'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videos_notify_message');
    elgg_register_entity_url_handler('object', 'videos', 'video_url');
    elgg_register_entity_type('object', 'videos');
    add_group_tool_option('videos', elgg_echo('videos:enablevideos'), true);
    elgg_extend_view('groups/tool_latest', 'videos/group_module');
    $views = array('output/longtext', 'output/plaintext');
    foreach ($views as $view) {
        elgg_register_plugin_hook_handler("view", $view, "videos_view_filter", 500);
    }
}
Beispiel #19
0
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');
}
Beispiel #20
0
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/');
}
Beispiel #21
0
/**
 * Bookmark init
 */
function bookmarks_init()
{
    $root = dirname(__FILE__);
    elgg_register_library('elgg:bookmarks', "{$root}/lib/bookmarks.php");
    // actions
    $action_path = "{$root}/actions/bookmarks";
    elgg_register_action('bookmarks/save', "{$action_path}/save.php");
    elgg_register_action('bookmarks/delete', "{$action_path}/delete.php");
    elgg_register_action('bookmarks/share', "{$action_path}/share.php");
    // menus
    elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => 'bookmarks/all'));
    elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu');
    elgg_register_page_handler('bookmarks', 'bookmarks_page_handler');
    elgg_extend_view('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');
}
Beispiel #22
0
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');
    }
}
Beispiel #23
0
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");
}
Beispiel #24
0
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);
    }
}
Beispiel #25
0
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');
}
Beispiel #26
0
/**
 * 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");
}
Beispiel #27
0
/**
 * Bookmark init
 */
function bookmarks_init()
{
    $root = dirname(__FILE__);
    elgg_register_library('elgg:bookmarks', "{$root}/lib/bookmarks.php");
    // actions
    $action_path = "{$root}/actions/bookmarks";
    elgg_register_action('bookmarks/save', "{$action_path}/save.php");
    elgg_register_action('bookmarks/delete', "{$action_path}/delete.php");
    elgg_register_action('bookmarks/share', "{$action_path}/share.php");
    // menus
    elgg_register_menu_item('site', array('name' => 'bookmarks', 'text' => elgg_echo('bookmarks'), 'href' => 'bookmarks/all'));
    elgg_register_plugin_hook_handler('register', 'menu:page', 'bookmarks_page_menu');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu');
    elgg_register_page_handler('bookmarks', 'bookmarks_page_handler');
    elgg_extend_view('elgg.css', 'bookmarks/css');
    elgg_extend_view('elgg.js', 'bookmarks/js');
    elgg_register_widget_type('bookmarks', elgg_echo('bookmarks'), elgg_echo('bookmarks:widget:description'));
    if (elgg_is_logged_in()) {
        $user_guid = elgg_get_logged_in_user_guid();
        $address = urlencode(current_page_url());
        elgg_register_menu_item('extras', array('name' => 'bookmark', 'text' => elgg_view_icon('push-pin-alt'), 'href' => "bookmarks/add/{$user_guid}?address={$address}", 'title' => elgg_echo('bookmarks:this'), 'rel' => 'nofollow'));
    }
    // Register for notifications
    elgg_register_notification_event('object', 'bookmarks', array('create'));
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:bookmarks', 'bookmarks_prepare_notification');
    // Register bookmarks view for ecml parsing
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'bookmarks_ecml_views_hook');
    // Register a URL handler for bookmarks
    elgg_register_plugin_hook_handler('entity:url', 'object', 'bookmark_set_url');
    // Register entity type for search
    elgg_register_entity_type('object', 'bookmarks');
    // Groups
    add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true);
    elgg_extend_view('groups/tool_latest', 'bookmarks/group_module');
}
Beispiel #28
0
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");
}
Beispiel #29
0
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');
}
Beispiel #30
0
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');
}