diff --git a/html/altlogin.php b/html/altlogin.php
index 0a91f6f..6a6343b 100644
--- a/html/altlogin.php
+++ b/html/altlogin.php
@@ -4,73 +4,73 @@
{
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
exit();
- die();
+ die();
}
//If logged in, and requested to logout... log them out and show login screen
if(isset($_SESSION['login'])) {
- if(isset($_REQUEST['logout'])) {
- unset($_SESSION['login']);
- $report = "
You have been logged out";
- } else {
- //if not requesting to logout... Take back home
- header("Location: ./?d=server1");
- exit();
- die();
- }
+ if(isset($_REQUEST['logout'])) {
+ unset($_SESSION['login']);
+ $report = "
You have been logged out";
+ } else {
+ //if not requesting to logout... Take back home
+ header("Location: ./?d=server1");
+ exit();
+ die();
+ }
}
-
-$userN="";
+$user_name="";
$passW="";
if(isset($_POST['uname'])) {
- $userN = addslashes($_POST['uname']);
+ $user_name = addslashes($_POST['uname']);
}
if(isset($_POST['passw'])) {
- $passW = addslashes(md5(trim($_POST['passw'])));
+ $passW = addslashes(md5(trim($_POST['passw'])));
}
-if(!empty($userN) && !empty($passW)) {
- $userlist = file ('/var/www/users.txt');
- $success = false;
- foreach ($userlist as $user) {
- $user_details = explode('|', $user);
- if ((strtolower($user_details[0]) == strtolower($userN)) && trim($user_details[1]) == $passW) {
- $userN = $user_details[0];
- $userL = $user_details[2];
- $success = true;
- break;
- }
- }
- if ($success) {
- $_SESSION['login']['user']=$userN;
- $_SESSION['login']['level']=$userL;
- //Send home if logged in
- header("Location: ./?d=server1");
- die();
- } else {
- $report = "
You have entered the wrong username or password. Please try again.
";
- }
+if(!empty($user_name) && !empty($passW)) {
+ $userlist = file ('/var/www/users.txt');
+ $success = false;
+ foreach ($userlist as $user) {
+ $user_details = explode('|', $user);
+ if ((strtolower($user_details[0]) == strtolower($user_name)) && trim($user_details[1]) == $passW) {
+ var_dump($user_details);
+ $user_name = trim($user_details[0]);
+ $user_level = trim($user_details[2]);
+ $success = true;
+ break;
+ }
+ }
+ if ($success) {
+ $_SESSION['login']['user'] = $user_name;
+ $_SESSION['login']['level'] = $user_level;
+ //Send home if logged in
+ header("Location: ./?d=server1");
+ die();
+ } else {
+ $report = "
You have entered the wrong username or password. Please try again.
";
+ }
} elseif(isset($_POST['submit'])) {
- $report = "
I don't like no input
";
+ $report = "
I don't like no input
";
}
-
+session_write_close();
?>
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/html/assets/css/base.css b/html/assets/css/base.css
index 2ca224f..b108d25 100644
--- a/html/assets/css/base.css
+++ b/html/assets/css/base.css
@@ -1,3 +1,37 @@
+
+.nav {
+ width: 100%;
+ margin-bottom: 20px;
+}
+.nav ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+}
+.nav li {
+ display: inline;
+
+ text-align: center;
+ padding: 4px 4px 0 0;
+ text-decoration: none;
+}
+
+.welcome-msg {
+ font-family: 'Audiowide';
+ font-size: 24px;
+
+ padding-right: 30px;
+
+ -webkit-animation: blink_blink 10s infinite;
+ animation: blink_blink 10s infinite;
+}
+@-webkit-keyframes blink_blink {
+ 0% { color: black; }
+ 50% { color: red; }
+ 100% { color: black; }
+}
+
a:visited{
color:blue;
}
@@ -41,5 +75,50 @@ table.tablesorter thead tr .headerSortDown {
background-image: url(../img/desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
-background-color: #8dbdd8;
+ background-color: #8dbdd8;
+}
+
+.leftside {
+ height: auto;
+ width: 54%;
+ float: left;
+}
+.rightside {
+ height: 90%;
+ width: 44%;
+ float: right;
+}
+.console {
+ width: 100%;
+ height: 300px;
+}
+.console textarea {
+ width: 100%;
+ height: 100%;
+}
+.chat {
+ width: 100%;
+ height: 400px;
+}
+.chat textarea {
+ width: 100%;
+ height: 300px;
+}
+.files {
+ width: 100%;
+ height: 99%;
+}
+
+@media only screen and (max-width: 1200px) {
+ .leftside {
+ height: auto;
+ width: 100%;
+ }
+ .rightside {
+ height: 60%;
+ width: 100%;
+ }
+ .files {
+ width: 100%;
+ }
}
diff --git a/html/assets/css/customalerts.css b/html/assets/css/customalerts.css
index a786a3f..a91632e 100644
--- a/html/assets/css/customalerts.css
+++ b/html/assets/css/customalerts.css
@@ -23,6 +23,19 @@
overflow-x: hidden;
max-height:70%;
}
+
+@media only screen and (max-width: 1200px) {
+ .modal-content {
+ background-color: #fefefe;
+ margin: 5% auto 5% auto; /* 15% from the top and centered */
+ padding: 20px;
+ border: 1px solid #888;
+ width: 90%;
+ overflow: scroll;
+ overflow-x: hidden;
+ max-height:70%;
+ }
+}
.msg-col {
display: inline-block;
width: 70%;
diff --git a/html/assets/js/base.js b/html/assets/js/base.js
index 837e589..44f0ef4 100644
--- a/html/assets/js/base.js
+++ b/html/assets/js/base.js
@@ -1035,12 +1035,12 @@
function Download(url) {
- if (user_level == "viewonly") { return; }
+ if (user.level === "viewonly" || user.level === "guest") { return; }
document.getElementById('file_iframe').src = url;
}
function server_sss(cmd) {
- if(user_level == "viewonly" && (cmd == "start" || cmd == "stop" || cmd == "forcekill" )) {
+ if((user.level === "viewonly" || user.level === "guest") && (cmd == "start" || cmd == "stop" || cmd == "forcekill" )) {
customAlerts.add("You have view only access","warning",true);
return;
}
@@ -1063,7 +1063,7 @@ function server_sss(cmd) {
};
}
function force_kill(cmd) {
- if(user_level == "viewonly") {
+ if(user.level === "viewonly" || user.level === "guest") {
customAlerts.add("You have view only access",'warning',true);
return;
}
@@ -1086,7 +1086,7 @@ function force_kill(cmd) {
}
}
function command() {
- if(user_level == "viewonly") {
+ if(user.level === "viewonly" || user.level === "guest") {
customAlerts.add("You have view only access","warning",true);
return;
}
@@ -1159,7 +1159,7 @@ function uploadCanceled() {
}
function upload() {
- if ($('#upload_file').val == "" || user_level == "viewonly") {
+ if ($('#upload_file').val == "" || user.level === "viewonly" || user.level === "guest") {
return;
}
var the_file;
@@ -1235,7 +1235,7 @@ function command_history(args) {
}
function update_web_control(user_name) {
- if(user_name=="admin") {
+ if(user_name === "admin") {
var r = confirm("Update webgui and server control files?");
if (r == true) {
$("#update_web_control").submit();
@@ -1287,13 +1287,13 @@ function files_delete() {
//Things to only start doing after the page has finished loading
$(document).ready(function() {
- $('#welcome_user').text(user_name);
+ $('#welcome_user').text(user.name);
tc_console();
$('#upload_file').on('change', function() {
upload();
});
$('#delete_files').on('click', function() {
- if(user_level == "viewonly") {
+ if(user.level === "viewonly" || user.level === "guest"){
customAlerts.add("You have view only access","warning",true);
return;
}
@@ -1320,7 +1320,7 @@ $(document).ready(function() {
});
//Upload button click event
$('#upload_button').on('click', function() {
- if(user_level == "viewonly") {
+ if(user.level === "viewonly" || user.level === "guest") {
customAlerts.add("You have view only access","warning",true);
return;
}
@@ -1328,7 +1328,7 @@ $(document).ready(function() {
});
$('#command').keydown(function(event) {
if (event.keyCode == 13) command();
- if (user_level == "viewonly") { return; }
+ if (user.level === "viewonly" || user.level === "guest") { return; }
if (event.keyCode == 38) command_history('up');
if (event.keyCode == 40) command_history('down');
});
diff --git a/html/assets/js/console.js b/html/assets/js/console.js
index faaa83f..65d57a8 100644
--- a/html/assets/js/console.js
+++ b/html/assets/js/console.js
@@ -3,8 +3,12 @@ var dir = loc.substring(0, loc.lastIndexOf('/'));
var refreshtime=500;
function tc_console()
{
- asyncAjax("GET",dir + "/assets/api/console.php?d=" + server_select + "&s=console",Math.random(),display,{},"console");
+ if(user.level === "admin" || user.level === "mod"){
+ asyncAjax("GET",dir + "/assets/api/console.php?d=" + server_select + "&s=console",Math.random(),display,{},"console");
+ }
+
asyncAjax("GET",dir + "/assets/api/console.php?d=" + server_select + "&s=chat",Math.random(),display,{},"chat");
+
setTimeout(tc_console,refreshtime);
}
diff --git a/html/files.php b/html/files.php
index 331fb8c..309ac46 100644
--- a/html/files.php
+++ b/html/files.php
@@ -51,7 +51,7 @@
}
die();
} elseif(isset($_REQUEST['download'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
die('You have view only access.\nVisit our archive for file downloads\nwww.3ragaming.com/archive/factorio');
}
if(empty($_REQUEST['download']))
@@ -168,7 +168,7 @@
die();
} elseif(isset($_REQUEST['upload'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
die('You have read only access.');
} else {
//Valdidate name
@@ -288,7 +288,7 @@
die();
} elseif(isset($_REQUEST['delete'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
die('You have view only access.');
} else {
if(empty($_REQUEST['delete']))
diff --git a/html/index.php b/html/index.php
index 829db9b..e251c66 100644
--- a/html/index.php
+++ b/html/index.php
@@ -10,9 +10,9 @@
die();
}
}
-
+
+ if(isset($_SESSION['login']['user'])) { $user_name = $_SESSION['login']['user']; } else { $user_name = "guest"; }
if(isset($_SESSION['login']['level'])) { $user_level = $_SESSION['login']['level']; } else { $user_level = "viewonly"; }
- if(isset($_SESSION['login']['user'])) { $user_name = $_SESSION['login']['user']; } else { $user_name = "guest"; }
if(isset($_SESSION['login']['reload_report'])) {
$session['login']['reload_report'] = $_SESSION['login']['reload_report'];
unset($_SESSION['login']['reload_report']);
@@ -32,7 +32,6 @@
}
session_write_close();
?>
-
@@ -40,9 +39,19 @@
var server_select = "";
//you can try to change this if you really want. Validations are also done server side.
//This is just for a better graphical experience, ie: if you're a viewonly account, why upload a file, just to be told you can't do that?
+
+ var user = {
+ name: "",
+ level: ""
+ };
+
+ // TODO remove this
+ // user debug to js console.
+ console.log(user);
-
+
+
+
+
-
- Welcome,
..guest.. -
-
-
-
-
-
-
-
-
config -
-
-
-
-
-
Logs
-
-
-
00 %
-
0.00/0.00 GB
+
+
+
+
+
+
';
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
:
+
:
+
+
+
+ADMIN;
+ } elseif ($user_level == "mod") {
+ echo <<
+
+ :
+ :
+
+
+
+MOD;
+
+ } else {
+ // TODO no access to file transfer for guests?
+ echo <<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
:
-
:
-
-
-
-
-
-
-
+QUEST;
+ }
+ ?>
+
+
+
+
+
+
+
+
diff --git a/html/login.php b/html/login.php
index cd126bf..5137af2 100644
--- a/html/login.php
+++ b/html/login.php
@@ -158,11 +158,9 @@
/* DEBUG */if(isset($debug)) { $debug[] = "mod login verified!"; }
$session['login']['user']=$memberjson["user"]["username"];
$session['login']['level']="mod";
- } elseif($userid == "264805254758006801" ) {
+ } else {
$session['login']['user']=$memberjson["user"]["username"];
$session['login']['level']="guest";
- } else {
- $error = "unauthorized";
}
}
}
diff --git a/html/logs.php b/html/logs.php
index 7f6db79..a89063f 100644
--- a/html/logs.php
+++ b/html/logs.php
@@ -14,7 +14,7 @@
if(isset($_SESSION['login']['level'])) { $user_level = $_SESSION['login']['level']; } else { $user_level = "viewonly"; }
if(isset($_SESSION['login']['user'])) { $user_name = $_SESSION['login']['user']; } else { $user_name = "guest"; }
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
die('Not allowed for view only');
}
diff --git a/html/process.php b/html/process.php
index ac13894..03d7ecf 100644
--- a/html/process.php
+++ b/html/process.php
@@ -21,7 +21,7 @@
session_write_close();
if(isset($_REQUEST['start'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
echo "You have read only access.";
} else {
if(file_exists("$base_dir$server_select/server-settings.json")) {
@@ -76,7 +76,7 @@
$output = shell_exec('bash '.$base_dir.'manage.sh "'.$server_select.'" "status" "'.$user_name.'"');
echo $output;
} elseif(isset($_REQUEST['stop'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
echo "You have view only access.";
} else {
//echo "Sending Stop Server Command:\n\n";
@@ -84,7 +84,7 @@
echo $output;
}
} elseif(isset($_REQUEST['forcekill'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
echo "You have view only access.";
} else {
//echo "Sending Stop Server Command:\n\n";
@@ -97,7 +97,7 @@
echo "Servers killed. You monster.";
}
} elseif(isset($_REQUEST['command'])) {
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
echo "You have view only access.";//".$_REQUEST['command'];
} else {
//screen -S factorio1 -X at 0 stuff 'hello\n'
diff --git a/html/server-settings.php b/html/server-settings.php
index 031ad93..d9d7671 100644
--- a/html/server-settings.php
+++ b/html/server-settings.php
@@ -19,7 +19,7 @@
}
session_write_close();
- if($user_level=="viewonly") {
+ if($user_level == "viewonly" || $user_level == "guest") {
die('Not allowed for view only');
}
diff --git a/html/update_web_control.php b/html/update_web_control.php
index 5f58034..559c5c1 100644
--- a/html/update_web_control.php
+++ b/html/update_web_control.php
@@ -16,7 +16,7 @@
if(isset($_SESSION['login']['user'])) { $user_name = $_SESSION['login']['user']; } else { $user_name = "guest"; }
session_write_close();
- if($user_level=="admin") {
+ if($user_level == "admin") {
if(isset($_POST['update'])) {
echo "";
if($_POST['update']=="yes") {
diff --git a/users.txt b/users.txt
index 55033f4..4e36c7e 100644
--- a/users.txt
+++ b/users.txt
@@ -1,4 +1,4 @@
-admin1|5f4dcc3b5aa765d61d8327deb882cf99|admin
-admin2|5f4dcc3b5aa765d61d8327deb882cf99|admin
-mod1|5f4dcc3b5aa765d61d8327deb882cf99|admin
-guest|5f4dcc3b5aa765d61d8327deb882cf99|guest
+admin1|MD5_HASH_HERE|admin
+admin2|MD5_HASH_HERE|admin
+mod1|MD5_HASH_HERE|mod
+guest|MD5_HASH_HERE|guest