Fixed some bugs and added a cookies disclaimer
This commit is contained in:
commit
d39b7214b8
624
admin.php
Normal file
624
admin.php
Normal 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
50
auth.php
Normal 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
8
config.php
Normal 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
135
css/admin/mobile.css
Normal 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
420
css/admin/style.css
Normal 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
2337
css/font-awesome/css/font-awesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
css/font-awesome/css/font-awesome.min.css
vendored
Normal file
4
css/font-awesome/css/font-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
css/font-awesome/fonts/FontAwesome.otf
Normal file
BIN
css/font-awesome/fonts/FontAwesome.otf
Normal file
Binary file not shown.
BIN
css/font-awesome/fonts/fontawesome-webfont.eot
Normal file
BIN
css/font-awesome/fonts/fontawesome-webfont.eot
Normal file
Binary file not shown.
2671
css/font-awesome/fonts/fontawesome-webfont.svg
Normal file
2671
css/font-awesome/fonts/fontawesome-webfont.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 434 KiB |
BIN
css/font-awesome/fonts/fontawesome-webfont.ttf
Normal file
BIN
css/font-awesome/fonts/fontawesome-webfont.ttf
Normal file
Binary file not shown.
BIN
css/font-awesome/fonts/fontawesome-webfont.woff
Normal file
BIN
css/font-awesome/fonts/fontawesome-webfont.woff
Normal file
Binary file not shown.
BIN
css/font-awesome/fonts/fontawesome-webfont.woff2
Normal file
BIN
css/font-awesome/fonts/fontawesome-webfont.woff2
Normal file
Binary file not shown.
296
css/login/style.css
Normal file
296
css/login/style.css
Normal 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,
|
||||