/** * Start the site pages plugin. */ function sitepages_init() { require_once dirname(__FILE__) . '/sitepages_functions.php'; global $CONFIG; // register our subtype run_function_once('sitepages_runonce'); // Register a page handler, so we can have nice URLs register_page_handler('sitepages', 'sitepages_page_handler'); // Register a URL handler for external pages register_entity_url_handler('sitepages_url', 'object', 'sitepages'); elgg_extend_view('footer/links', 'sitepages/footer_menu'); elgg_extend_view('metatags', 'sitepages/metatags'); // Replace the default index page if user has requested if (get_plugin_setting('ownfrontpage', 'sitepages') == 'yes') { register_plugin_hook('index', 'system', 'sitepages_custom_index'); } // parse views for keywords register_plugin_hook('display', 'view', 'sitepages_parse_view'); // register the views we want to parse for the keyword replacement // right now this is just the custom front page, but we can // expand it to the other pages later. $CONFIG->sitepages_parse_views = array('sitepages/custom_frontpage'); // an example of how to register and respond to the get_keywords trigger register_plugin_hook('get_keywords', 'sitepages', 'sitepages_keyword_hook'); // grab the list of keywords and their views from plugins if ($keywords = trigger_plugin_hook('get_keywords', 'sitepages', NULL, array())) { $CONFIG->sitepages_keywords = $keywords; } register_action("sitepages/add", FALSE, $CONFIG->pluginspath . "sitepages/actions/add.php"); register_action("sitepages/addfront", FALSE, $CONFIG->pluginspath . "sitepages/actions/addfront.php"); register_action("sitepages/addmeta", FALSE, $CONFIG->pluginspath . "sitepages/actions/addmeta.php"); register_action("sitepages/edit", FALSE, $CONFIG->pluginspath . "sitepages/actions/edit.php"); register_action("sitepages/delete", FALSE, $CONFIG->pluginspath . "sitepages/actions/delete.php"); }
/** * 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'); }
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); }
/** * 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'); }
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); }
/** * 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'); }
/** * Messages 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 messages_init() { // Load system configuration global $CONFIG; //add submenu options if (get_context() == "messages") { add_submenu_item(elgg_echo('messages:compose'), $CONFIG->wwwroot . "mod/messages/send.php"); add_submenu_item(elgg_echo('messages:inbox'), $CONFIG->wwwroot . "pg/messages/" . $_SESSION['user']->username); add_submenu_item(elgg_echo('messages:sentmessages'), $CONFIG->wwwroot . "mod/messages/sent.php"); } // Extend system CSS with our own styles, which are defined in the shouts/css view extend_view('css', 'messages/css'); // Extend the elgg topbar extend_view('elgg_topbar/extend', 'messages/topbar'); // Register a page handler, so we can have nice URLs register_page_handler('messages', 'messages_page_handler'); // Register a URL handler for shouts posts register_entity_url_handler('messages_url', 'object', 'messages'); // Extend hover-over and profile menu extend_view('profile/menu/links', 'messages/menu'); // Register a notification handler for site messages register_notification_handler("site", "messages_site_notify_handler"); register_plugin_hook('notify:entity:message', 'object', 'messages_notification_msg'); if (is_callable('register_notification_object')) { register_notification_object('object', 'messages', elgg_echo('messages:new')); } // Shares widget // add_widget_type('messages',elgg_echo("messages:recent"),elgg_echo("messages:widget:description")); // Override metadata permissions register_plugin_hook('permissions_check:metadata', 'object', 'messages_can_edit_metadata'); }
/** * Profile init function; sets up the profile functions * */ function profile_init() { // Get config global $CONFIG; // Register a URL handler for users - this means that profile_url() // will dictate the URL for all ElggUser objects register_entity_url_handler('profile_url', 'user', 'all'); // Metadata on users needs to be independent register_metadata_as_independent('user'); elgg_view_register_simplecache('icon/user/default/tiny'); elgg_view_register_simplecache('icon/user/default/topbar'); elgg_view_register_simplecache('icon/user/default/small'); elgg_view_register_simplecache('icon/user/default/medium'); elgg_view_register_simplecache('icon/user/default/large'); elgg_view_register_simplecache('icon/user/default/master'); // For now, we'll hard code the profile items as follows: // TODO make this user configurable /*$CONFIG->profile = array( // Language short codes must be of the form "profile:key" // where key is the array key below 'description' => 'longtext', 'briefdescription' => 'text', 'location' => 'tags', 'interests' => 'tags', 'skills' => 'tags', 'contactemail' => 'email', 'phone' => 'text', 'mobile' => 'text', 'website' => 'url', );*/ // Register a page handler, so we can have nice URLs register_page_handler('profile', 'profile_page_handler'); register_page_handler('defaultprofile', 'profileedit_page_handler'); register_page_handler('icon', 'profile_icon_handler'); register_page_handler('iconjs', 'profile_iconjs_handler'); // Add Javascript reference to the page header extend_view('metatags', 'profile/metatags'); extend_view('css', 'profile/css'); extend_view('js/initialise_elgg', 'profile/javascript'); if (get_context() == "profile") { extend_view('canvas_header/submenu', 'profile/submenu'); } //add submenu options if (get_context() == "profile") { add_submenu_item(elgg_echo('profile:editdetails'), $CONFIG->wwwroot . "mod/profile/edit.php"); add_submenu_item(elgg_echo('profile:editicon'), $CONFIG->wwwroot . "mod/profile/editicon.php"); } // Extend context menu with admin links if (isadminloggedin()) { extend_view('profile/menu/links', 'profile/menu/adminwrapper', 10000); } // Now override icons register_plugin_hook('entity:icon:url', 'user', 'profile_usericon_hook'); }
/** * Elgg Simple editing of external pages frontpage/about/term/contact and privacy * * @package ElggExPages * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author Curverider Ltd * @copyright Curverider Ltd 2008-2009 * @link http://elgg.com/ */ function expages_init() { global $CONFIG; // Register a page handler, so we can have nice URLs register_page_handler('expages', 'expages_page_handler'); // Register a URL handler for external pages register_entity_url_handler('expages_url', 'object', 'expages'); // extend views extend_view('footer/links', 'expages/footer_menu'); extend_view('index/righthandside', 'expages/front_right'); extend_view('index/lefthandside', 'expages/front_left'); }
/** * Elgg Simple editing of external pages frontpage/about/term/contact and privacy * * @package ElggExPages * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author Curverider Ltd * @copyright Curverider Ltd 2008-2010 * @link http://elgg.com/ */ function expages_init() { global $CONFIG; // Register a page handler, so we can have nice URLs register_page_handler('expages', 'expages_page_handler'); // Register a URL handler for external pages register_entity_url_handler('expages_url', 'object', 'expages'); // extend views elgg_extend_view('footer/links', 'expages/footer_menu'); // Extend CSS elgg_extend_view('css', 'expages/css'); }
/** * Initialise the dgroups plugin. * Register actions, set up menus */ function dgroups_init() { global $CONFIG; // Set up the menu for logged in users if (isloggedin()) { add_menu(elgg_echo('dgroups'), $CONFIG->wwwroot . "pg/dgroups/world/"); //add_menu(elgg_echo('dgroups:alldiscussion'),$CONFIG->wwwroot."mod/dgroups/discussions.php"); } else { add_menu(elgg_echo('dgroups'), $CONFIG->wwwroot . "pg/dgroups/world/"); } // Register a page handler, so we can have nice URLs register_page_handler('dgroups', 'dgroups_page_handler'); // Register a URL handler for dgroups and forum topics register_entity_url_handler('dgroups_url', 'group', 'dgroup'); register_entity_url_handler('dgroups_dgroupforumtopic_url', 'object', 'dgroupforumtopic'); // Register an icon handler for dgroups register_page_handler('dgroupicon', 'dgroups_icon_handler'); // Register some actions register_action("dgroups/edit", false, $CONFIG->pluginspath . "dgroups/actions/edit.php"); register_action("dgroups/delete", false, $CONFIG->pluginspath . "dgroups/actions/delete.php"); register_action("dgroups/join", false, $CONFIG->pluginspath . "dgroups/actions/join.php"); register_action("dgroups/leave", false, $CONFIG->pluginspath . "dgroups/actions/leave.php"); register_action("dgroups/joinrequest", false, $CONFIG->pluginspath . "dgroups/actions/joinrequest.php"); register_action("dgroups/killrequest", false, $CONFIG->pluginspath . "dgroups/actions/dgroupskillrequest.php"); register_action("dgroups/addtodgroup", false, $CONFIG->pluginspath . "dgroups/actions/addtodgroup.php"); register_action("dgroups/invite", false, $CONFIG->pluginspath . "dgroups/actions/invite.php"); extend_view('dgroups/menu/links', 'pages/menu'); // Add to groups context extend_view('dgroups/right_column', 'pages/groupprofile_pages'); // Add to groups context // Use dgroup widgets use_widgets('dgroups'); // Add a page owner handler add_page_owner_handler('dgroups_page_owner_handler'); // Add some widgets add_widget_type('a_users_dgroups', elgg_echo('dgroups:widget:membership'), elgg_echo('dgroups:widgets:description')); //extend some views extend_view('profile/icon', 'dgroups/icon'); extend_view('css', 'dgroups/css'); // Write access permissions register_plugin_hook('access:collections:write', 'all', 'dgroups_write_acl_plugin_hook'); // Notification hooks if (is_callable('register_notification_object')) { register_notification_object('object', 'dgroupforumtopic', elgg_echo('dgroupforumtopic:new')); } register_plugin_hook('object:notifications', 'object', 'dgroup_object_notifications_intercept'); // Listen to notification events and supply a more useful message register_plugin_hook('notify:entity:message', 'object', 'dgroupforumtopic_notify_message'); // add the forum tool option // Now override icons register_plugin_hook('entity:icon:url', 'group', 'dgroups_dgroupicon_hook'); }
/** * Initialise the groups plugin. * Register actions, set up menus */ function groups_init() { global $CONFIG; // Set up the menu add_menu(elgg_echo('groups'), $CONFIG->wwwroot . "pg/groups/member/"); // Register a page handler, so we can have nice URLs register_page_handler('groups', 'groups_page_handler'); // Register a URL handler for groups and forum topics register_entity_url_handler('groups_url', 'group', 'all'); register_entity_url_handler('groups_groupforumtopic_url', 'object', 'groupforumtopic'); // Register an icon handler for groups register_page_handler('groupicon', 'groups_icon_handler'); // Register some actions register_action("groups/edit", false, $CONFIG->pluginspath . "groups/actions/edit.php"); register_action("groups/delete", false, $CONFIG->pluginspath . "groups/actions/delete.php"); register_action("groups/join", false, $CONFIG->pluginspath . "groups/actions/join.php"); register_action("groups/leave", false, $CONFIG->pluginspath . "groups/actions/leave.php"); register_action("groups/joinrequest", false, $CONFIG->pluginspath . "groups/actions/joinrequest.php"); register_action("groups/killrequest", false, $CONFIG->pluginspath . "groups/actions/groupskillrequest.php"); register_action("groups/killinvitation", false, $CONFIG->pluginspath . "groups/actions/groupskillinvitation.php"); register_action("groups/addtogroup", false, $CONFIG->pluginspath . "groups/actions/addtogroup.php"); register_action("groups/invite", false, $CONFIG->pluginspath . "groups/actions/invite.php"); // Use group widgets use_widgets('groups'); // Add a page owner handler add_page_owner_handler('groups_page_owner_handler'); // Add some widgets add_widget_type('a_users_groups', elgg_echo('groups:widget:membership'), elgg_echo('groups:widgets:description')); //extend some views elgg_extend_view('profile/icon', 'groups/icon'); elgg_extend_view('css', 'groups/css'); // Access permissions register_plugin_hook('access:collections:write', 'all', 'groups_write_acl_plugin_hook'); //register_plugin_hook('access:collections:read', 'all', 'groups_read_acl_plugin_hook'); // Notification hooks if (is_callable('register_notification_object')) { register_notification_object('object', 'groupforumtopic', elgg_echo('groupforumtopic:new')); } register_plugin_hook('object:notifications', 'object', 'group_object_notifications_intercept'); // Listen to notification events and supply a more useful message register_plugin_hook('notify:entity:message', 'object', 'groupforumtopic_notify_message'); // add the forum tool option add_group_tool_option('forum', elgg_echo('groups:enableforum'), true); // Now override icons register_plugin_hook('entity:icon:url', 'group', 'groups_groupicon_hook'); }
/** * 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'); }
/** * 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); }
/** * 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); }
/** * Profile init function; sets up the profile functions * */ function profile_init() { global $CONFIG; require_once 'profile_lib.php'; // Register a URL handler for users - this means that profile_url() // will dictate the URL for all ElggUser objects register_entity_url_handler('profile_url', 'user', 'all'); // Set up the menu for logged-in users if (isloggedin()) { add_menu(elgg_echo('profile:yours'), $_SESSION['user']->getURL() . '/extend'); } // Metadata on users needs to be independent register_metadata_as_independent('user'); elgg_view_register_simplecache('icon/user/default/tiny'); elgg_view_register_simplecache('icon/user/default/topbar'); elgg_view_register_simplecache('icon/user/default/small'); elgg_view_register_simplecache('icon/user/default/medium'); elgg_view_register_simplecache('icon/user/default/large'); elgg_view_register_simplecache('icon/user/default/master'); // Register a page handler, so we can have nice URLs register_page_handler('profile', 'profile_page_handler'); register_page_handler('defaultprofile', 'profileedit_page_handler'); register_page_handler('icon', 'profile_icon_handler'); register_page_handler('iconjs', 'profile_iconjs_handler'); // Add Javascript reference to the page header elgg_extend_view('metatags', 'profile/metatags'); elgg_extend_view('css', 'profile/css'); elgg_extend_view('js/initialise_elgg', 'profile/javascript'); if (get_context() == 'profile') { elgg_extend_view('canvas_header/submenu', 'profile/submenu'); } // Extend context menu with admin links if (isadminloggedin()) { elgg_extend_view('profile/menu/links', 'profile/menu/adminwrapper', 10000); } // Now override icons register_plugin_hook('entity:icon:url', 'user', 'profile_usericon_hook'); }
/** * 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'); }
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'); }
/** * 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"); }