first commit

This commit is contained in:
2019-08-13 23:32:13 +02:00
commit 89ae9f3a3a
141 changed files with 168907 additions and 0 deletions

177
backend/Backend-index.php Normal file
View File

@@ -0,0 +1,177 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="page-content">
<p>Insert content here</p>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

241
backend/archive-ticket.php Normal file
View File

@@ -0,0 +1,241 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Include config file
require_once "../assets/php/config.php";
// Prepare a delete statement
$sql = "INSERT INTO tickets_arch SELECT * FROM tickets WHERE id = ?";
$sql2 = "DELETE FROM tickets WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records moved successfully. Deleting from active
if($stmt2 = mysqli_prepare($link, $sql2)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt2, "i", $param_id);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt2)){
header("location: tickets.php");
exit();
} else{
echo "Dell Oops! Something went wrong. Please try again later.";
}
}
mysqli_stmt_close($stmt2);
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_GET["id"]))){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php?error=tdne");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Achive ticket</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" class="formbackend" style="background:white; padding:20px;">
<a href="tickets.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Achive ticket</h2>
</div>
<div class="del form-wrapper md-elevation-8 p-4">
<form class="del" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
<center><h4>Are you sure you want to achive this ticket?</h4></center><br>
<center>
<input type="submit" value="Yes" class="btn btn-success">
<a href="tickets.php" class="btn btn-default">No</a>
</center>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

240
backend/archive.php Normal file
View File

@@ -0,0 +1,240 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Include PHP Cutext
require_once "../assets/php/cuttext.php";
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Ticket achive</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="padding:20px;">
<a data-toggle='tooltip' data-original-title='Back' href="tickets.php" class="btn btn-secondary btn-fab"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Ticket archive</h2>
</div>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<?php
// Include config file
require_once "../assets/php/config.php";
// Attempt select query execution
$sql = "SELECT * FROM tickets_arch";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>#</th>";
echo "<th>sysID</th>";
echo "<th>Location</th>";
echo "<th>Request Type</th>";
echo "<th>Request by</th>";
echo "<th>Reason</th>";
echo "<th>Date/Time</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td><a class='sysIDticket' href='view-system.php?sysID=". $row['sysID'] ."' title='View system' data-toggle='tooltip'>" . $row['sysID'] . "</a></td>";
echo "<td>" . $row['location'] . "</td>";
echo "<td>" . $row['requestype'] . "</td>";
echo "<td>" . $row['rusername'] . "</td>";
echo "<td>" . cutText($row['reason'], 50)."</td>";
echo "<td>" . $row['time'] . "</td>";
echo "<td>";
echo "<a class='crud' href='view-achivedticket.php?id=". $row['id'] ."' title='View ticket' data-toggle='tooltip'><span class='icons icon-eye'></span></a>";
echo "<a class='crud' href='delete-achivedticket.php?id=". $row['id'] ."' title='Delete ticket' data-toggle='tooltip'><span class='icons icon-trash'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No tickets were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

269
backend/create-system.php Normal file
View File

@@ -0,0 +1,269 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
require_once "../assets/php/config.php";
if(isset( $_POST ['sysID'], $_POST ['ServiceTag'], $_POST ['location'], $_POST ['WinKey'], $_POST ['EthMac'])){
// Escape user inputs for security
$sysID = mysqli_real_escape_string($link, $_POST['sysTypeID'].$_POST['sysID']);
$sysType = mysqli_real_escape_string($link, $_POST['sysType']);
$ServiceTag = mysqli_real_escape_string($link, $_POST['ServiceTag']);
$location = mysqli_real_escape_string($link, $_POST['location']);
$WinKey = mysqli_real_escape_string($link, $_POST['WinKey']);
$EthMac = mysqli_real_escape_string($link, $_POST['EthMac']);
// Attempt insert query execution
$sql = "INSERT INTO systems (sysID, sysType, ServiceTag, location, EthMac, WinKey ) VALUES ('$sysID', '$sysType', '$ServiceTag', '$location', '$EthMac', '$WinKey')";
if(mysqli_query($link, $sql)){
header("location: systems.php");
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
header("location: error.php");
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Create System</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Bootstrap Select -->
<script src="../assets/js/bootstrap-select.js" type="text/javascript"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- Custom JS -->
<script>
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
<!-- /Custom JS -->
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<a href="systems.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Create a system</h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<!-- Prepended text-->
<div class='control-group'>
<label class="col-md-8 control-label" >System ID <span style="color:red">*</span></label>
<div class='controls'>
<div class="col-md-4">
<div class='input-prepend dropdown' id="sysType" name="sysType" data-select='true'>
<!-- there must not be a space between the prepend toggle and the input field -->
<a class='add-on dropdown-toggle' data-toggle='dropdown' href='#'>
<!-- span.dropdown-display will be updated with the text from the selected option -->
<span class='dropdown-display'>DT</span>
<i class='caret'></i>
</a>
<input type='text' placeholder='000' id="sysID" required="" minlength="3" maxlength="3" name="sysID" class='col-md-4 control-label' />
<!-- this hidden field is used to contain the selected option from the dropdown -->
<input type='hidden' id="sysTypeID" name="sysTypeID" value='DT' class='dropdown-field' />
<!-- unordered list of options -->
<ul class='dropdown-menu'>
<li>
<a href="#" class="idlist" id="sysType" name="sysTypeID" data-value="DT">DT</a>
</li>
<li>
<a href="#" class="idlist" id="sysType" name="sysTypeID" data-value="LT">LT</a>
</li>
<li>
<a href="#" class="idlist" id="sysType" name="sysTypeID" data-value="TC">TC</a>
</li>
</ul>
</div>
</div>
</div>
<!-- /PREPEND EXAMPLE -->
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="ServiceTag">System type <span style="color:red">*</span></label>
<div class="col-md-4">
<input id="ServiceTag" name="ServiceTag" type="text" placeholder="" class="form-control input-md" required="">
</div>
</div>
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="location">Location <span style="color:red">*</span></label>
<div class="col-md-4">
<select id="location" name="location" class="form-control">
<option value="Arnhem">Arnhem</option>
<option value="Doetinchem">Doetinchem</option>
<option value="Nijmegen">Nijmegen</option>
</select>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="WinKey">Windows key <span style="color:red">*</span></label>
<div class="col-md-4">
<input id="WinKey" name="WinKey" type="WinKey" placeholder="" class="form-control input-md" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="EthMac">Mac addres <span style="color:red">*</span></label>
<div class="col-md-4">
<input id="EthMac" name="EthMac" type="text" placeholder="" class="form-control input-md" required="">
</div>
</div>
<div class="form-group col-md-4">
<input type="submit" class="btn btn-secondary" value="Add">
</div>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

291
backend/create-ticket.php Normal file
View File

@@ -0,0 +1,291 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Create ticket</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Bootstrap Select -->
<script src="../assets/js/bootstrap-select.js" type="text/javascript"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- Custom JS -->
<script>
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
<!-- /Custom JS -->
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<a href="tickets.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Create a ticket</h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<center><form method="POST" action="../assets/php/sent-request.php">
<fieldset>
<!-- Prepended text-->
<div class='control-group'>
<label class="col-md-8 control-label" >System ID <span style="color:red">*</span></label>
<div class='controls'>
<div class="col-md-4">
<div class='input-prepend dropdown' id="sysType" name="sysType" data-select='true'>
<!-- there must not be a space between the prepend toggle and the input field -->
<a class='add-on dropdown-toggle' data-toggle='dropdown' href='#'>
<!-- span.dropdown-display will be updated with the text from the selected option -->
<span class='dropdown-display'>DT</span>
<i class='caret'></i>
</a>
<input type='text' placeholder='000' id="sysID" required="" minlength="3" maxlength="3" name="sysID" class='col-md-4 control-label' />
<!-- this hidden field is used to contain the selected option from the dropdown -->
<input type='hidden' id="sysType" name="sysType" value='DT' class='dropdown-field' />
<!-- unordered list of options -->
<ul class='dropdown-menu'>
<li>
<a href="#" class="idlist" id="sysType" name="sysType" data-value="DT">DT</a>
</li>
<li>
<a href="#" class="idlist" id="sysType" name="sysType" data-value="LT">LT</a>
</li>
<li>
<a href="#" class="idlist" data-value="TC">TC</a>
</li>
</ul>
</div>
</div>
</div>
<!-- /PREPEND EXAMPLE -->
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="requestype">Your request <span style="color:red">*</span></label>
<div class="col-md-4">
<select onchange="yesnoCheck(this);" id="requestype" name="requestype" class="form-control">
<option value="Add system user">Add system user</option>
<option value="Install software">Install software</option>
<option value="Reqest a license">Reqest a license</option>
<option value="Install software">Install dualboot</option>
<option value="reimage">Reimage</option>
<option value="other">Somthing else</option>
</select>
</div>
</div>
<div id="ifYes" style="display: none;">
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="otherrequest">Other request <span style="color:red">*</span></label>
<div class="col-md-4">
<input id="otherrequest" name="otherrequest" type="text" placeholder="" class="form-control input-md">
</div>
</div>
</div>
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="location">Location <span style="color:red">*</span></label>
<div class="col-md-4">
<select id="location" name="location" class="form-control">
<option value="Arnhem">Arnhem</option>
<option value="Doetinchem">Doetinchem</option>
<option value="Nijmegen">Nijmegen</option>
</select>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="rusername">Your name <span style="color:red">*</span></label>
<div class="col-md-4">
<input id="rusername" name="rusername" type="text" placeholder="" class="form-control input-md" required="">
</div>
</div>
<!-- Textarea -->
<div class="form-group">
<label class="col-md-4 control-label" for="reason">Reason why you are making this request</label>
<div class="col-md-4">
<textarea class="form-control" id="reason" name="reason"></textarea>
</div>
</div>
<!-- Button -->
<div>
<div class="col-md-2">
<button id="submit" name="submit" class="btn btn-block btn-secondary my-4 mx-auto fuse-ripple-ready">Add</button>
</div>
</div>
<input id="requestype" name="backendreq" type="hidden" value="1">
</fieldset>
</form></center>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

304
backend/create-user.php Normal file
View File

@@ -0,0 +1,304 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
require_once "../assets/php/config.php";
$username = $password = $confirm_password = "";
$username_err = $password_err = $confirm_password_err = "";
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Validate username
if(empty(trim($_POST["username"]))){
$username_err = "Please enter a username.";
} else{
// Prepare a select statement
$sql = "SELECT id FROM users WHERE username = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "s", $param_username);
// Set parameters
$param_username = trim($_POST["username"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
/* store result */
mysqli_stmt_store_result($stmt);
if(mysqli_stmt_num_rows($stmt) == 1){
$username_err = "This username is already taken.";
} else{
$username = trim($_POST["username"]);
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Validate password
if(empty(trim($_POST["password"]))){
$password_err = "Please enter a password.";
} elseif(strlen(trim($_POST["password"])) < 6){
$password_err = "Password must have atleast 6 characters.";
} else{
$password = trim($_POST["password"]);
}
// Validate confirm password
if(empty(trim($_POST["confirm_password"]))){
$confirm_password_err = "Please confirm password.";
} else{
$confirm_password = trim($_POST["confirm_password"]);
if(empty($password_err) && ($password != $confirm_password)){
$confirm_password_err = "Password did not match.";
}
}
// Check input errors before inserting in database
if(empty($username_err) && empty($password_err) && empty($confirm_password_err)){
// Prepare an insert statement
$sql = "INSERT INTO users (username, password) VALUES (?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password);
// Set parameters
$param_username = $username;
$param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Redirect to login page
header("location: users.php");
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Create users</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Bootstrap Select -->
<script src="../assets/js/bootstrap-select.js" type="text/javascript"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- Custom JS -->
<script>
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
<!-- /Custom JS -->
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<a href="users.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Create a users</h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group col-md-4 col-md-4col-md-4<?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
<label class="control-label">Username</label>
<input type="text" name="username" class="form-control" value="<?php echo $username; ?>">
<span class="help-block"><?php echo $username_err; ?></span>
</div>
<div class="form-group col-md-4 col-md-4col-md-4<?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
<label class="control-label">Password</label>
<input type="password" name="password" class="form-control" value="<?php echo $password; ?>">
<span class="help-block"><?php echo $password_err; ?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>">
<label class="control-label">Confirm Password</label>
<input type="password" name="confirm_password" class="form-control" value="<?php echo $confirm_password; ?>">
<span class="help-block"><?php echo $confirm_password_err; ?></span>
</div>
<div class="form-group col-md-4">
<input type="submit" class="btn btn-secondary" value="Add">
</div>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,227 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Include config file
require_once "../assets/php/config.php";
// Prepare a delete statement
$sql = "DELETE FROM tickets_arch WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: archive.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_GET["id"]))){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php?error=tdne");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Delete ticket</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" class="formbackend" style="background:white; padding:20px;">
<a href="archive.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Delete ticket</h2>
</div>
<div class="del form-wrapper md-elevation-8 p-4">
<form class="del" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
<center><h4>Are you sure you want to delete this ticket?</h4></center><br>
<center>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="archive.php" class="btn btn-default">No</a>
</center>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

227
backend/delete-system.php Normal file
View File

@@ -0,0 +1,227 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Include config file
require_once "../assets/php/config.php";
// Prepare a delete statement
$sql = "DELETE FROM systems WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: systems.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_GET["id"]))){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php?error=sdne");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Delete system</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" class="formbackend" style="background:white; padding:20px;">
<a href="systems.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Delete System</h2>
</div>
<div class="del form-wrapper md-elevation-8 p-4">
<form class="del" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
<center><h4>Are you sure you want to delete this system?</h4></center><br>
<center>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="systems.php" class="btn btn-default">No</a>
</center>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

227
backend/delete-ticket.php Normal file
View File

@@ -0,0 +1,227 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Include config file
require_once "../assets/php/config.php";
// Prepare a delete statement
$sql = "DELETE FROM tickets WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: tickets.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_GET["id"]))){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php?error=tdne");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Delete ticket</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" class="formbackend" style="background:white; padding:20px;">
<a href="tickets.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Delete ticket</h2>
</div>
<div class="del form-wrapper md-elevation-8 p-4">
<form class="del" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
<center><h4>Are you sure you want to delete this ticket?</h4></center><br>
<center>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="tickets.php" class="btn btn-default">No</a>
</center>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

227
backend/delete-user.php Normal file
View File

@@ -0,0 +1,227 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Include config file
require_once "../assets/php/config.php";
// Prepare a delete statement
$sql = "DELETE FROM users WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: users.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_GET["id"]))){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Delete user</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" class="formbackend" style="background:white; padding:20px;">
<a href="users.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Delete user</h2>
</div>
<div class="del form-wrapper md-elevation-8 p-4">
<form class="del" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
<center><h4>Are you sure you want to delete this user?</h4></center><br>
<center>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="users.php" class="btn btn-default">No</a>
</center>
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

348
backend/edit-system.php Normal file
View File

@@ -0,0 +1,348 @@
<?php
// Include config file
require_once "../assets/php/config.php";
error_log("Loading Page", 0);
// Define variables and initialize with empty values
$sysID = $sysType = $location = $EthMac = $Winkey = "";
$sysID_err = $sysType_err = $location_err = $EthMac_err = $Winkey_err = "";
// Processing form data when form is submitted
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Get hidden input value
$id = $_POST["id"];
// Validate SysID
$input_sysID = trim($_POST["xsysID"]);
if(empty($input_sysID)){
$sysID_err = "Please enter the system ID";
}
else{
$sysID = $input_sysID;
}
// validate location
$input_location = trim($_POST["location"]);
if(empty($input_location)){
$location_err = "please enter a location";
} else{
$location = $input_location;
}
// validate location
$input_sysType = trim($_POST["System_type"]);
if(empty($input_sysType)){
$sysType_err = "please enter the type of system";
} else{
$sysType = $input_sysType;
}
$input_EthMac = trim($_POST["MAC_Adress"]);
if(empty($input_EthMac)){
$EthMac_err = "Please enter a MAC_Adress";
} else{
$EthMac = $input_EthMac;
}
$input_Winkey = trim($_POST["Win_Key"]);
if(empty($input_Winkey)){
$Winkey_err = "Please enter a Windows Key";
} else{
$Winkey = $input_Winkey;
}
// Check input errors before inserting in database
if(empty($sysID_err) && empty($location_err) && empty($requestype_err) && empty($request_by_err) && empty($reason_err)){
// Prepare an update statement
$sql = "UPDATE systems SET sysID=?,sysType=?,location=?,EthMac=?, WinKey=? WHERE id=?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "sssssi", $param_sysID, $param_systype, $param_location, $param_EthMac, $param_Winkey, $param_id);
// Set parameters
$param_sysID = $sysID;
$param_systype = $sysType;
$param_location = $location;
$param_EthMac = $EthMac;
$param_Winkey = $Winkey;
$param_id = $id;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records updated successfully. Redirect to landing page
header("location: systems.php");
exit();
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter before processing further
if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
// Get URL parameter
$id = trim($_GET["id"]);
// Prepare a select statement
$sql = "SELECT * FROM systems WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = $id;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$sysID = $row["sysID"];
$sysType = $row["sysType"];
$location = $row["location"];
$Winkey = $row["WinKey"];
$EthMac = $row["EthMac"];
$id = $row['id'];
} else{
// URL doesn't contain valid id. Redirect to error page
header("location: error.php");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Edit system #<?php echo $sysID; ?></title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Bootstrap Select -->
<script src="../assets/js/bootstrap-select.js" type="text/javascript"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- Custom JS -->
<script>
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
<!-- /Custom JS -->
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sIDnav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<a href="systems.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">system ID: <?php echo $sysID; ?></h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<form action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">
<div class="form-group col-md-4 col-md-4 <?php echo (!empty($sysID_err)) ? 'has-error' : ''; ?>">
<label>sysID</label>
<input type="text" name="xsysID" class="form-control" value="<?php echo $sysID; ?>">
<span class="help-block"><?php echo $sysID_err;?></span>
</div>
<div class="form-group col-md-4 col-md-4 <?php echo (!empty($sysType_err)) ? 'has-error' : ''; ?>">
<label>System Type</label>
<input type="text" name="System_type" class="form-control" value="<?php echo $sysType; ?>">
<span class="help-block"><?php echo $sysType_err;?></span>
</div>
<div class="form-group col-md-4 col-md-4 <?php echo (!empty($location_err)) ? 'has-error' : ''; ?>">
<label>location</label>
<input type="text" name="location" class="form-control" value="<?php echo $location; ?>">
<span class="help-block"><?php echo $location_err;?></span>
</div>
<div class="form-group col-md-4 col-md-4 <?php echo (!empty($EthMac_err)) ? 'has-error' : ''; ?>">
<label>MAC Adress</label>
<input type="text" name="MAC_Adress" class="form-control" value="<?php echo $EthMac; ?>">
<span class="help-block"><?php echo $EthMac_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($Winkey_err)) ? 'has-error' : ''; ?>">
<label>Windows Key</label>
<input type="text" name="Win_Key" class="form-control" value="<?php echo $Win_Key; ?>">
<span class="help-block"><?php echo $Winkey_err;?></span>
</div>
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<input type="submit" class="btn btn-secondary" value="Submit">
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

356
backend/edit-ticket.php Normal file
View File

@@ -0,0 +1,356 @@
<?php
// Include config file
require_once "../assets/php/config.php";
error_log("Loading Page", 0);
// Define variables and initialize with empty values
$sysID = $location = $requestype = $request_by = $remail = $reason = "";
$sysID_err = $location_err = $requestype_err = $request_by_err = $remail_err = $reason_err = "";
// Processing form data when form is submitted
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Get hidden input value
$id = $_POST["id"];
// Validate SysID
$input_sysID = trim($_POST["xsysID"]);
if(empty($input_sysID)){
$sysID_err = "Please enter the system ID";
}
else{
$sysID = $input_sysID;
}
// validate location
$input_location = trim($_POST["location"]);
if(empty($input_location)){
$location_err = "please enter a location";
} else{
$location = $input_location;
}
// validate location
$input_requestype = trim($_POST["requestype"]);
if(empty($input_requestype)){
$requestype_err = "pleae enter the type of request";
} else{
$requestype = $input_requestype;
}
$input_request_by = trim($_POST["request_by"]);
if(empty($input_request_by)){
$request_by_err = "Please enter a name.";
} elseif(!filter_var($input_request_by, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
$request_by_err = "Please enter a valid name.";
} else{
$request_by = $input_request_by;
}
$input_reason = trim($_POST["Reason"]);
$reason = $input_reason;
$input_remail = trim($_POST["remail"]);
$remail = $input_remail;
// Check input errors before inserting in database
if(empty($sysID_err) && empty($location_err) && empty($requestype_err) && empty($request_by_err)&& empty($remail_err) && empty($reason_err)){
// Prepare an update statement
$sql = "UPDATE tickets SET sysID=?,location=?,requestype=?,rusername=?, remail=?, reason=? WHERE id=?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ssssssi", $param_sysID, $param_location, $param_requestype, $param_requestby, $param_remail, $param_reason, $param_id);
// Set parameters
$param_sysID = $sysID;
$param_location = $location;
$param_requestype = $requestype;
$param_requestby = $request_by;
$param_remail = $remail;
$param_reason = $reason;
$param_id = $id;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records updated successfully. Redirect to landing page
header("location: tickets.php");
exit();
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter before processing further
if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
// Get URL parameter
$id = trim($_GET["id"]);
// Prepare a select statement
$sql = "SELECT * FROM tickets WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = $id;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$sysID = $row["sysID"];
$location = $row["location"];
$requestype = $row["requestype"];
$request_by = $row["rusername"];
$remail = $row["remail"];
$reason = $row["reason"];
$id = $row['id'];
} else{
// URL doesn't contain valid id. Redirect to error page
header("location: error.php");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Edit ticket #<?php echo $id; ?></title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Bootstrap Select -->
<script src="../assets/js/bootstrap-select.js" type="text/javascript"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- Custom JS -->
<script>
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
<!-- /Custom JS -->
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sIDnav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<a href="tickets.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-arrow-left"></i></a>
<h2 class="pull-right">Ticket ID: <?php echo $id; ?></h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<form action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">
<div class="form-group col-md-4 <?php echo (!empty($sysID_err)) ? 'has-error' : ''; ?>">
<label>sysID</label>
<input type="text" name="xsysID" class="form-control" value="<?php echo $sysID; ?>">
<span class="help-block"><?php echo $sysID_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($location_err)) ? 'has-error' : ''; ?>">
<label>location</label>
<input type="text" name="location" class="form-control" value="<?php echo $location; ?>">
<span class="help-block"><?php echo $location_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($requestype_err)) ? 'has-error' : ''; ?>">
<label>requestype</label>
<input type="text" name="requestype" class="form-control" value="<?php echo $requestype; ?>">
<span class="help-block"><?php echo $requestype_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($request_by_err)) ? 'has-error' : ''; ?>">
<label>request by </label>
<input type="text" name="request_by" class="form-control" value="<?php echo $request_by; ?>">
<span class="help-block"><?php echo $request_by_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($remail_err)) ? 'has-error' : ''; ?>">
<label>Email </label>
<input type="text" name="remail" class="form-control" value="<?php echo $remail; ?>">
<span class="help-block"><?php echo $remail_err;?></span>
</div>
<div class="form-group col-md-4 <?php echo (!empty($reason_err)) ? 'has-error' : ''; ?>">
<label>Reason</label>
<textarea type="text" name="Reason" class="form-control"><?php echo $reason; ?></textarea>
<span class="help-block"><?php echo $reason_err;?></span>
</div>
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<input type="submit" class="btn btn-secondary" value="Submit">
</form>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

190
backend/error.php Normal file
View File

@@ -0,0 +1,190 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div style="padding: 30px;" class="page-content">
<?php
if(!isset($_GET["error"])){
echo "<h1 class='errorpage'><center>Somting went wrong</center></h1>";
}
if($_REQUEST['error'] == 'sdne') {
echo "<h1 class='errorpage'><center>Sorry, but this system does not exist</center></h1>";
}
if($_REQUEST['error'] == 'tdne') {
echo "<h1 class='errorpage'><center>Sorry, but this ticket does not exist</center></h1>";
}
if($_REQUEST['error'] == 'udne') {
echo "<h1 class='errorpage'><center>Sorry, but this user does not exist</center></h1>";
}
?>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

3
backend/index.php Normal file
View File

@@ -0,0 +1,3 @@
<?php
header("location: login.php");
?>

198
backend/login.php Normal file
View File

@@ -0,0 +1,198 @@
<?php
// Initialize the session
session_start();
// Check if the user is already logged in, if yes then redirect him to welcome page
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
header("location:tickets.php");
exit;
}
// Include config file
require_once "../assets/php/config.php";
// Define variables and initialize with empty values
$username = $password = "";
$username_err = $password_err = "";
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Check if username is empty
if(empty(trim($_POST["username"]))){
$username_err = "Please enter username.";
} else{
$username = trim($_POST["username"]);
}
// Check if password is empty
if(empty(trim($_POST["password"]))){
$password_err = "Please enter your password.";
} else{
$password = trim($_POST["password"]);
}
// Validate credentials
if(empty($username_err) && empty($password_err)){
// Prepare a select statement
$sql = "SELECT id, username, password FROM users WHERE username = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "s", $param_username);
// Set parameters
$param_username = $username;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Store result
mysqli_stmt_store_result($stmt);
// Check if username exists, if yes then verify password
if(mysqli_stmt_num_rows($stmt) == 1){
// Bind result variables
mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
if(mysqli_stmt_fetch($stmt)){
if(password_verify($password, $hashed_password)){
// Password is correct, so start a new session
session_start();
// Store data in session variables
$_SESSION["loggedin"] = true;
$_SESSION["id"] = $id;
$_SESSION["username"] = $username;
// Redirect user to welcome page
header("location: tickets.php");
} else{
// Display an error message if password is not valid
$password_err = "The password you entered was not valid.";
}
}
} else{
// Display an error message if username doesn't exist
$username_err = "No account found with that username.";
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>SYSDesk - Login</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="no-gutters align-items-center flex-nowrap">
<p class="texttoolbar row align-items-center no-gutters px-2 px-sm-4" id="texttoolbar">SYSDesk</p>
</div>
<div class="col">
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="../index.html" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Return</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div id="login" class="p-8">
<div class="form-wrapper md-elevation-8 p-8">
<div class="logo bg-secondary icon-desktop-mac">
</div>
<div class="title mt-4">Log in to your account</div>
<form name="loginForm" novalidate action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group mb-4">
<label for="loginFormInputEmail">Username</label>
<input type="email" class="form-control" id="loginFormInputEmail" aria-describedby="emailHelp" value="<?php echo $username; ?>" name="username"/>
<span><?php echo $username_err; ?></span>
</div>
<div class="form-group mb-4" <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>>
<label for="loginFormInputPassword">Password</label>
<input type="password" class="form-control" id="loginFormInputPassword" placeholder=" " name="password"/>
<span><?php echo $password_err; ?></span>
</div>
<button type="submit" class="submit-button btn btn-block btn-secondary my-4 mx-auto" aria-label="LOG IN">
LOG IN
</button>
<!-- <a href="reset-password.php">Reset Password </a> -->
</form>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

14
backend/logout.php Normal file
View File

@@ -0,0 +1,14 @@
<?php
// Initialize the session
session_start();
// Unset all of the session variables
$_SESSION = array();
// Destroy the session.
session_destroy();
// Redirect to login page
header("location: ../");
exit;
?>

View File

@@ -0,0 +1,3 @@
<?php
header("location: error.php");
?>

174
backend/reset-password.php Normal file
View File

@@ -0,0 +1,174 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Include config file
require_once "../assets/php/config.php";
// Define variables and initialize with empty values
$new_password = $confirm_password = "";
$new_password_err = $confirm_password_err = "";
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Validate new password
if(empty(trim($_POST["new_password"]))){
$new_password_err = "Please enter the new password.";
} elseif(strlen(trim($_POST["new_password"])) < 6){
$new_password_err = "Password must have atleast 6 characters.";
} else{
$new_password = trim($_POST["new_password"]);
}
// Validate confirm password
if(empty(trim($_POST["confirm_password"]))){
$confirm_password_err = "Please confirm the password.";
} else{
$confirm_password = trim($_POST["confirm_password"]);
if(empty($new_password_err) && ($new_password != $confirm_password)){
$confirm_password_err = "Password did not match.";
}
}
// Check input errors before updating the database
if(empty($new_password_err) && empty($confirm_password_err)){
// Prepare an update statement
$sql = "UPDATE users SET password = ? WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "si", $param_password, $param_id);
// Set parameters
$param_password = password_hash($new_password, PASSWORD_DEFAULT);
$param_id = $_SESSION["id"];
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Password updated successfully. Destroy the session, and redirect to login page
session_destroy();
header("location: login.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>SYSDesk - Reset password</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="no-gutters align-items-center flex-nowrap">
<p class="texttoolbar login row align-items-center no-gutters px-2 px-sm-4" style="padding-top: 15%;" id="texttoolbar">SYSDesk</p>
</div>
<div class="col">
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div id="login" class="p-8">
<div class="form-wrapper md-elevation-8 p-8">
<div class="logo bg-secondary icon-desktop-mac">
</div>
<div class="title mt-4">Reset your password</div>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group <?php echo (!empty($new_password_err)) ? 'has-error' : ''; ?>">
<label>New Password</label>
<input type="password" name="new_password" class="form-control" value="<?php echo $new_password; ?>">
<span class="help-block"><?php echo $new_password_err; ?></span>
</div>
<div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>">
<label>Confirm Password</label>
<input type="password" name="confirm_password" class="form-control">
<span class="help-block"><?php echo $confirm_password_err; ?></span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-secondary" value="Submit">
<a class="btn btn-link" href="login.php">Cancel</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

242
backend/systems.php Normal file
View File

@@ -0,0 +1,242 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Include PHP Cutext
require_once "../assets/php/cuttext.php";
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Systems</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js">
</script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js">
</script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="padding:20px;">
<a href="create-system.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-plus"></i></a>
<h2 class="pull-right">Systems</h2>
</div>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="systems col-md-12">
<?php
// Include config file
require_once "../assets/php/config.php";
// Attempt select query execution
$sql = "SELECT * FROM systems";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>#</th>";
echo "<th>sysID</th>";
echo "<th>System type</th>";
echo "<th>Location</th>";
echo "<th>ServiceTag</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['sysID'] . "</td>";
echo "<td>" . $row['sysType'] . "</td>";
echo "<td>" . $row['location'] . "</td>";
echo "<td>" . $row['ServiceTag'] . "</td>";
echo "<td>";
echo "<a class='crud' href='view-system.php?sysID=". $row['sysID'] ."' title='View Record' data-toggle='tooltip'><span class='icons icon-eye'></span></a>";
echo "<a class='crud' href='edit-system.php?id=". $row['id'] ."' title='Edit Record' data-toggle='tooltip'><span class='icons icon-pencil'></span></a>";
echo "<a class='crud' href='delete-system.php?id=". $row['id'] ."' title='Delete Record' data-toggle='tooltip'><span class='icons icon-trash'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No records were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

247
backend/tickets.php Normal file
View File

@@ -0,0 +1,247 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Include PHP Cutext
require_once "../assets/php/cuttext.php";
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Tickets</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="padding:20px;">
<div class="toolbar crud pull-left">
<a data-toggle='tooltip' data-original-title='Add Ticket' href="create-ticket.php" class="btn btn-secondary btn-fab"><i class="icon-plus"></i></a>
<?php
echo "<a data-toggle='tooltip' data-original-title='Open Archive' class='btn btn-success btn-fab' href='archive.php'><span class='icons icon-archive'></span></a>";
?>
</div>
<h2 class="pull-right">Tickets</h2>
</div>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<?php
// Include config file
require_once "../assets/php/config.php";
// Attempt select query execution
$sql = "SELECT * FROM tickets";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>#</th>";
echo "<th>sysID</th>";
echo "<th>Location</th>";
echo "<th>Request Type</th>";
echo "<th>Request by</th>";
echo "<th>Reason</th>";
echo "<th>Date/Time</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td><a class='sysIDticket' href='view-system.php?sysID=". $row['sysID'] ."' title='View system' data-toggle='tooltip'>" . $row['sysID'] . "</a></td>";
echo "<td>" . $row['location'] . "</td>";
echo "<td>" . $row['requestype'] . "</td>";
echo "<td>" . $row['rusername'] . "</td>";
echo "<td>" . cutText($row['reason'], 50)."</td>";
echo "<td>" . $row['time'] . "</td>";
echo "<td>";
echo "<a class='crud' href='view-ticket.php?id=". $row['id'] ."' title='View ticket' data-toggle='tooltip'><span class='icons icon-eye'></span></a>";
echo "<a class='crud' href='archive-ticket.php?id=". $row['id'] ."' title='Archive ticket' data-toggle='tooltip'><span class='icons icon-archive'></span></a>";
echo "<a class='crud' href='edit-ticket.php?id=". $row['id'] ."' title='Edit ticket' data-toggle='tooltip'><span class='icons icon-pencil'></span></a>";
echo "<a class='crud' href='delete-ticket.php?id=". $row['id'] ."' title='Delete ticket' data-toggle='tooltip'><span class='icons icon-trash'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No tickets were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

229
backend/users.php Normal file
View File

@@ -0,0 +1,229 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Include PHP Cutext
require_once "../assets/php/cuttext.php";
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Users</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="padding:20px;">
<a href="create-user.php" class="btn btn-secondary btn-fab pull-left"><i class="icon-plus"></i></a>
<h2 class="pull-right">Users</h2>
</div>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="users col-md-12">
<?php
// Include config file
require_once "../assets/php/config.php";
// Attempt select query execution
$sql = "SELECT * FROM users";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>#</th>";
echo "<th>User name</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['username'] . "</td>";
echo "<td>";
echo "<a class='crud' href='delete-user.php?id=". $row['id'] ."' title='Delete user' data-toggle='tooltip'><span class='icons icon-trash'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No records were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,265 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Check existence of id parameter before processing further
if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
// Include config file
require_once "../assets/php/config.php";
// Prepare a select statement
$sql = "SELECT * FROM tickets_arch WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_GET["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$sysID = $row["sysID"];
} else{
// URL doesn't contain valid id parameter. Redirect to error page
header("location: error.php?error=tdne");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Ticket #<?php echo $row["id"]; ?></title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<div class="toolbar crud pull-left">
<a href="archive.php" title='Back' data-toggle='tooltip' class="btn btn-secondary btn-fab"><i class="icon-arrow-left"></i></a>
<?php
echo "<a title='Delete ticket' data-toggle='tooltip' class='btn btn-danger btn-fab' href='delete-achivedticket.php?id=". $row['id'] ."'><span class='icons icon-trash'></span></a>";
?>
</div>
<h2 class="pull-right">Ticket ID: <?php echo $row["id"]; ?></h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="viewer form-group">
<label class="crud">SystemID</label>
<?php echo "<a class='sysIDticket' href='view-system.php?sysID=". $row['sysID'] ."' title='View system' data-toggle='tooltip'>" . $row['sysID'] . "</a>";?>
</div>
<div class="viewer form-group">
<label class="crud">Location</label>
<p class="form-control-static"><?php echo $row["location"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Request type</label>
<p class="form-control-static"><?php echo $row["requestype"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">User name</label>
<p class="form-control-static"><?php echo $row["rusername"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">User E-mail</label>
<p class="form-control-static"><?php echo $row["remail"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Reason/Description of request</label>
<p class="form-control-static"><?php echo $row["reason"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Date/Time </label>
<p class="form-control-static"><?php echo $row["time"]; ?></p>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

407
backend/view-system.php Normal file
View File

@@ -0,0 +1,407 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Check existence of id parameter before processing further
if(isset($_GET["sysID"]) && !empty(trim($_GET["sysID"]))){
// Include config file
require_once "../assets/php/config.php";
require_once "../assets/php/cuttext.php";
$idGET = $_GET["sysID"];
// Prepare a select statement
$sql = "SELECT * FROM `systems` WHERE `sysID` = '$idGET'";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_GET["sysID"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$sysID = $row["sysID"];
} else{
// URL doesn't contain valid id parameter. Redirect to error page
header("location: error.php?error=sdne");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php?error=sdne");
exit();
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - System #<?php echo $row["sysID"]; ?></title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js">
</script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js">
</script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<div class="toolbar crud pull-left">
<a href="systems.php" class="btn btn-secondary btn-fab"><i class="icon-arrow-left"></i></a>
<?php
echo "<a class=' btn btn-warning btn-fab' href='edit-system.php?id=". $row['id'] ."'><span class='icons icon-pencil'></span></a>";
echo "<span> </span>";
echo "<a class='btn btn-danger btn-fab' href='delete-system.php?id=". $row['id'] ."'><span class='icons icon-trash'></span></a>";
?>
</div>
<h2 class="pull-right">System ID: <?php echo $row["sysID"]; ?></h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<div class="pagebackend">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<nav>
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<a class="backend nav-item nav-link active" id="nav-sysinfo-tab" data-toggle="tab" href="#nav-sysinfo" role="tab" aria-controls="nav-sysinfo" aria-selected="true">System
information</a>
<a class="backend nav-item nav-link" id="nav-tickets-tab" data-toggle="tab" href="#nav-tickets" role="tab" aria-controls="nav-tickets" aria-selected="false">Tickets</a>
</div>
</nav>
<div class="tabbackend tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-sysinfo" role="tabpanel" aria-labelledby="nav-sysinfo-tab">
<div class="viewer form-group">
<label class="crud">System Type</label>
<p class="form-control-static">
<?php echo $row["sysType"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Service tag / Serial Number</label>
<p class="form-control-static">
<?php echo $row["ServiceTag"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Location</label>
<p class="form-control-static">
<?php echo $row["location"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Mac addres</label>
<p class="form-control-static">
<?php echo $row["EthMac"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Windows License</label>
<p class="form-control-static">
<?php echo $row["WinKey"]; ?></p>
</div>
</div>
<div class="tab-pane fade" id="nav-tickets" role="tabpanel" aria-labelledby="nav-tickets-tab">
<div id="accordion" role="tablist">
<div class="card">
<div class="card-header" role="tab" id="headingOne">
<center>
<h5 class="mb-0">
<a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Open tickets
</a>
</h5>
</center>
</div>
<div id="collapseOne" class="collapse" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-block custom-scrollbar">
<?php
// Attempt select query execution
$sql1 = "SELECT * FROM tickets WHERE `sysID` = '$idGET'";
if($result1 = mysqli_query($link, $sql1)){
if(mysqli_num_rows($result1) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>Ticket ID</th>";
echo "<th>Location</th>";
echo "<th>Request Type</th>";
echo "<th>Request by</th>";
echo "<th>Reason</th>";
echo "<th>Date/Time</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row1 = mysqli_fetch_array($result1)){
echo "<tr>";
echo "<td><a class='sysIDticket' href='view-ticket.php?id=". $row1['id'] ."' title='View ticket' data-toggle='tooltip'>" . $row1['id'] . "</a></td>";
echo "<td>" . $row1['location'] . "</td>";
echo "<td>" . $row1['requestype'] . "</td>";
echo "<td>" . $row1['rusername'] . "</td>";
echo "<td>" . cutText($row1['reason'], 50)."</td>";
echo "<td>" . $row1['time'] . "</td>";
echo "<td>";
echo "<a class='crud' href='view-ticket.php?id=". $row1['id'] ."' title='View ticket' data-toggle='tooltip'><span class='icons icon-eye'></span></a>";
echo "<a class='crud' href='archive-ticket.php?id=". $row1['id'] ."' title='Archive ticket' data-toggle='tooltip'><span class='icons icon-archive'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result1);
} else{
echo "<p class='lead'><em>No tickets were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql1. " . mysqli_error($link);
}
?>
</div>
</div>
</div>
<div class="card">
<div class="card-header" role="tab" id="headingTwo">
<center>
<h5 class="mb-0">
<a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Archived tickets
</a>
</h5>
</center>
</div>
<div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-block custom-scrollbar">
<?php
// Attempt select query execution
$sql2 = "SELECT * FROM tickets_arch WHERE `sysID` = '$idGET'";
if($result2 = mysqli_query($link, $sql2)){
if(mysqli_num_rows($result2) > 0){
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th>Ticket ID</th>";
echo "<th>Location</th>";
echo "<th>Request Type</th>";
echo "<th>Request by</th>";
echo "<th>Reason</th>";
echo "<th>Date/Time</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row2 = mysqli_fetch_array($result2)){
echo "<tr>";
echo "<td><a class='sysIDticket' href='view-achivedticket.php?id=". $row2['id'] ."' title='View ticket' data-toggle='tooltip'>" . $row2['id'] . "</a></td>";
echo "<td>" . $row2['location'] . "</td>";
echo "<td>" . $row2['requestype'] . "</td>";
echo "<td>" . $row2['rusername'] . "</td>";
echo "<td>" . cutText($row2['reason'], 50)."</td>";
echo "<td>" . $row2['time'] . "</td>";
echo "<td>";
echo "<a class='crud' href='view-achivedticket.php?id=". $row2['id'] ."' title='View ticket' data-toggle='tooltip'><span class='icons icon-eye'></span></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result2);
} else{
echo "<p class='lead'><em>No tickets were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql2. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>

271
backend/view-ticket.php Normal file
View File

@@ -0,0 +1,271 @@
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
// Check existence of id parameter before processing further
if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
// Include config file
require_once "../assets/php/config.php";
// Prepare a select statement
$sql = "SELECT * FROM tickets WHERE id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_GET["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$sysID = $row["sysID"];
} else{
// URL doesn't contain valid id parameter. Redirect to error page
header("location: error.php?error=tdne");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>SYSDesk - Ticket #<?php echo $row["id"]; ?></title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900,900italic" rel="stylesheet">
<!-- STYLESHEETS -->
<style type="text/css">
[fuse-cloak],
.fuse-cloak {
display: none !important;
}
</style>
<!-- Icons.css -->
<link type="text/css" rel="stylesheet" href="../assets/icons/fuse-icon-font/style.css">
<!-- Animate.css -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/animate.css/animate.min.css">
<!-- Perfect Scrollbar -->
<link type="text/css" rel="stylesheet" href="../assets/node_modules/perfect-scrollbar/css/perfect-scrollbar.css" />
<!-- Fuse Html -->
<link type="text/css" rel="stylesheet" href="../assets/fuse-html/fuse-html.min.css" />
<!-- Main CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/main.css">
<!-- Custom CSS -->
<link type="text/css" rel="stylesheet" href="../assets/css/custom.css">
<!-- / STYLESHEETS -->
<!-- JAVASCRIPT -->
<!-- jQuery -->
<script type="text/javascript" src="../assets/node_modules/jquery/dist/jquery.min.js"></script>
<!-- Mobile Detect -->
<script type="text/javascript" src="../assets/node_modules/mobile-detect/mobile-detect.min.js"></script>
<!-- Perfect Scrollbar -->
<script type="text/javascript" src="../assets/node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js"></script>
<!-- Popper.js -->
<script type="text/javascript" src="../assets/node_modules/popper.js/dist/umd/popper.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="../assets/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Data tables -->
<script type="text/javascript" src="../assets/node_modules/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../assets/node_modules/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Fuse Html -->
<script type="text/javascript" src="../assets/fuse-html/fuse-html.min.js"></script>
<!-- Main JS -->
<script type="text/javascript" src="../assets/js/main.js"></script>
<!-- / JAVASCRIPT -->
</head>
<body class="layout layout-vertical layout-left-navigation layout-below-toolbar layout-below-footer">
<main>
<div id="wrapper">
<aside id="aside" class="aside aside-left" data-fuse-bar="aside" data-fuse-bar-media-step="md" data-fuse-bar-position="left">
<div class="aside-content bg-primary-700 text-auto">
<div class="aside-toolbar">
<div class="logo">
<span class="logo-icon icon-desktop-mac"></span>
<p class="logo-text texttoolbar">SYSDesk</p>
</div>
<button id="toggle-fold-aside-button" type="button" class="btn btn-icon d-none d-lg-block" data-fuse-aside-toggle-fold>
<i class="icon icon-backburger"></i>
</button>
</div>
<ul class="nav flex-column custom-scrollbar" id="sidenav" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="systems.php" data-url="index.html">
<i class="icon s-4 icon-desktop-tower"></i>
<span>Systems</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple" href="tickets.php">
<i class="icon s-4 icon-message-bulleted"></i>
<span>Tickets</span>
</a>
</li>
<li class="nav-item" role="tab" id="heading-ecommerce">
<a class="nav-link ripple with-arrow collapsed" data-toggle="collapse" data-target="#collapse-ecommerce" href="#" aria-expanded="false" aria-controls="collapse-ecommerce">
<i class="icon s-4 icon-settings"></i>
<span>Settings</span>
</a>
<ul id="collapse-ecommerce" class='collapse ' role="tabpanel" aria-labelledby="heading-ecommerce" data-children=".nav-item">
<li class="nav-item">
<a class="nav-link ripple " href="users.php" data-url="index.html">
<span>Users</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="reset-password.php">
<span>Reset Password</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link ripple " href="other-settings.php" data-url="index.html">
<span>Other settings</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</aside>
<div class="content-wrapper">
<nav id="toolbar" class="bg-white">
<div class="row no-gutters align-items-center flex-nowrap">
<div class="col">
<div class="row no-gutters align-items-center flex-nowrap">
<button type="button" class="toggle-aside-button btn btn-icon d-block d-lg-none fuse-ripple-ready" data-fuse-bar-toggle="aside">
<i class="icon icon-menu"></i>
</button>
<div class="toolbar-separator d-block d-lg-none"></div>
</div>
</div>
<div class="col-auto">
<div class="row no-gutters align-items-center justify-content-end">
<a href="logout.php" class="logintoolbar ripple icon row align-items-center no-gutters px-2 px-sm-4" role="button" id="logintoolbar" aria-haspopup="true" aria-expanded="false">Logout</a>
</div>
</div>
</div>
</nav>
<div class="content custom-scrollbar">
<div class="page-layout simple full-width">
<div class="page-content-wrapper custom-scrollbar">
<!-- CONTENT -->
<div class="clearfix" style="background:white; padding:20px;">
<div class="toolbar crud pull-left">
<a href="tickets.php" title='Back' data-toggle='tooltip' class="btn btn-secondary btn-fab"><i class="icon-arrow-left"></i></a>
<?php
echo "<a title='Archive ticket' data-toggle='tooltip' class='btn btn-success btn-fab' href='archive-ticket.php?id=". $row['id'] ."'><span class='icons icon-archive'></span></a>";
echo "<span> </span>";
echo "<a title='Edit ticket' data-toggle='tooltip' class=' btn btn-warning btn-fab' href='edit-ticket.php?id=". $row['id'] ."'><span class='icons icon-pencil'></span></a>";
echo "<span> </span>";
echo "<a title='Delete ticket' data-toggle='tooltip' class='btn btn-danger btn-fab' href='delete-ticket.php?id=". $row['id'] ."'><span class='icons icon-trash'></span></a>";
?>
</div>
<h2 class="pull-right">Ticket ID: <?php echo $row["id"]; ?></h2>
</div>
<div class="form-wrapper md-elevation-8 p-4">
<div>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="viewer form-group">
<label class="crud">SystemID</label>
<?php echo "<a class='sysIDticket' href='view-system.php?sysID=". $row['sysID'] ."' title='View system' data-toggle='tooltip'>" . $row['sysID'] . "</a>";?>
</div>
<div class="viewer form-group">
<label class="crud">Location</label>
<p class="form-control-static"><?php echo $row["location"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Request type</label>
<p class="form-control-static"><?php echo $row["requestype"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">User name</label>
<p class="form-control-static"><?php echo $row["rusername"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">User E-mail</label>
<p class="form-control-static"><?php echo $row["remail"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Reason/Description of request</label>
<p class="form-control-static"><?php echo $row["reason"]; ?></p>
</div>
<div class="viewer form-group">
<label class="crud">Date/Time </label>
<p class="form-control-static"><?php echo $row["time"]; ?></p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- / CONTENT -->
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>