diff options
33 files changed, 146 insertions, 51 deletions
diff --git a/documentation/stubs/config.php b/documentation/stubs/config.php index 86ba54e6d..19e76c8ae 100644 --- a/documentation/stubs/config.php +++ b/documentation/stubs/config.php @@ -106,7 +106,7 @@ $CONFIG->registered_tag_metadata_names; /** * 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. * diff --git a/engine/handlers/page_handler.php b/engine/handlers/page_handler.php index 69dbea79a..c71e820b2 100644 --- a/engine/handlers/page_handler.php +++ b/engine/handlers/page_handler.php @@ -4,11 +4,11 @@ * * 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 diff --git a/engine/lib/admin.php b/engine/lib/admin.php index 2384a9278..6d0b60101 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -221,8 +221,8 @@ function admin_init() { ); } - 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'); } /** diff --git a/engine/lib/cron.php b/engine/lib/cron.php index f216e0b2d..ef0cf17b2 100644 --- a/engine/lib/cron.php +++ b/engine/lib/cron.php @@ -13,7 +13,7 @@ */ 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'); diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 95330844d..fbd33b219 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -1834,8 +1834,8 @@ function elgg_init() { 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'); diff --git a/engine/lib/entities.php b/engine/lib/entities.php index db0e0fddd..81c14da4d 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -2202,7 +2202,7 @@ function entities_test($hook, $type, $value, $params) { * @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'); diff --git a/engine/lib/input.php b/engine/lib/input.php index db43f9a24..0d34db8ae 100644 --- a/engine/lib/input.php +++ b/engine/lib/input.php @@ -353,7 +353,7 @@ function input_livesearch_page_handler($page) { */ 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')) { diff --git a/engine/lib/pagehandler.php b/engine/lib/pagehandler.php index 937b962db..1fa073c1e 100644 --- a/engine/lib/pagehandler.php +++ b/engine/lib/pagehandler.php @@ -88,7 +88,7 @@ function elgg_register_page_handler($handler, $function) { /** * 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 * diff --git a/engine/lib/river.php b/engine/lib/river.php index 2c8925393..43a1c38d5 100644 --- a/engine/lib/river.php +++ b/engine/lib/river.php @@ -531,7 +531,7 @@ function elgg_river_page_handler($page) { * 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); } diff --git a/engine/lib/tags.php b/engine/lib/tags.php index c952a8bab..32d48eff2 100644 --- a/engine/lib/tags.php +++ b/engine/lib/tags.php @@ -314,11 +314,6 @@ function elgg_get_registered_tag_metadata_names() { 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 * @@ -343,3 +338,12 @@ function elgg_tagcloud_page_handler($page) { 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 diff --git a/engine/lib/user_settings.php b/engine/lib/user_settings.php index e3688d7f7..0247dc5d9 100644 --- a/engine/lib/user_settings.php +++ b/engine/lib/user_settings.php @@ -315,7 +315,7 @@ function usersettings_page_handler($page) { * @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'); diff --git a/engine/lib/users.php b/engine/lib/users.php index 8d8c7fb64..ce325f21e 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1486,17 +1486,17 @@ function users_pagesetup() { 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); diff --git a/js/lib/friends_picker.js b/js/lib/friends_picker.js new file mode 100644 index 000000000..9257c40fc --- /dev/null +++ b/js/lib/friends_picker.js @@ -0,0 +1,91 @@ +/* + 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 diff --git a/mod/blog/start.php b/mod/blog/start.php index 104897bfd..ae939fef3 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -32,7 +32,7 @@ function blog_init() { 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'); diff --git a/mod/bookmarks/start.php b/mod/bookmarks/start.php index 04a452d32..9d8e59334 100644 --- a/mod/bookmarks/start.php +++ b/mod/bookmarks/start.php @@ -13,7 +13,7 @@ function bookmarks_init() { 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'); diff --git a/mod/categories/start.php b/mod/categories/start.php index 5590c0089..1b8645eef 100644 --- a/mod/categories/start.php +++ b/mod/categories/start.php @@ -18,7 +18,7 @@ function categories_init() { $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'); diff --git a/mod/developers/start.php b/mod/developers/start.php index 99a0fec63..6bb3dae0f 100644 --- a/mod/developers/start.php +++ b/mod/developers/start.php @@ -10,7 +10,7 @@ function developers_init() { 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'); diff --git a/mod/diagnostics/start.php b/mod/diagnostics/start.php index e3d7abd1a..a79306b25 100644 --- a/mod/diagnostics/start.php +++ b/mod/diagnostics/start.php @@ -13,7 +13,7 @@ elgg_register_event_handler('init', 'system', 'diagnostics_init'); 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'); diff --git a/mod/embed/start.php b/mod/embed/start.php index f8a8701fa..1297f4cc3 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -18,7 +18,7 @@ function embed_init() { 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'); } /** diff --git a/mod/externalpages/start.php b/mod/externalpages/start.php index 86d5894f7..41df8750d 100644 --- a/mod/externalpages/start.php +++ b/mod/externalpages/start.php @@ -8,7 +8,7 @@ register_elgg_event_handler('init', 'system', 'expages_init'); 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'); diff --git a/mod/file/start.php b/mod/file/start.php index cea8b6bd5..f187cb778 100644 --- a/mod/file/start.php +++ b/mod/file/start.php @@ -26,7 +26,7 @@ function file_init() { 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")); diff --git a/mod/groups/start.php b/mod/groups/start.php index 44b5363dc..9b18e4d9b 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -25,14 +25,14 @@ function groups_init() { 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'; @@ -475,7 +475,7 @@ function discussion_init() { 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'); diff --git a/mod/invitefriends/start.php b/mod/invitefriends/start.php index 1b1b0a0ed..e05a2e128 100644 --- a/mod/invitefriends/start.php +++ b/mod/invitefriends/start.php @@ -8,7 +8,7 @@ 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'); diff --git a/mod/messageboard/start.php b/mod/messageboard/start.php index 0e587f914..4ce631569 100644 --- a/mod/messageboard/start.php +++ b/mod/messageboard/start.php @@ -17,7 +17,7 @@ function messageboard_init() { 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"); diff --git a/mod/messages/start.php b/mod/messages/start.php index c1693bbcc..491bdab15 100644 --- a/mod/messages/start.php +++ b/mod/messages/start.php @@ -37,7 +37,7 @@ function messages_init() { 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'); diff --git a/mod/notifications/start.php b/mod/notifications/start.php index 09d0f0c48..f4d50847c 100644 --- a/mod/notifications/start.php +++ b/mod/notifications/start.php @@ -11,7 +11,7 @@ function notifications_plugin_init() { 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'); diff --git a/mod/pages/start.php b/mod/pages/start.php index 31288e040..51f7f84af 100644 --- a/mod/pages/start.php +++ b/mod/pages/start.php @@ -20,7 +20,7 @@ function pages_init() { 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'); diff --git a/mod/profile/start.php b/mod/profile/start.php index 21f7a8c05..8387f7d1b 100644 --- a/mod/profile/start.php +++ b/mod/profile/start.php @@ -27,7 +27,7 @@ function profile_init() { 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'); diff --git a/mod/reportedcontent/start.php b/mod/reportedcontent/start.php index 9e5bb813a..eba1b13a1 100644 --- a/mod/reportedcontent/start.php +++ b/mod/reportedcontent/start.php @@ -13,7 +13,7 @@ elgg_register_event_handler('init', 'system', 'reportedcontent_init'); 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'); diff --git a/mod/search/start.php b/mod/search/start.php index 401bf84a5..b979e2f79 100644 --- a/mod/search/start.php +++ b/mod/search/start.php @@ -14,7 +14,7 @@ function search_init() { 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'); diff --git a/mod/thewire/start.php b/mod/thewire/start.php index c2c0f491d..d36be6e99 100644 --- a/mod/thewire/start.php +++ b/mod/thewire/start.php @@ -29,7 +29,7 @@ function thewire_init() { elgg_extend_view('js/initialise_elgg', 'thewire/js/textcounter');
// Register a page handler, so we can have nice URLs
- register_page_handler('thewire', 'thewire_page_handler');
+ elgg_register_page_handler('thewire', 'thewire_page_handler');
// Register a URL handler for thewire posts
register_entity_url_handler('thewire_url', 'object', 'thewire');
diff --git a/mod/twitterservice/start.php b/mod/twitterservice/start.php index ed5022359..cc64734e7 100644 --- a/mod/twitterservice/start.php +++ b/mod/twitterservice/start.php @@ -42,7 +42,7 @@ function twitterservice_init() { } // 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'); diff --git a/mod/uservalidationbyemail/start.php b/mod/uservalidationbyemail/start.php index d04adcf4d..e895d3e6a 100644 --- a/mod/uservalidationbyemail/start.php +++ b/mod/uservalidationbyemail/start.php @@ -15,7 +15,7 @@ function uservalidationbyemail_init() { // 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'); |