Example #1
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'));
}
Example #2
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 #3
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 #4
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");
}
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
/**
 * 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 #7
0
File: start.php Project: n8b/VMN
/**
 * Init function for Menu Builder
 *
 * @return void
 */
function menu_builder_init()
{
    elgg_extend_view("navigation/menu/site", "menu_builder/site_menu_extend");
    elgg_extend_view("css/elgg", "menu_builder/css/site");
    // register pagehandler for nice URL's
    elgg_register_page_handler("menu_builder", "menu_builder_page_handler");
    // switch mode
    if (elgg_is_admin_logged_in()) {
        elgg_register_plugin_hook_handler("access:collections:write", "user", "menu_builder_write_access_hook");
        if (get_input("menu_builder_edit_mode") == "on") {
            $_SESSION["menu_builder_edit_mode"] = true;
        } elseif (get_input("menu_builder_edit_mode") == "off") {
            unset($_SESSION["menu_builder_edit_mode"]);
            unset($_SESSION["menu_builder_logged_out"]);
        }
        if (get_input("menu_builder_logged_out") == "on") {
            $_SESSION["menu_builder_logged_out"] = true;
        } elseif (get_input("menu_builder_logged_out") == "off") {
            unset($_SESSION["menu_builder_logged_out"]);
        }
    } else {
        unset($_SESSION["menu_builder_edit_mode"]);
        unset($_SESSION["menu_builder_logged_out"]);
    }
    // register url handler for menu_builder objects
    elgg_register_entity_url_handler("object", MENU_BUILDER_SUBTYPE, "menu_builder_menu_item_url_handler");
    // take control of menu setup
    elgg_unregister_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup');
    elgg_register_plugin_hook_handler('prepare', 'menu:site', 'menu_builder_site_menu_prepare');
    elgg_register_plugin_hook_handler('register', 'menu:site', 'menu_builder_site_menu_register');
}
Example #8
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 #9
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");
}
Example #10
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 #11
0
function file_tools_init()
{
    // extend CSS
    elgg_extend_view("css/elgg", "file_tools/css/site");
    if (file_tools_use_folder_structure()) {
        elgg_extend_view("groups/edit", "file_tools/group_settings");
    }
    // extend js
    elgg_extend_view("js/elgg", "file_tools/js/site");
    // register JS libraries
    $vendors = elgg_get_site_url() . "mod/file_tools/vendors/";
    elgg_register_js("jquery.tree", $vendors . "jstree/jquery.tree.min.js");
    elgg_register_css("jquery.tree", $vendors . "jstree/themes/default/style.css");
    elgg_register_js("jquery.hashchange", $vendors . "hashchange/jquery.hashchange.js");
    // register page handler for nice URL's
    elgg_register_page_handler("file_tools", "file_tools_page_handler");
    // make our own URLs for folders
    elgg_register_entity_url_handler("object", "file", "file_tools_url_handler");
    elgg_register_entity_url_handler("object", FILE_TOOLS_SUBTYPE, "file_tools_folder_url_handler");
    // make our own URLs for folder icons
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "file_tools_folder_icon_hook");
    // register group option to allow management of file tree structure
    add_group_tool_option("file_tools_structure_management", elgg_echo("file_tools:group_tool_option:structure_management"));
    // register group option to allow group members to overwrite all their files
    add_group_tool_option("file_tools_file_management", elgg_echo("file_tools:group_tool_option:file_management"), false);
    // register widgets
    // add folder widget
    // need to keep file_tree for the widget name to be compatible with previous filetree plugin users
    elgg_register_widget_type("file_tree", elgg_echo("widgets:file_tree:title"), elgg_echo("widgets:file_tree:description"), "dashboard,profile,groups", true);
    // group files
    elgg_register_widget_type("group_files", elgg_echo("file:group"), elgg_echo("widgets:group_files:description"), "groups");
    // index files
    elgg_register_widget_type("index_file", elgg_echo("file"), elgg_echo("widgets:index_file:description"), "index", true);
    // register events
    elgg_register_event_handler("create", "object", "file_tools_object_handler");
    elgg_register_event_handler("update", "object", "file_tools_object_handler");
    elgg_register_event_handler("delete", "object", "file_tools_object_handler_delete");
    elgg_register_event_handler("upgrade", "system", "file_tools_upgrade_handler");
    // register hooks
    elgg_register_plugin_hook_handler("register", "menu:entity", "file_tools_entity_menu_hook");
    elgg_register_plugin_hook_handler("permissions_check", "object", "file_tools_can_edit_metadata_hook");
    elgg_register_plugin_hook_handler("route", "file", "file_tools_file_route_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "file_tools_widget_url_hook");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_breadcrumb", "file_tools_folder_breadcrumb_hook");
    elgg_register_plugin_hook_handler("register", "menu:file_tools_folder_sidebar_tree", "file_tools_folder_sidebar_tree_hook");
    // register actions
    elgg_register_action("file_tools/folder/edit", dirname(__FILE__) . "/actions/folder/edit.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/folder/reorder", dirname(__FILE__) . "/actions/folder/reorder.php");
    elgg_register_action("file_tools/folder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("file_tools/file/hide", dirname(__FILE__) . "/actions/file/hide.php");
    elgg_register_action("file_tools/file/upload", dirname(__FILE__) . "/actions/file/upload.php");
    elgg_register_action("file_tools/file/delete", dirname(__FILE__) . "/actions/file/delete.php");
    elgg_register_action("file/move", dirname(__FILE__) . "/actions/file/move.php");
    elgg_register_action("file/bulk_delete", dirname(__FILE__) . "/actions/file/bulk_delete.php");
    elgg_register_action("file_tools/groups/save_sort", dirname(__FILE__) . "/actions/groups/save_sort.php");
}
Example #12
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 #13
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 #14
0
function videolist_init()
{
    elgg_register_library('elgg:videolist', elgg_get_plugins_path() . 'videolist/lib/videolist.php');
    if (!class_exists('Videolist_PlatformInterface')) {
        // ./classes autoloading failed (pre 1.9)
        spl_autoload_register('videolist_load_class');
    }
    // add a site navigation item
    $item = new ElggMenuItem('videolist', elgg_echo('videolist'), 'videolist/all');
    elgg_register_menu_item('site', $item);
    // Extend system CSS with our own styles
    elgg_extend_view('css/elgg', 'videolist/css');
    // register the js
    $js = elgg_get_simplecache_url('js', 'videolist/videolist');
    elgg_register_simplecache_view('js/videolist/videolist');
    elgg_register_js('elgg.videolist', $js);
    $js = elgg_get_simplecache_url('js', 'videolist/json2');
    elgg_register_simplecache_view('js/videolist/json2');
    elgg_register_js('elgg.videolist.json2', $js);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('videolist', 'videolist_page_handler');
    // Language short codes must be of the form "videolist:key"
    // where key is the array key below
    elgg_set_config('videolist', array('video_url' => 'url', 'title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'access_id' => 'access'));
    elgg_set_config('videolist_dimensions', array('width' => 600, 'height' => 400));
    // add to groups
    add_group_tool_option('videolist', elgg_echo('groups:enablevideolist'), true);
    elgg_extend_view('groups/tool_latest', 'videolist/group_module');
    //add a widget
    elgg_register_widget_type('videolist', elgg_echo('videolist'), elgg_echo('videolist:widget:description'));
    // Register granular notification for this type
    register_notification_object('object', 'videolist_item', elgg_echo('videolist:notification:subject'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videolist_notify_message');
    // Register entity type for search
    elgg_register_entity_type('object', 'videolist_item');
    // add a file link to owner blocks
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videolist_owner_block_menu');
    //register entity url handler
    elgg_register_entity_url_handler('object', 'videolist_item', 'videolist_url');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'videolist_icon_url_override');
    // register for embed
    elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'videolist_embed_get_sections');
    elgg_register_plugin_hook_handler('embed_get_items', 'videolist', 'videolist_embed_get_items');
    // handle URLs without scheme
    elgg_register_plugin_hook_handler('videolist:preprocess', 'url', 'videolist_preprocess_url');
    // Register actions
    $actions_path = elgg_get_plugins_path() . "videolist/actions/videolist";
    elgg_register_action("videolist/add", "{$actions_path}/add.php");
    elgg_register_action("videolist/edit", "{$actions_path}/edit.php");
    elgg_register_action("videolist/delete", "{$actions_path}/delete.php");
    elgg_register_action("videolist/get_metadata_from_url", "{$actions_path}/get_metadata_from_url.php");
    elgg_register_event_handler('upgrade', 'system', 'videolist_run_upgrades');
}
Example #15
0
/**
 * Initialize the tasks management plugin.
 *
 */
function tasks_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:tasks', elgg_get_plugins_path() . 'tasks/lib/tasks.php');
    $item = new ElggMenuItem('tasks', elgg_echo('tasks'), 'tasks/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('tasks', 'tasks_page_handler');
    // Register a url handler
    elgg_register_entity_url_handler('object', 'task', 'tasks_url');
    // Register some actions
    $action_base = elgg_get_plugins_path() . 'tasks/actions/tasks';
    elgg_register_action("tasks/edit", "{$action_base}/edit.php");
    elgg_register_action("tasks/delete", "{$action_base}/delete.php");
    elgg_register_action("tasks/comments/add", "{$action_base}/comments/add.php");
    elgg_register_action("tasks/comments/delete", "{$action_base}/comments/delete.php");
    // Extend the main css and js views
    elgg_extend_view('css/elgg', 'tasks/css');
    elgg_extend_view('js/elgg', 'tasks/js');
    // register the blog's JavaScript
    elgg_register_simplecache_view('js/tasks/tasklists');
    elgg_register_js('elgg.tasks', elgg_get_simplecache_url('js', 'tasks/tasklists'));
    elgg_register_ajax_view('object/task');
    elgg_register_ajax_view('tasks/tasklist_graph');
    // Register entity type for search
    elgg_register_entity_type('object', 'task');
    // Register a different form for annotations
    elgg_register_plugin_hook_handler('comments', 'object', 'tasks_comments_hook');
    // Register granular notification for this type
    register_notification_object('object', 'task', elgg_echo('tasks:new'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'tasks_notify_message');
    // add to groups
    add_group_tool_option('tasks', elgg_echo('groups:enabletasks'), true);
    elgg_extend_view('groups/tool_latest', 'tasks/group_module');
    //add a widget
    elgg_register_widget_type('tasks', elgg_echo('tasks:active'), elgg_echo('tasks:widget:description'));
    // Language short codes must be of the form "tasks:key"
    // where key is the array key below
    elgg_set_config('tasks', array('title' => 'text', 'description' => 'longtext', 'list_guid' => 'tasks/list', 'enddate' => 'date', 'priority' => 'tasks/priority', 'tags' => 'tags', 'access_id' => 'access'));
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'tasks_owner_block_menu');
    elgg_register_event_handler('pagesetup', 'system', 'tasks_pagesetup');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'tasks_write_permission_check');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'tasks_container_permission_check');
    // icon url override
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'tasks_icon_url_override');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'tasks_entity_menu_setup');
    // register ecml views to parse
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'tasks_ecml_views_hook');
    elgg_register_plugin_hook_handler('format', 'friendly:time', 'tasks_get_friendly_time');
    elgg_register_event_handler('upgrade', 'system', 'tasks_run_upgrades');
}
Example #16
0
function init()
{
    elgg_register_library('events:upgrades', __DIR__ . '/lib/upgrades.php');
    elgg_extend_view('notifications/subscriptions/personal', 'core/settings/calendar/notifications');
    elgg_register_css('jquery-ui', 'mod/events_ui/vendors/jquery-ui/jquery-ui.min.css');
    elgg_register_css('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.css');
    elgg_register_css('fullcalendar:print', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.print.css');
    elgg_register_js('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.min.js');
    elgg_register_js('moment.js', 'mod/events_ui/vendors/jquery/moment.min.js');
    elgg_register_viewtype('ical');
    elgg_register_simplecache_view('css/events_ui');
    $url = elgg_get_simplecache_url('css', 'events_ui');
    elgg_register_css('events-ui', $url);
    elgg_register_simplecache_view('js/events_ui');
    $url = elgg_get_simplecache_url('js', 'events_ui');
    elgg_register_js('events-ui', $url);
    elgg_register_simplecache_view('js/events_timezone');
    $url = elgg_get_simplecache_url('js', 'events_timezone');
    elgg_register_js('events/timezone', $url);
    elgg_register_page_handler('calendar', __NAMESPACE__ . '\\page_handler');
    elgg_register_page_handler('events', __NAMESPACE__ . '\\event_pagehandler');
    elgg_register_entity_url_handler('object', 'calendar', __NAMESPACE__ . '\\url_handler');
    elgg_register_entity_url_handler('object', 'event', __NAMESPACE__ . '\\url_handler');
    elgg_register_action('events_ui/settings/save', __DIR__ . '/actions/plugins/settings/save.php', 'admin');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\entity_icon_url');
    elgg_register_plugin_hook_handler('container_permissions_check', 'object', __NAMESPACE__ . '\\container_permissions_check');
    elgg_register_plugin_hook_handler('action', 'notificationsettings/save', __NAMESPACE__ . '\\notification_settings_save');
    elgg_register_plugin_hook_handler('cron', 'minute', __NAMESPACE__ . '\\event_reminders');
    elgg_register_plugin_hook_handler('subscription_types', 'comment_tracker', __NAMESPACE__ . '\\register_comment_tracker');
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', __NAMESPACE__ . '\\setup_public_pages');
    elgg_register_plugin_hook_handler('export:instance', 'events_api', __NAMESPACE__ . '\\export_event_instance');
    elgg_register_event_handler('create', 'object', __NAMESPACE__ . '\\event_create');
    elgg_register_event_handler('update', 'object', __NAMESPACE__ . '\\event_update');
    elgg_register_event_handler('events_api', 'add_to_calendar', __NAMESPACE__ . '\\add_to_calendar');
    elgg_register_event_handler('shutdown', 'system', __NAMESPACE__ . '\\vroom_functions');
    add_group_tool_option('calendar', elgg_echo('events:calendar:groups:enable'), true);
    elgg_register_widget_type('events', elgg_echo('events:widget:name'), 'events:widget:description', 'profile,dashboard,group');
    elgg_register_ajax_view('events_ui/ajax/picker');
    elgg_register_ajax_view('events_ui/ajax/ical_modal');
    elgg_register_ajax_view('widgets/events/content');
    // Timezone logic
    elgg_extend_view('forms/account/settings', 'core/settings/account/timezone', 100);
    elgg_register_plugin_hook_handler('usersettings:save', 'user', __NAMESPACE__ . '\\save_default_user_timezone');
    elgg_register_plugin_hook_handler('timezones', 'events_api', __NAMESPACE__ . '\\filter_timezones');
    elgg_extend_view('js/initialize_elgg', 'js/events_ui/config');
    // migration stuff
    elgg_register_event_handler('upgrade', 'system', __NAMESPACE__ . '\\upgrades');
    elgg_register_admin_menu_item('administer', 'events_migrate', 'administer_utilities');
    elgg_register_action('events/migrate', __DIR__ . '/actions/events/migrate.php', 'admin');
}
Example #17
0
/**
 * Init plugin.
 */
function shoutout_init()
{
    elgg_register_library('elgg:shoutout', elgg_get_plugins_path() . 'shoutout/models/model.php');
    elgg_register_library('elgg:shoutout:uploads', elgg_get_plugins_path() . 'shoutout/models/uploads.php');
    // add a site navigation item
    //$item = new ElggMenuItem('shoutout', elgg_echo('shoutout:shoutouts'), 'shoutout/activity');
    //elgg_register_menu_item('site', $item);
    // add to the main css
    elgg_extend_view('css/elgg', 'shoutout/css');
    // add extend link js to poll plugin
    elgg_extend_view('object/poll', 'shoutout/add_link');
    // register the JavaScript
    $js = elgg_get_simplecache_url('js', 'shoutout/js');
    elgg_register_simplecache_view('js/shoutout/js');
    elgg_register_js('elgg.shoutout', $js);
    $js = elgg_get_simplecache_url('js', 'shoutout/link');
    elgg_register_simplecache_view('js/shoutout/link');
    elgg_register_js('elgg.shoutout_link', $js);
    $js = elgg_get_simplecache_url('js', 'shoutout/fileuploader');
    elgg_register_simplecache_view('js/shoutout/fileuploader');
    elgg_register_js('qq.fileuploader', $js);
    // routing of urls
    elgg_register_page_handler('shoutout', 'shoutout_page_handler');
    elgg_register_page_handler('activity', 'shoutout_page_handler');
    // link elgg-river-timestamp to the shoutout item page
    elgg_register_plugin_hook_handler('view', 'river/elements/layout', 'shoutout_river_add_link');
    // add edit and delete in river menu for shoutouts
    elgg_register_plugin_hook_handler('register', 'menu:river', 'shoutout_river_menu_setup');
    elgg_register_entity_type('object', 'shoutout');
    // override the default url to view a showout object
    elgg_register_entity_url_handler('object', 'shoutout', 'shoutout_url_handler');
    // optionally add wall link to owner block
    $shoutout_wall = elgg_get_plugin_setting('wall', 'shoutout');
    if ($shoutout_wall == 'yes') {
        elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'shoutout_owner_block_menu');
    }
    // optionally support video attachments
    $shoutout_video_add = elgg_get_plugin_setting('video_add', 'shoutout');
    if ($shoutout_video_add == 'yes') {
        elgg_register_library('elgg:shoutout:video', elgg_get_plugins_path() . 'shoutout/models/video.php');
        elgg_register_plugin_hook_handler('shoutout:video:preprocess', 'url', 'shoutout_video_preprocess_url');
    }
    // register actions
    $action_path = elgg_get_plugins_path() . 'shoutout/actions/shoutout';
    elgg_register_action('shoutout/edit', "{$action_path}/edit.php");
    elgg_register_action('shoutout/delete', "{$action_path}/delete.php");
    elgg_register_action('shoutout/attach/add', "{$action_path}/attach/add.php");
    elgg_register_action('shoutout/attach/delete', "{$action_path}/attach/delete.php");
    // over-ride comments action
    elgg_register_action('comments/add', elgg_get_plugins_path() . 'shoutout/actions/comments/add.php');
}
Example #18
0
function widget_manager_init()
{
    // check valid WidgetManagerWidget class
    if (get_subtype_class("object", "widget") == "ElggWidget") {
        update_subtype("object", "widget", "WidgetManagerWidget");
    }
    elgg_trigger_event("widgets_init", "widget_manager");
    if (elgg_is_active_plugin("groups") && elgg_get_plugin_setting("group_enable", "widget_manager") == "yes") {
        // add the widget manager tool option
        $group_option_enabled = false;
        if (elgg_get_plugin_setting("group_option_default_enabled", "widget_manager") == "yes") {
            $group_option_enabled = true;
        }
        if (elgg_get_plugin_setting("group_option_admin_only", "widget_manager") != "yes") {
            // add the tool option for group admins
            add_group_tool_option('widget_manager', elgg_echo('widget_manager:groups:enable_widget_manager'), $group_option_enabled);
        } elseif (elgg_is_admin_logged_in()) {
            add_group_tool_option('widget_manager', elgg_echo('widget_manager:groups:enable_widget_manager'), $group_option_enabled);
        } elseif ($group_option_enabled) {
            // register event to make sure newly created groups have the group option enabled
            elgg_register_event_handler("create", "group", "widget_manager_create_group_event_handler");
            elgg_register_plugin_hook_handler('get_list', 'default_widgets', 'widget_manager_group_widgets_default_list');
        }
    }
    // extend CSS
    elgg_extend_view("css/elgg", "widget_manager/css/global");
    elgg_extend_view("css/admin", "widget_manager/css/global");
    elgg_extend_view("js/elgg", "widget_manager/js/site");
    elgg_extend_view("js/admin", "widget_manager/js/admin");
    // register a widget title url handler
    elgg_register_entity_url_handler("object", "widget", "widget_manager_widget_url_handler");
    // multi dashboard support
    add_subtype("object", MultiDashboard::SUBTYPE, "MultiDashboard");
    if (elgg_is_logged_in() && widget_manager_multi_dashboard_enabled()) {
        elgg_register_page_handler("multi_dashboard", "widget_manager_multi_dashboard_page_handler");
        $options = array("type" => "object", "subtype" => MultiDashboard::SUBTYPE, "owner_guid" => elgg_get_logged_in_user_guid(), "count" => true);
        $tab_count = elgg_get_entities($options);
        if ($tab_count < MULTI_DASHBOARD_MAX_TABS) {
            elgg_register_menu_item("extras", array("name" => "multi_dashboard", "text" => elgg_view_icon("home"), "href" => "multi_dashboard/edit/?internal_url=" . urlencode(current_page_url()), "title" => elgg_echo("widget_manager:multi_dashboard:extras"), "rel" => "nofollow", "id" => "widget-manager-multi_dashboard-extras"));
        }
        elgg_extend_view("page/elements/sidebar", "widget_manager/multi_dashboard/sidebar", 400);
        elgg_register_event_handler("create", "object", "widget_manager_create_object_handler");
        elgg_register_plugin_hook_handler("route", "dashboard", "widget_manager_dashboard_route_handler");
        elgg_register_plugin_hook_handler("action", "widgets/add", "widget_manager_widgets_add_action_handler");
        elgg_register_action("multi_dashboard/edit", dirname(__FILE__) . "/actions/multi_dashboard/edit.php");
        elgg_register_action("multi_dashboard/delete", dirname(__FILE__) . "/actions/multi_dashboard/delete.php");
        elgg_register_action("multi_dashboard/drop", dirname(__FILE__) . "/actions/multi_dashboard/drop.php");
        elgg_register_action("multi_dashboard/reorder", dirname(__FILE__) . "/actions/multi_dashboard/reorder.php");
    }
}
Example #19
0
/**
 * Initialize elgg-markdown_wiki plugin.
 */
function markdown_wiki_init()
{
    // register libraries of helper functions
    $root = dirname(__FILE__);
    elgg_register_library('markdown_wiki:utilities', "{$root}/lib/utilities.php");
    elgg_register_library('markdown_wiki:fineDiff', "{$root}/vendors/PHP-FineDiff/finediff.php");
    // js and css
    elgg_register_js('showdown', "/mod/elgg-markdown_wiki/vendors/showdown/compressed/showdown.js");
    elgg_register_js('showdownggouv', "/mod/elgg-markdown_wiki/vendors/showdown/compressed/extensions/showdownggouv.js");
    elgg_load_js('showdown');
    elgg_load_js('showdownggouv');
    elgg_register_js('highlight', "/mod/elgg-markdown_wiki/vendors/highlight/highlight.pack.js", 'footer', 100);
    elgg_load_js('highlight');
    elgg_extend_view('js/elgg', 'markdown_wiki/js');
    elgg_extend_view('js/elgg', 'markdown_wiki/editor_js');
    elgg_extend_view('css/elgg', 'markdown_wiki/css');
    elgg_extend_view('css/elgg', 'markdown_wiki/markdown_css');
    elgg_extend_view('css/elgg', 'markdown_wiki/highlight_css');
    elgg_extend_view('page/elements/foot', 'markdown_wiki/syntax/language_selector');
    // Add a menu item to the main site menu
    $item = new ElggMenuItem('markdown_wiki_all', elgg_echo('markdown_wiki'), 'wiki/all');
    elgg_register_menu_item('site', $item);
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'markdown_wiki_object_menu');
    // write permission plugin hooks
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'markdown_wiki_write_permission_check');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('wiki', 'markdown_wiki_page_handler');
    // Register entity type for search
    elgg_register_entity_type('object', 'markdown_wiki');
    // Register a url handler
    elgg_register_entity_url_handler('object', 'markdown_wiki', 'markdown_wiki_url');
    // Register a script to handle (usually) a POST request (an action)
    $base_dir = "{$root}/actions/markdown_wiki";
    elgg_register_action('markdown_wiki/edit', "{$base_dir}/edit.php");
    elgg_register_action('markdown_wiki/compare', "{$root}/pages/markdown_wiki/compare.php");
    elgg_register_action('markdown_wiki/settings', "{$base_dir}/settings.php");
    // add to groups
    add_group_tool_option('markdown_wiki', elgg_echo('groups:enable_markdown_wiki'), true);
    elgg_extend_view('groups/tool_latest', 'markdown_wiki/group_module');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'markdown_wiki_owner_block_menu');
    //add a widget
    elgg_register_widget_type('markdown_wiki', elgg_echo('markdown_wiki'), elgg_echo('markdown_wiki:widget:description'));
    // Language short codes must be of the form "markdown_wiki:key"
    // where key is the array key below
    elgg_set_config('markdown_wiki', array('description' => 'markdown', 'summary' => 'text', 'tags' => 'tags', 'write_access_id' => 'access', 'title' => 'hidden', 'guid' => 'hidden', 'container_guid' => 'hidden'));
    // Parse link
    elgg_register_plugin_hook_handler('format_markdown', 'format', 'markdown_wiki_parse_link_plugin_hook', 600);
}
Example #20
0
function init()
{
    /**
     * JS and CSS
     */
    elgg_register_js('jquery.nestedsortable.js', '/mod/hypeCategories/vendors/nestedSortable/jquery.mjs.nestedSortable.js');
    elgg_register_simplecache_view('js/framework/categories/manage');
    elgg_register_js('categories.manage.js', elgg_get_simplecache_url('js', 'framework/categories/manage'));
    elgg_register_simplecache_view('js/framework/categories/tree');
    elgg_register_js('categories.tree.js', elgg_get_simplecache_url('js', 'framework/categories/tree'));
    elgg_extend_view('css/elgg', 'css/framework/categories/base');
    elgg_extend_view('css/admin', 'css/framework/categories/base');
    /**
     * Actions
     */
    elgg_register_action('categories/manage', __DIR__ . '/actions/categories/manage.php');
    elgg_register_action(PLUGIN_ID . '/settings/save', __DIR__ . '/actions/settings/save.php', 'admin');
    /**
     * URL and Page handlers
     */
    elgg_register_page_handler(PAGEHANDLER, __NAMESPACE__ . '\\page_handler');
    elgg_register_page_handler('category', __NAMESPACE__ . '\\page_handler');
    // alias
    elgg_register_entity_url_handler('object', HYPECATEGORIES_SUBTYPE, __NAMESPACE__ . '\\category_url_handler');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\category_icon_url');
    /**
     * Widget
     */
    elgg_register_widget_type('hypeCategories', elgg_echo('categories'), elgg_echo('categories:group_module'), "groups");
    /**
     * Menus
     */
    elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:categories', __NAMESPACE__ . '\\tree_menu_setup');
    /**
     * Search
     */
    elgg_register_entity_type('object', HYPECATEGORIES_SUBTYPE);
    // Register universal_categories metadata for search
    elgg_register_tag_metadata_name('universal_categories');
    /**
     * Views  Groups
     */
    elgg_extend_view('page/elements/sidebar', 'framework/categories/sidebar');
    elgg_extend_view('groups/tool_latest', 'framework/categories/group_module');
    // Load fonts
    elgg_extend_view('page/elements/head', 'framework/fonts/font-awesome');
    elgg_extend_view('page/elements/head', 'framework/fonts/open-sans');
}
Example #21
0
function init()
{
    /**
     * JS and CSS
     */
    elgg_extend_view('js/elgg', 'js/framework/mechanics/mechanics');
    elgg_extend_view('js/admin', 'js/framework/mechanics/mechanics');
    elgg_extend_view('css/elgg', 'css/framework/mechanics/mechanics');
    elgg_extend_view('css/admin', 'css/framework/mechanics/mechanics');
    /**
     * Actions
     */
    elgg_register_action('badge/claim', __DIR__ . '/actions/badge/claim.php');
    elgg_register_action('badge/edit', __DIR__ . '/actions/badge/edit.php', 'admin');
    elgg_register_action('badge/delete', __DIR__ . '/actions/badge/delete.php', 'admin');
    elgg_register_action('badge/order', __DIR__ . '/actions/badge/order.php', 'admin');
    elgg_register_action('points/award', __DIR__ . '/actions/points/award.php');
    elgg_register_action('points/reset', __DIR__ . '/actions/points/reset.php', 'admin');
    /**
     * URL and page handlers
     */
    elgg_register_page_handler(PAGEHANDLER, __NAMESPACE__ . '\\page_handler');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\badge_icon_url_handler');
    elgg_register_entity_url_handler('object', HYPEGAMEMECHANICS_BADGE_SUBTYPE, __NAMESPACE__ . '\\badge_url_handler');
    /**
     * Rules
     */
    elgg_register_plugin_hook_handler('get_rules', 'gm_score', __NAMESPACE__ . '\\setup_scoring_rules');
    /**
     * Menus
     */
    elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:user_hover', __NAMESPACE__ . '\\user_hover_menu_setup');
    /**
     * Permissions
     */
    elgg_register_plugin_hook_handler('permissions_check:annotate', 'user', __NAMESPACE__ . '\\permissions_check_gm_score_award');
    /**
     * Views
     */
    elgg_register_widget_type('hjmechanics', elgg_echo('mechanics:widget:badges'), elgg_echo('mechanics:widget:badges:description'), 'index');
    elgg_extend_view('framework/mechanics/sidebar', 'framework/mechanics/history/filter');
    elgg_extend_view('framework/mechanics/sidebar', 'framework/mechanics/leaderboard/filter');
    // Load fonts
    elgg_extend_view('page/elements/head', 'framework/fonts/font-awesome');
    elgg_extend_view('page/elements/head', 'framework/fonts/open-sans');
}
Example #22
0
function pinboard_init()
{
    // pagehandlers
    elgg_register_page_handler("pinboard", "pinboard_page_handler");
    // actions
    $actions_base = dirname(__FILE__) . "/actions";
    elgg_register_action("pinboard/save", "{$actions_base}/save.php");
    elgg_register_action("pinboard/delete", "{$actions_base}/delete.php");
    // register objects
    elgg_register_menu_item("site", array("name" => 'pinboard', "text" => elgg_echo('pinboard'), "href" => 'pinboard'));
    elgg_extend_view("css/elgg", "css/pinboard/site");
    elgg_extend_view('js/elgg', 'js/pinboard/site');
    elgg_register_entity_type("object", "cafe");
    elgg_register_entity_url_handler("object", "cafe", "pinboard_url");
    elgg_register_plugin_hook_handler("register", 'menu:filter', 'theme_ffd_cafe_filter_menu_handler');
}
Example #23
0
/**
 * Initialize the group alias plugin.
 *
 */
function group_alias_init()
{
    // Register a page handler, so we can have nice URLs
    //	elgg_register_page_handler('g', 'group_alias_page_handler');
    elgg_register_plugin_hook_handler('forward', '404', 'group_url_router', 0);
    // Override URL handlers for groups
    elgg_register_entity_url_handler('group', 'all', 'group_alias_url');
    // Add alias field
    elgg_register_plugin_hook_handler('profile:fields', 'group', 'group_alias_field_setup');
    // Override some actions
    $action_base = elgg_get_plugins_path() . 'group_alias/actions/groups';
    elgg_register_action("groups/edit", "{$action_base}/edit.php");
    // Extend the main css view
    elgg_extend_view('css/elgg', 'group_alias/css');
    elgg_extend_view('js/elgg', 'group_alias/js');
}
Example #24
0
/**
 * Initialize the webinar plugin.
 */
function webinar_init()
{
    // register a library for new object class webinar
    elgg_register_library('elgg:webinar', elgg_get_plugins_path() . 'webinar/lib/webinar.php');
    // register BigBlueButton API
    elgg_register_library('elgg:bbb', elgg_get_plugins_path() . 'webinar/vendors/bbb-api-php/bbb_api.php');
    // Register a url handler for the new object
    elgg_register_entity_url_handler('object', 'webinar', 'webinar_url');
    //add a tab in site menu
    $item = new ElggMenuItem('webinar', elgg_echo('webinar:menu:site'), 'webinar/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('webinar', 'webinar_page_handler');
    // Register some actions
    $action_base = elgg_get_plugins_path() . 'webinar/actions/webinar';
    elgg_register_action("webinar/subscribe", "{$action_base}/subscribe.php");
    elgg_register_action("webinar/unsubscribe", "{$action_base}/unsubscribe.php");
    elgg_register_action("webinar/join", "{$action_base}/join.php");
    elgg_register_action("webinar/save", "{$action_base}/save.php");
    elgg_register_action("webinar/delete", "{$action_base}/delete.php");
    elgg_register_action("webinar/start", "{$action_base}/start.php");
    elgg_register_action("webinar/stop", "{$action_base}/stop.php");
    // Extend the main css view
    elgg_extend_view('css', 'webinar/css');
    // Register entity type for search
    elgg_register_entity_type('object', 'webinar');
    //register_elgg_event_handler('pagesetup','system','webinar_pagesetup');
    // Register for notifications
    register_notification_object('object', 'webinar', elgg_echo('webinar:notify:new'));
    // add checkbox on group edit page to activate webinar
    add_group_tool_option('webinar', elgg_echo('webinar:enable'), false);
    elgg_extend_view('groups/tool_latest', 'webinar/group_module');
    // owner_block menu
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'webinar_handler_menu_owner_block');
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'webinar_handler_menu_entity');
    // Listen to notification events and supply a more useful message
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'webinar_handler_notify_message');
    elgg_register_plugin_hook_handler('permissions_check', 'object', 'webinar_handler_permissions_check');
    //intercept event_calendar notification because event that type is webinar are create by webinar object
    elgg_register_plugin_hook_handler('object:notifications', 'object', 'webinar_handler_notifications_intercept');
    //on event create attendee relation ship, call add_river
    elgg_register_event_handler('create', 'attendee', 'webinar_handler_relationship_river');
    // add a blog widget
    elgg_register_widget_type('webinar', elgg_echo('webinar:webinars'), elgg_echo('webinar:widget:description'), 'profile');
    //elgg_extend_view('profile/tabs/menu_extend','webinar/group_profile_tabs_menu');
}
Example #25
0
/**
 * File plugin initialization functions.
 */
function file_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:file', elgg_get_plugins_path() . 'file/lib/file.php');
    // Site navigation
    $item = new ElggMenuItem('file', elgg_echo('file'), 'file/all');
    elgg_register_menu_item('site', $item);
    // Extend CSS
    elgg_extend_view('css/elgg', 'file/css');
    // add enclosure to rss item
    elgg_extend_view('extensions/item', 'file/enclosure');
    // extend group main page
    elgg_extend_view('groups/tool_latest', 'file/group_module');
    //register walled garden public pages for cron job
    elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'file_public_pages');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('file', 'file_page_handler');
    // Add a new file widget
    elgg_register_widget_type('filerepo', elgg_echo("file"), elgg_echo("file:widget:description"));
    // Register URL handlers for files
    elgg_register_entity_url_handler('object', 'file', 'file_url_override');
    elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'file_icon_url_override');
    // Register granular notification for this object type
    register_notification_object('object', 'file', elgg_echo('file:newupload'));
    // Listen to notification events and supply a more useful message
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'file_notify_message');
    // add the group files tool option
    add_group_tool_option('file', elgg_echo('groups:enablefiles'), true);
    // Register entity type for search
    elgg_register_entity_type('object', 'file');
    // add a file link to owner blocks
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'file_owner_block_menu');
    // Register actions
    $action_path = elgg_get_plugins_path() . 'file/actions/file';
    elgg_register_action("file/upload", "{$action_path}/upload.php");
    elgg_register_action("file/delete", "{$action_path}/delete.php");
    //elgg_register_action("file/release", elgg_get_plugins_path() . "file/cron/releaser.php");
    // temporary - see #2010
    elgg_register_action("file/download", "{$action_path}/download.php");
    // embed support
    $item = ElggMenuItem::factory(array('name' => 'file', 'text' => elgg_echo('file'), 'priority' => 10, 'data' => array('options' => array('type' => 'object', 'subtype' => 'file'))));
    elgg_register_menu_item('embed', $item);
    $item = ElggMenuItem::factory(array('name' => 'file_upload', 'text' => elgg_echo('file:upload'), 'priority' => 100, 'data' => array('view' => 'embed/file_upload/content')));
    elgg_register_menu_item('embed', $item);
    //register cron plugin hook handler
    //elgg_register_plugin_hook_handler("cron", "hourly", "files_cron_handler");
}
Example #26
0
/**
 * Initialize the gv project plugin.
 *
 */
function gvproject_init()
{
    $item = new ElggMenuItem('projects', elgg_echo('gvprojects:menu:projects'), 'projects/all');
    elgg_register_menu_item('site', $item);
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('projects', 'gvproject_page_handler');
    // Register a url handler
    elgg_register_entity_url_handler('object', 'project', 'gvproject_url');
    // Register some actions
    $action_base = elgg_get_plugins_path() . 'gvproject/actions/';
    elgg_register_action("projects/edit", "{$action_base}/edit.php");
    elgg_register_action("projects/delete", "{$action_base}/delete.php");
    // Register entity type for search
    elgg_register_entity_type('object', 'project');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'gvproject_owner_block_menu');
    elgg_register_widget_type('latest_projects', elgg_echo("widget:latest_projects:title"), elgg_echo("widget:latest_projects:description"), "dashboard,profile,groups");
}
Example #27
0
function blogbook_init()
{
    $base_dir = elgg_get_plugins_path() . 'blogbook/actions/blogbook';
    elgg_register_action("blogbook/save", $base_dir . '/save.php');
    elgg_register_action('blogbook/delete', "{$base_dir}/delete.php");
    elgg_register_action('blogbook/insertblog', "{$base_dir}/insertblog.php");
    elgg_register_action('blogbook/remove', "{$base_dir}/removeblog.php");
    elgg_register_action('LocationBook/savegrp', "{$base_dir}/savegrp.php");
    //a little help from you to promote my site.
    elgg_extend_view('page/elements/footer', 'blogbook/footer/footerlink');
    // Add a menu item to the main site menu
    $item = new ElggMenuItem('blogbook', elgg_echo('blogbook:blogbook'), 'blogbook/all');
    elgg_register_menu_item('site', $item);
    elgg_register_page_handler('blogbook', 'blogbook_page_handler');
    elgg_register_entity_url_handler('object', 'blogbook', 'blogbook_url_handler');
    //    register_plugin_hook('permissions_check', 'all', 'blogbook_permissions_check');
    elgg_register_entity_type('object', 'blogbook');
}
Example #28
0
/**
 * video init
 */
function videos_init()
{
    // add a site navigation item
    $item = new ElggMenuItem('video', elgg_echo('videos'), 'videos/all');
    elgg_register_menu_item('site', $item);
    elgg_register_library('elgg:videos', elgg_get_plugins_path() . 'videos/lib/videos.php');
    elgg_register_library('elgg:videos:embed', elgg_get_plugins_path() . 'videos/lib/embed_video.php');
    elgg_register_library('elgg:youtube_api', elgg_get_plugins_path() . 'videos/lib/youtube_functions.php');
    $action_path = elgg_get_plugins_path() . "videos/actions/videos";
    elgg_register_action('videos/save', "{$action_path}/save.php");
    elgg_register_action('videos/delete', "{$action_path}/delete.php");
    //extend owner block menu
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'videos_owner_block_menu');
    //Add menu's in sidebar
    elgg_register_plugin_hook_handler('register', 'menu:page', 'videos_page_menu');
    $context = elgg_get_context();
    $contexts = elgg_get_plugin_setting('search_contexts', 'videos');
    $contexts = explode(",", $contexts);
    if (in_array($context, $contexts)) {
        elgg_extend_view('page/elements/sidebar', 'page/elements/search', '400');
    }
    // get items in video menu
    elgg_register_plugin_hook_handler("register", "menu:entity", "videos_entity_menu_setup");
    // register actions
    elgg_register_action("videos/toggle_metadata", dirname(__FILE__) . "/actions/toggle_metadata.php");
    elgg_register_page_handler('videos', 'videos_page_handler');
    elgg_extend_view('css/elgg', 'videos/css');
    elgg_register_widget_type('videos', elgg_echo('videos'), elgg_echo('videos:widget:description'), array('dashboard', 'profile', 'main', 'index'));
    if (function_exists('elgg_get_version')) {
        elgg_register_notification_event('object', 'videos');
    } else {
        register_notification_object('object', 'videos', elgg_echo('videos:new'));
    }
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'videos_notify_message');
    // Register a URL handler for video posts
    elgg_register_entity_url_handler('object', 'videos', 'videos_url');
    elgg_register_entity_type('object', 'videos');
    add_group_tool_option('videos', elgg_echo('videos:enablevideos'), true);
    elgg_extend_view('groups/tool_latest', 'videos/group_module');
    $views = array('output/longtext', 'output/plaintext');
    foreach ($views as $view) {
        elgg_register_plugin_hook_handler("view", $view, "videos_view_filter", 500);
    }
}
Example #29
0
/**
 * Init blog plugin.
 */
function blog_init()
{
    elgg_register_library('elgg:blog', elgg_get_plugins_path() . 'blog/lib/blog.php');
    // add a site navigation item
    $item = new ElggMenuItem('blog', elgg_echo('blog:blogs'), 'blog/all');
    elgg_register_menu_item('site', $item);
    elgg_register_event_handler('upgrade', 'upgrade', 'blog_run_upgrades');
    // add to the main css
    elgg_extend_view('css/elgg', 'blog/css');
    // register the blog's JavaScript
    $blog_js = elgg_get_simplecache_url('js', 'blog/save_draft');
    elgg_register_simplecache_view('js/blog/save_draft');
    elgg_register_js('elgg.blog', $blog_js);
    // routing of urls
    elgg_register_page_handler('blog', 'blog_page_handler');
    // override the default url to view a blog object
    elgg_register_entity_url_handler('object', 'blog', 'blog_url_handler');
    // notifications
    register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'blog_notify_message');
    // add blog link to
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu');
    // pingbacks
    //elgg_register_event_handler('create', 'object', 'blog_incoming_ping');
    //elgg_register_plugin_hook_handler('pingback:object:subtypes', 'object', 'blog_pingback_subtypes');
    // Register for search.
    elgg_register_entity_type('object', 'blog');
    // Add group option
    add_group_tool_option('blog', elgg_echo('blog:enableblog'), true);
    elgg_extend_view('groups/tool_latest', 'blog/group_module');
    // add a blog widget
    elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), array('profile'));
    // register actions
    $action_path = elgg_get_plugins_path() . 'blog/actions/blog';
    elgg_register_action('blog/save', "{$action_path}/save.php");
    elgg_register_action('blog/auto_save_revision', "{$action_path}/auto_save_revision.php");
    elgg_register_action('blog/delete', "{$action_path}/delete.php");
    // entity menu
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'blog_entity_menu_setup');
    // ecml
    elgg_register_plugin_hook_handler('get_views', 'ecml', 'blog_ecml_views_hook');
}
Example #30
0
function answers_init()
{
    // register a library of helper functions
    $root = dirname(__FILE__);
    elgg_register_library('answers:utilities', "{$root}/lib/answers.php");
    // Add a menu item to the main site menu
    $item = new ElggMenuItem('answers', elgg_echo('answers:questions'), 'answers/all');
    elgg_register_menu_item('site', $item);
    // Extend css and js
    elgg_extend_view('css/elgg', 'answers/css');
    elgg_extend_view('js/elgg', 'answers/js');
    // live search
    elgg_register_ajax_view('answers/search');
    elgg_register_widget_type('answers', elgg_echo('answers'), elgg_echo('answers:widget'), 'all,groups,index', TRUE);
    elgg_register_page_handler('answers', 'answers_page_handler');
    elgg_register_entity_url_handler('object', 'answer', 'answer_url');
    elgg_register_entity_url_handler('object', 'question', 'question_url');
    register_notification_object('object', 'question', elgg_echo('answers:question:new'));
    register_notification_object('object', 'answer', elgg_echo('answers:answer:new'));
    elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'answers_notify_message');
    // support group questions/answers
    elgg_extend_view('groups/tool_latest', 'answers/group_module');
    add_group_tool_option('answers', elgg_echo('groups:enableanswers'), true);
    // register questions and answers for search
    elgg_register_entity_type('object', 'question');
    // on enregistre les objets que l'on veux pouvoir trouver par la recherche ou voir dans les colonnes du deck.
    elgg_register_entity_type('object', 'answer');
    // register actions. Les actions sont dans le dossier actions/answers. C'est mieux si on veut les overrider.
    $action_path = "{$root}/actions/answers";
    elgg_register_action("answers/question/save", "{$action_path}/question/save.php");
    elgg_register_action("answers/answer/save", "{$action_path}/answer/save.php");
    elgg_register_action("answers/answer/edit", "{$action_path}/editanswer.php");
    elgg_register_action("answers/delete", "{$action_path}/delete.php");
    elgg_register_action("answers/choose", "{$action_path}/chooseanswer.php");
    elgg_register_action("answers/like", "{$action_path}/like.php");
    elgg_register_action("answers/dislike", "{$action_path}/dislike.php");
    elgg_register_plugin_hook_handler('creating', 'river', 'answer_comment_river_create_hook');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'answers_owner_block_menu');
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'answers_setup_entity_menu_items');
    // remove likes plugin integration for questions and answers
    elgg_register_plugin_hook_handler('register', 'menu:river', 'answers_river_menu_setup');
}