1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-27 17:00:52 +01:00

Return to page if mod clicked on a link to a moderator page but was not logged in

This commit is contained in:
Savetheinternet 2011-02-16 19:59:13 +11:00
parent 8d6c3d655d
commit a655d930d0
3 changed files with 14 additions and 9 deletions

View File

@ -37,7 +37,7 @@
)));
}
function loginForm($error=false, $username=false) {
function loginForm($error=false, $username=false, $redirect=false) {
global $config;
if(function_exists('sql_close')) sql_close();
@ -47,7 +47,8 @@
'body'=>Element('login.html', Array(
'index'=>$config['root'],
'error'=>$error,
'username'=>$username
'username'=>$username,
'redirect'=>$redirect
)
)
)));

15
mod.php
View File

@ -25,6 +25,8 @@
$_POST = strip_array($_POST);
}
$query = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
// If not logged in
if(!$mod) {
if(isset($_POST['login'])) {
@ -33,11 +35,11 @@
!isset($_POST['password']) ||
empty($_POST['username']) ||
empty($_POST['password'])
) loginForm($config['error']['invalid'], $_POST['username']);
) loginForm($config['error']['invalid'], $_POST['username'], '?' . $query);
if(!login($_POST['username'], $_POST['password']))
loginForm($config['error']['invalid'], $_POST['username']);
loginForm($config['error']['invalid'], $_POST['username'], '?' . $query);
modLog("Logged in.");
@ -46,16 +48,17 @@
setCookies();
// Redirect
header('Location: ?' . $config['mod']['default'], true, $config['redirect_http']);
if(isset($_POST['redirect']))
header('Location: ' . $_POST['redirect'], true, $config['redirect_http']);
else
header('Location: ?' . $config['mod']['default'], true, $config['redirect_http']);
// Close connection
sql_close();
} else {
loginForm();
loginForm(false, false, '?' . $query);
}
} else {
$query = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
// A sort of "cache"
// Stops calling preg_quote and str_replace when not needed; only does it once
$regex = Array(

View File

@ -1,6 +1,7 @@
<center>
<center>
{error?<h2>{error}</h2>}
<form action="" method="post">
{redirect?<input type="hidden" name="redirect" value="{redirect}" />}
<table style="margin-top:25px;">
<tr>
<th>