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