Example #1
0
function live_notifications()
{
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('live_notifications', 'live_notifications_page_handler');
    elgg_register_event_handler('pagesetup', 'system', 'live_notifications_notifier');
    elgg_register_event_handler('pagesetup', 'system', 'live_notifications_plugin_pagesetup');
    // Extend system CSS with our own styles
    elgg_extend_view('css/elgg', 'live_notifications/css');
    elgg_extend_view('page/elements/topbar', 'live_notifications/popup');
    elgg_extend_view('js/elgg', 'live_notifications/js/live_notifications.init.js');
    elgg_register_entity_type('object', 'notification');
    //disable message notifications site,
    //Comment this line if you want to receive also default site notifications
    unregister_notification_handler("site");
    //Cron to remove old notifications two week ago
    elgg_register_plugin_hook_handler('cron', 'daily', 'live_notifications_cron');
    //Extend add_to_river function for catch a event and create notification
    elgg_register_plugin_hook_handler('creating', 'river', 'catch_add_to_river_event');
    elgg_register_plugin_hook_handler("action", "likes/add", "likes_notification_action");
    //Actions
    $actions_base = elgg_get_plugins_path() . 'live_notifications/actions';
    elgg_register_action('live_notifications/refresh_count', "{$actions_base}/refresh_count.php");
    elgg_register_action('live_notifications/read_all', "{$actions_base}/read_all.php");
    elgg_register_action('live_notifications/delete', "{$actions_base}/delete.php");
    elgg_register_action('live_notifications/delete_all', "{$actions_base}/delete_all.php");
}
Example #2
0
File: start.php Project: elgg/elgg
/**
 * The Wire initialization
 */
function thewire_init()
{
    // register the wire's JavaScript
    $thewire_js = elgg_get_simplecache_url('thewire.js');
    elgg_register_js('elgg.thewire', $thewire_js, 'footer');
    elgg_register_ajax_view('thewire/previous');
    // add a site navigation item
    $item = new ElggMenuItem('thewire', elgg_echo('thewire'), 'thewire/all');
    elgg_register_menu_item('site', $item);
    // owner block menu
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'thewire_owner_block_menu');
    // remove edit and access and add thread, reply, view previous
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'thewire_setup_entity_menu_items');
    // Extend system CSS with our own styles, which are defined in the thewire/css view
    elgg_extend_view('elgg.css', 'thewire/css');
    // Add a user's latest wire post to profile
    elgg_extend_view('profile/status', 'thewire/profile_status');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('thewire', 'thewire_page_handler');
    // Register a URL handler for thewire posts
    elgg_register_plugin_hook_handler('entity:url', 'object', 'thewire_set_url');
    // Register for search
    elgg_register_entity_type('object', 'thewire');
    // Register for notifications
    elgg_register_notification_event('object', 'thewire');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:thewire', 'thewire_prepare_notification');
    elgg_register_plugin_hook_handler('get', 'subscriptions', 'thewire_add_original_poster');
    // allow to be liked
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:thewire', 'Elgg\\Values::getTrue');
    elgg_register_plugin_hook_handler('unit_test', 'system', 'thewire_test');
}
Example #3
0
File: start.php Project: elgg/elgg
/**
 * 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');
}
Example #4
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');
}
Example #5
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);
    }
}
Example #6
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');
}
Example #7
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');
}
Example #8
0
/**
 * The Wire initialization
 */
function thewire_init()
{
    // register the wire's JavaScript
    $thewire_js = elgg_get_simplecache_url('js', 'thewire');
    elgg_register_js('elgg.thewire', $thewire_js, 'footer');
    elgg_register_ajax_view('thewire/previous');
    // add a site navigation item
    $item = new ElggMenuItem('thewire', elgg_echo('thewire'), 'thewire/all');
    elgg_register_menu_item('site', $item);
    // owner block menu
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'thewire_owner_block_menu');
    // remove edit and access and add thread, reply, view previous
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'thewire_setup_entity_menu_items');
    // Extend system CSS with our own styles, which are defined in the thewire/css view
    elgg_extend_view('css/elgg', 'thewire/css');
    // Add a user's latest wire post to profile
    elgg_extend_view('profile/status', 'thewire/profile_status');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('thewire', 'thewire_page_handler');
    // Register a URL handler for thewire posts
    elgg_register_plugin_hook_handler('entity:url', 'object', 'thewire_set_url');
    elgg_register_widget_type('thewire', elgg_echo('thewire'), elgg_echo("thewire:widget:desc"));
    // Register for search
    elgg_register_entity_type('object', 'thewire');
    // Register for notifications
    elgg_register_notification_event('object', 'thewire');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:thewire', 'thewire_prepare_notification');
    elgg_register_plugin_hook_handler('get', 'subscriptions', 'thewire_add_original_poster');
    // Register actions
    $action_base = elgg_get_plugins_path() . 'thewire/actions';
    elgg_register_action("thewire/add", "{$action_base}/add.php");
    elgg_register_action("thewire/delete", "{$action_base}/delete.php");
    elgg_register_plugin_hook_handler('unit_test', 'system', 'thewire_test');
    elgg_register_event_handler('upgrade', 'system', 'thewire_run_upgrades');
}
Example #9
0
function event_manager_init()
{
    // Register subtype
    run_function_once("event_manager_run_once_subtypes");
    // Register entity_type for search
    elgg_register_entity_type("object", Event::SUBTYPE);
    elgg_extend_view("css/elgg", "event_manager/css/site");
    elgg_extend_view("js/elgg", "js/event_manager/site");
    elgg_extend_view("page/elements/head", "event_manager/metatags");
    elgg_register_page_handler("events", "event_manager_page_handler");
    // Register granular notification for this type
    register_notification_object("object", Event::SUBTYPE, elgg_echo("event_manager:notification:subject"));
    // Listen to notification events and supply a more useful message
    elgg_register_plugin_hook_handler("notify:entity:message", "object", "event_manager_notify_message");
    // add site menu item
    elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events"));
    // add group tool option
    add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true);
    // add to group profile
    elgg_extend_view("groups/tool_latest", "event_manager/group_module");
    // add widgets
    elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), "index,dashboard,profile,groups");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "event_manager_widget_events_url");
    // register js libraries
    $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager");
    elgg_register_simplecache_view("js/event_manager/googlemaps");
    $em_maps_js = elgg_get_simplecache_url("js", "event_manager/googlemaps");
    elgg_register_js("event_manager.maps.helper", $em_maps_js);
    elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true");
    elgg_register_js("addthisevent", elgg_get_site_url() . "mod/event_manager/vendors/addthisevent/atemay.js");
}
Example #10
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
}
Example #11
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'));
}
function faq_init()
{
    // Extend CSS
    elgg_extend_view("css/elgg", "faq/css");
    if (elgg_get_plugin_setting("publicAvailable", "faq") == "yes" || elgg_is_admin_logged_in()) {
        // Register a page handler, so we can have nice URLs
        elgg_register_page_handler('faq', 'faq_page_handler');
        if (elgg_get_plugin_setting("publicAvailable_sitemenu", "faq") == "yes" || elgg_is_logged_in()) {
            // Add menu item
            elgg_register_menu_item('site', array('name' => elgg_echo("faq:shorttitle"), 'text' => elgg_echo("faq:shorttitle"), 'href' => elgg_get_site_url() . "faq/"));
        }
        if (elgg_get_plugin_setting("publicAvailable_footerlink", "faq") == "yes" || elgg_is_logged_in()) {
            // Add footer link
            faq_setup_footer_menu();
        }
        // Register faq pages as public pages for walled-garden
        elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'faq_public');
        // Register Actions
        $base_dir = elgg_get_plugins_path() . 'faq/actions/faq/';
        elgg_register_action("faq/add", $base_dir . "add.php", "admin");
        elgg_register_action("faq/delete", $base_dir . "delete.php", "admin");
        elgg_register_action("faq/edit", $base_dir . "edit.php", "admin");
        elgg_register_action("faq/search", $base_dir . "search.php", "public");
        elgg_register_action("faq/changeCategory", $base_dir . "changeCategory.php", "admin");
        if (elgg_get_plugin_setting("userQuestions", "faq") == "yes") {
            elgg_register_action("faq/ask", $base_dir . "ask.php", "logged_in");
            elgg_register_action("faq/answer", $base_dir . "answer.php", "admin");
        }
        // Register FAQs for site search
        elgg_register_entity_type("object", "faq");
        elgg_register_plugin_hook_handler('search', 'object:faq', 'faq_search_hook');
    }
}
Example #13
0
/**
 * Initialize the projects plugin.
 *
 */
function surveys_init()
{
    // register a library of helper functions
    elgg_register_library('surveys', elgg_get_plugins_path() . 'surveys/lib/surveys.php');
    elgg_load_library('surveys');
    //register css
    $css_url = 'mod/surveys/css/styles.css';
    elgg_register_css('surveysCss', $css_url);
    elgg_load_css('surveysCss');
    // register a project handler, so we can have nice URLs
    elgg_register_page_handler('surveys', 'surveys_page_handler');
    // register a url handler
    elgg_register_entity_url_handler('object', 'survey', 'surveys_url');
    // register entity type for search
    elgg_register_entity_type('object', 'survey');
    // register some actions
    $action_base = elgg_get_plugins_path() . 'surveys/actions';
    elgg_register_action("surveys/submit", "{$action_base}/submit.php");
    elgg_register_action("surveys/delete", "{$action_base}/delete.php");
    elgg_register_action("surveys/edit", "{$action_base}/edit.php");
    // Language short codes must be of the form "projects:key"
    // where key is the array key below
    elgg_set_config('surveys', array('hear[]' => 'custom_checkbox', 'reason[]' => 'custom_checkbox', 'overall' => 'dropdown', 'speakers' => 'dropdown', 'facilitators' => 'dropdown', 'topics' => 'dropdown', 'structure' => 'dropdown', 'relevance' => 'dropdown', 'venue' => 'dropdown', 'overall_length' => 'dropdown', 'presentations' => 'dropdown', 'breaks' => 'dropdown', 'networking' => 'dropdown', 'groups' => 'dropdown', 'plenaries' => 'dropdown', 'worked' => 'plaintext', 'not_useful' => 'plaintext', 'useful' => 'plaintext', 'willAttend' => 'radio', 'attendExplain' => 'plaintext', 'help' => 'radio', 'helpExplain' => 'plaintext', 'recommend' => 'radio', 'otherDeparts' => 'radio', 'otherDepartsExplain' => 'plaintext', 'usefulDev' => 'radio', 'usefulDevExplain' => 'plaintext', 'suggestion' => 'plaintext', 'final1' => 'radio', 'final2' => 'radio', 'final3' => 'radio', 'final4' => 'radio', 'final5' => 'radio', 'final6' => 'radio', 'final7' => 'radio', 'final8[]' => 'custom_checkbox', 'final9' => 'plaintext', 'final10' => 'text'));
    // register the hook handler
    //elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu');
    // Access permissions
    //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook');
    //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook');
}
Example #14
0
function polls_init()
{
    elgg_register_library('elgg:polls', elgg_get_plugins_path() . 'polls/models/model.php');
    // Set up menu for logged in users
    if (elgg_is_logged_in()) {
        $item = new ElggMenuItem('polls', elgg_echo('polls'), 'polls/owner/' . elgg_get_logged_in_user_entity()->username);
    } else {
        $item = new ElggMenuItem('polls', elgg_echo('poll'), 'polls/all');
    }
    elgg_register_menu_item('site', $item);
    // Extend system CSS with our own styles, which are defined in the polls/css view
    elgg_extend_view('css/elgg', 'polls/css');
    // Extend hover-over menu
    elgg_extend_view('profile/menu/links', 'polls/menu');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('polls', 'polls_page_handler');
    // Register a URL handler for poll posts
    elgg_register_entity_url_handler('object', 'poll', 'polls_url');
    // notifications
    $elgg_version = explode('.', get_version(true));
    if ($elgg_version[1] > 8) {
        $send_notification = elgg_get_plugin_setting('send_notification', 'polls');
        if (!$send_notification || $send_notification != 'no') {
            elgg_register_notification_event('object', 'poll');
            elgg_register_plugin_hook_handler('prepare', 'notification:create:object:poll', 'polls_prepare_notification');
        }
    }
    // add link to owner block
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'polls_owner_block_menu');
    elgg_register_plugin_hook_handler('widget_url', 'widget_manager', 'polls_widget_url_handler');
    // Register entity type
    elgg_register_entity_type('object', 'poll');
    // register the JavaScript
    $js = elgg_get_simplecache_url('js', 'polls/js');
    elgg_register_simplecache_view('js/polls/js');
    elgg_register_js('elgg.polls', $js);
    // add group widget
    $group_polls = elgg_get_plugin_setting('group_polls', 'polls');
    if (!$group_polls || $group_polls != 'no') {
        elgg_extend_view('groups/tool_latest', 'polls/group_module');
    }
    if (!$group_polls || $group_polls == 'yes_default') {
        add_group_tool_option('polls', elgg_echo('polls:enable_polls'), TRUE);
    } else {
        if ($group_polls == 'yes_not_default') {
            add_group_tool_option('polls', elgg_echo('polls:enable_polls'), FALSE);
        }
    }
    //add widgets
    elgg_register_widget_type('poll', elgg_echo('polls:my_widget_title'), elgg_echo('polls:my_widget_description'), "profile,groups");
    elgg_register_widget_type('latestPolls', elgg_echo('polls:latest_widget_title'), elgg_echo('polls:latest_widget_description'), "index,profile,dashboard,groups");
    elgg_register_widget_type('poll_individual', elgg_echo('polls:individual'), elgg_echo('poll_individual_group:widget:description'), "index,profile,dashboard,groups");
    // Register actions
    $action_path = elgg_get_plugins_path() . 'polls/actions/polls';
    elgg_register_action("polls/add", "{$action_path}/add.php");
    elgg_register_action("polls/edit", "{$action_path}/edit.php");
    elgg_register_action("polls/delete", "{$action_path}/delete.php");
    elgg_register_action("polls/vote", "{$action_path}/vote.php");
}
Example #15
0
function simplekaltura_init()
{
    $plugin_root = dirname(__FILE__);
    elgg_register_library('simplekaltura', "{$plugin_root}/lib/simplekaltura_lib.php");
    elgg_register_library('KalturaClient', "{$plugin_root}/vendors/kaltura_client/KalturaClient.php");
    elgg_load_library('simplekaltura');
    // helper libs
    $libs = array('swfobject', 'html5', 'utility', 'thumbs');
    foreach ($libs as $lib) {
        $url = elgg_get_simplecache_url('js', "simplekaltura/{$lib}");
        elgg_register_js("simplekaltura:{$lib}", $url);
    }
    // Register SKUploader
    elgg_register_external_view('js/simplekaltura/SKUploader.js', TRUE);
    // Include html5 js library
    elgg_load_js('simplekaltura:html5');
    elgg_load_js('simplekaltura:utility');
    elgg_extend_view('css/elgg', 'simplekaltura/css');
    // If plugin is properly configured
    if (simplekaltura_is_configured()) {
        // Add to main menu
        $item = new ElggMenuItem('simplekaltura', elgg_get_plugin_setting('kaltura_entity_title', 'simplekaltura'), 'videos');
        elgg_register_menu_item('site', $item);
        // Register page handler
        elgg_register_page_handler('videos', 'simplekaltura_page_handler');
    } else {
        elgg_add_admin_notice('simpkaltura_not_configured', elgg_echo('simplekaltura:error:pluginnotconfigured'));
    }
    // add the group pages tool option
    add_group_tool_option('simplekaltura', elgg_echo('groups:enablesimplekaltura'), TRUE);
    // Profile block hook
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'simplekaltura_owner_block_menu');
    // Modify entity menu for addional video items
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'simplekaltura_setup_entity_menu');
    // notifications
    elgg_register_notification_event('object', 'simplekaltura_video', array('create'));
    elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:simplekaltura_video', 'simplekaltura_prepare_notification');
    // actions
    $actions_root = "{$plugin_root}/actions/simplekaltura";
    elgg_register_action('simplekaltura/save', "{$actions_root}/save.php");
    elgg_register_action('simplekaltura/update', "{$actions_root}/update.php");
    elgg_register_action('simplekaltura/get_embed', "{$actions_root}/get_embed.php");
    elgg_register_action('simplekaltura/featured', "{$actions_root}/featured.php", 'admin');
    elgg_register_action('videos/delete', "{$actions_root}/delete.php");
    elgg_register_action('simplekaltura/migrate', "{$actions_root}/migrate.php", 'admin');
    // entity url and icon handlers
    elgg_register_plugin_hook_handler('entity:url', 'object', 'simplekaltura_url_handler');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simplekaltura_icon_url_override');
    // Register type
    elgg_register_entity_type('object', 'simplekaltura_video');
    // register CRON hook to poll video plays/duration/etc..
    elgg_register_plugin_hook_handler('cron', 'fifteenmin', 'simplekaltura_bulk_update');
    // Most Played Sidebar
    elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/featured');
    elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/most_played');
    // Whitelist ajax views
    elgg_register_ajax_view('simplekaltura/popup');
    return TRUE;
}
Example #16
0
function videos_init()
{
    elgg_register_entity_type('object', 'videos');
    elgg_register_page_handler('videos', 'videos_page_handler');
    elgg_register_action('videos/save', dirname(__FILE__) . "/actions/save.php");
    elgg_register_action('videos/delete', dirname(__FILE__) . "/actions/delete.php");
    elgg_register_plugin_hook_handler('container_permissions_check', 'all', 'videos_container_permissions_check');
}
Example #17
0
 /**
  * System init callback
  * @return void
  */
 public function init()
 {
     elgg_register_page_handler($this->router->getPageHandlerId(), array($this->router, 'handlePages'));
     elgg_register_plugin_hook_handler('entity:url', 'object', array($this->hooks, 'urlHandler'));
     elgg_register_entity_type('object', Post::SUBTYPE);
     elgg_extend_view('css/elgg', 'css/framework/wall/stylesheet');
     elgg_extend_view('js/initialize_elgg', 'js/framework/wall/config');
     // AJAX view to load URL previews
     elgg_register_ajax_view('output/wall/url');
     if (\hypeJunction\Integration::isElggVersionBelow('1.9.0')) {
         elgg_load_js('jquery.form');
         elgg_extend_view('js/elgg', 'js/framework/wall/legacy/status');
         // Display wall form
         elgg_extend_view('page/layouts/content/filter', 'framework/wall/container', 100);
         // Notifications
         register_notification_object('object', Post::SUBTYPE, elgg_echo('wall:new:notification:generic'));
         elgg_register_event_handler('publish', 'object', array($this->notifications, 'sendMessageLegacy'));
         elgg_register_plugin_hook_handler('object:notifications', 'object', array($this->notifications, 'disableDefaultHandlerLegacy'));
         elgg_register_plugin_hook_handler('notify:entity:message', 'object', array($this->notifications, 'formatMessageLegacy'));
     } else {
         // Display wall form
         elgg_extend_view('page/layouts/elements/filter', 'framework/wall/container', 100);
         // JS
         elgg_extend_view('js/elgg', 'js/framework/wall/elgg.js');
         // Notifications
         elgg_register_event_handler('publish', 'object', array($this->notifications, 'sendCustomNotifications'));
         elgg_register_notification_event('object', 'hjwall', array('publish'));
         elgg_register_notification_event('object', 'thewire', array('publish'));
         elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:hjwall', array($this->notifications, 'formatMessage'));
         elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:thewire', array($this->notifications, 'formatMessage'));
         elgg_register_plugin_hook_handler('likes:is_likable', 'object:hjwall', 'Elgg\\Values::getTrue');
     }
     $action_path = $this->plugin->getPath() . '/actions/';
     elgg_register_action('wall/status', $action_path . 'wall/status.php');
     elgg_register_action('wall/photo', $action_path . 'wall/status.php');
     elgg_register_action('wall/file', $action_path . 'wall/status.php');
     elgg_register_action('wall/url', $action_path . 'wall/status.php');
     elgg_register_action('wall/content', $action_path . 'wall/status.php');
     elgg_register_action('wall/delete', $action_path . 'wall/delete.php');
     elgg_register_action('wall/remove_tag', $action_path . 'wall/remove_tag.php');
     elgg_register_action('wall/geopositioning/update', $action_path . 'wall/geopositioning/update.php', 'public');
     elgg_register_plugin_hook_handler('container_permissions_check', 'object', array($this->hooks, 'containerPermissionsCheck'));
     elgg_register_plugin_hook_handler('register', 'menu:river', array($this->hooks, 'riverMenuSetup'));
     elgg_register_plugin_hook_handler('register', 'menu:entity', array($this->hooks, 'entityMenuSetup'));
     elgg_register_plugin_hook_handler('register', 'menu:owner_block', array($this->hooks, 'ownerBlockMenuSetup'));
     elgg_register_plugin_hook_handler('register', 'menu:user_hover', array($this->hooks, 'userHoverMenuSetup'));
     elgg_register_plugin_hook_handler('get_views', 'ecml', array($this->hooks, 'getECMLViews'));
     elgg_register_plugin_hook_handler('view', 'object/thewire', array($this->hooks, 'hijackWire'));
     elgg_register_plugin_hook_handler('view', 'river/object/thewire/create', array($this->hooks, 'hijackWireRiver'));
     elgg_register_widget_type('wall', elgg_echo('wall'), elgg_echo('wall:widget:description'));
     add_group_tool_option('wall', elgg_echo('wall:groups:enable'), false);
     elgg_extend_view('groups/tool_latest', 'framework/wall/group_module');
     // Export
     $subtype = Post::SUBTYPE;
     elgg_register_plugin_hook_handler('aliases', 'graph', array($this->hooks, 'getGraphAlias'));
     elgg_register_plugin_hook_handler('graph:properties', "object:{$subtype}", array($this->hooks, 'getPostProperties'));
     // @todo Move graph controller when interface is implemented in hypeApps
 }
Example #18
0
function zhaohu_manager_init()
{
    zhaohu_expose_restapi();
    // owner block menu
    if (elgg_get_viewtype() == 'default') {
        elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'zh_owner_block_menu');
    }
    // remove rss icon
    elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link');
    // Register subtype
    // Register entity_type for search
    elgg_register_entity_type("object", Zhaohu::SUBTYPE);
    elgg_register_entity_type("object", Coupon::SUBTYPE);
    // Extend system CSS with our own styles
    elgg_extend_view("css/elgg", "zhaohu_manager/css/site");
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('zhaohus', 'zhaohu_page_handler');
    elgg_register_page_handler('zhaohu_icon', 'zhaohu_icon_handler');
    // Add a menu item to the main site menu
    elgg_register_menu_item('site', ElggMenuItem::factory(array('name' => 'zhaohu', 'href' => '/zhaohus', 'text' => elgg_echo('zhaohu_manager:zhaohu'))));
    // register default elgg zhaohus
    elgg_register_plugin_hook_handler("register", "menu:entity", "zhaohu_manager_entity_menu", 600);
    //actions
    elgg_register_action("zhaohu/broadcast", dirname(__FILE__) . "/actions/zhaohu/broadcast.php");
    elgg_register_action("zhaohu/invite", dirname(__FILE__) . "/actions/zhaohu/invite.php");
    elgg_register_action("zhaohu_manager/zhaohu/cancel", dirname(__FILE__) . "/actions/zhaohu/cancel.php");
    elgg_register_action("zhaohu_manager/zhaohu/delete", dirname(__FILE__) . "/actions/zhaohu/delete.php");
    elgg_register_action("zhaohu_manager/zhaohu/edit", dirname(__FILE__) . "/actions/zhaohu/edit.php");
    elgg_register_action("zhaohu_manager/zhaohu/feature", dirname(__FILE__) . "/actions/zhaohu/feature.php");
    elgg_register_action("zhaohu_manager/zhaohu/publish", dirname(__FILE__) . "/actions/zhaohu/publish.php");
    elgg_register_action("zhaohu_manager/zhaohu/rsvp", dirname(__FILE__) . "/actions/zhaohu/rsvp.php");
    elgg_register_action("coupon/delete", dirname(__FILE__) . "/actions/coupon/delete.php");
    elgg_register_action("coupon/use", dirname(__FILE__) . "/actions/coupon/use.php");
    elgg_register_action("coupons/gen", dirname(__FILE__) . "/actions/coupons/gen.php");
    elgg_register_action("coupons/send", dirname(__FILE__) . "/actions/coupons/send.php");
    // add widgets
    //elgg_register_widget_type("zhaohus", elgg_echo("zhaohu:widgets:title"), elgg_echo("zhaohu:widgets:description"), "index,dashboard,profile,groups");
    //elgg_register_plugin_hook_handler("widget_url", "widget_manager", "zhaohu_manager_widget_zhaohus_url");
    // register js libraries
    //$maps_key = elgg_get_plugin_setting("google_api_key", "zhaohu_manager");
    $maps_key = "";
    elgg_register_simplecache_view("js/zhaohu_manager/gm_div");
    $gm_div_js = elgg_get_simplecache_url("js", "zhaohu_manager/gm_div");
    elgg_register_js("zhaohu_manager.maps.gm.div", $gm_div_js, 'footer');
    elgg_register_js("zhaohu_manager.maps.base", "//maps.googleapis.com/maps/api/js?sensor=false", 'footer');
    elgg_register_simplecache_view("js/addthisevent/atemin");
    $addthisevent_js = elgg_get_simplecache_url("js", "addthisevent/atemin");
    elgg_register_js("addthisevent.base", $addthisevent_js, 'footer');
    //
    $view_type = elgg_get_viewtype();
    elgg_register_simplecache_view("js/zhaohu_manager/search");
    $search_js = elgg_get_simplecache_url("js", "zhaohu_manager/search");
    elgg_register_js("zhaohu_manager.search", $search_js);
    elgg_register_simplecache_view("js/zhaohu_manager/edit");
    $edit_js = elgg_get_simplecache_url("js", "zhaohu_manager/edit");
    elgg_register_js("zhaohu_manager.edit", $edit_js);
}
Example #19
0
File: start.php Project: pleio/news
function news_init()
{
    elgg_register_entity_type('object', 'news');
    elgg_register_page_handler('news', 'news_page_handler');
    elgg_register_action('news/save', dirname(__FILE__) . "/actions/save.php");
    elgg_register_action('news/delete', dirname(__FILE__) . "/actions/delete.php");
    elgg_register_plugin_hook_handler('container_permissions_check', 'all', 'news_container_permissions_check');
    elgg_extend_view("js/elgg", "js/news/site");
}
Example #20
0
/**
 * This function is called when the Elgg system gets initialized
 *
 * @return void
 */
function newsletter_init()
{
    // register page handler
    elgg_register_page_handler("newsletter", "newsletter_page_handler");
    // Register entity_type for search
    elgg_register_entity_type("object", "newsletter");
    // CSS & JS
    elgg_extend_view("css/elgg", "css/newsletter/site");
    elgg_register_simplecache_view("js/newsletter/embed.js");
    // extend views
    elgg_extend_view("groups/sidebar/my_status", "newsletter/sidebar/subscribe");
    elgg_extend_view("register/extend", "newsletter/register");
    // create group setting
    if (newsletter_is_group_enabled()) {
        add_group_tool_option("newsletter", elgg_echo("newsletter:group:tool_option"), true);
    }
    // widget
    elgg_register_widget_type("newsletter_subscribe", elgg_echo("newsletter:sidebar:subscribe:title"), elgg_echo("newsletter:widget:subscribe:description"), array("index", "groups"));
    // register plugin hooks
    elgg_register_plugin_hook_handler("cron", "hourly", "newsletter_cron_handler");
    elgg_register_plugin_hook_handler("access:collections:write", "all", "newsletter_write_access_handler", 600);
    // needs to be after groups
    elgg_register_plugin_hook_handler("register", "menu:page", "newsletter_register_page_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:newsletter_steps", "newsletter_register_newsletter_steps_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:entity", "newsletter_register_entity_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:owner_block", "newsletter_register_owner_block_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:filter", "newsletter_register_filter_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:newsletter_buttons", "newsletter_register_buttons_menu_handler");
    elgg_register_plugin_hook_handler("register", "menu:longtext", "newsletter_register_longtext_menu_handler");
    elgg_register_plugin_hook_handler("usersettings:save", "user", "newsletter_usersettings_save_handler");
    elgg_register_plugin_hook_handler("register", "user", "newsletter_register_user_handler");
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "newsletter_icon_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "newsletter_widget_url_handler");
    elgg_register_plugin_hook_handler("notification_type_subtype", "tag_tools", "newsletter_tag_tools_notifications");
    // extend public pages
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'newsletter_public_pages');
    // register event handlers
    elgg_register_event_handler("upgrade", "system", "newsletter_upgrade_event_handler");
    elgg_register_event_handler("create", "member_of_site", "newsletter_join_site_event_handler");
    // register actions
    elgg_register_action("newsletter/edit", dirname(__FILE__) . "/actions/edit.php");
    elgg_register_action("newsletter/edit/schedule", dirname(__FILE__) . "/actions/edit/schedule.php");
    elgg_register_action("newsletter/edit/content", dirname(__FILE__) . "/actions/edit/content.php");
    elgg_register_action("newsletter/edit/template", dirname(__FILE__) . "/actions/edit/template.php");
    elgg_register_action("newsletter/edit/template_to_custom", dirname(__FILE__) . "/actions/edit/template_to_custom.php");
    elgg_register_action("newsletter/edit/recipients", dirname(__FILE__) . "/actions/edit/recipients.php");
    elgg_register_action("newsletter/delete", dirname(__FILE__) . "/actions/delete.php");
    elgg_register_action("newsletter/send", dirname(__FILE__) . "/actions/send.php");
    elgg_register_action("newsletter/subscribe", dirname(__FILE__) . "/actions/subscribe.php", "public");
    elgg_register_action("newsletter/unsubscribe", dirname(__FILE__) . "/actions/unsubscribe.php", "public");
    elgg_register_action("newsletter/subscriptions", dirname(__FILE__) . "/actions/subscriptions.php");
    elgg_register_action("newsletter/duplicate", dirname(__FILE__) . "/actions/duplicate.php");
    elgg_register_action("newsletter/preview_mail", dirname(__FILE__) . "/actions/preview_mail.php");
    elgg_register_action("newsletter/template/edit", dirname(__FILE__) . "/actions/template/edit.php");
    elgg_register_action("newsletter/template/delete", dirname(__FILE__) . "/actions/template/delete.php");
}
Example #21
0
/**
 * People init function
 */
function people_init()
{
    // add a site navigation item
    $item = new ElggMenuItem('people', elgg_echo('people:people'), 'people');
    elgg_register_menu_item('site', $item);
    elgg_register_entity_type('object', 'people');
    //
    elgg_register_page_handler('people', 'people_page_handler');
}
Example #22
0
/**
 * This function is called when the Elgg system gets initialized
 *
 * @return void
 */
function newsletter_init()
{
    // register page handler
    elgg_register_page_handler('newsletter', '\\ColdTrick\\Newsletter\\PageHandler::newsletter');
    // Register entity_type for search
    elgg_register_entity_type('object', 'newsletter');
    // CSS & JS
    elgg_extend_view('css/elgg', 'css/newsletter.css');
    elgg_register_simplecache_view('js/newsletter/embed.js');
    // extend views
    elgg_extend_view('groups/sidebar/my_status', 'newsletter/sidebar/subscribe');
    elgg_extend_view('register/extend', 'newsletter/register');
    // create group setting
    if (newsletter_is_group_enabled()) {
        add_group_tool_option('newsletter', elgg_echo('newsletter:group:tool_option'), true);
    }
    // widget
    elgg_register_widget_type('newsletter_subscribe', elgg_echo('newsletter:sidebar:subscribe:title'), elgg_echo('newsletter:widget:subscribe:description'), ['index', 'groups']);
    // register plugin hooks
    elgg_register_plugin_hook_handler('cron', 'hourly', '\\ColdTrick\\Newsletter\\Cron::sendNewsletters');
    elgg_register_plugin_hook_handler('access:collections:write', 'all', '\\ColdTrick\\Newsletter\\Access::writeAccessCollections', 600);
    // needs to be after groups
    elgg_register_plugin_hook_handler('register', 'menu:page', '\\ColdTrick\\Newsletter\\Menus::pageRegister');
    elgg_register_plugin_hook_handler('register', 'menu:newsletter_steps', '\\ColdTrick\\Newsletter\\Menus::newsletterSteps');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '\\ColdTrick\\Newsletter\\Menus::entityRegister');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', '\\ColdTrick\\Newsletter\\Menus::ownerBlockRegister');
    elgg_register_plugin_hook_handler('register', 'menu:filter', '\\ColdTrick\\Newsletter\\Menus::filterRegister');
    elgg_register_plugin_hook_handler('register', 'menu:newsletter_buttons', '\\ColdTrick\\Newsletter\\Menus::newsletterButtonsRegister');
    elgg_register_plugin_hook_handler('register', 'menu:longtext', '\\ColdTrick\\Newsletter\\Menus::longtextRegister');
    elgg_register_plugin_hook_handler('usersettings:save', 'user', '\\ColdTrick\\Newsletter\\User::convertEmailSubscriptionToUserSetting');
    elgg_register_plugin_hook_handler('register', 'user', '\\ColdTrick\\Newsletter\\User::subscribeToSiteNewsletter');
    elgg_register_plugin_hook_handler('widget_url', 'widget_manager', '\\ColdTrick\\Newsletter\\Widgets::widgetURL');
    elgg_register_plugin_hook_handler('notification_type_subtype', 'tag_tools', '\\ColdTrick\\Newsletter\\TagTools::notificationTypeSubtype');
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:' . \Newsletter::SUBTYPE, '\\Elgg\\Values::getTrue');
    // extend public pages
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '\\ColdTrick\\Newsletter\\Site::publicPages');
    // register event handlers
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Newsletter\\Upgrade::urlPostfix');
    elgg_register_event_handler('create', 'relationship', '\\ColdTrick\\Newsletter\\Site::join');
    // register actions
    elgg_register_action('newsletter/edit', dirname(__FILE__) . '/actions/edit.php');
    elgg_register_action('newsletter/edit/schedule', dirname(__FILE__) . '/actions/edit/schedule.php');
    elgg_register_action('newsletter/edit/content', dirname(__FILE__) . '/actions/edit/content.php');
    elgg_register_action('newsletter/edit/template', dirname(__FILE__) . '/actions/edit/template.php');
    elgg_register_action('newsletter/edit/template_to_custom', dirname(__FILE__) . '/actions/edit/template_to_custom.php');
    elgg_register_action('newsletter/edit/recipients', dirname(__FILE__) . '/actions/edit/recipients.php');
    elgg_register_action('newsletter/delete', dirname(__FILE__) . '/actions/delete.php');
    elgg_register_action('newsletter/send', dirname(__FILE__) . '/actions/send.php');
    elgg_register_action('newsletter/subscribe', dirname(__FILE__) . '/actions/subscribe.php', 'public');
    elgg_register_action('newsletter/unsubscribe', dirname(__FILE__) . '/actions/unsubscribe.php', 'public');
    elgg_register_action('newsletter/subscriptions', dirname(__FILE__) . '/actions/subscriptions.php');
    elgg_register_action('newsletter/duplicate', dirname(__FILE__) . '/actions/duplicate.php');
    elgg_register_action('newsletter/preview_mail', dirname(__FILE__) . '/actions/preview_mail.php');
    elgg_register_action('newsletter/template/edit', dirname(__FILE__) . '/actions/template/edit.php');
    elgg_register_action('newsletter/template/delete', dirname(__FILE__) . '/actions/template/delete.php');
}
Example #23
0
/**
 * Init function for this plugin
 *
 * @return void
 */
function event_manager_init()
{
    elgg_register_library("dompdf", dirname(__FILE__) . "/vendors/dompdf/dompdf_config.inc.php");
    // Register entity_type for search
    elgg_register_entity_type("object", Event::SUBTYPE);
    elgg_extend_view("css/elgg", "event_manager/css/site");
    elgg_extend_view("js/elgg", "js/event_manager/site");
    elgg_extend_view("page/elements/head", "event_manager/metatags");
    // notifications
    elgg_register_notification_event('object', Event::SUBTYPE, array('create'));
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Event::SUBTYPE, 'event_manager_prepare_notification');
    // add site menu item
    elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events"));
    // add group tool option
    if (event_manager_groups_enabled()) {
        add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true);
    }
    // add to group profile
    elgg_extend_view("groups/tool_latest", "event_manager/group_module");
    // add widgets
    elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), array("index", "dashboard", "profile", "groups"));
    // register js libraries
    $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager");
    elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true");
    elgg_register_js("addthisevent", "mod/event_manager/vendors/addthisevent/atemay.js");
    // page handlers
    elgg_register_page_handler("events", "event_manager_page_handler");
    // events
    elgg_register_event_handler("update", "object", "event_manager_update_object_handler");
    // hooks
    elgg_register_plugin_hook_handler("register", "menu:user_hover", "event_manager_user_hover_menu");
    elgg_register_plugin_hook_handler("register", "menu:entity", "event_manager_entity_menu", 600);
    elgg_register_plugin_hook_handler("register", "menu:owner_block", "event_manager_owner_block_menu");
    elgg_register_plugin_hook_handler("permissions_check", "object", "event_manager_permissions_check_handler");
    elgg_register_plugin_hook_handler("entity:url", "object", "event_manager_widget_events_url");
    // actions
    elgg_register_action("event_manager/event/edit", dirname(__FILE__) . "/actions/event/edit.php");
    elgg_register_action("event_manager/event/delete", dirname(__FILE__) . "/actions/event/delete.php");
    elgg_register_action("event_manager/event/rsvp", dirname(__FILE__) . "/actions/event/rsvp.php");
    elgg_register_action("event_manager/event/upload", dirname(__FILE__) . "/actions/event/upload.php");
    elgg_register_action("event_manager/event/deletefile", dirname(__FILE__) . "/actions/event/deletefile.php");
    elgg_register_action("event_manager/event/search", dirname(__FILE__) . "/actions/event/search.php");
    elgg_register_action("event_manager/event/unsubscribe", dirname(__FILE__) . "/actions/event/unsubscribe.php", "public");
    elgg_register_action("event_manager/event/unsubscribe_confirm", dirname(__FILE__) . "/actions/event/unsubscribe_confirm.php", "public");
    elgg_register_action("event_manager/event/resend_confirmation", dirname(__FILE__) . "/actions/event/resend_confirmation.php");
    elgg_register_action("event_manager/event/register", dirname(__FILE__) . "/actions/event/register.php", "public");
    elgg_register_action("event_manager/attendees/export", dirname(__FILE__) . "/actions/attendees/export.php");
    elgg_register_action("event_manager/attendees/move_to_attendees", dirname(__FILE__) . "/actions/attendees/move_to_attendees.php");
    elgg_register_action("event_manager/registration/edit", dirname(__FILE__) . "/actions/registration/edit.php");
    elgg_register_action("event_manager/registration/approve", dirname(__FILE__) . "/actions/registration/approve.php");
    elgg_register_action("event_manager/registration/pdf", dirname(__FILE__) . "/actions/registration/pdf.php", "public");
    elgg_register_action("event_manager/registration/confirm", dirname(__FILE__) . "/actions/registration/confirm.php", "public");
    elgg_register_action("event_manager/slot/save", dirname(__FILE__) . "/actions/slot/save.php");
    elgg_register_action("event_manager/slot/delete", dirname(__FILE__) . "/actions/slot/delete.php");
    elgg_register_action("event_manager/day/delete", dirname(__FILE__) . "/actions/day/delete.php");
}
Example #24
0
/**
 * Comments initialization function
 *
 * @return void
 * @access private
 */
function _elgg_comments_init()
{
    elgg_register_entity_type('object', 'comment');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_comment_setup_entity_menu', 900);
    elgg_register_plugin_hook_handler('entity:url', 'object', '_elgg_comment_url_handler');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', '_elgg_comments_container_permissions_override');
    elgg_register_plugin_hook_handler('permissions_check', 'object', '_elgg_comments_permissions_override');
    elgg_register_page_handler('comment', '_elgg_comments_page_handler');
    elgg_register_ajax_view('core/ajax/edit_comment');
}
Example #25
0
/**
 * Initialize the pages plugin.
 *
 */
function pages_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:pages', elgg_get_plugins_path() . 'pages/lib/pages.php');
    $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('pages', 'pages_page_handler');
    // Register a url handler
    elgg_register_entity_url_handler('object', 'page_top', 'pages_url');
    elgg_register_entity_url_handler('object', 'page', 'pages_url');
    elgg_register_annotation_url_handler('page', 'pages_revision_url');
    // Register some actions
    $action_base = elgg_get_plugins_path() . 'pages/actions';
    elgg_register_action("pages/edit", "{$action_base}/pages/edit.php");
    elgg_register_action("pages/delete", "{$action_base}/pages/delete.php");
    elgg_register_action("pages/checkout", "{$action_base}/pages/checkout.php");
    elgg_register_action("pages/checkin", "{$action_base}/pages/checkin.php");
    elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php");
    // Extend the main css view
    elgg_extend_view('css/elgg', 'pages/css');
    // Register javascript needed for sidebar menu
    $js_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.min.js';
    elgg_register_js('jquery-treeview', $js_url);
    $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css';
    elgg_register_css('jquery-treeview', $css_url);
    // Register entity type for search
    elgg_register_entity_type('object', 'page');
    elgg_register_entity_type('object', 'page_top');
    // Register granular notification for this type
    //register_notification_object('object', 'page', elgg_echo('pages:new'));
    //register_notification_object('object', 'page_top', elgg_echo('pages:new'));
    //elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'page_notify_message');
    // add to groups
    add_group_tool_option('pages', elgg_echo('groups:enablepages'), true);
    elgg_extend_view('groups/tool_latest', 'pages/group_module');
    //add a widget
    elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'));
    // Language short codes must be of the form "pages:key"
    // where key is the array key below
    elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup');
    // hook into annotation menu
    //elgg_register_plugin_hook_handler('register', 'menu:annotation', 'pages_annotation_menu_setup');
    // register ecml views to parse
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');
    elgg_register_event_handler('upgrade', 'system', 'pages_run_upgrades');
}
Example #26
0
/**
 * Initialize the pages plugin.
 *
 */
function pages_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:pages', __DIR__ . '/lib/pages.php');
    $item = new ElggMenuItem('pages', elgg_echo('pages'), 'pages/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('pages', 'pages_page_handler');
    // Register a url handler
    elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url');
    elgg_register_plugin_hook_handler('entity:url', 'object', 'pages_set_url');
    elgg_register_plugin_hook_handler('extender:url', 'annotation', 'pages_set_revision_url');
    // Register some actions
    $action_base = __DIR__ . '/actions';
    elgg_register_action("pages/edit", "{$action_base}/pages/edit.php");
    elgg_register_action("pages/delete", "{$action_base}/pages/delete.php");
    elgg_register_action("annotations/page/delete", "{$action_base}/annotations/page/delete.php");
    // Extend the main css view
    elgg_extend_view('elgg.css', 'pages/css');
    elgg_define_js('jquery.treeview', array('src' => '/mod/pages/vendors/jquery-treeview/jquery.treeview.min.js', 'exports' => 'jQuery.fn.treeview', 'deps' => array('jquery')));
    $css_url = 'mod/pages/vendors/jquery-treeview/jquery.treeview.css';
    elgg_register_css('jquery.treeview', $css_url);
    // Register entity type for search
    elgg_register_entity_type('object', 'page');
    elgg_register_entity_type('object', 'page_top');
    // Register for notifications
    elgg_register_notification_event('object', 'page');
    elgg_register_notification_event('object', 'page_top');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page', 'pages_prepare_notification');
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:page_top', 'pages_prepare_notification');
    // add to groups
    add_group_tool_option('pages', elgg_echo('groups:enablepages'), true);
    elgg_extend_view('groups/tool_latest', 'pages/group_module');
    //add a widget
    elgg_register_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'));
    // Language short codes must be of the form "pages:key"
    // where key is the array key below
    elgg_set_config('pages', array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'parent_guid' => 'parent', 'access_id' => 'access', 'write_access_id' => 'write_access'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check');
    elgg_register_plugin_hook_handler('access:collections:write', 'user', 'pages_write_access_options_hook');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'pages_entity_menu_setup');
    // register ecml views to parse
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');
    // allow to be liked
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:page', 'Elgg\\Values::getTrue');
    elgg_register_plugin_hook_handler('likes:is_likable', 'object:page_top', 'Elgg\\Values::getTrue');
    // prevent public write access
    elgg_register_plugin_hook_handler('view_vars', 'input/access', 'pages_write_access_vars');
}
/**
 * Initialize the plugin
 * @return void
 */
function group_subtypes_init()
{
    // Search
    elgg_unregister_entity_type('group', '');
    elgg_unregister_plugin_hook_handler('search', 'group', 'search_groups_hook');
    elgg_register_plugin_hook_handler('search', 'group', 'group_subtypes_search_hook');
    elgg_register_plugin_hook_handler('route', 'groups', 'group_subtypes_route_edit_pages');
    $hooks = _elgg_services()->hooks->getAllHandlers();
    $conf = group_subtypes_get_config();
    $identifiers = array();
    foreach ($conf as $subtype => $options) {
        elgg_register_entity_type('group', $subtype);
        $identifier = elgg_extract('identifier', $options, 'groups');
        if (in_array($identifier, $identifiers)) {
            continue;
        }
        elgg_register_plugin_hook_handler('page_identifier', "group:{$subtype}", 'group_subtypes_page_identifier');
        elgg_register_plugin_hook_handler('list_subtypes', $identifier, 'group_subtypes_list_subtypes');
        if ($identifier !== 'groups') {
            elgg_register_menu_item('site', array('name' => $identifier, 'href' => "{$identifier}/all", 'text' => elgg_echo($identifier)));
            elgg_register_plugin_hook_handler('route', $identifier, 'group_subtypes_router', 1);
            // core doesn't run 'route' hooks on an updated page identifier, so we will register the callback manually
            if (!isset($hooks['route']['groups'])) {
                continue;
            }
            foreach ($hooks['route']['groups'] as $priority => $callbacks) {
                $callbacks = (array) $callbacks;
                foreach ($callbacks as $callback) {
                    elgg_register_plugin_hook_handler('route', $identifier, $callback, $priority);
                }
            }
        }
    }
    elgg_register_plugin_hook_handler('permissions_check:parent', 'group', 'group_subtypes_can_parent');
    // Form hacks
    elgg_register_plugin_hook_handler('action', 'groups/edit', 'group_subtypes_update_fields_config');
    elgg_extend_view('forms/groups/edit', 'forms/groups/edit/subtype');
    elgg_extend_view('forms/groups/edit', 'forms/groups/edit/parent_guid');
    // Group URL
    elgg_register_plugin_hook_handler('entity:url', 'group', 'group_subtypes_rewrite_group_urls');
    // Admin
    elgg_register_admin_menu_item('administer', 'groups', null, 20);
    elgg_register_admin_menu_item('administer', 'subtypes', 'groups', 10);
    elgg_register_action('admin/groups/subtypes/add', __DIR__ . '/actions/admin/groups/subtypes/add.php', 'admin');
    elgg_register_action('admin/groups/subtypes/config', __DIR__ . '/actions/admin/groups/subtypes/config.php', 'admin');
    elgg_register_action('admin/groups/subtypes/change_subtype', __DIR__ . '/actions/admin/groups/subtypes/change_subtype.php', 'admin');
    elgg_extend_view('admin.css', 'forms/admin/groups/subtypes/config.css');
    // Group tools
    if (elgg_is_active_plugin('group_tools')) {
        elgg_unextend_view("groups/edit", "group_tools/group_edit_tabbed", 1);
        elgg_unextend_view("groups/edit", "group_tools/group_edit_tabbed_js", 999999999);
        elgg_extend_view('css/elgg', 'forms/groups/edit/group_tools.css');
    }
}
Example #28
0
/**
 * Initialize the projects plugin.
 *
 */
function projects_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:projects', elgg_get_plugins_path() . 'projects/lib/projects.php');
    elgg_load_library('elgg:projects');
    //register css
    $css_url = 'mod/projects/css/styles.css';
    elgg_register_css('projectsCss', $css_url);
    elgg_load_css('projectsCss');
    // register an elgg menu item
    $item = new ElggMenuItem('projects', elgg_echo('projects'), 'projects/all');
    //elgg_register_menu_item('site', $item);
    // register a project handler, so we can have nice URLs
    elgg_register_page_handler('projects', 'projects_page_handler');
    // register a url handler
    elgg_register_entity_url_handler('object', 'project_top', 'projects_url');
    elgg_register_entity_url_handler('object', 'project', 'projects_url');
    elgg_register_annotation_url_handler('project', 'projects_revision_url');
    // register entity type for search
    elgg_register_entity_type('object', 'project');
    elgg_register_entity_type('object', 'project_top');
    // register some actions
    $action_base = elgg_get_plugins_path() . 'projects/actions/projects';
    $requests_action_base = elgg_get_plugins_path() . 'projects/actions/requests';
    elgg_register_action("projects/edit", "{$action_base}/edit.php");
    elgg_register_action("projects/editwelcome", "{$action_base}/editwelcome.php");
    elgg_register_action("projects/delete", "{$action_base}/delete.php");
    elgg_register_action("requests/add", "{$requests_action_base}/add.php");
    elgg_register_action("requests/edit", "{$requests_action_base}/edit.php");
    elgg_register_action("projects/helperFuncs", elgg_get_plugins_path() . 'lib/projects.php');
    //elgg_register_action("projects/search", elgg_get_plugins_path() ."projects/pages/projects/search.php");
    // register granular notification for this type
    register_notification_object('object', 'project', elgg_echo('projects:new'));
    register_notification_object('object', 'project_top', elgg_echo('projects:new'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'project_notify_message');
    // add to groups
    add_group_tool_option('projects', elgg_echo('groups:enableprojects'), true);
    elgg_extend_view('groups/tool_latest', 'projects/group_module');
    // Language short codes must be of the form "projects:key"
    // where key is the array key below
    elgg_set_config('projects', array('title' => 'text', 'description' => 'longtext', 'project_type' => 'dr_down', 'cost' => 'text', 'organization' => 'text', 'funding' => 'text', 'status' => 'dr_down', 'start_date' => 'date', 'end_date' => 'date', 'assigned_to[]' => 'assign_to', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'write_access', 'upload' => 'file'));
    // register the hook handler
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'projects_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'projects_container_permission_check');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'projects_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'projects_entity_menu_setup');
    // Access permissions
    //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook');
    //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook');
}
Example #29
0
function publication_init()
{
    // extend javascript
    elgg_extend_view('js/elgg', 'js/publications/site');
    elgg_extend_view('css/elgg', 'css/publications/site');
    // ajax views
    elgg_register_ajax_view('publications/publication/custom_fields');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('publications', 'publication_page_handler');
    // Add a new widget
    elgg_register_widget_type('publications', elgg_echo('publications:widget'), elgg_echo('publications:widget:description'));
    // Register granular notification for this type
    elgg_register_notification_event('object', Publication::SUBTYPE, ['create']);
    elgg_register_plugin_hook_handler('prepare', 'notification:create:object:' . Publication::SUBTYPE, ['\\ColdTrick\\Publications\\Notifications', 'createPublication']);
    // Register entity type for search
    elgg_register_entity_type('object', Publication::SUBTYPE);
    // add group option
    add_group_tool_option('publication', elgg_echo('publication:enablepublication'), true);
    // register plugin hooks
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'publication_register_menu_owner_block');
    elgg_register_plugin_hook_handler('register', 'menu:title', 'publication_register_menu_title');
    // 	elgg_register_plugin_hook_handler('action','register','publication_custom_register');
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'publication_write_permission_check');
    // custom publication types
    elgg_register_plugin_hook_handler('register:types', 'publications', ['\\ColdTrick\\Publications\\Types', 'registerTypeBibTex']);
    elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthors']);
    elgg_register_plugin_hook_handler('all', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateRequiredAuthorsEditors']);
    elgg_register_plugin_hook_handler('input_validation:article', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputArticle']);
    elgg_register_plugin_hook_handler('input_validation:book', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputBook']);
    elgg_register_plugin_hook_handler('input_validation:inbook', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInBook']);
    elgg_register_plugin_hook_handler('input_validation:incollection', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInCollection']);
    elgg_register_plugin_hook_handler('input_validation:inproceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputInProceedings']);
    elgg_register_plugin_hook_handler('input_validation:mastersthesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputMastersThesis']);
    elgg_register_plugin_hook_handler('input_validation:phdhesis', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputPhdThesis']);
    elgg_register_plugin_hook_handler('input_validation:proceedings', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputProceedings']);
    elgg_register_plugin_hook_handler('input_validation:techreport', 'publications', ['\\ColdTrick\\Publications\\Types', 'validateInputTechreport']);
    elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveeAuthors']);
    elgg_register_event_handler('save:data', 'publications', ['\\ColdTrick\\Publications\\Types', 'saveBookEditors']);
    // register event handlers
    elgg_register_event_handler('login', 'user', 'publication_login_check');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::setClassHandler');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleBook');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::updateArticleJournal');
    elgg_register_event_handler('upgrade', 'system', '\\ColdTrick\\Publications\\Upgrade::abstractToDescription');
    // Make sure the publication initialisation function is called on initialisation
    elgg_register_event_handler('pagesetup', 'system', 'publication_pagesetup');
    elgg_register_event_handler('create', 'user', 'publication_create_user');
    // Register actions
    elgg_register_action('publications/edit', dirname(__FILE__) . '/actions/edit.php');
    elgg_register_action('publications/delete', dirname(__FILE__) . '/actions/delete.php');
    // 	elgg_register_action('publications/invite', dirname(__FILE__) . '/actions/invite.php');
    elgg_register_action('publications/import', dirname(__FILE__) . '/actions/import.php');
    elgg_register_action('publications/export', dirname(__FILE__) . '/actions/export.php');
}
Example #30
0
/**
 * Comments initialization function
 *
 * @return void
 * @access private
 */
function _elgg_comments_init()
{
    elgg_register_entity_type('object', 'comment');
    elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_comment_setup_entity_menu', 900);
    elgg_register_plugin_hook_handler('entity:url', 'object', '_elgg_comment_url_handler');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', '_elgg_comments_container_permissions_override');
    elgg_register_plugin_hook_handler('permissions_check', 'object', '_elgg_comments_permissions_override');
    elgg_register_plugin_hook_handler('email', 'system', '_elgg_comments_notification_email_subject');
    elgg_register_event_handler('update:after', 'all', '_elgg_comments_access_sync');
    elgg_register_page_handler('comment', '_elgg_comments_page_handler');
    elgg_register_ajax_view('core/ajax/edit_comment');
}