Browse Source

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

pull/40/head
Savetheinternet 13 years ago
parent
commit
a655d930d0
  1. 5
      inc/display.php
  2. 13
      mod.php
  3. 3
      templates/login.html

5
inc/display.php

@ -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
)
)
)));

13
mod.php

@ -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
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(

3
templates/login.html

@ -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>

Loading…
Cancel
Save