diff --git a/index.php b/index.php
index 5b9c368..87d65fd 100644
--- a/index.php
+++ b/index.php
@@ -114,7 +114,7 @@ if ($blocklogin === TRUE) {
- Are you sure you want to clear all the logs? Maybe download them
+ Are you sure you want to clear the current logs? Maybe download them
first, or use "Rotate logs" to save
them on the server?
@@ -1121,13 +1121,13 @@ $(document).ready(function () {
icon: 'img/export.png',
text: 'Download logs',
click: function () {
- var $zexport = $.get("logs.php?action=export", function(data) {
+ var $zexport = $.get("logs.php?action=export&logfile=" + $('#logfile').val(), function(data) {
console.log(data);
blob = new Blob([data], { type: 'text/plain' });
var dl = document.createElement('a');
dl.addEventListener('click', function(ev) {
dl.href = URL.createObjectURL(blob);
- dl.download = 'nseditlogs.txt';
+ dl.download = $('#logfile').val() == "" ? 'nseditlogs.txt':$('#logfile').val() + ".txt";
}, false);
if (document.createEvent) {
diff --git a/logs.php b/logs.php
index 816ef3e..1d2a362 100644
--- a/logs.php
+++ b/logs.php
@@ -20,72 +20,73 @@ if (!isset($_GET['action'])) {
jtable_respond(null, 'error', 'No action given');
}
-switch ($_GET['action']) {
+if ($logging !== TRUE) {
+ jtable_respond(null, 'error', 'Logging is disabled');
+} else {
+ switch ($_GET['action']) {
+
+ case "list":
+ if(!empty($_POST['logfile'])) {
+ if(preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}\.json/',$_POST['logfile']) == 1) {
+ $entries=json_decode(file_get_contents($logsdirectory . "/" . $_POST['logfile']),true);
+ } else {
+ jtable_respond(null, 'error', "Can't find log file");
+ break;
+ }
+ } else {
+ $entries=getlogs();
+ }
-case "list":
- global $logging;
- if ($logging !== TRUE) {
- jtable_respond(null, 'error', 'Logging is disabled');
+ if(!empty($_POST['user'])) {
+ $entries=array_filter($entries,
+ function ($val) {
+ return(stripos($val['user'], $_POST['user']) !== FALSE);
+ }
+ );
+ }
+
+ if(!empty($_POST['entry'])) {
+ $entries=array_filter($entries,
+ function ($val) {
+ return(stripos($val['log'], $_POST['entry']) !== FALSE);
+ }
+ );
+ }
+
+ jtable_respond($entries);
+ break;
+
+ case "export":
+ if(!empty($_GET['logfile'])) {
+ if(preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}\.json/',$_GET['logfile']) == 1) {
+ $entries=json_decode(file_get_contents($logsdirectory . "/" . $_GET['logfile']),true);
+ } else {
+ jtable_respond(null, 'error', "Can't find log file");
+ break;
+ }
+ } else {
+ $entries=getlogs();
+ }
+
+ print json_encode($entries,JSON_PRETTY_PRINT);
+ break;
+
+ case "clear":
+ if($allowclearlogs === TRUE) {
+ clearlogs();
+ } else {
+ jtable_respond(null, 'error', 'Invalid action');
+ }
+ break;
+ case "rotate":
+ if($allowrotatelogs === TRUE) {
+ rotatelogs();
+ } else {
+ jtable_respond(null, 'error', 'Invalid action');
+ }
+ break;
+ default:
+ jtable_respond(null, 'error', 'Invalid action');
break;
}
-
- if(!empty($_POST['logfile'])) {
- if(preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}\.json/',$_POST['logfile']) == 1) {
- $entries=json_decode(file_get_contents($logsdirectory . "/" . $_POST['logfile']),true);
- } else {
- jtable_respond(null, 'error', "Can't find log file");
- break;
- }
- } else {
- $entries=getlogs();
- }
-
- if(!empty($_POST['user'])) {
- $entries=array_filter($entries,
- function ($val) {
- return(stripos($val['user'], $_POST['user']) !== FALSE);
- }
- );
- }
-
- if(!empty($_POST['entry'])) {
- $entries=array_filter($entries,
- function ($val) {
- return(stripos($val['log'], $_POST['entry']) !== FALSE);
- }
- );
- }
-
- jtable_respond($entries);
- break;
-
-case "delete":
- if ($emailaddress != '' and delete_user($emailaddress) !== FALSE) {
- jtable_respond(null, 'delete');
- } else {
- jtable_respond(null, 'error', 'Could not delete user');
- }
- break;
-
-case "export":
- print json_encode(getlogs());
- break;
-
-case "clear":
- if($allowclearlogs === TRUE) {
- clearlogs();
- } else {
- jtable_respond(null, 'error', 'Invalid action');
- }
- break;
-case "rotate":
- if($allowrotatelogs === TRUE) {
- rotatelogs();
- } else {
- jtable_respond(null, 'error', 'Invalid action');
- }
- break;
-default:
- jtable_respond(null, 'error', 'Invalid action');
- break;
}