/**
 * thewire initialisation
 *
 * These parameters are required for the event API, but we won't use them:
 * 
 * @param unknown_type $event
 * @param unknown_type $object_type
 * @param unknown_type $object
 */
function thewire_init()
{
    // Load system configuration
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('thewire'), $CONFIG->wwwroot . "mod/thewire/everyone.php");
    }
    // Extend system CSS with our own styles, which are defined in the thewire/css view
    extend_view('css', 'thewire/css');
    //extend views
    extend_view('activity/thewire', 'thewire/activity_view');
    extend_view('profile/status', 'thewire/profile_status');
    // Register a page handler, so we can have nice URLs
    register_page_handler('thewire', 'thewire_page_handler');
    // Register a URL handler for thewire posts
    register_entity_url_handler('thewire_url', 'object', 'thewire');
    // Your thewire widget
    add_widget_type('thewire', elgg_echo("thewire:read"), elgg_echo("thewire:yourdesc"));
    // Register entity type
    register_entity_type('object', 'thewire');
    // Listen for SMS create event
    register_elgg_event_handler('create', 'object', 'thewire_incoming_sms');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'thewire', elgg_echo('thewire:newpost'));
    }
    // Listen to notification events and supply a more useful message for SMS'
    register_plugin_hook('notify:entity:message', 'object', 'thewire_notify_message');
}
Exemple #2
0
/**
 * Blog initialisation
 *
 * These parameters are required for the event API, but we won't use them:
 * 
 * @param unknown_type $event
 * @param unknown_type $object_type
 * @param unknown_type $object
 */
function blog_init()
{
    // Load system configuration
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('blogs'), $CONFIG->wwwroot . "pg/blog/" . $_SESSION['user']->username);
        // And for logged out users
    } else {
        add_menu(elgg_echo('blog'), $CONFIG->wwwroot . "mod/blog/everyone.php", array());
    }
    // Extend system CSS with our own styles, which are defined in the blog/css view
    extend_view('css', 'blog/css');
    // Extend hover-over menu
    extend_view('profile/menu/links', 'blog/menu');
    // Register a page handler, so we can have nice URLs
    register_page_handler('blog', 'blog_page_handler');
    // Register a URL handler for blog posts
    register_entity_url_handler('blog_url', 'object', 'blog');
    // Register this plugin's object for sending pingbacks
    register_plugin_hook('pingback:object:subtypes', 'object', 'blog_pingback_subtypes');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'blog_notify_message');
    // Listen for new pingbacks
    register_elgg_event_handler('create', 'object', 'blog_incoming_ping');
    // Register entity type
    register_entity_type('object', 'blog');
}
Exemple #3
0
function tasks_init()
{
    // Grab the config file
    global $CONFIG;
    extend_view('metatags', 'tasks/js');
    //add a tools menu option
    if (isloggedin()) {
        add_menu(elgg_echo('tasks'), $CONFIG->wwwroot . "pg/tasks/" . $_SESSION['user']->username . '/items');
    }
    // Register a page handler, so we can have nice URLs
    register_page_handler('tasks', 'tasks_page_handler');
    // Add our CSS
    extend_view('css', 'tasks/css');
    // Add to groups context
    extend_view('groups/left_column', 'tasks/groupprofile_tasks');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'tasks', elgg_echo('tasks:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'tasks_notify_message');
    // Register a URL handler for shared items
    register_entity_url_handler('task_url', 'object', 'tasks');
    // Shares widget
    add_widget_type('tasks', elgg_echo("tasks:recent"), elgg_echo("tasks:widget:description"));
    // Register entity type
    register_entity_type('object', 'tasks');
    // Add group menu option
    add_group_tool_option('tasks', elgg_echo('tasks:enabletasks'), true);
}
function bookmarks_init()
{
    // Grab the config global
    global $CONFIG;
    //add a tools menu option
    if (isloggedin()) {
        add_menu(elgg_echo('bookmarks'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . '/items');
        // add "bookmark this" to owner block
        elgg_extend_view('owner_block/extend', 'bookmarks/owner_block');
    }
    // Register a page handler, so we can have nice URLs
    register_page_handler('bookmarks', 'bookmarks_page_handler');
    // Add our CSS
    elgg_extend_view('css', 'bookmarks/css');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'bookmarks', elgg_echo('bookmarks:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'bookmarks_notify_message');
    // Register a URL handler for shared items
    register_entity_url_handler('bookmark_url', 'object', 'bookmarks');
    // Shares widget
    add_widget_type('bookmarks', elgg_echo("bookmarks:recent"), elgg_echo("bookmarks:widget:description"));
    // Register entity type
    register_entity_type('object', 'bookmarks');
    // Add group menu option
    add_group_tool_option('bookmarks', elgg_echo('bookmarks:enablebookmarks'), true);
}
Exemple #5
0
/**
 * File plugin initialisation functions.
 */
function file_init()
{
    // Get config
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('file'), $CONFIG->wwwroot . "pg/file/" . $_SESSION['user']->username);
    }
    // Extend CSS
    extend_view('css', 'file/css');
    // Extend hover-over and profile menu
    extend_view('profile/menu/links', 'file/menu');
    extend_view('groups/left_column', 'file/groupprofile_files');
    extend_view('dgroups/left_column', 'file/groupprofile_files');
    // Register a page handler, so we can have nice URLs
    register_page_handler('file', 'file_page_handler');
    // Add a new file widget
    add_widget_type('filerepo', elgg_echo("file:widget"), elgg_echo("file:widget:description"));
    // Register a URL handler for files
    register_entity_url_handler('file_url', 'object', 'file');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'file', elgg_echo('file:newupload'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'file_notify_message');
    // add the group files tool option
    add_group_tool_option('files', elgg_echo('groups:enablefiles'), true);
    // Register entity type
    register_entity_type('object', 'file');
}
/**
 * Initialise the pages plugin.
 *
 */
function pages_init()
{
    global $CONFIG;
    // Set up the menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('pages'), $CONFIG->wwwroot . "pg/pages/owned/" . $_SESSION['user']->username, 'pages');
    } else {
        add_menu(elgg_echo('pages'), $CONFIG->wwwroot . "mod/pages/world.php");
    }
    // Extend hover-over menu
    elgg_extend_view('profile/menu/links', 'pages/menu');
    // Register a page handler, so we can have nice URLs
    register_page_handler('pages', 'pages_page_handler');
    // Register a url handler
    register_entity_url_handler('pages_url', 'object', 'page_top');
    register_entity_url_handler('pages_url', 'object', 'page');
    // Register some actions
    register_action("pages/edit", false, $CONFIG->pluginspath . "pages/actions/pages/edit.php");
    register_action("pages/editwelcome", false, $CONFIG->pluginspath . "pages/actions/pages/editwelcome.php");
    register_action("pages/delete", false, $CONFIG->pluginspath . "pages/actions/pages/delete.php");
    // Extend some views
    elgg_extend_view('css', 'pages/css');
    elgg_extend_view('groups/menu/links', 'pages/menu');
    // Add to groups context
    elgg_extend_view('groups/right_column', 'pages/groupprofile_pages');
    // Add to groups context
    // Register entity type
    register_entity_type('object', 'page');
    register_entity_type('object', 'page_top');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'page', elgg_echo('pages:new'));
        register_notification_object('object', 'page_top', elgg_echo('pages:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'page_notify_message');
    // add the group pages tool option
    add_group_tool_option('pages', elgg_echo('groups:enablepages'), true);
    //add a widget
    add_widget_type('pages', elgg_echo('pages'), elgg_echo('pages:widget:description'));
    // For now, we'll hard code the groups profile items as follows:
    // TODO make this user configurable
    // Language short codes must be of the form "pages:key"
    // where key is the array key below
    $CONFIG->pages = array('title' => 'text', 'description' => 'longtext', 'tags' => 'tags', 'access_id' => 'access', 'write_access_id' => 'access');
}
/**
 * @package Elgg
 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 * @author Roger Curry, Grid Research Centre [curry@cpsc.ucalgary.ca]
 * @author Tingxi Tan, Grid Research Centre [txtan@cpsc.ucalgary.ca]
 * @link http://grc.ucalgary.ca/
 */
function publication_init()
{
    // Load system configuration
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('publications'), $CONFIG->wwwroot . "pg/publications/" . $_SESSION['user']->username);
        // And for logged out users
    } else {
        add_menu(elgg_echo('publications'), $CONFIG->wwwroot . "mod/publications/everyone.php", array());
    }
    if (!$CONFIG->publication) {
        $CONFIG->publication['source'] = 'text';
        $CONFIG->publication['year'] = 'text';
        $CONFIG->publication['volume'] = 'text';
        $CONFIG->publication['issue'] = 'text';
        $CONFIG->publication['pages'] = 'text';
    }
    // Extend system CSS with our own styles, which are defined in the publication/css view
    extend_view('css', 'publication/css');
    extend_view('metatags', 'publication/metatags');
    // Extend hover-over menu
    //		extend_view('profile/menu/links','publication/menu');
    extend_view('account/forms/register', 'publication/register');
    // Register a page handler, so we can have nice URLs
    register_page_handler('publications', 'publication_page_handler');
    // Register a URL handler for publication posts
    register_entity_url_handler('publication_url', 'object', 'publication');
    // Register this plugin's object for sending pingbacks
    register_plugin_hook('pingback:object:subtypes', 'object', 'publication_pingback_subtypes');
    // Add a new widget
    add_widget_type('publications', elgg_echo("publications:widget"), elgg_echo("publications:widget:description"));
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'publication', elgg_echo('publication:newpost'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'publication_notify_message');
    // Listen for new pingbacks
    register_elgg_event_handler('create', 'object', 'publication_incoming_ping');
    // Register entity type
    register_entity_type('object', 'publication');
    // Register an annotation handler for comments etc
    register_plugin_hook('entity:annotate', 'object', 'publication_annotate_comments');
}
Exemple #8
0
/**
 * Initialize the community plugin repository plugin
 */
function plugins_init()
{
    global $CONFIG;
    run_function_once('plugins_run_once');
    // Set up menu for logged in users
    add_menu(elgg_echo('plugins'), "{$CONFIG->wwwroot}pg/plugins/all/");
    // Extend CSS
    extend_view('css', 'plugins/css');
    // Extend hover-over and profile menu
    extend_view('profile/menu/links', 'plugins/profile_menu');
    extend_view('groups/left_column', 'plugins/groupprofile_files');
    // Register a page handler, so we can have nice URLs
    register_page_handler('plugins', 'plugins_page_handler');
    // Image handler
    register_page_handler('plugins_image', 'plugins_image_page_handler');
    register_notification_object('object', 'plugins', elgg_echo('plugins:new'));
    //register a widget
    add_widget_type('plugins', elgg_echo('plugins'), elgg_echo('plugins'), 'profile');
    // register url handlers for the 2 object subtypes
    register_entity_url_handler('plugins_release_url_handler', 'object', 'plugin_release');
    register_entity_url_handler('plugins_project_url_handler', 'object', 'plugin_project');
    register_elgg_event_handler('pagesetup', 'system', 'plugins_add_submenus');
    // Only projects should show up in search
    register_entity_type('object', 'plugin_project');
    // Special hook for searching against metadata (category)
    register_plugin_hook('search', 'object:plugin_project', 'plugins_search_hook');
    // Elgg versions
    $CONFIG->elgg_versions = array('1.8', '1.7', '1.6', '1.5', '1.2', '1.0');
    // GPL-compatible licenses
    $CONFIG->gpllicenses = array('none' => 'No license selected', 'gpl2' => 'GNU General Public License (GPL) version 2', 'lgpl2.1' => 'GNU Lesser General Public License (LGPL) version 2.1', 'berkeleydb' => 'Berkeley Database License (aka the Sleepycat Software Product License)', 'mbsd' => 'Modified BSD license', 'cbsd' => 'The Clear BSD License', 'expat' => 'Expat (MIT) License', 'freebsd' => 'FreeBSD license', 'intel' => 'Intel Open Source License', 'openbsd' => 'ISC (OpenBSD) License', 'ncsa' => 'NCSA/University of Illinois Open Source License', 'w3c' => 'W3C Software Notice and License', 'x11' => 'X11 License', 'zope' => 'Zope Public License, versions 2.0 and 2.1');
    // Defined plugin categories
    $CONFIG->plugincats = array('admin' => 'Site admin', 'user' => 'User admin', 'events' => 'Events', 'authentication' => 'Authentication', 'clients' => 'Clients', 'photos' => 'Photos and Images', 'tpintegrations' => 'Third Party integrations', 'tools' => 'Tools', 'media' => 'Media', 'communication' => 'Communication', 'widgets' => 'Widgets', 'games' => 'Games', 'ecommerce' => 'eCommerce', 'languages' => 'Languages', 'themes' => 'Themes', 'misc' => 'Misc', 'uncategorized' => 'Uncategorized');
    $action_base = "{$CONFIG->pluginspath}community_plugins/actions/plugins";
    register_action("plugins/create_project", FALSE, "{$action_base}/create_project.php");
    register_action("plugins/create_release", FALSE, "{$action_base}/create_release.php");
    register_action("plugins/save_project", FALSE, "{$action_base}/save_project.php");
    register_action("plugins/save_release", FALSE, "{$action_base}/save_release.php");
    register_action("plugins/delete_project", FALSE, "{$action_base}/delete_project.php");
    register_action("plugins/delete_release", FALSE, "{$action_base}/delete_release.php");
    register_action("plugins/delete_project_image", FALSE, "{$action_base}/delete_project_image.php");
    register_action("plugins/digg", FALSE, "{$action_base}/digg.php");
    register_action("plugins/upgrade", FALSE, "{$action_base}/admin/upgrade.php", TRUE);
    register_action("plugins/combine", FALSE, "{$action_base}/admin/combine.php", TRUE);
    register_action("plugins/normalize", FALSE, "{$action_base}/admin/normalize.php", TRUE);
}
Exemple #9
0
/**
 * cclite initialisation
 *
 * These parameters are required for the event API, but we won't use them:
 * 
 * @param unknown_type $event
 * @param unknown_type $object_type
 * @param unknown_type $object
 */
function cclite_init()
{
    // Load system configuration
    global $CONFIG;
    // require libraries
    require_once "{$CONFIG->pluginspath}cclite/cclite-oauth/oauthservice_lib.php";
    if (!class_exists('LinkedinOAuth')) {
        require_once "{$CONFIG->pluginspath}cclite/cclite-oauth/ccliteoauth.php";
    }
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('cclite'), $CONFIG->wwwroot . "pg/cclite/" . $_SESSION['user']->username);
        // And for logged out users
    } else {
        add_menu(elgg_echo('cclite'), $CONFIG->wwwroot . "mod/cclite/everyone.php", array());
    }
    // Extend system CSS with our own styles, which are defined in the cclite/css view
    extend_view('css', 'cclite/css');
    // Extend hover-over menu, not sure that this is needed
    extend_view('profile/menu/links', 'cclite/menu');
    // Register a page handler, so we can have nice URLs
    register_page_handler('cclite', 'cclite_page_handler');
    // Register a URL handler for cclite posts
    register_entity_url_handler('cclite_url', 'object', 'cclite');
    // Register this plugin's object for sending pingbacks
    register_plugin_hook('pingback:object:subtypes', 'object', 'cclite_pingback_subtypes');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'cclite', elgg_echo('cclite:newpost'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'cclite_notify_message');
    // Listen for new pingbacks
    register_elgg_event_handler('create', 'object', 'cclite_incoming_ping');
    // Register entity type
    register_entity_type('object', 'cclite');
    // widget created data is metadata, mainly to be posted to remote cclite instance
    // this is a little ugly but I haven't found better...
    register_elgg_event_handler('create', 'metadata', 'cclite_post_data', 1000);
    register_elgg_event_handler('create', 'user', 'post_create_update_handler', 501);
}
/**
 * Form initialisation
 *
 * These parameters are required for the event API, but we won't use them:
 * 
 * @param unknown_type $event
 * @param unknown_type $object_type
 * @param unknown_type $object
 */
function form_init()
{
    // Load system configuration
    global $CONFIG;
    // Load the language files
    register_translations($CONFIG->pluginspath . "form/languages/");
    register_translations($CONFIG->pluginspath . "form/languages/formtrans/");
    // Register entity type
    register_entity_type('object', 'form_data');
    // Register a page handler, so we can have nice URLs
    register_page_handler('form', 'form_page_handler');
    register_plugin_hook('usersettings:save', 'user', 'form_user_settings_save');
    // Register a URL handler for form data
    register_entity_url_handler('form_data_url', 'object', 'form_data');
    extend_view('css', 'form/css');
    add_subtype('object', 'form:form');
    add_subtype('object', 'form:config');
    add_subtype('object', 'form:field');
    add_subtype('object', 'form:field_map');
    add_subtype('object', 'form:field_choice');
    add_subtype('object', 'form:search_definition');
    add_subtype('object', 'form_data');
}
Exemple #11
0
function bookmarks_init()
{
    // Grab the config file
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        add_menu(elgg_echo('bookmarks'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . '/items');
        // And for logged out users
    } else {
        add_menu(elgg_echo('bookmarks'), $CONFIG->wwwroot . "mod/bookmarks/everyone.php");
    }
    //add submenu options
    if (get_context() == "bookmarks") {
        add_submenu_item(elgg_echo('bookmarks:inbox'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . "/inbox");
        add_submenu_item(elgg_echo('bookmarks:read'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . "/items");
        add_submenu_item(elgg_echo('bookmarks:bookmarklet'), $CONFIG->wwwroot . "mod/bookmarks/bookmarklet.php");
        add_submenu_item(elgg_echo('bookmarks:friends'), $CONFIG->wwwroot . "pg/bookmarks/" . $_SESSION['user']->username . "/friends");
        add_submenu_item(elgg_echo('bookmarks:everyone'), $CONFIG->wwwroot . "mod/bookmarks/everyone.php");
    }
    // Register a page handler, so we can have nice URLs
    register_page_handler('bookmarks', 'bookmarks_page_handler');
    // Add our CSS
    extend_view('css', 'bookmarks/css');
    // Register granular notification for this type
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'bookmarks', elgg_echo('bookmarks:new'));
    }
    // Listen to notification events and supply a more useful message
    register_plugin_hook('notify:entity:message', 'object', 'bookmarks_notify_message');
    // Register a URL handler for shared items
    register_entity_url_handler('bookmark_url', 'object', 'bookmarks');
    // Shares widget
    add_widget_type('bookmarks', elgg_echo("bookmarks:recent"), elgg_echo("bookmarks:widget:description"));
    // Register entity type
    register_entity_type('object', 'bookmarks');
}
Exemple #12
0
/**
 * Init blog plugin.
 *
 * @return TRUE
 */
function blog_init()
{
    global $CONFIG;
    require_once dirname(__FILE__) . '/blog_lib.php';
    add_menu(elgg_echo('blog'), "{$CONFIG->wwwroot}pg/blog/", array());
    elgg_extend_view('css', 'blog/css');
    register_elgg_event_handler('pagesetup', 'system', 'blog_page_setup');
    register_page_handler('blog', 'blog_page_handler');
    register_entity_url_handler('blog_url_handler', 'object', 'blog');
    // notifications
    register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
    register_plugin_hook('notify:entity:message', 'object', 'blog_notify_message');
    // pingbacks
    //register_elgg_event_handler('create', 'object', 'blog_incoming_ping');
    //register_plugin_hook('pingback:object:subtypes', 'object', 'blog_pingback_subtypes');
    // Register for search.
    register_entity_type('object', 'blog');
    add_group_tool_option('blog', elgg_echo('blog:enableblog'), true);
    //add_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), 'profile, dashboard');
    $action_path = dirname(__FILE__) . '/actions/blog';
    register_action('blog/save', FALSE, "{$action_path}/save.php");
    register_action('blog/auto_save_revision', FALSE, "{$action_path}/auto_save_revision.php");
    register_action('blog/delete', FALSE, "{$action_path}/delete.php");
}
/**
 * Users initialisation function, which establishes the page handler
 *
 */
function users_init()
{
    // Load config
    global $CONFIG;
    // Set up menu for logged in users
    if (isloggedin()) {
        $user = get_loggedin_user();
        add_menu("Friends", $CONFIG->wwwroot . "pg/friends/" . $user->username);
    }
    register_page_handler('friends', 'friends_page_handler');
    register_page_handler('friendsof', 'friends_of_page_handler');
    register_page_handler('collections', 'collections_page_handler');
    register_page_handler('dashboard', 'dashboard_page_handler');
    register_action("register", true);
    register_action("useradd", true);
    register_action("useradd_content_item", true);
    register_action("friends/add");
    register_action("friends/remove");
    register_action('friends/addcollection');
    register_action('friends/deletecollection');
    register_action('friends/editcollection');
    register_action("user/spotlight");
    register_action("usersettings/save");
    register_action("user/passwordreset");
    register_action("user/requestnewpassword");
    // User name change
    extend_elgg_settings_page('user/settings/name', 'usersettings/user', 1);
    //register_action("user/name");
    // User password change
    extend_elgg_settings_page('user/settings/password', 'usersettings/user', 1);
    //register_action("user/password");
    // Add email settings
    extend_elgg_settings_page('user/settings/email', 'usersettings/user', 1);
    //register_action("email/save");
    // Add language settings
    extend_elgg_settings_page('user/settings/language', 'usersettings/user', 1);
    // Add default access settings
    extend_elgg_settings_page('user/settings/default_access', 'usersettings/user', 1);
    //register_action("user/language");
    // Register the user type
    register_entity_type('user', '');
    register_plugin_hook('usersettings:save', 'user', 'users_settings_save');
    register_plugin_hook('search', 'all', 'search_list_users_by_name');
    // Handle a special case for newly created users when the user is not logged in
    // TODO: handle this better!
    register_plugin_hook('permissions_check', 'all', 'new_user_enable_permissions_check');
}
/**
 * Performs initialisation functions for groups
 *
 */
function group_init()
{
    // Register an entity type
    register_entity_type('group', '');
}
/**
 * Performs initialisation functions for groups
 *
 */
function group_init()
{
    // Register an entity type
    register_entity_type('group', '');
    // Register a search hook
    register_plugin_hook('search', 'all', 'search_list_groups_by_name');
}
Exemple #16
0
/**
 * main function that register everything
 *
 * @global <type> $CONFIG
 */
function init_izap_videos()
{
    global $CONFIG;
    // render this plugin from izap-elgg-bridge now
    if (is_plugin_enabled('izap-elgg-bridge')) {
        func_init_plugin_byizap(array('plugin' => array('name' => GLOBAL_IZAP_VIDEOS_PLUGIN)));
    } else {
        register_error('This plugin needs izap-elgg-bridge');
        disable_plugin(GLOBAL_IZAP_VIDEOS_PLUGIN);
    }
    // for the first time, admin settings are not set so send admin to the setting page, to set the default settings
    if (isadminloggedin() && (int) datalist_get('izap_videos_installtime') == 0) {
        datalist_set('izap_videos_installtime', time());
        forward($CONFIG->wwwroot . 'pg/videos/adminSettings/' . get_loggedin_user()->username . '?option=settings');
    }
    // extend the views
    if (is_callable('elgg_extend_view')) {
        $extend_view = 'elgg_extend_view';
    } else {
        $extend_view = 'extend_view';
    }
    // include the main lib file
    include dirname(__FILE__) . '/lib/izapLib.php';
    // load all the required files
    izapLoadLib_izap_videos();
    // register pagehandler
    register_page_handler('videos', 'pageHandler_izap_videos');
    register_page_handler('izap_videos_files', 'pageHandler_izap_videos_files');
    // register the notification hook
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'izap_videos', elgg_echo('izap_videos:newVideoAdded'));
    }
    $period = get_plugin_setting('izap_cron_time', GLOBAL_IZAP_VIDEOS_PLUGIN);
    if (isOnserverEnabled() && is_plugin_enabled('crontrigger') && $period != 'none') {
        register_plugin_hook('cron', $period, 'izap_queue_cron');
    }
    // asking group to include the izap_videos
    if (is_callable('add_group_tool_option')) {
        add_group_tool_option('izap_videos', elgg_echo('izap_videos:group:enablevideo'), true);
    }
    // register the notification hook
    if (is_callable('register_notification_object')) {
        register_notification_object('object', 'izap_videos', elgg_echo('izap_videos:newVideoAdded'));
    }
    // skip tags from filteration
    if (is_old_elgg()) {
        //allow some tags for elgg lesser than 1.6
        $CONFIG->allowedtags['object'] = array('width' => array(), 'height' => array(), 'classid' => array(), 'codebase' => array(), 'data' => array(), 'type' => array());
        $CONFIG->allowedtags['param'] = array('name' => array(), 'value' => array());
        $CONFIG->allowedtags['embed'] = array('src' => array(), 'type' => array(), 'wmode' => array(), 'width' => array(), 'height' => array());
    } else {
        $allowed_tags = get_plugin_setting('izapHTMLawedTags', GLOBAL_IZAP_VIDEOS_PLUGIN);
        $CONFIG->htmlawed_config['elements'] = 'object, embed, param, p, img, b, i, ul, li, ol, u, a, s, blockquote, br, strong, em' . ($allowed_tags ? ', ' . $allowed_tags : '');
    }
    run_function_once('izapSetup_izap_videos');
    $extend_view('css', 'izap_videos/css/default');
    $extend_view('metatags', 'izap_videos/js/javascript');
    //$extend_view('profile/menu/links','izap_videos/menu');
    $extend_view('groups/right_column', 'izap_videos/gruopVideos', 1);
    // only if enabled by admin
    if (izapIncludeIndexWidget_izap_videos()) {
        $extend_view('index/righthandside', 'izap_videos/customindexVideos');
    }
    // only if enabled by admin
    if (izapTopBarWidget_izap_videos()) {
        $extend_view('elgg_topbar/extend', 'izap_videos/navBar');
    }
    // finally lets register the object
    register_entity_type('object', 'izap_videos');
}
Exemple #17
0
/**
 * Performs initialisation functions for groups
 *
 */
function group_init()
{
    register_entity_type('group', '');
}
Exemple #18
0
/**
 * Users initialisation function, which establishes the page handler
 *
 */
function users_init()
{
    // Load config
    global $CONFIG;
    // add Friends to tools menu - if profile mod is running
    if (isloggedin() && is_plugin_enabled('profile')) {
        $user = get_loggedin_user();
        add_menu(elgg_echo('friends'), $CONFIG->wwwroot . "pg/friends/" . $user->username, array(), 'core:friends');
    }
    register_page_handler('friends', 'friends_page_handler');
    register_page_handler('friendsof', 'friends_of_page_handler');
    //register_page_handler('collections', 'collections_page_handler');
    register_page_handler('dashboard', 'dashboard_page_handler');
    register_page_handler('register', 'registration_page_handler');
    register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler');
    register_action("register", true);
    register_action("useradd", true);
    register_action("friends/add");
    register_action("friends/remove");
    //register_action('friends/addcollection');
    //register_action('friends/deletecollection');
    //register_action('friends/editcollection');
    //register_action("user/spotlight");
    register_action("usersettings/save");
    register_action("user/passwordreset");
    register_action("user/requestnewpassword");
    // User name change
    extend_elgg_settings_page('user/settings/name', 'usersettings/user', 1);
    //register_action("user/name");
    // User password change
    extend_elgg_settings_page('user/settings/password', 'usersettings/user', 1);
    //register_action("user/password");
    // Add email settings
    extend_elgg_settings_page('user/settings/email', 'usersettings/user', 1);
    //register_action("email/save");
    // Add language settings
    extend_elgg_settings_page('user/settings/language', 'usersettings/user', 1);
    // Add default access settings
    extend_elgg_settings_page('user/settings/default_access', 'usersettings/user', 1);
    //register_action("user/language");
    // Register the user type
    register_entity_type('user', '');
    register_plugin_hook('usersettings:save', 'user', 'users_settings_save');
    register_elgg_event_handler('create', 'user', 'user_create_hook_add_site_relationship');
    // Handle a special case for newly created users when the user is not logged in
    // TODO: handle this better!
    register_plugin_hook('permissions_check', 'all', 'new_user_enable_permissions_check');
}