/**
* An associative array of page handlers and their function names.
*
- * Page handlers must be registered by {@link register_page_handler()} and
+ * Page handlers must be registered by {@link elgg_register_page_handler()} and
* will be dispatched by {@link engine/handlers/pagehandler.php} to the
* proper function.
*
*
* This file dispatches pages. It is called via a URL rewrite in .htaccess
* from http://site/pg/handler/page1/page2. The first element after 'pg/' is
- * the page handler name as registered by {@link register_page_handler()}.
+ * the page handler name as registered by {@link elgg_register_page_handler()}.
* The rest of the string is sent to {@link page_handler()}.
*
* {@link page_handler()} explodes the pages string by / and sends it to
- * the page handler function as registered by {@link register_page_handler()}.
+ * the page handler function as registered by {@link elgg_register_page_handler()}.
* If a valid page handler isn't found, plugins have a chance to provide a 404.
*
* @package Elgg.Core
);
}
- register_page_handler('admin', 'admin_settings_page_handler');
- register_page_handler('admin_plugin_screenshot', 'admin_plugin_screenshot_page_handler');
+ elgg_register_page_handler('admin', 'admin_settings_page_handler');
+ elgg_register_page_handler('admin_plugin_screenshot', 'admin_plugin_screenshot_page_handler');
}
/**
*/
function cron_init() {
// Register a pagehandler for cron
- register_page_handler('cron', 'cron_page_handler');
+ elgg_register_page_handler('cron', 'cron_page_handler');
// register a hook for Walled Garden public pages
elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'cron_public_pages');
elgg_register_action('likes/add');
elgg_register_action('likes/delete');
- register_page_handler('js', 'js_page_handler');
- register_page_handler('css', 'css_page_handler');
+ elgg_register_page_handler('js', 'js_page_handler');
+ elgg_register_page_handler('css', 'css_page_handler');
// Trigger the shutdown:system event upon PHP shutdown.
register_shutdown_function('_elgg_shutdown_hook');
* @elgg_event_handler init system
*/
function entities_init() {
- register_page_handler('view', 'entities_page_handler');
+ elgg_register_page_handler('view', 'entities_page_handler');
elgg_register_plugin_hook_handler('unit_test', 'system', 'entities_test');
*/
function input_init() {
// register an endpoint for live search / autocomplete.
- register_page_handler('livesearch', 'input_livesearch_page_handler');
+ elgg_register_page_handler('livesearch', 'input_livesearch_page_handler');
if (ini_get_bool('magic_quotes_gpc')) {
/**
* Unregister a page handler for an identifier
*
- * Note: to replace a page handler, call register_page_handler()
+ * Note: to replace a page handler, call elgg_register_page_handler()
*
* @param string $handler The page type identifier
*
* Initialize river library
*/
function elgg_river_init() {
- register_page_handler('activity', 'elgg_river_page_handler');
+ elgg_register_page_handler('activity', 'elgg_river_page_handler');
$item = new ElggMenuItem('activity', elgg_echo('activity'), 'pg/activity');
elgg_register_menu_item('site', $item);
}
return $names;
}
-// register the standard tags metadata name
-elgg_register_tag_metadata_name('tags');
-
-register_page_handler('tags', 'elgg_tagcloud_page_handler');
-
/**
* Page hander for tags
*
break;
}
}
+
+function elgg_tags_init() {
+ // register the standard tags metadata name
+ elgg_register_tag_metadata_name('tags');
+
+ elgg_register_page_handler('tags', 'elgg_tagcloud_page_handler');
+}
+
+elgg_register_event_handler('init', 'system', 'elgg_tags_init');
\ No newline at end of file
* @return void
*/
function usersettings_init() {
- register_page_handler('settings', 'usersettings_page_handler');
+ elgg_register_page_handler('settings', 'usersettings_page_handler');
elgg_register_plugin_hook_handler('usersettings:save', 'user', 'users_settings_save');
function users_init() {
global $CONFIG;
- register_page_handler('friends', 'friends_page_handler');
- register_page_handler('friendsof', 'friends_of_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_page_handler('login', 'elgg_user_login_page_handler');
- register_page_handler('members', 'elgg_members_page_handler');
- register_page_handler('avatar', 'elgg_avatar_page_handler');
- register_page_handler('profile', 'elgg_profile_page_handler');
-
- //register_page_handler('collections', 'collections_page_handler');
+ elgg_register_page_handler('friends', 'friends_page_handler');
+ elgg_register_page_handler('friendsof', 'friends_of_page_handler');
+ elgg_register_page_handler('dashboard', 'dashboard_page_handler');
+ elgg_register_page_handler('register', 'registration_page_handler');
+ elgg_register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler');
+ elgg_register_page_handler('login', 'elgg_user_login_page_handler');
+ elgg_register_page_handler('members', 'elgg_members_page_handler');
+ elgg_register_page_handler('avatar', 'elgg_avatar_page_handler');
+ elgg_register_page_handler('profile', 'elgg_profile_page_handler');
+
+ //elgg_register_page_handler('collections', 'collections_page_handler');
$item = new ElggMenuItem('members', elgg_echo('members'), 'pg/members');
elgg_register_menu_item('site', $item);
--- /dev/null
+/*
+ elgg friendsPicker plugin
+ adapted from Niall Doherty's excellent Coda-Slider - http://www.ndoherty.com/coda-slider
+ */
+
+
+jQuery.fn.friendsPicker = function(iterator) {
+
+ var settings;
+ settings = $.extend({ easeFunc: "easeOutExpo", easeTime: 1000, toolTip: false }, settings);
+
+ return this.each(function() {
+
+ var container = $(this);
+ container.addClass("friends-picker");
+ // set panelwidth manually as it's hidden initially - adjust this value for different themes/pagewidths
+ var panelWidth = 730;
+
+ // count the panels in the container
+ var panelCount = container.find("div.panel").size();
+ // calculate the width of all the panels lined up end-to-end
+ var friendsPicker_containerWidth = panelWidth*panelCount;
+ // specify width for the friendsPicker_container
+ container.find("div.friends-picker-container").css("width" , friendsPicker_containerWidth);
+
+ // global variables for container.each function below
+ var friendsPickerNavigationWidth = 0;
+ var currentPanel = 1;
+
+ // generate appropriate nav for each container
+ container.each(function(i) {
+ // generate Left and Right arrows
+ $(this).before("<div class='friends-picker-navigation-l' id='friends-picker-navigation-l" + iterator + "'><a href='#'>Left</a><\/div>");
+ $(this).after("<div class='friends-picker-navigation-r' id='friends-picker-navigation-r" + iterator + "'><a href='#'>Right</a><\/div>");
+
+ // generate a-z tabs
+ $(this).before("<div class='friends-picker-navigation' id='friends-picker-navigation" + iterator + "'><ul><\/ul><\/div>");
+ $(this).find("div.panel").each(function(individualTabItemNumber) {
+ $("div#friends-picker-navigation" + iterator + " ul").append("<li class='tab" + (individualTabItemNumber+1) + "'><a href='#" + (individualTabItemNumber+1) + "'>" + $(this).attr("title") + "<\/a><\/li>");
+ });
+
+ // tabs navigation
+ $("div#friends-picker-navigation" + iterator + " a").each(function(individualTabItemNumber) {
+ // calc friendsPickerNavigationWidth by summing width of each li
+ friendsPickerNavigationWidth += $(this).parent().width();
+ // set-up individual tab clicks
+ $(this).bind("click", function() {
+ $(this).addClass("current").parent().parent().find("a").not($(this)).removeClass("current");
+ var distanceToMoveFriendsPicker_container = - (panelWidth*individualTabItemNumber);
+ currentPanel = individualTabItemNumber + 1;
+ $(this).parent().parent().parent().next().find("div.friends-picker-container").animate({ left: distanceToMoveFriendsPicker_container}, settings.easeTime, settings.easeFunc);
+ });
+ });
+
+ // Right arow click function
+ $("div#friends-picker-navigation-r" + iterator + " a").click(function() {
+ if (currentPanel == panelCount) {
+ var distanceToMoveFriendsPicker_container = 0;
+ currentPanel = 1;
+ $(this).parent().parent().find("div.friends-picker-navigation a.current").removeClass("current").parent().parent().find("a:eq(0)").addClass("current");
+ } else {
+ var distanceToMoveFriendsPicker_container = - (panelWidth*currentPanel);
+ currentPanel += 1;
+ $(this).parent().parent().find("div.friends-picker-navigation a.current").removeClass("current").parent().next().find("a").addClass("current");
+ };
+ $(this).parent().parent().find("div.friends-picker-container").animate({ left: distanceToMoveFriendsPicker_container}, settings.easeTime, settings.easeFunc);
+ return false;
+ });
+
+ // Left arrow click function
+ $("div#friends-picker-navigation-l" + iterator + " a").click(function() {
+ if (currentPanel == 1) {
+ var distanceToMoveFriendsPicker_container = - (panelWidth*(panelCount - 1));
+ currentPanel = panelCount;
+ $(this).parent().parent().find("div.friends-picker-navigation a.current").removeClass("current").parent().parent().find("li:last a").addClass("current");
+ } else {
+ currentPanel -= 1;
+ var distanceToMoveFriendsPicker_container = - (panelWidth*(currentPanel - 1));
+ $(this).parent().parent().find("div.friends-picker-navigation a.current").removeClass("current").parent().prev().find("a").addClass("current");
+ };
+ $(this).parent().parent().find("div.friends-picker-container").animate({ left: distanceToMoveFriendsPicker_container}, settings.easeTime, settings.easeFunc);
+ return false;
+ });
+
+ // apply 'current' class to currently selected tab link
+ $("div#friends-picker-navigation" + iterator + " a:eq(0)").addClass("current");
+ });
+
+ $("div#friends-picker-navigation" + iterator).append("<br />");
+ });
+};
\ No newline at end of file
elgg_extend_view('css/screen', 'blog/css');
// routing of urls
- register_page_handler('blog', 'blog_page_handler');
+ elgg_register_page_handler('blog', 'blog_page_handler');
// override the default url to view a blog object
register_entity_url_handler('blog_url_handler', 'object', 'blog');
elgg_register_menu_item('site', $item);
// Register a page handler, so we can have nice URLs
- register_page_handler('bookmarks', 'bookmarks_page_handler');
+ elgg_register_page_handler('bookmarks', 'bookmarks_page_handler');
// Add our CSS
elgg_extend_view('css/screen', 'bookmarks/css');
$action_base = elgg_get_plugins_path() . 'categories/actions';
elgg_register_action('settings/categories/save', "$action_base/save.php", 'admin');
- register_page_handler('categories', 'categories_page_handler');
+ elgg_register_page_handler('categories', 'categories_page_handler');
elgg_register_event_handler('update', 'all', 'categories_save');
elgg_register_event_handler('create', 'all', 'categories_save');
elgg_extend_view('css/admin', 'developers/css');
- register_page_handler('theme_preview', 'developers_theme_preview_controller');
+ elgg_register_page_handler('theme_preview', 'developers_theme_preview_controller');
$action_base = elgg_get_plugins_path() . 'developers/actions/developers';
elgg_register_action('developers/settings', "$action_base/settings.php", 'admin');
function diagnostics_init() {
// Register a page handler, so we can have nice URLs
- register_page_handler('diagnostics','diagnostics_page_handler');
+ elgg_register_page_handler('diagnostics','diagnostics_page_handler');
// Add admin menu item
elgg_add_admin_menu_item('diagnostics', elgg_echo('diagnostics'), 'utilities');
elgg_extend_view('input/longtext', 'embed/link', 1);
// Page handler for the modal media embed
- register_page_handler('embed', 'embed_page_handler');
+ elgg_register_page_handler('embed', 'embed_page_handler');
}
/**
function expages_init() {
// Register a page handler, so we can have nice URLs
- register_page_handler('expages', 'expages_page_handler');
+ elgg_register_page_handler('expages', 'expages_page_handler');
// add a menu item for the admin edit page
elgg_add_admin_menu_item('expages', elgg_echo('expages'), 'site');
elgg_extend_view('groups/tool_latest', 'file/group_module');
// Register a page handler, so we can have nice URLs
- register_page_handler('file', 'file_page_handler');
+ 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"));
elgg_register_menu_item('site', $item);
// Register a page handler, so we can have nice URLs
- register_page_handler('groups', 'groups_page_handler');
+ elgg_register_page_handler('groups', 'groups_page_handler');
// Register URL handlers for groups
register_entity_url_handler('groups_url', 'group', 'all');
elgg_register_plugin_hook_handler('entity:icon:url', 'group', 'groups_icon_url_override');
// Register an icon handler for groups
- register_page_handler('groupicon', 'groups_icon_handler');
+ elgg_register_page_handler('groupicon', 'groups_icon_handler');
// Register some actions
$action_base = elgg_get_plugins_path() . 'groups/actions';
elgg_register_library('elgg:discussion', elgg_get_plugins_path() . 'groups/lib/discussion.php');
- register_page_handler('discussion', 'discussion_page_handler');
+ elgg_register_page_handler('discussion', 'discussion_page_handler');
register_entity_url_handler('discussion_override_topic_url', 'object', 'groupforumtopic');
//register_extender_url_handler('group_topicpost_url', 'annotation', 'group_topic_post');
elgg_register_event_handler('init', 'system', 'invitefriends_init');
function invitefriends_init() {
- register_page_handler('invite', 'invitefriends_page_handler');
+ elgg_register_page_handler('invite', 'invitefriends_page_handler');
elgg_register_action('invitefriends/invite', elgg_get_plugins_path() . 'invitefriends/actions/invite.php');
elgg_extend_view('css/screen', 'messageboard/css');
// Register a page handler, so we can have nice URLs
- register_page_handler('messageboard', 'messageboard_page_handler');
+ elgg_register_page_handler('messageboard', 'messageboard_page_handler');
// add a messageboard widget - only for profile
elgg_register_widget_type('messageboard', elgg_echo("messageboard:board"), elgg_echo("messageboard:desc"), "profile");
elgg_extend_view('elgg_topbar/extend', 'messages/topbar');
// Register a page handler, so we can have nice URLs
- register_page_handler('messages', 'messages_page_handler');
+ elgg_register_page_handler('messages', 'messages_page_handler');
// Register a URL handler
register_entity_url_handler('messages_url', 'object', 'messages');
elgg_extend_view('css/screen','notifications/css');
- register_page_handler('notifications', 'notifications_page_handler');
+ elgg_register_page_handler('notifications', 'notifications_page_handler');
elgg_register_event_handler('pagesetup', 'system', 'notifications_plugin_pagesetup');
elgg_register_menu_item('site', $item);
// Register a page handler, so we can have nice URLs
- register_page_handler('pages', 'pages_page_handler');
+ elgg_register_page_handler('pages', 'pages_page_handler');
// Register a url handler
register_entity_url_handler('pages_url', 'object', 'page_top');
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');
+ elgg_register_page_handler('profile', 'profile_page_handler');
elgg_extend_view('html_head/extend', 'profile/metatags');
elgg_extend_view('css/screen', 'profile/css');
function reportedcontent_init() {
// Register a page handler, so we can have nice URLs
- register_page_handler('reportedcontent', 'reportedcontent_page_handler');
+ elgg_register_page_handler('reportedcontent', 'reportedcontent_page_handler');
// Extend CSS
elgg_extend_view('css/screen', 'reportedcontent/css');
require_once 'search_hooks.php';
// page handler for search actions and results
- register_page_handler('search','search_page_handler');
+ elgg_register_page_handler('search','search_page_handler');
// register some default search hooks
elgg_register_plugin_hook_handler('search', 'object', 'search_objects_hook');
elgg_extend_view('js/initialise_elgg', 'thewire/js/textcounter');\r
\r
// Register a page handler, so we can have nice URLs\r
- register_page_handler('thewire', 'thewire_page_handler');\r
+ elgg_register_page_handler('thewire', 'thewire_page_handler');\r
\r
// Register a URL handler for thewire posts\r
register_entity_url_handler('thewire_url', 'object', 'thewire');\r
}
// register page handler
- register_page_handler('twitterservice', 'twitterservice_pagehandler');
+ elgg_register_page_handler('twitterservice', 'twitterservice_pagehandler');
// register Walled Garden public pages
elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitterservice_public_pages');
// Register page handler to validate users
// This doesn't need to be an action because security is handled by the validation codes.
- register_page_handler('uservalidationbyemail', 'uservalidationbyemail_page_handler');
+ elgg_register_page_handler('uservalidationbyemail', 'uservalidationbyemail_page_handler');
// mark users as unvalidated and disable when they register
elgg_register_plugin_hook_handler('register', 'user', 'uservalidationbyemail_disable_new_user');