From 585a1ba974329a2915fefeb67f62740f0cd0613e Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 26 Apr 2010 21:08:18 +0000 Subject: Graceful degrading for non-JS users on the dropdown login box. git-svn-id: http://code.elgg.org/elgg/trunk@5887 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 20 +++++++++-- mod/blog/manifest.xml | 10 ++++++ mod/riverdashboard/index.php | 10 +++--- mod/riverdashboard/manifest.xml | 16 ++++----- mod/riverdashboard/start.php | 5 --- .../views/default/river/item/list.php | 1 + views/default/account/forms/login_dropdown.php | 42 +++++++++++----------- 7 files changed, 64 insertions(+), 40 deletions(-) diff --git a/engine/lib/users.php b/engine/lib/users.php index 02b0f9027..9bb2a3f15 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1671,6 +1671,22 @@ function registration_page_handler($page_elements) { require_once(dirname(dirname(dirname(__FILE__))) . "/account/register.php"); } +/** + * Display a login box. + * + * This is a fallback for non-JS users who click on the + * dropdown login link. + */ +function elgg_user_login_page_handler() { + $content = elgg_view_layout('one_column', elgg_view('account/forms/login')); + $content = ' +
+ ' . elgg_view('account/forms/login') . ' +
+ '; + page_draw('test', $content); +} + /** * Sets the last action time of the given user to right now. * @@ -1775,10 +1791,10 @@ function users_init() { 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_page_handler('login', 'elgg_user_login_page_handler'); register_action("register", true); register_action("useradd", true); @@ -1873,4 +1889,4 @@ function users_test($hook, $type, $value, $params) { //register actions ************************************************************* register_elgg_event_handler('init','system','users_init',0); register_elgg_event_handler('pagesetup','system','users_pagesetup',0); -register_plugin_hook('unit_test', 'system', 'users_test'); +register_plugin_hook('unit_test', 'system', 'users_test'); \ No newline at end of file diff --git a/mod/blog/manifest.xml b/mod/blog/manifest.xml index 483e83fab..a2ef59d0a 100644 --- a/mod/blog/manifest.xml +++ b/mod/blog/manifest.xml @@ -1,5 +1,15 @@ + + + + + + + + diff --git a/mod/riverdashboard/index.php b/mod/riverdashboard/index.php index 758aa4018..371845213 100644 --- a/mod/riverdashboard/index.php +++ b/mod/riverdashboard/index.php @@ -7,25 +7,25 @@ require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php'); gatekeeper(); - + $type = get_input('type'); $subtype = get_input('subtype'); $orient = get_input('display'); if(!$orient) $orient = 'all'; $callback = get_input('callback'); - + if ($type == 'all') { $type = ''; $subtype = ''; } $body = ''; - + switch($orient) { case 'mine': $subject_guid = $_SESSION['user']->guid; - $relationship_type = ''; + $relationship_type = ''; $title_wording = elgg_echo('river:mine'); break; case 'friends': $subject_guid = $_SESSION['user']->guid; @@ -49,7 +49,7 @@ else // Replacing callback calls in the nav with something meaningless $river = str_replace('callback=true','replaced=88,334',$river); - + $nav = elgg_view('riverdashboard/nav',array('type' => $type,'subtype' => $subtype,'orient' => $orient)); if(isloggedin()){ $sidebar = elgg_view("riverdashboard/menu",array('type' => $type,'subtype' => $subtype,'orient' => $orient)); diff --git a/mod/riverdashboard/manifest.xml b/mod/riverdashboard/manifest.xml index a29af8a61..24133b7d4 100644 --- a/mod/riverdashboard/manifest.xml +++ b/mod/riverdashboard/manifest.xml @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/mod/riverdashboard/start.php b/mod/riverdashboard/start.php index b95c2654d..9f64f4c9d 100644 --- a/mod/riverdashboard/start.php +++ b/mod/riverdashboard/start.php @@ -26,15 +26,10 @@ function riverdashboard_init() { * @param unknown_type $page */ function riverdashboard_page_handler($page){ - global $CONFIG; include(dirname(__FILE__) . "/index.php"); return true; } -function riverdashboard_dashboard() { - include(dirname(__FILE__) . '/index.php'); -} - /** * For users to make a comment on a river item * diff --git a/mod/riverdashboard/views/default/river/item/list.php b/mod/riverdashboard/views/default/river/item/list.php index 0c0d7a4db..e7e1a9c07 100644 --- a/mod/riverdashboard/views/default/river/item/list.php +++ b/mod/riverdashboard/views/default/river/item/list.php @@ -1,4 +1,5 @@ " . elgg_view('input/text', array('internalname' => 'username', 'class' => 'login_textarea name')); $form_body .= "" . elgg_view('input/password', array('internalname' => 'password', 'class' => 'login_textarea')); $form_body .= elgg_view('input/submit', array('value' => elgg_echo('login'))) . "

"; @@ -16,17 +16,18 @@ $form_body .= "

"; $form_body .= (!isset($CONFIG->disable_registration) || !($CONFIG->disable_registration)) ? "" . elgg_echo('register') . " | " : ""; - $form_body .= "" . elgg_echo('user:password:lost') . "

"; + $form_body .= "" . elgg_echo('user:password:lost') . "

"; $form_body .= ""; $login_url = $vars['url']; - if ((isset($CONFIG->https_login)) && ($CONFIG->https_login)) + if ((isset($CONFIG->https_login)) && ($CONFIG->https_login)) { $login_url = str_replace("http", "https", $vars['url']); + } ?> - +
@@ -127,8 +128,8 @@ $(document).ready(function() { border:5px solid #CCCCCC; text-align:left; padding:12px; - top: 26px; - right: 0px; + top: 26px; + right: 0px; margin-top:5px; margin-right: 0px; color:#333333; @@ -150,9 +151,10 @@ $(document).ready(function() { #login_dropdown #signin_menu .submit_button { margin-right:15px; } + /* ie7 fixes */ *:first-child+html #login_dropdown #signin_button { - line-height:10px; + line-height:10px; } *:first-child+html #login_dropdown #signin_button a.signin span { background-position:-150px -54px; -- cgit v1.2.3