Catch ajax calls when session has expired and redirect to login
This commit is contained in:
parent
44420c8ad7
commit
516bc6bfa9
|
@ -4,14 +4,23 @@ require '../header.php';
|
|||
require '../variables.php';
|
||||
require '../functions.php';
|
||||
|
||||
require_login();
|
||||
$validated = require_login(NOREDIRECT);
|
||||
|
||||
function sendResponse($data) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$data['validated'] = $validated;
|
||||
$data['bookdir'] = $_SESSION['bookdir'];
|
||||
$data['bookdirname'] = basename($_SESSION['bookdir']);
|
||||
$data['kindlemail'] = "";
|
||||
$cankindle = false;
|
||||
|
||||
if ( !$validated ) sendResponse($data);
|
||||
|
||||
$searching = false;
|
||||
$searchfor = "";
|
||||
if ( isset($_REQUEST['search']) && ($_REQUEST['search'] != "") ) {
|
||||
|
@ -99,8 +108,6 @@ if ( !$searching ) {
|
|||
}
|
||||
}
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
|
||||
// vim: ts=3 sw=3 et:
|
||||
|
|
|
@ -11,11 +11,20 @@ use PHPMailer\PHPMailer\Exception;
|
|||
|
||||
require "../vendor/autoload.php";
|
||||
|
||||
require_login();
|
||||
$validated = require_login(NOREDIRECT);
|
||||
|
||||
function sendResponse($data) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$data['validated'] = $validated;
|
||||
$data["message"] = "";
|
||||
|
||||
if ( !$validated ) sendResponse($data);
|
||||
|
||||
$query = "SELECT email FROM amazon WHERE username=:username";
|
||||
$fields = array();
|
||||
$fields[':username'] = $_SESSION['username'];
|
||||
|
@ -26,9 +35,7 @@ if ( $row = $sth->fetch() ) {
|
|||
} else {
|
||||
$data["success"] = false;
|
||||
$data["message"] = "No kindle address set";
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
}
|
||||
$data["tomail"] = $kindlemail;
|
||||
|
||||
|
@ -52,9 +59,7 @@ if ( isset($_REQUEST['fileid']) ) {
|
|||
if ( !$goodtodown ) {
|
||||
$data["success"] = false;
|
||||
$data["message"] = "Book not found on disk";
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
}
|
||||
|
||||
$mail = new PHPMailer();
|
||||
|
@ -89,8 +94,6 @@ $data['filename'] = $filename;
|
|||
$data['tomail'] = $kindlemail;
|
||||
$data['success'] = $sent;
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
|
||||
// vim: ts=3 sw=3 et:
|
||||
|
|
|
@ -4,23 +4,28 @@ require '../header.php';
|
|||
require '../variables.php';
|
||||
require '../functions.php';
|
||||
|
||||
require_login();
|
||||
$validated = require_login(NOREDIRECT);
|
||||
|
||||
if ( !isset($_REQUEST['kindlemail']) ) {
|
||||
function sendResponse($data) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$data['validated'] = $validated;
|
||||
$data['success'] = true;
|
||||
$data['message'] = "";
|
||||
$data['kindlemail'] = "";
|
||||
|
||||
if ( !$validated ) sendResponse($data);
|
||||
|
||||
if ( !isset($_REQUEST['kindlemail']) ) sendResponse($data);
|
||||
|
||||
if ( !filter_var($_REQUEST['kindlemail'], FILTER_VALIDATE_EMAIL) ) {
|
||||
$data['success'] = false;
|
||||
$data['message'] = "Email address is not properly formatted!";
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
}
|
||||
|
||||
$kindlemail = $_REQUEST['kindlemail'];
|
||||
|
@ -30,10 +35,8 @@ $sth->bindValue(":username", $_SESSION['username'], PDO::PARAM_STR);
|
|||
$sth->bindValue(":email", $_REQUEST['kindlemail'], PDO::PARAM_STR);
|
||||
$sth->execute();
|
||||
|
||||
header('Content-Type: application/json');
|
||||
$data['message'] = "Email set successfully";
|
||||
$data['kindlemail'] = $_REQUEST['kindlemail'];
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
|
||||
// vim: ts=3 sw=3 et:
|
||||
|
|
|
@ -4,10 +4,19 @@ require '../header.php';
|
|||
require '../variables.php';
|
||||
require '../functions.php';
|
||||
|
||||
require_login();
|
||||
$validated = require_login(NOREDIRECT);
|
||||
|
||||
$data = array();
|
||||
$data['changed'] = false;
|
||||
$data['validated'] = $validated;
|
||||
|
||||
function sendResponse($data) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
}
|
||||
|
||||
if ( !$validated ) sendResponse($data);
|
||||
|
||||
if ( isset($_REQUEST['newpath']) ) {
|
||||
$newpath = makePathSafe($_REQUEST['newpath']);
|
||||
|
@ -20,8 +29,6 @@ if ( isset($_REQUEST['newpath']) ) {
|
|||
$data['bookdir'] = $_SESSION['bookdir'];
|
||||
$data['bookdirname'] = basename($_SESSION['bookdir']);
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($data);
|
||||
exit();
|
||||
sendResponse($data);
|
||||
|
||||
// vim: ts=3 sw=3 et:
|
||||
|
|
|
@ -5,12 +5,20 @@
|
|||
// user login is required. Feel free to change the logic between
|
||||
// the lines indicated below.
|
||||
//
|
||||
function require_login () {
|
||||
if ( !$_SESSION['validated'] ) {
|
||||
define("NOREDIRECT", false);
|
||||
function require_login ($redirect = true) {
|
||||
if ( !is_bool($redirect) ) exit();
|
||||
if ( !$_SESSION['validated'] && $redirect ) {
|
||||
// ******** START OF AUTH LOGIC ********
|
||||
$_SESSION['appurl'] = $_SERVER['REQUEST_URI'];
|
||||
header('Location: /jajauth/login.php');
|
||||
exit();
|
||||
// ********* END OF AUTH LOGIC *********
|
||||
} elseif ( !$_SESSION['validated'] && !$redirect ) {
|
||||
return false;
|
||||
} elseif ( $_SESSION['validated'] ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// vim: set ts=3 sw=3:
|
||||
|
|
|
@ -42,6 +42,11 @@ function showKindleMail() {
|
|||
$("#amazonlink").html("KindleMail: " + ((kindlemail != "") ? kindlemail : "Click to Set"));
|
||||
}
|
||||
|
||||
function redirectToLogin() {
|
||||
console.log("Redirecting for login...");
|
||||
window.location.replace("index.php");
|
||||
}
|
||||
|
||||
function getContents() {
|
||||
if ( searchTimeout ) clearTimeout(searchTimeout);
|
||||
$.ajax({
|
||||
|
@ -49,6 +54,7 @@ function getContents() {
|
|||
data : {search: $("#search").val()},
|
||||
dataType : 'json',
|
||||
success : function(data, stat, jqo) {
|
||||
if ( data.validated == false ) redirectToLogin();
|
||||
if ( data.kindlemail != kindlemail ) {
|
||||
kindlemail = data.kindlemail;
|
||||
showKindleMail();
|
||||
|
@ -96,6 +102,7 @@ function setPath(newpath) {
|
|||
data: {newpath: newpath},
|
||||
dataType: 'json',
|
||||
success: function(data, stat, jqo) {
|
||||
if ( data.validated == false ) redirectToLogin();
|
||||
if ( data.changed == true ) {
|
||||
$("#search").val("");
|
||||
getContents();
|
||||
|
@ -110,6 +117,7 @@ function setKindleMail(email) {
|
|||
data: {kindlemail: email},
|
||||
dataType: 'json',
|
||||
success: function(data, stat, jqo) {
|
||||
if ( data.validated == false ) redirectToLogin();
|
||||
if ( data.success == false ) {
|
||||
var myToast = $.toast({
|
||||
text : "<h3><strong>Error: Invalid Email Address</strong></h3>",
|
||||
|
@ -154,6 +162,7 @@ function sendToKindle(fileid, filename) {
|
|||
data : {fileid: fileid},
|
||||
dataType : 'json',
|
||||
success : function(data, stat, jqo) {
|
||||
if ( data.validated == false ) redirectToLogin();
|
||||
myToast.reset();
|
||||
var message = "";
|
||||
message = "<h3><strong>Sent File:</strong> " + data.filename + "</h3>";
|
||||
|
|
Loading…
Reference in New Issue
Block a user