Fixed some bugs and added a cookies disclaimer

This commit is contained in:
Givou 2022-11-10 21:56:38 +01:00
commit d39b7214b8
27 changed files with 9158 additions and 0 deletions

624
admin.php Normal file
View File

@ -0,0 +1,624 @@
<?php
session_start();
if(!file_exists("config.php")) {
header("Location: install/index.php");
die();
}
if(!isset($_SESSION['loggedin']) && $_SESSION['loggedin'] !== true) {
header("Location: login.php");
die;
}
include('worker.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link type="text/css" rel="stylesheet" href="css/admin/style.css" />
<link type="text/css" rel="stylesheet" href="css/admin/mobile.css" />
<link rel="stylesheet" href="css/font-awesome/css/font-awesome.css">
<?php
echo '<title>'.$instancename.' - Administration</title>';
?>
</head>
<body>
<a id="opener" class="open" onclick="openNav()"></a>
<!--SIDEBAR-->
<div id="sidebar" class="sidebar">
<h1><?=$_SESSION['name']?></h1>
<a href="#dashboard">Dashboard</a>
<a href="#account">Account</a>
<?php
if($role == "administrator") {
echo '<a href="#users">Users</a>';
}
?>
<a href="#services">Services</a>
<a href="#incidents">Incidents</a>
<?php
if($role == "administrator") {
echo '<a href="#settings">Settings</a>';
}
?>
<a class="bottom close" onClick="closeNav()">Close</a>
<a class="bottom" href="admin.php?logout">Logout</a>
</div>
<!--DASHBOARD-->
<div id="dashboard" class="more-overlay">
<div class="more-popup">
<h2>Dashboard</h2>
<div class="content">Welcome back, <font color="green"><?=$_SESSION['name']?></font></div>
<?php
if(sOffline()) {
echo '<div class="content troubles">Some Systems may not work correctly!</div>';
} else if(sMaintenance()) {
echo '<div class="content maintenance">Systems currently under maintenance!</div>';
} else {
echo '<div class="content up">All Systems operational!</div>';
}
?>
</div>
</div>
<!--ACCOUNT-->
<div id="account" class="more-overlay">
<div class="more-popup">
<h2>Account</h2>
<div class="content">Account name: <font color="green"><?=$_SESSION['name']?></font></div>
<?php
if(isset($_GET["userexist"])) {
echo '<p class="wpassword">User already exists!</p>';
}
?>
<form action="admin.php?updateusername" method="post">
<input type="text" class="username-field" value="" placeholder="New Username" id="username" name="username" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<div class="placeholder"></div>
<div class="content">Password</div>
<?php
if(isset($_GET["pwnotmatch"])) {
echo '<p class="wpassword">The passwords do not match</p>';
}
if(isset($_GET["pwupdated"])) {
echo '<p class="upassword">Passwort updated successfully!</p>';
}
if(isset($_GET["pwrong"])) {
echo '<p class="wpassword">Old password is not correct!</p>';
}
?>
<form action="admin.php?updatepassword" method="post">
<input type="password" class="username-field field-newline" value="" placeholder="Old password" id="oldpassword" name="oldpassword" required>
<div class="placeholder"></div>
<input type="password" class="username-field field-newline" value="" placeholder="Password" id="password1" name="password1" required>
<input type="password" class="username-field" value="" placeholder="Retype password" id="password2" name="password2" required>
<input style="display: none;" type="submit"><button class="button-green">Submit</button></input>
</form>
</div>
</div>
<!--USERS WHEN ADMIN PRIVILEGES ARE SET-->
<?php
if($role == "administrator") {
echo '
<div id="users" class="more-overlay">
<div class="more-popup">
<h2>Users</h2>
<div class="content">Create Account</div>
<form action="admin.php?newuser" method="post">
<input type="text" class="username-field" value="" placeholder="Username" id="username" name="username" required>
<input type="password" class="username-field" value="" placeholder="Password" id="password" name="password" required>
<select name = "role">
<option value = "administrator" selected>Administrator</option>
<option value = "moderator">Moderator</option>
</select>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<div class="placeholder"></div>
<div class="content">Users</div>
';
if(isset($_GET["userdeleted"])) {
echo '<p class="wpassword">User deleted successfully!</p>';
}
if(isset($_GET["userexist"])) {
echo '<p class="wpassword">User already exists!</p>';
}
if(isset($_GET["usercreated"])) {
echo '<p class="upassword">User created successfully!</p>';
}
}
if($role == "administrator") {
while($userlist = mysqli_fetch_array($users)){
if($userlist['username'] != $_SESSION['name']) {
echo '
<input type="text" id="username" name="username" class="username-field" value="'.$userlist['username'].'" readonly>
<input type="text" class="username-field" value="ID='.$userlist['id'].'" readonly>
<input type="text" class="username-field" value="'.$userlist['role'].'" readonly>
<a href="?edit='.$userlist['username'].'#edit"><button class="button-green">Edit</button></a>
<a href="?deluser='.$userlist['username'].'#users"><button class="button-red">Delete</button></a>
<div class="userlist-newline"></div>';
}
}
}
if($role == "administrator") {
echo '</div></div>';
}
?>
<!--USERS EDIT-->
<?php
if(isset($_GET["edit"]) && $role == "administrator") {
$username = $_GET["edit"];
echo '
<div id="edit" class="more-overlay">
<div class="more-popup">
<h2>'.$username.'</h2>
<form action="admin.php?updateunfor='.$username.'#edit" method="post">
<div class="content">Username</div>';
if(isset($_GET["unupdated"])) {
echo '<p class="upassword">Username updated sucessfully</p>';
}
echo '
<input type="text" class="username-field" value="" placeholder="'.$username.'" id="username" name="username" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<div class="placeholder"></div>
<form action="admin.php?updatepwfor='.$username.'#edit" method="post">
<div class="content">Password</div>';
if(isset($_GET["pwnotmatch"])) {
echo '<p class="wpassword">The passwords do not match</p>';
}
if(isset($_GET["pwupdated"])) {
echo '<p class="upassword">Passwort updated successfully!</p>';
}
echo '
<input type="password" class="username-field field-newline" value="" placeholder="Password" id="password1" name="password1" required>
<input type="password" class="username-field" value="" placeholder="Retype password" id="password2" name="password2" required>
<input style="display: none;" type="submit"><button class="button-green">Submit</button></input>
</form>
<div class="placeholder"></div>
<form action="admin.php?updaterole='.$username.'#edit" method="post">
<div class="content">Role</div>';
if(isset($_GET["roleupdated"])) {
echo '<p class="upassword">Role updated successfully!</p>';
}
echo '
<select name = "role">
<option value = "administrator" selected>Administrator</option>
<option value = "moderator">Moderator</option>
</select>
<input style="display: none;" type="submit"><button class="button-green">Submit</button></input>
</form>
</div>
</div>
';
}
?>
<!--Manage Service-->
<?php
if(isset($_GET["manageservice"])) {
$id = $_GET["manageservice"];
$servicename = getServiceName($_GET["manageservice"]);
$incidentid = 0;
echo '
<div id="mservice" class="more-overlay">
<div class="more-popup">
<h2>'.$servicename.'</h2>
<div class="content">Edit service settings</div>
';
if(isset($_GET["statusupdated"])) {
echo '<p class="upassword">Status updated successfully!</p>';
}
if(isset($_GET["priorityupdated"])) {
echo '<p class="upassword">Priority updated successfully!</p>';
}
if(isset($_GET["nameupdated"])) {
echo '<p class="upassword">Name updated successfully!</p>';
}
echo '
<form action="admin.php">
<input type="hidden" name="updatest" value="' . $id . '">
<input type="text" class="username-field" value="'.getStatus($id).'" readonly>
<select name = "status">
<option value = "Online" selected>Online</option>
<option value = "Maintenance">Maintenance</option>
<option value = "Offline">Offline</option>
</select>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<form action="admin.php?upservicename='.$id.'" method="post">
<input type="text" class="username-field" value="'.$servicename.'" readonly>
<input type="text" class="username-field" placeholder="New Name" id="name" name="name" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<form action="admin.php?upservicepriority='.$id.'" method="post">
<input type="text" class="username-field" value="'.getServicePriority($id).'" readonly>
<input type="number" class="username-field" placeholder="Number" placeholder="Priority" id="priority" name="priority" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<div class="placeholder"></div>
<div class="content">Recent Incidents</div>
';
mysqli_data_seek($incidents, 0);
$count = 3;
if(isset($_GET['lmore'])) {
$add = (int) $_GET['lmore'];
$count += $add;
}
while($incidentlist = mysqli_fetch_array($incidents)){
if($count != 0) {
if(strpos($incidentlist['services'], $id) !== false) {
if(strpos($incidentlist['childof'], "-1") !== false) {
$count--;
echo '
<div class="placeholder"></div>
<div class="content">'.$incidentlist['date'].':
<a href="?rmincident='.$incidentlist['id'].'&manageservice='.$id.'&sname='.$servicename.'#mservice"><button class="button-red-mini button-mini-bigger">Delete</button></a>
</div>
<div class="incident">';
if($incidentlist['status'] == "new") {
echo '<div class="timeline-icon timeline-new"></div>';
} else if($incidentlist['status'] == "working") {
echo '<div class="timeline-icon timeline-working"></div>';
} else if($incidentlist['status'] == "update") {
echo '<div class="timeline-icon timeline-update"></div>';
} else if($incidentlist['status'] == "finished") {
echo '<div class="timeline-icon timeline-finished"></div>';
}
echo ''.$incidentlist['text'].'
</div>
';
mysqli_data_seek($incidents2, 0);
while($incidentlist2 = mysqli_fetch_array($incidents2)){
if(strpos($incidentlist['id'], $incidentlist2['childof']) !== false) {
echo '
<div class="incident">';
if($incidentlist2['status'] == "new") {
echo '<div class="timeline-icon timeline-new"></div>';
} else if($incidentlist2['status'] == "working") {
echo '<div class="timeline-icon timeline-working"></div>';
} else if($incidentlist2['status'] == "update") {
echo '<div class="timeline-icon timeline-update"></div>';
} else if($incidentlist2['status'] == "finished") {
echo '<div class="timeline-icon timeline-finished"></div>';
}
echo ''.$incidentlist2['text'].'
<a href="?rmincident='.$incidentlist2['id'].'&manageservice='.$id.'&sname='.$servicename.'#mservice"><button style="margin-top: 1px;" class="button-red-mini">Delete</button></a>
</div>
';
}
}
}
}
} else {
break;
}
}
if($count == 0) {
if(isset($_GET['lmore'])) {
$more = (int) $_GET['lmore'];
$more += 3;
} else {
$more = 3;
}
echo '<a href="?manageservice='.$id.'&sname='.$servicename.'&lmore='.$more.'#mservice"><button class="button-center button-green button-bigger">Load more</button></a';
}
echo '
</div>
</div>
';
}
?>
<!--Manage Group-->
<div id="groupedit" class="more-overlay">
<div class="more-popup">
<h2><?php echo getGroupName($_GET['editgroup']); ?></h2>
<div class="content">Edit Group</div>
<?php
if(isset($_GET["messagecreated"])) {
echo '<p class="upassword">Name updated successfully!</p>';
}
if(isset($_GET["priorityupdated"])) {
echo '<p class="upassword">Priority updated successfully!</p>';
}
?>
<?php echo '<form action="admin.php?upgroupname='.$_GET['editgroup'].'" method="post">' ?>
<input type="text" class="username-field" value="<?php echo getGroupName($_GET['editgroup']); ?>" readonly>
<input type="text" class="username-field" placeholder="New Name" id="name" name="name" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<?php echo '<form action="admin.php?upgrouppriority='.$_GET['editgroup'].'" method="post">' ?>
<input type="text" class="username-field" value="<?php echo getGroupPriority($_GET['editgroup']); ?>" readonly>
<input type="number" class="username-field" placeholder="Number" placeholder="Priority" id="priority" name="priority" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
</div>
</div>
<!--Create Incidents-->
<div id="incidents" class="more-overlay">
<div class="more-popup">
<h2>Incidents</h2>
<?php
echo '
<div class="content">Create Incident</div>
';
if(isset($_GET["incidentcreated"])) {
echo '<p class="upassword">Incident created successfully!</p>';
}
echo '
<form action="admin.php?createincident" method="post">
<textarea class="field-newline" rows="5" cols="52" name="text" placeholder="Enter incident text" maxlength="500" required></textarea>
<select style="margin-top: -3px;" name = "services[]" multiple required>
';
mysqli_data_seek($services, 0);
while($servicelist = mysqli_fetch_array($services)){
echo '
<option value = "'.$servicelist['id'].'">'.$servicelist['name'].'</option>
';
}
echo '
</select>
<input type="date" class="username-field incident-date" placeholder="DD.MM.YYYY" value="" id="date" name="date" required>
<button style="" class="button-green incident-submit">Submit</button>
</form>
<div class="placeholder"></div>
<div class="content">Add Message</div>
';
if(isset($_GET["messagecreated"])) {
echo '<p class="upassword">Message created successfully!</p>';
}
echo '
<form action="admin.php?addmessage" method="post">
<textarea class="field-newline" rows="5" cols="52" name="text" placeholder="Enter incident message text" maxlength="500" required></textarea>
<select style="position: relative; top: -5px;" id="childof" name="childof" required>
';
mysqli_data_seek($incidents, 0);
while($incidentlist = mysqli_fetch_array($incidents)){
if(strpos($incidentlist['childof'], "-1") !== false) {
echo '
<option value = "'.$incidentlist['id'].'">'.$incidentlist['date'].'</option>
';
}
}
echo '
</select>
<select style="position: relative; top: -5px;" id="state" name="state" required>
<option value = "new">New</option>
<option value = "working">Working</option>
<option value = "update">Update</option>
<option value = "finished">Finished</option>
</select>
<button style="left: -3px; top: -5px;" class="button-green">Submit</button>
</form>
<div class="placeholder"></div>
<div class="content content-danger">Danger Zone</div>
';
if(isset($_GET["incidentsflushed"])) {
echo '<p class="wpassword">All Incidents flushed!!</p>';
}
echo '
<a href="?flushincidents"><button style="top: 5px;" class="button-red button-bigger">Clear all Incidents</button></a>
';
?>
</div>
</div>
<!--SETTINGS WHEN ADMIN PRIVILEGES ARE SET-->
<?php
if($role == "administrator") {
echo '
<div id="settings" class="more-overlay">
<div class="more-popup">
<h2>Settings</h2>
<div class="content">Instance name</div>';
if(isset($_GET["nameupdated"])) {
echo '<p class="upassword">Instance name successfully updated!</p>';
}
echo '
<form action="admin.php?upname" method="post">
<div><input type="text" class="username-field" value="'.$instancename.'" readonly>
<input type="text" class="username-field" placeholder="New name" value="" id="iname" name="iname" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input></div>
</form>
<div class="placeholder"></div>
<div class="content">Autoreload Status</div>';
if(isset($_GET["reloadupdated"])) {
if($_GET['reloadupdated'] == "enabled") {
echo '<p class="upassword">Autoreload value set to: '.$_GET['reloadupdated'].'!</p>';
} else {
echo '<p class="wpassword">Autoreload value set to: '.$_GET['reloadupdated'].'!</p>';
}
}
echo '
<form action="admin.php?upautoreload" method="post">
<input type="text" class="username-field" value="'.$autoreload_setting.'" readonly>
<select name = "autoreload">
<option value = "enabled" selected>Enabled</option>
<option value = "disabled">Disabled</option>
</select>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<div class="placeholder"></div>
<div class="content">Impressum & Privacy Policity</div>';
if($_GET['impressumset']) {
echo '<p class="upassword">Impressum link set to: '.$_GET['impressumset'].'!</p>';
} else if($_GET['privacyset']) {
echo '<p class="upassword">Privacy policity link set to: '.$_GET['privacyset'].'!</p>';
} else if(isset($_GET['newtabset'])) {
echo '<p class="upassword">Open new tab policy updated!</p>';
}
echo '
<form action="admin.php?upimpressum" method="post">
<input type="text" class="username-field" value="'.$impressum.'" readonly>
<input type="text" class="username-field" placeholder="Impressum link" name="impressum">
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<form action="admin.php?upprivacy" method="post">
<input type="text" class="username-field" value="'.$privacy.'" readonly>
<input type="text" class="username-field" placeholder="Privacy policity link" name="privacy">
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
<form action="admin.php?uptabpolicy" method="post">
<input type="text" class="username-field" value="'.$newtab.'" readonly>
<select name = "newtab">
<option value = "new tab" selected>new tab</option>
<option value = "same tab">same tab</option>
</select>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input>
</form>
</div>
</div>';
}
?>
<!--SERVICES EDIT-->
<div id="services" class="more-overlay">
<div class="more-popup">
<h2>Services</h2>
<div class="content">Create group/service</div>
<?php
if(isset($_GET["groupadded"])) {
echo '<p class="upassword">Group successfully added!</p>';
}
if(isset($_GET["serviceadded"])) {
echo '<p class="upassword">Service successfully added!</p>';
}
?>
<form action="admin.php?creategroup" method="post">
<div><input type="text" class="username-field" value="" placeholder="New group" id="name" name="name" required>
<input type="number" class="username-field" value="" placeholder="Priority" id="priority" name="priority" required>
<input style="display: none;" type="submit"><button class="button-green button-up">Submit</button></input></div>
</form>
<form action="admin.php?createservice" method="post">
<div><input type="text" class="username-field" value="" placeholder="New service" id="name" name="name" required>
<input type="text" class="username-field" value="" placeholder="short name" id="sname" name="sname" maxlength="7" required>
<select name = "group">
<?php
while($grouplist = mysqli_fetch_array($groups)){
echo '<option value = '.$grouplist['id'].' selected>'.$grouplist['name'].'</option>';
}
?>
</select>
<input type="number" class="username-field" value="" placeholder="Priority" id="priority" name="priority" required>
<input style="display: none;" type="submit"><button class="button-green">Submit</button></div></input>
</form>
<div class="placeholder"></div>
<?php
if(isset($_GET["servicedeleted"])) {
echo '<p class="wpassword">Service successfully deleted!</p>';
}
if(isset($_GET["groupdeleted"])) {
echo '<p class="wpassword">Group successfully deleted!</p>';
}
?>
<?php
mysqli_data_seek($groups, 0);
while($grouplist = mysqli_fetch_array($groups)){
echo '<div class="content">'.$grouplist['name'].'
<a href="?editgroup='.$grouplist['id'].'#groupedit"><button class="button-green-mini">Edit</button></a>
<a href="?delgroup='.$grouplist['id'].'#services"><button class="button-red-mini">Delete</button></a></div>';
mysqli_data_seek($services, 0);
while($servicelist = mysqli_fetch_array($services)){
if($grouplist['id'] == $servicelist['groupid']) {
echo '
<div class="block"><input type="text" class="username-field" value="" placeholder="'.$servicelist['name'].'" id="servicename" name="servicename" readonly>
<input type="text" class="username-field" value="" placeholder="'.$servicelist['status'].'" id="status" name="status" size="500" readonly>
<input type="text" class="username-field" value="" placeholder="'.$servicelist['priority'].'" id="priority" name="priority" readonly>
<a href="?manageservice='.$servicelist['id'].'#mservice"><button class="button-orange">Manage</button></a>
';
if($role != "administrator") {
echo'</div>';
} else {
echo '<a href="?delservice='.$servicelist['id'].'#services"><button class="button-red">Delete</button></a>';
}
}
}
echo'<div class="placeholder"></div>';
}
?>
</body>
<script type="text/javascript" src="js/sidebar.js"></script>
<script type="text/javascript" src="js/redirect.js"></script>
</html>

50
auth.php Normal file
View File

@ -0,0 +1,50 @@
<?php
session_start();
$DATABASE_HOST = 'nerdcity.at';
$DATABASE_USER = 'webstatus';
$DATABASE_PASS = 'wPsCi548z6fKJB2u';
$DATABASE_NAME = 'webstatus';
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if ( mysqli_connect_errno() ) {
exit('MySQl Connection failed with error: ' . mysqli_connect_error());
}
if ( !isset($_POST['username'], $_POST['password']) ) {
exit('Please fill both the username and password fields!');
}
if ($stmt = $con->prepare('SELECT id, password FROM accounts WHERE username = ?')) {
$stmt->bind_param('s', $_POST['username']);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($id, $password);
$stmt->fetch();
if (password_verify($_POST['password'], $password)) {
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['name'] = $_POST['username'];
$_SESSION['id'] = $id;
header("Location: admin.php");
} else {
//Incorrect Data
echo 'Incorrect username and/or password!';
}
} else {
//Incorrect Data
echo 'Incorrect username and/or password!';
}
$stmt->close();
}
?>

8
config.php Normal file
View File

@ -0,0 +1,8 @@
<?php
$config=array(
"DBHOST"=>"data2.thiemoo.at",
"DBNAME"=>"webstatus",
"DBPWD"=>"X5G3njgZ4s@E4S9J",
"DBUSER"=>"webstatus"
);
?>

135
css/admin/mobile.css Normal file
View File

@ -0,0 +1,135 @@
@media only screen and (max-width: 467px){
.open {
position: absolute;
top: -1%;
left: 3%;
font-size: 3em;
visibility: visible;
display: block;
}
.sidebar{
position: fixed;
width: 35%;
top:0;
left: 0;
bottom: 0;
background: #121921;
padding-top: 50px;
transition: 0.5s;
}
.bottom {
position: absolute;
bottom: 8%;
}
.close {
bottom: 14%;
visibility: visible;
}
.sidebar h1{
display: block;
padding: 10px 20px;
color: #fff;
text-decoration: none;
font-family: 'Trebuchet MS', sans-serif;
letter-spacing: 2px;
font-weight: 400;
margin: 0;
font-size: 2em;
text-transform: uppercase;
margin-top: 0;
transition: 0.3s;
}
.sidebar a{
display: block;
padding: 10px 20px;
color: #bbb;
text-decoration: none;
font-family: 'Trebuchet MS', sans-serif;
font-size: 1em;
letter-spacing: 2px;
transition: 0.3s;
}
.incident-date {
top: 0px !important;
}
.incident-submit {
top: -17% !important;
}
}
@media only screen and (max-height: 467px){
.open {
position: absolute;
top: -1%;
left: 3%;
font-size: 7em;
visibility: visible;
display: block;
}
.sidebar{
position: fixed;
width: 35%;
top:0;
left: 0;
bottom: 0;
background: #121921;
padding-top: 50px;
}
.sidebar h1{
display: block;
padding: 10px 20px;
color: #fff;
text-decoration: none;
font-family: 'Trebuchet MS', sans-serif;
letter-spacing: 2px;
font-weight: 400;
margin: 0;
font-size: 3em;
text-transform: uppercase;
margin-top: 50px;
}
.sidebar a{
display: block;
padding: 10px 20px;
color: #bbb;
text-decoration: none;
font-family: 'Trebuchet MS', sans-serif;
font-size: 2em;
letter-spacing: 2px;
}
.close {
display: block;
position: absolute;
bottom: 7%;
}
.more-popup {
margin: 15% auto 15% -30% !important;
padding: 20px;
background: #233142;
border-radius: 5px;
width: 70%;
position: relative;
}
.incident-date {
top: 0px !important;
}
.incident-submit {
top: -17% !important;
}
}

420
css/admin/style.css Normal file
View File

@ -0,0 +1,420 @@
body {
margin: 0;
background: #233142;
font-family: "Lato", sans-serif;
overflow-x: hidden;
}
.sidebar{
position: fixed;
width: 13%;
top:0;
left: 0;
bottom: 0;
background: #121921;
padding-top: 50px;
z-index: 1;
}
.sidebar h1{
display: block;
padding: 10px 20px;
color: #fff;
text-decoration: none;
font-family: "Rubik";
letter-spacing: 2px;
font-weight: 400;
margin: 0;
font-size: 25px;
text-transform: uppercase;
}
.sidebar a {
display: block;
padding: 10px 20px;
color: #bbb;
text-decoration: none;
font-family: "Rubik";
letter-spacing: 2px;
}
.sidebar a:hover:not(close){
color: #fff;
margin-left: 20px;
transition: 0.4s;
}
.bottom {
position: absolute;
bottom: 2%;
}
.close {
visibility: hidden;
}
.open {
color: green;
display: none;
visibility: hidden;
}
.more-box {
width: 20%;
margin: 0 auto;
background: rgba(255,255,255,0.2);
padding: 35px;
border: 2px solid #233142;
border-radius: 20px/50px;
text-align: center;
}
.more-overlay {
transition: opacity 300ms;
visibility: hidden;
opacity: 0;
padding-top: -1%;
margin: -10% auto;
margin-bottom: -2000px;
display: none;
}
.more-overlay:target {
visibility: visible;
opacity: 1;
display: block;
}
.more-popup {
margin: 15% auto 15% 30%;
padding: 20px;
background: #233142;
border-radius: 5px;
width: 70%;
position: relative;
}
.more-popup h2 {
margin-top: 0;
color: #a6a6a6;
font-family: Tahoma, Arial, sans-serif;
font-size: 80px;
margin-bottom: 0;
}
.more-popup .content {
max-height: 30%;
overflow: auto;
color: #d9d9d9;
font-size: 20px;
}
.content-danger {
color: #ff4d4d !important;
}
.more-box-caller {
text-decoration: none;
}
.up {
color: #009900 !important;
}
.maintenance {
color: #ff9933 !important;
}
.troubles {
color: #ff1a1a !important;
}
input {
text-align: center;
background-color: #ECF0F1;
border: 2px solid transparent;
border-radius: 3px;
font-size: 15px;
font-weight: 200;
padding: 10px 0;
width: 200px;
transition: border .5s;
margin-left: -2px;
margin-top: 2px;
}
input:focus {
border: 2px solid #3498DB;
box-shadow: none;
}
textarea {
text-align: center;
background-color: #2c3e54;
color: #7996b9;
border: 2px solid transparent;
border-radius: 3px;
font-size: 15px;
font-weight: 200;
padding: 10px 0;
transition: border .5s;
margin-left: -2px;
margin-top: 2px;
margin-bottom: 5px;
}
select {
text-align: center;
background-color: #2c3e54 !important;
color: #7996b9;
border: 2px solid transparent;
border-radius: 3px;
font-size: 15px;
font-weight: 200;
padding: 10px 0;
width: 200px;
transition: border .5s;
margin-left: -2px;
margin-top: 2px;
}
select:focus {
border: 2px solid #3498DB;
box-shadow: none;
}
button {
position: relative;
margin-bottom: 2px;
font-size: 15px !important;
font-weight: 200 !important;
color: #7996b9 !important;
}
button:focus {
outline: 0;
}
button:before {
content: "";
display: block;
position: absolute;
background: rgba(255, 255, 255, 0.5);
width: 60px;
height: 100%;
left: 0;
top: 0;
opacity: 0.5;
filter: blur(30px);
transform: translateX(-100px) skewX(-15deg);
}
button:after {
content: "";
display: block;
position: absolute;
background: rgba(255, 255, 255, 0.2);
width: 30px;
height: 100%;
left: 30px;
top: 0;
opacity: 0;
filter: blur(5px);
transform: translateX(-100px) skewX(-15deg);
}
button:hover:before {
transform: translateX(300px) skewX(-15deg);
opacity: 0.6;
transition: 0.7s;
}
button:hover:after {
transform: translateX(300px) skewX(-15deg);
opacity: 1;
transition: 0.7s;
}
.button-green {
background: #2c3e54;
color: #ccc;
width: 80px;
height: 42px;
border: 0;
font-size: 18px;
border-radius: 4px;
font-family: "Raleway", sans-serif;
transition: 0.6s;
overflow: hidden;
}
.button-green:hover {
background: #338033;
cursor: pointer;
}
.button-red {
background: #2c3e54;
color: #ccc;
width: 80px;
height: 42px;
border: 0;
font-size: 18px;
border-radius: 4px;
font-family: "Raleway", sans-serif;
transition: 0.6s;
overflow: hidden;
}
.button-red:hover {
background: #990000;
cursor: pointer;
}
.button-orange {
background: #2c3e54;
color: #ccc;
width: 80px;
height: 42px;
border: 0;
font-size: 18px;
border-radius: 4px;
font-family: "Raleway", sans-serif;
transition: 0.6s;
overflow: hidden;
}
.button-orange:hover {
background: #cc6600;
cursor: pointer;
}
.button-green-mini {
background: #2c3e54;
color: #ccc;
width: 50px;
height: 23px;
top: -2px;
border: 0;
font-size: 18px;
border-radius: 4px;
font-family: "Raleway", sans-serif;
transition: 0.6s;
overflow: hidden;
}
.button-green-mini:hover {
background: #338033;
cursor: pointer;
}
.button-red-mini {
background: #2c3e54;
color: #ccc;
width: 55px;
height: 23px;
top: -2px;
border: 0;
font-size: 18px;
border-radius: 4px;
font-family: "Raleway", sans-serif;
transition: 0.6s;
overflow: hidden;
}
.button-mini-bigger {
width: 75px !important;
}
.button-bigger {
width: 140px !important;
}
.button-center {
position: absolute;
left: 30%;
}
.button-up {
top: -1px;
}
.button-red-mini:hover {
background: #990000;
cursor: pointer;
}
.username-field {
color: #7996b9;
background-color: #2c3e54;
}
.field-newline {
display: block !important;
}
.userlist-newline {
margin-top: 1px;
}
.placeholder {
margin-top: 30px;
}
.wpassword {
font-size: 12px;
color: #ff0000;
margin: center;
}
.upassword {
font-size: 12px;
color: #009900;
margin: center;
}
.block {
}
.incident {
margin-top: 1%;
color: #7996b9;
width: 50%;
}
.timeline-icon {
display:flex;
float:left;
padding-right: 15px;
}
.timeline-new:before {
font-family:FontAwesome;
content: "\f0a1";
color: #cc6600;
}
.timeline-working:before {
font-family:FontAwesome;
content: "\f013";
color: #0052cc;
}
.timeline-update:before {
font-family:FontAwesome;
content: "\f0e5";
color: #4d9900;
}
.timeline-finished:before {
font-family:FontAwesome;
content: "\f00c";
color: #8bc34a;
}
.incident-date {
position: relative;
top: -85px;
}
.incident-submit {
left: -2px;
top: -83px;
}

2337
css/font-awesome/css/font-awesome.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

296
css/login/style.css Normal file
View File

@ -0,0 +1,296 @@
html {
height: 100%;
background: radial-gradient(ellipse, #1b2735 0%, #090a0f 100%);
overflow: hidden;
}
/**Parallax Stars from Codepen**/
/**https://codepen.io/maadc/pen/oarbEM**/
#stars {
width: 2px;
height: 2px;
animation: animStar 40s linear infinite;
box-shadow: 1099px 204px #fff, 1708px 1116px #fff, 1147px 1309px #fff,
25px 1804px #fff, 1690px 1154px #fff, 1731px 747px #fff, 675px 1401px #fff,
944px 1148px #fff, 1302px 1465px #fff, 1023px 1535px #fff, 1032px 549px #fff,
1794px 731px #fff, 565px 1301px #fff, 1332px 1562px #fff, 314px 734px #fff,
955px 463px #fff, 1899px 882px #fff, 1397px 1692px #fff, 572px 599px #fff,
460px 960px #fff, 60px 260px #fff, 1684px 1780px #fff, 310px 1318px #fff,
1789px 1632px #fff, 1871px 1705px #fff, 791px 1245px #fff, 944px 1042px #fff,
1191px 1847px #fff, 1961px 269px #fff, 723px 720px #fff, 1534px 698px #fff,
301px 957px #fff, 1087px 1577px #fff, 734px 278px #fff, 647px 1477px #fff,
529px 1904px #fff, 15px 46px #fff, 805px 382px #fff, 1933px 1427px #fff,
1526px 1929px #fff, 871px 966px #fff, 829px 15px #fff, 1619px 1137px #fff,
1397px 1681px #fff, 654px 1984px #fff, 1397px 556px #fff, 850px 1739px #fff,
620px 1725px #fff, 1845px 1934px #fff, 1158px 875px #fff, 945px 341px #fff,
427px 1679px #fff, 191px 105px #fff, 1396px 1957px #fff, 1808px 1493px #fff,
1133px 460px #fff, 13px 1741px #fff, 140px 1053px #fff, 496px 1416px #fff,
1313px 739px #fff, 1461px 288px #fff, 933px 1008px #fff, 1532px 777px #fff,
1586px 169px #fff, 985px 1202px #fff, 1249px 1749px #fff, 629px 829px #fff,
963px 1075px #fff, 701px 743px #fff, 1284px 30px #fff, 662px 1867px #fff,
101px 691px #fff, 1667px 1490px #fff, 1443px 1166px #fff, 1618px 651px #fff,
1843px 119px #fff, 736px 494px #fff, 1266px 680px #fff, 606px 1339px #fff,
1046px 1926px #fff, 642px 522px #fff, 1786px 1668px #fff, 1681px 862px #fff,
1012px 1181px #fff, 1279px 1271px #fff, 806px 557px #fff, 401px 208px #fff,
730px 789px #fff, 1421px 488px #fff, 1549px 1937px #fff, 150px 1627px #fff,
1693px 787px #fff, 324px 1984px #fff, 1084px 310px #fff, 696px 1255px #fff,
1908px 48px #fff, 614px 1863px #fff, 348px 1724px #fff, 1457px 254px #fff,
1506px 150px #fff, 875px 1506px #fff, 988px 1020px #fff, 1524px 1492px #fff,
1722px 1681px #fff, 1102px 1669px #fff, 860px 768px #fff, 1369px 336px #fff,
1432px 19px #fff, 748px 988px #fff, 635px 1578px #fff, 1943px 397px #fff,
1944px 1615px #fff, 696px 225px #fff, 1922px 196px #fff, 1601px 1779px #fff,
1363px 1541px #fff, 14px 1554px #fff, 618px 917px #fff, 336px 992px #fff,
1208px 1788px #fff, 1617px 764px #fff, 1769px 1294px #fff, 1222px 9px #fff,
1386px 1796px #fff, 533px 575px #fff, 596px 923px #fff, 1847px 431px #fff,
1426px 160px #fff, 1128px 1833px #fff, 316px 233px #fff, 1293px 13px #fff,
987px 356px #fff, 1396px 1073px #fff, 1763px 1076px #fff, 1655px 547px #fff,
1923px 1286px #fff, 814px 1567px #fff, 856px 71px #fff, 1766px 886px #fff,
1764px 70px #fff, 1557px 279px #fff, 317px 660px #fff, 1828px 732px #fff,
327px 137px #fff, 307px 1363px #fff, 1355px 1970px #fff, 1559px 614px #fff,
1500px 467px #fff, 1460px 1827px #fff, 570px 560px #fff, 918px 544px #fff,
1816px 806px #fff, 646px 1641px #fff, 415px 199px #fff, 1621px 917px #fff,
1080px 893px #fff, 1537px 838px #fff, 1089px 539px #fff, 291px 711px #fff,
1654px 1537px #fff, 1065px 1843px #fff, 522px 1073px #fff, 813px 1724px #fff,
1005px 1984px #fff, 1807px 1783px #fff, 357px 1186px #fff, 757px 523px #fff,
1182px 248px #fff, 1232px 1491px #fff, 1391px 796px #fff, 1578px 54px #fff,
912px 1178px #fff, 1988px 1421px #fff, 500px 1545px #fff, 1266px 890px #fff,
1108px 897px #fff, 727px 111px #fff, 673px 1184px #fff, 561px 906px #fff,
1957px 1993px #fff, 698px 1419px #fff, 328px 1484px #fff, 710px 772px #fff,
14px 1102px #fff, 160px 1068px #fff, 1896px 595px #fff, 213px 775px #fff,
1184px 1495px #fff, 883px 239px #fff, 1092px 1733px #fff, 1041px 570px #fff,
189px 1295px #fff, 1343px 1128px #fff, 127px 1581px #fff, 1706px 288px #fff,
218px 919px #fff, 1333px 1223px #fff, 1958px 1385px #fff, 600px 575px #fff,
1542px 952px #fff, 1894px 1212px #fff, 810px 492px #fff, 722px 1119px #fff,
746px 298px #fff, 770px 392px #fff, 922px 355px #fff, 1651px 934px #fff,
566px 415px #fff, 675px 1922px #fff, 488px 5px #fff, 918px 809px #fff,
1510px 1827px #fff, 511px 165px #fff, 382px 1684px #fff, 1934px 1992px #fff,
993px 1730px #fff, 1603px 1836px #fff, 63px 234px #fff, 250px 1178px #fff,
467px 1201px #fff, 1883px 7px #fff, 1868px 1487px #fff, 868px 1971px #fff,
613px 1272px #fff, 664px 756px #fff, 1781px 1327px #fff, 165px 544px #fff,
319px 45px #fff, 1870px 629px #fff, 556px 1502px #fff, 975px 807px #fff,
1869px 313px #fff, 156px 1968px #fff, 1647px 555px #fff, 1589px 864px #fff,
85px 1634px #fff, 943px 202px #fff, 1270px 1850px #fff, 1910px 307px #fff,
1163px 1002px #fff, 1571px 1892px #fff, 835px 1929px #fff, 322px 1527px #fff,
1706px 1371px #fff, 1498px 967px #fff, 466px 1566px #fff, 1330px 542px #fff,
1651px 1955px #fff, 1416px 685px #fff, 1484px 1447px #fff, 161px 1975px #fff,
866px 1581px #fff, 252px 416px #fff, 1693px 1326px #fff, 1810px 43px #fff,
653px 650px #fff, 744px 654px #fff, 1573px 590px #fff, 1430px 1962px #fff,
52px 312px #fff, 710px 1805px #fff, 1910px 87px #fff, 1767px 1641px #fff,
281px 608px #fff, 191px 95px #fff, 861px 717px #fff, 1890px 1608px #fff,
495px 1847px #fff, 459px 1932px #fff, 206px 1262px #fff, 950px 1761px #fff,
213px 110px #fff, 1051px 1830px #fff, 1550px 55px #fff, 240px 170px #fff,
629px 1986px #fff, 816px 1520px #fff, 1615px 1032px #fff, 995px 1963px #fff,
272px 180px #fff, 916px 1876px #fff, 176px 793px #fff, 517px 1886px #fff,
1907px 1182px #fff, 161px 951px #fff, 1395px 1642px #fff, 278px 1828px #fff,
733px 1605px #fff, 268px 504px #fff, 447px 631px #fff, 773px 232px #fff,
1978px 1272px #fff, 1902px 1673px #fff, 1398px 544px #fff, 1369px 464px #fff,
1902px 1018px #fff, 1864px 558px #fff, 1194px 1182px #fff, 1813px 95px #fff,
1465px 318px #fff, 1929px 1685px #fff, 228px 692px #fff, 1179px 1618px #fff,
1419px 517px #fff, 459px 748px #fff, 1202px 629px #fff, 1456px 1115px #fff,
803px 307px #fff, 380px 466px #fff, 294px 467px #fff, 301px 1257px #fff,
425px 184px #fff, 383px 1178px #fff, 458px 716px #fff, 1766px 495px #fff,
159px 1325px #fff, 12px 1395px #fff, 1024px 104px #fff, 1609px 1955px #fff,
824px 304px #fff, 1338px 1144px #fff, 250px 45px #fff, 1100px 1464px #fff,
1948px 811px #fff, 942px 624px #fff, 39px 356px #fff, 566px 1666px #fff,
901px 517px #fff, 1904px 1230px #fff, 1195px 123px #fff, 200px 187px #fff,
1538px 463px #fff, 518px 1670px #fff, 1680px 183px #fff, 1051px 608px #fff,
51px 70px #fff, 21px 1896px #fff, 863px 583px #fff, 375px 206px #fff,
802px 75px #fff, 152px 1920px #fff, 308px 1255px #fff, 836px 329px #fff,
952px 193px #fff, 515px 800px #fff, 1236px 1406px #fff, 1606px 871px #fff,
1882px 1016px #fff, 825px 931px #fff, 562px 552px #fff, 1699px 1585px #fff,
1643px 1161px #fff, 1796px 1371px #fff, 301px 1056px #fff,
1893px 1668px #fff, 1739px 1660px #fff, 914px 612px #fff, 307px 1px #fff,
88px 315px #fff, 1186px 1326px #fff, 1086px 1646px #fff, 368px 1944px #fff,
1422px 882px #fff, 858px 1844px #fff, 1554px 817px #fff, 1224px 1606px #fff,
1901px 406px #fff, 447px 807px #fff, 1364px 461px #fff, 635px 1541px #fff,
506px 294px #fff, 2000px 1960px #fff, 498px 900px #fff, 1374px 154px #fff,
264px 480px #fff, 1561px 471px #fff, 1381px 1692px #fff, 1954px 1513px #fff,
701px 76px #fff, 1730px 1587px #fff, 1002px 279px #fff, 524px 1620px #fff,
282px 1248px #fff, 686px 1528px #fff, 755px 719px #fff, 789px 1218px #fff,
205px 533px #fff, 330px 1649px #fff, 1089px 1357px #fff, 1116px 975px #fff,
281px 394px #fff, 1635px 1678px #fff, 529px 1008px #fff, 1465px 798px #fff,
1968px 771px #fff, 129px 214px #fff, 733px 10px #fff, 847px 622px #fff,
1114px 8px #fff, 1714px 1396px #fff, 861px 1787px #fff, 480px 1624px #fff,
1026px 741px #fff, 1436px 167px #fff, 1642px 54px #fff, 1228px 141px #fff,
1282px 1416px #fff, 1703px 1192px #fff, 1885px 33px #fff, 1663px 221px #fff,
807px 283px #fff, 67px 1949px #fff, 961px 1480px #fff, 1709px 1359px #fff,
591px 1867px #fff, 1481px 1938px #fff, 189px 244px #fff, 1825px 1499px #fff,
816px 1190px #fff, 1679px 1521px #fff, 1376px 1324px #fff, 951px 1782px #fff,
953px 556px #fff, 1710px 1706px #fff, 1826px 608px #fff, 1326px 1095px #fff,
1467px 1709px #fff, 697px 731px #fff, 1323px 1097px #fff, 1192px 888px #fff,
732px 443px #fff, 431px 1225px #fff, 851px 1716px #fff, 30px 289px #fff,
47px 1807px #fff, 411px 1084px #fff, 881px 1385px #fff, 1347px 1646px #fff,
1577px 448px #fff, 1459px 229px #fff, 1178px 1305px #fff, 1467px 1527px #fff,
538px 807px #fff, 1377px 1531px #fff, 1398px 78px #fff, 1573px 422px #fff,
10px 1896px #fff, 435px 544px #fff, 224px 406px #fff, 7px 609px #fff,
752px 1956px #fff, 268px 964px #fff, 1395px 1358px #fff, 38px 492px #fff,