aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions.php8
-rw-r--r--phpBB/language/en/lang_main.php23
-rwxr-xr-xphpBB/ucp.php22
3 files changed, 33 insertions, 20 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 3ba26e68cc..e0f9655cc8 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -938,10 +938,12 @@ function login_box($s_action, $s_hidden_fields = '', $login_explain = '')
$err = '';
if (isset($_POST['login']))
{
- $autologin = (!empty($_POST['autologin'])) ? TRUE : FALSE;
+ $username = request_var('username', '');
+ $password = request_var('password', '');
+ $autologin = (!empty($_POST['autologin'])) ? TRUE : FALSE;
$viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;
- if (($result = $auth->login($_POST['username'], $_POST['password'], $autologin, $viewonline)) === true)
+ if (($result = $auth->login($username, $password, $autologin, $viewonline)) === true)
{
// TODO
// Force change password ... plugin for EVENT_LOGIN in future
@@ -960,6 +962,8 @@ function login_box($s_action, $s_hidden_fields = '', $login_explain = '')
$err = ($result === 0) ? $user->lang['ACTIVE_ERROR'] : $user->lang['LOGIN_ERROR'];
}
+ $s_hidden_fields = (!empty($_SERVER['HTTP_REFERER'])) ? '<input type="hidden" name="redirect" value="' . htmlspecialchars($_SERVER['HTTP_REFERER']) . '" />' : '';
+
$template->assign_vars(array(
'LOGIN_ERROR' => $err,
'LOGIN_EXPLAIN' => $login_explain,
diff --git a/phpBB/language/en/lang_main.php b/phpBB/language/en/lang_main.php
index 0189505a0d..ba50f5d5a4 100644
--- a/phpBB/language/en/lang_main.php
+++ b/phpBB/language/en/lang_main.php
@@ -219,16 +219,19 @@ $lang = array(
'REPLY_TO_TOPIC' => 'Reply to topic',
'REPLY_WITH_QUOTE' => 'Reply with quote',
- 'RETURN_INDEX' => 'Click %sHere%s to return to the index',
- 'RETURN_TOPIC' => 'Click %sHere%s to return to the topic',
- 'RETURN_POST' => 'Click %sHere%s to return to the post',
- 'RETURN_FORUM' => 'Click %sHere%s to return to the forum',
- 'RETURN_LOGIN' => 'Click %sHere%s to try again',
- 'RETURN_MCP' => 'Click %sHere%s to return to the Moderator Control Panel',
- 'RETURN_GROUP' => 'Click %sHere%s to return to the Group Control Panel',
- 'RETURN_UCP' => 'Click %sHere%s to return to the User Control Panel',
- 'VIEW_MESSAGE' => 'Click %sHere%s to view your message',
- 'URL_REDIRECT' => 'If your browser does not support meta redirection please click %sHERE%s to be redirected.',
+ 'RETURN_INDEX' => 'Click %sHere%s to return to the index',
+ 'RETURN_TOPIC' => 'Click %sHere%s to return to the topic',
+ 'RETURN_POST' => 'Click %sHere%s to return to the post',
+ 'RETURN_FORUM' => 'Click %sHere%s to return to the forum',
+ 'RETURN_LOGIN' => 'Click %sHere%s to try again',
+ 'RETURN_MCP' => 'Click %sHere%s to return to the Moderator Control Panel',
+ 'RETURN_GROUP' => 'Click %sHere%s to return to the Group Control Panel',
+ 'RETURN_UCP' => 'Click %sHere%s to return to the User Control Panel',
+ 'VIEW_MESSAGE' => 'Click %sHere%s to view your message',
+ 'RETURN_PAGE' => 'Click %sHere%s to return to the previous page',
+ 'LOGIN_REDIRECT' => 'You have been successfully logged in.',
+ 'LOGOUT_REDIRECT' => 'You have been successfully logged out.',
+ 'URL_REDIRECT' => 'If your browser does not support meta redirection please click %sHERE%s to be redirected.',
'INFORMATION' => 'Information',
'BOARD_DISABLE' => 'Sorry but this board is currently unavailable',
diff --git a/phpBB/ucp.php b/phpBB/ucp.php
index ecbf1ddde5..bac1c5d51c 100755
--- a/phpBB/ucp.php
+++ b/phpBB/ucp.php
@@ -15,7 +15,6 @@
//
// * Registration
// * Link to (additional?) registration conditions
-// * Admin forced revalidation of given user/s from ACP
// * Opening tab:
// * Last visit time
@@ -25,9 +24,6 @@
// * Unread PM counter
// * Link/s to MCP if applicable?
-// * Black and White lists
-// * Mark posts/PM's of buddies different colour?
-
// * PM system
// * See privmsg
@@ -278,7 +274,12 @@ switch ($mode)
define('IN_LOGIN', true);
login_box("ucp.$phpEx$SID&amp;mode=login");
- redirect("index.$phpEx$SID");
+
+ $redirect = request_var('redirect', "index.$phpEx$SID");
+ meta_refresh(3, $redirect);
+
+ $message = $user->lang['LOGIN_REDIRECT'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a> ');
+ trigger_error($message);
break;
case 'logout':
@@ -287,13 +288,17 @@ switch ($mode)
$user->destroy();
}
- redirect("index.$phpEx$SID");
+ $redirect = (!empty($_SERVER['HTTP_REFERER'])) ? htmlspecialchars($_SERVER['HTTP_REFERER']) : "index.$phpEx$SID";
+ meta_refresh(3, $redirect);
+
+ $message = $user->lang['LOGOUT_REDIRECT'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a> ');
+ trigger_error($message);
break;
}
// Only registered users can go beyond this point
-if ($user->data['user_type'] == USER_INACTIVE || $user->data['user_type'] == USER_IGNORE)
+if ($user->data['user_id'] == ANONYMOUS || $user->data['user_type'] == USER_INACTIVE || $user->data['user_type'] == USER_IGNORE)
{
redirect("index.$phpEx");
}
@@ -305,6 +310,8 @@ obtain_word_list($censors);
// Output listing of friends online
+$update_time = $config['load_online_time'] * 60;
+
$sql = 'SELECT DISTINCT u.user_id, u.username, MAX(s.session_time) as online_time, MIN(s.session_allow_viewonline) AS viewonline
FROM ((' . ZEBRA_TABLE . ' z
LEFT JOIN ' . SESSIONS_TABLE . ' s ON s.session_user_id = z.zebra_id), ' . USERS_TABLE . ' u)
@@ -314,7 +321,6 @@ $sql = 'SELECT DISTINCT u.user_id, u.username, MAX(s.session_time) as online_tim
GROUP BY z.zebra_id';
$result = $db->sql_query($sql);
-$update_time = $config['load_online_time'] * 60;
while ($row = $db->sql_fetchrow($result))
{
$which = (time() - $update_time < $row['online_time']) ? 'online' : 'offline';