941 lines
36 KiB
PHP
941 lines
36 KiB
PHP
<?php
|
|
include "../functions.php";
|
|
|
|
$_SESSION["url"] = $_SERVER['REQUEST_URI'];
|
|
if ($_SESSION["userId"] <> "") {
|
|
$_SESSION["isLoggedIn"] = true;
|
|
//$customer_data = getCustomerbyLoginId($_SESSION["userId"]);
|
|
} else {
|
|
$_SESSION["isLoggedIn"] = false;
|
|
header("location: login.php");
|
|
exit();
|
|
}
|
|
if($_SESSION["user_type"]!="admin"){
|
|
header("location: login.php?alert=Only admins allowed here!");
|
|
}
|
|
$users = getUsers();
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr">
|
|
|
|
<head>
|
|
<style>
|
|
.pagination {
|
|
display: flex;
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
justify-content: center;
|
|
}
|
|
|
|
.pagination a {
|
|
color: #333;
|
|
text-decoration: none;
|
|
padding: 5px 10px;
|
|
border: 1px solid #ccc;
|
|
margin: 0 5px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.pagination a.active {
|
|
background-color: #007bff;
|
|
color: #fff;
|
|
}
|
|
</style>
|
|
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="description" content="Ekka - Admin Dashboard HTML Template.">
|
|
|
|
<title>Ekka - Admin Dashboard HTML Template.</title>
|
|
|
|
<!-- GOOGLE FONTS -->
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800;900&family=Roboto:wght@400;500;700;900&display=swap" rel="stylesheet">
|
|
|
|
<link href="https://cdn.materialdesignicons.com/4.4.95/css/materialdesignicons.min.css" rel="stylesheet" />
|
|
|
|
<!-- PLUGINS CSS STYLE -->
|
|
<link href="assets/plugins/simplebar/simplebar.css" rel="stylesheet" />
|
|
|
|
<!-- No Extra plugin used -->
|
|
|
|
<!-- ekka CSS -->
|
|
<link id="ekka-css" rel="stylesheet" href="assets/css/ekka.css" />
|
|
|
|
<!-- FAVICON -->
|
|
<link href="assets/img/favicon.png" rel="shortcut icon" />
|
|
</head>
|
|
|
|
<body class="ec-header-fixed ec-sidebar-fixed ec-sidebar-dark ec-header-light" id="body">
|
|
|
|
<!-- WRAPPER -->
|
|
<div class="wrapper">
|
|
|
|
<!-- LEFT MAIN SIDEBAR -->
|
|
<?php include 'left-main-sidebar.php' ?>
|
|
|
|
<!-- PAGE WRAPPER -->
|
|
<div class="ec-page-wrapper">
|
|
|
|
<!-- Header -->
|
|
<header class="ec-main-header" id="header">
|
|
<nav class="navbar navbar-static-top navbar-expand-lg">
|
|
<!-- Sidebar toggle button -->
|
|
<button id="sidebar-toggler" class="sidebar-toggle"></button>
|
|
<!-- search form -->
|
|
<div class="search-form d-lg-inline-block">
|
|
<div class="input-group">
|
|
<input type="text" name="query" id="search-input" class="form-control" placeholder="search.." autofocus autocomplete="off" />
|
|
<button type="button" name="search" id="search-btn" class="btn btn-flat">
|
|
<i class="mdi mdi-magnify"></i>
|
|
</button>
|
|
</div>
|
|
<div id="search-results-container">
|
|
<ul id="search-results"></ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- navbar right -->
|
|
<div class="navbar-right">
|
|
<ul class="nav navbar-nav">
|
|
<!-- User Account -->
|
|
<li class="dropdown user-menu">
|
|
<button class="dropdown-toggle nav-link ec-drop" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<img src="assets/img/user/user.png" class="user-image" alt="User Image" />
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-right ec-dropdown-menu">
|
|
<!-- User image -->
|
|
<li class="dropdown-header">
|
|
<img src="assets/img/user/user.png" class="img-circle" alt="User Image" />
|
|
<div class="d-inline-block">
|
|
John Deo <small class="pt-1">john.example@gmail.com</small>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<a href="user-profile.html">
|
|
<i class="mdi mdi-account"></i> My Profile
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-email"></i> Message
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#"> <i class="mdi mdi-diamond-stone"></i> Projects </a>
|
|
</li>
|
|
<li class="right-sidebar-in">
|
|
<a href="javascript:0"> <i class="mdi mdi-settings-outline"></i> Setting </a>
|
|
</li>
|
|
<li class="dropdown-footer">
|
|
<a href="index.php"> <i class="mdi mdi-logout"></i> Log Out </a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="dropdown notifications-menu custom-dropdown">
|
|
<button class="dropdown-toggle notify-toggler custom-dropdown-toggler">
|
|
<i class="mdi mdi-bell-outline"></i>
|
|
</button>
|
|
|
|
<div class="card card-default dropdown-notify dropdown-menu-right mb-0">
|
|
<div class="card-header card-header-border-bottom px-3">
|
|
<h2>Notifications</h2>
|
|
</div>
|
|
|
|
<div class="card-body px-0 py-0">
|
|
<ul class="nav nav-tabs nav-style-border p-0 justify-content-between" id="myTab" role="tablist">
|
|
<li class="nav-item mx-3 my-0 py-0">
|
|
<a href="#" class="nav-link active pb-3" id="home2-tab" data-bs-toggle="tab" data-bs-target="#home2" role="tab" aria-controls="home2" aria-selected="true">All (10)</a>
|
|
</li>
|
|
|
|
<li class="nav-item mx-3 my-0 py-0">
|
|
<a href="#" class="nav-link pb-3" id="profile2-tab" data-bs-toggle="tab" data-bs-target="#profile2" role="tab" aria-controls="profile2" aria-selected="false">Msgs (5)</a>
|
|
</li>
|
|
|
|
<li class="nav-item mx-3 my-0 py-0">
|
|
<a href="#" class="nav-link pb-3" id="contact2-tab" data-bs-toggle="tab" data-bs-target="#contact2" role="tab" aria-controls="contact2" aria-selected="false">Others (5)</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="tab-content" id="myTabContent3">
|
|
<div class="tab-pane fade show active" id="home2" role="tabpanel">
|
|
<ul class="list-unstyled" data-simplebar style="height: 360px">
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u2.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Nitin</h4>
|
|
<p class="last-msg">Lorem ipsum dolor sit, amet
|
|
consectetur adipisicing elit. Nam itaque
|
|
doloremque odio, eligendi delectus vitae.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 30 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification media-active">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u1.jpg" alt="Image">
|
|
<span class="status active"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Lovina</h4>
|
|
<p class="last-msg">Donec mattis augue a nisl
|
|
consequat, nec imperdiet ex rutrum. Fusce et
|
|
vehicula enim. Sed in enim eu odio vehic.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-white">
|
|
<i class="mdi mdi-clock-outline"></i> Just
|
|
now...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u5.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Crinali</h4>
|
|
<p class="last-msg">Lorem ipsum dolor sit, amet
|
|
consectetur adipisicing elit. Nam itaque
|
|
doloremque odio, eligendi delectus vitae.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification event-active">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-info text-white">
|
|
<i class="mdi mdi-calendar-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Upcomming event added</h4>
|
|
<p class="last-msg font-size-14">03/Jan/2020 (1pm -
|
|
2pm)</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 10 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-warning text-white">
|
|
<i class="mdi mdi-chart-areaspline font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Yearly Sales report</h4>
|
|
<p class="last-msg font-size-14">Lorem ipsum dolor
|
|
sit, amet consectetur adipisicing elit. Nam
|
|
itaque doloremque odio, eligendi delectus vitae.
|
|
</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-primary text-white">
|
|
<i class="mdi mdi-account-multiple-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">New request</h4>
|
|
<p class="last-msg font-size-14">Add Dany Jones as
|
|
your contact consequat nec imperdiet ex rutrum.
|
|
Fusce et vehicula enim. Sed in enim.</p>
|
|
|
|
<span class="my-1 btn btn-sm btn-success">Accept</span>
|
|
<span class="my-1 btn btn-sm btn-secondary">Delete</span>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary d-block">
|
|
<i class="mdi mdi-clock-outline"></i> 5 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-danger text-white">
|
|
<i class="mdi mdi-server-network-off font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Server overloaded</h4>
|
|
<p class="last-msg font-size-14">Donec mattis augue
|
|
a nisl consequat, nec imperdiet ex rutrum. Fusce
|
|
et vehicula enim. Sed in enim eu odio vehic.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 30 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-purple text-white">
|
|
<i class="mdi mdi-playlist-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Task complete</h4>
|
|
<p class="last-msg font-size-14">Nam ut nisi erat.
|
|
Ut quis tortor varius, hendrerit arcu quis,
|
|
congue nisl. In scelerisque, sem ut ve.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 2 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="tab-pane fade" id="profile2" role="tabpanel">
|
|
<ul class="list-unstyled" data-simplebar style="height: 360px">
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u6.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Hardiko</h4>
|
|
<p class="last-msg">Donec mattis augue a nisl
|
|
consequat, nec imperdiet ex rutrum. Fusce et
|
|
vehicula enim. Sed in enim eu odio vehic.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u7.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Browin</h4>
|
|
<p class="last-msg">Nam ut nisi erat. Ut quis tortor
|
|
varius, hendrerit arcu quis, congue nisl. In
|
|
scelerisque, sem ut ve.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification media-active">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u1.jpg" alt="Image">
|
|
<span class="status active"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">jenelia</h4>
|
|
<p class="last-msg">Donec mattis augue a nisl
|
|
consequat, nec imperdiet ex rutrum. Fusce et
|
|
vehicula enim. Sed in enim eu odio vehic.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-white">
|
|
<i class="mdi mdi-clock-outline"></i> Just
|
|
now...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u2.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Bhavlio</h4>
|
|
<p class="last-msg">Lorem ipsum dolor sit, amet
|
|
consectetur adipisicing elit. Nam itaque
|
|
doloremque odio, eligendi delectus vitae.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
<div class="position-relative mr-3">
|
|
<img class="rounded-circle" src="assets/img/user/u5.jpg" alt="Image">
|
|
<span class="status away"></span>
|
|
</div>
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Browini</h4>
|
|
<p class="last-msg">Lorem ipsum dolor sit, amet
|
|
consectetur adipisicing elit. Nam itaque
|
|
doloremque odio, eligendi delectus vitae.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="tab-pane fade" id="contact2" role="tabpanel">
|
|
<ul class="list-unstyled" data-simplebar style="height: 360px">
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification event-active">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-info text-white">
|
|
<i class="mdi mdi-calendar-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Upcomming event added</h4>
|
|
<p class="last-msg font-size-14">03/Jan/2020 (1pm -
|
|
2pm)</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 10 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-warning text-white">
|
|
<i class="mdi mdi-chart-areaspline font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">New Sales report</h4>
|
|
<p class="last-msg font-size-14">Lorem ipsum dolor
|
|
sit, amet consectetur adipisicing elit. Nam
|
|
itaque doloremque odio, eligendi delectus vitae.
|
|
</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 1 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-primary text-white">
|
|
<i class="mdi mdi-account-multiple-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">New Request</h4>
|
|
<p class="last-msg font-size-14">Add Dany Jones as
|
|
your contact consequat nec imperdiet ex rutrum.
|
|
Fusce et vehicula enim. Sed in enim.</p>
|
|
|
|
<span class="my-1 btn btn-sm btn-success">Accept</span>
|
|
<span class="my-1 btn btn-sm btn-secondary">Delete</span>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary d-block">
|
|
<i class="mdi mdi-clock-outline"></i> 5 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-danger text-white">
|
|
<i class="mdi mdi-server-network-off font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">Server overloaded</h4>
|
|
<p class="last-msg font-size-14">Donec mattis augue
|
|
a nisl consequat, nec imperdiet ex rutrum. Fusce
|
|
et vehicula enim. Sed in enim eu odio vehic.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 30 min
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="javscript:void(0)" class="media media-message media-notification">
|
|
|
|
<div class="d-flex rounded-circle align-items-center justify-content-center mr-3 media-icon iconbox-45 bg-purple text-white">
|
|
<i class="mdi mdi-playlist-check font-size-20"></i>
|
|
</div>
|
|
|
|
<div class="media-body d-flex justify-content-between">
|
|
<div class="message-contents">
|
|
<h4 class="title">New Task complete</h4>
|
|
<p class="last-msg font-size-14">Nam ut nisi erat.
|
|
Ut quis tortor varius, hendrerit arcu quis,
|
|
congue nisl. In scelerisque, sem ut ve.</p>
|
|
|
|
<span class="font-size-12 font-weight-medium text-secondary">
|
|
<i class="mdi mdi-clock-outline"></i> 2 hrs
|
|
ago...
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<ul class="dropdown-menu dropdown-menu-right d-none">
|
|
<li class="dropdown-header">You have 5 notifications</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-account-plus"></i> New user registered
|
|
<span class=" font-size-12 d-inline-block float-right"><i class="mdi mdi-clock-outline"></i> 10 AM</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-account-remove"></i> User deleted
|
|
<span class=" font-size-12 d-inline-block float-right"><i class="mdi mdi-clock-outline"></i> 07 AM</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-chart-areaspline"></i> Sales report is ready
|
|
<span class=" font-size-12 d-inline-block float-right"><i class="mdi mdi-clock-outline"></i> 12 PM</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-account-supervisor"></i> New client
|
|
<span class=" font-size-12 d-inline-block float-right"><i class="mdi mdi-clock-outline"></i> 10 AM</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#">
|
|
<i class="mdi mdi-server-network-off"></i> Server overloaded
|
|
<span class=" font-size-12 d-inline-block float-right"><i class="mdi mdi-clock-outline"></i> 05 AM</span>
|
|
</a>
|
|
</li>
|
|
<li class="dropdown-footer">
|
|
<a class="text-center" href="#"> View All </a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="right-sidebar-in right-sidebar-2-menu">
|
|
<i class="mdi mdi-settings-outline mdi-spin"></i>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<!-- CONTENT WRAPPER -->
|
|
<div class="ec-content-wrapper ec-ec-content-wrapper mb-m-24px">
|
|
<div class="content">
|
|
<div class="breadcrumb-wrapper breadcrumb-contacts">
|
|
<div>
|
|
<h1>User Card</h1>
|
|
<p class="breadcrumbs"><span><a href="index.php">Home</a></span>
|
|
<span><i class="mdi mdi-chevron-right"></i></span>User
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<?php
|
|
$totalUsers = count($users);
|
|
$usersPerPage = 20;
|
|
$totalPages = ceil($totalUsers / $usersPerPage);
|
|
$currentPage = isset($_GET['page']) ? $_GET['page'] : 1;
|
|
$start = ($currentPage - 1) * $usersPerPage;
|
|
$end = $start + $usersPerPage - 1;
|
|
|
|
for ($x = $start; $x <= $end && $x < $totalUsers; $x++) {
|
|
$user = $users[$x];
|
|
// $customerUser = getCustomerbyLoginId($user['_id']);
|
|
// $vendorUser = getVendorbyLoginId($user['_id']);
|
|
?>
|
|
<div class="col-lg-6 col-xl-4 mb-24px">
|
|
<div class="ec-user-card card card-default p-4">
|
|
<a href="javascript:0" class="view-detail" id="modalTrigger-<?php echo $user['_id']; ?>"><i class="mdi mdi-eye-plus-outline"></i></a>
|
|
<!-- <a href="javascript:0" data-bs-toggle="modal" data-bs-target="#modalContact-<?php echo $user['_id']; ?>" class="view-detail"><i class="mdi mdi-eye-plus-outline"></i></a> -->
|
|
<a href="javascript:0" class="media text-secondary">
|
|
<img src="https://upload.wikimedia.org/wikipedia/commons/7/7e/Circle-icons-profile.svg" class="mr-3 img-fluid" alt="Avatar Image">
|
|
<div class="media-body">
|
|
<h5 class="mt-0 mb-2 text-dark"><?php echo $user['username'] ?></h5>
|
|
<div class="icon">
|
|
<li class="d-flex mb-1">
|
|
<i class="mdi mdi-account-key" style="font-size: 20px;"></i>
|
|
<span><?php echo $user['user_type'] ?></span>
|
|
</li>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade modal-contact-detail" id="modalContact-<?php echo $user['_id']; ?>" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header justify-content-end border-bottom-0">
|
|
|
|
<button type="button" class="btn-close-icon" data-bs-dismiss="modal" aria-label="Close">
|
|
<i class="mdi mdi-close"></i>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="modal-body pt-0">
|
|
<div class="row no-gutters">
|
|
<div class="col-md-12">
|
|
<div class="profile-content-left px-4">
|
|
<form action="user-card-action.php" method="post">
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label class="text-dark font-weight-medium pt-3 mb-2">Email</label>
|
|
<input type="text" name="username" class="form-control" value="<?php echo $user['username']; ?>" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label class="text-dark font-weight-medium pt-3 mb-2">User Type</label>
|
|
<select class="form-select" name="user_type">
|
|
<option value="">Select User Type</option>
|
|
<option value="admin" <?php echo ($user['user_type'] === 'admin') ? 'selected' : ''; ?>>admin</option>
|
|
<option value="vendor" <?php echo ($user['user_type'] === 'vendor') ? 'selected' : ''; ?>>vendor</option>
|
|
<option value="customer" <?php echo ($user['user_type'] === 'customer') ? 'selected' : ''; ?>>customer</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="hidden" name="_id" class="form-control" value="<?php echo $user['_id']; ?>">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<button type="submit" class="btn btn-primary">Submit</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
<?php foreach ($users as $user) { ?>
|
|
registerModalTrigger('<?php echo $user['_id']; ?>');
|
|
<?php } ?>
|
|
});
|
|
|
|
function registerModalTrigger(userId) {
|
|
var modalTrigger = document.getElementById('modalTrigger-' + userId);
|
|
var sessionToken = '<?php echo isset($_SESSION["token"]) ? $_SESSION["token"] : ""; ?>';
|
|
var email = '<?php echo isset($_SESSION["email"]) ? $_SESSION["email"] : ""; ?>';
|
|
var password = '<?php echo isset($_SESSION["password"]) ? $_SESSION["password"] : ""; ?>';
|
|
|
|
if (modalTrigger) {
|
|
modalTrigger.addEventListener('click', function() {
|
|
// Renew the login token before showing the modal
|
|
renewToken(sessionToken, email, password, userId);
|
|
});
|
|
}
|
|
}
|
|
|
|
function renewToken(sessionToken, email, password, userId) {
|
|
// Add your logic here to renew the login token
|
|
login(email, password, sessionToken, function() {
|
|
// Callback function after renewing the token, e.g., show the modal
|
|
showTheModal(userId);
|
|
});
|
|
}
|
|
|
|
function login(username, password, sessionToken, callback) {
|
|
fetch("https://<?php echo $_SESSION["data_endpoint"]; ?>/api/v1/login", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"X-Api-Key": "{{apiKey}}"
|
|
},
|
|
body: JSON.stringify({
|
|
username: username,
|
|
password: password
|
|
})
|
|
})
|
|
.then(response => {
|
|
if (response.ok) {
|
|
return response.json();
|
|
} else {
|
|
throw new Error("Unable to login");
|
|
}
|
|
})
|
|
.then(data => {
|
|
// Update the session token on the server side
|
|
fetch("update-token-session.php", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json"
|
|
},
|
|
body: JSON.stringify({
|
|
token: data.token
|
|
})
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.status === 'success') {
|
|
// Update the session token in the client-side variable
|
|
sessionToken = data.token;
|
|
console.log("New Token:", sessionToken);
|
|
callback();
|
|
} else {
|
|
throw new Error("Unable to update session token");
|
|
}
|
|
});
|
|
})
|
|
.catch(error => {
|
|
console.error("Error:", error.message);
|
|
});
|
|
}
|
|
|
|
function showTheModal(userId) {
|
|
// Add your logic here to show the modal
|
|
// You may need to trigger it manually if using Bootstrap modal
|
|
$('#modalContact-' + userId).modal('show');
|
|
}
|
|
</script>
|
|
<?php } ?>
|
|
</div>
|
|
|
|
<!-- Pagination Links -->
|
|
<div class="pagination">
|
|
<?php
|
|
for ($page = 1; $page <= $totalPages; $page++) {
|
|
echo '<a href="?page=' . $page . '">' . $page . '</a>';
|
|
}
|
|
?>
|
|
</div>
|
|
|
|
<!-- Contact Modal -->
|
|
|
|
|
|
|
|
<!-- Add Contact Button -->
|
|
<div class="modal fade modal-add-contact" id="modal-add-contact" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<form>
|
|
<div class="modal-header px-4">
|
|
<h5 class="modal-title" id="exampleModalCenterTitle">Add New User</h5>
|
|
</div>
|
|
|
|
<div class="modal-body px-4">
|
|
<div class="form-group row mb-6">
|
|
<label for="coverImage" class="col-sm-4 col-lg-2 col-form-label">User
|
|
Image</label>
|
|
|
|
<div class="col-sm-8 col-lg-10">
|
|
<div class="custom-file mb-1">
|
|
<input type="file" class="custom-file-input" id="coverImage" required>
|
|
<label class="custom-file-label" for="coverImage">Choose
|
|
file...</label>
|
|
<div class="invalid-feedback">Example invalid custom file feedback
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-2">
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="firstName">First name</label>
|
|
<input type="text" class="form-control" id="firstName" value="John">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="form-group">
|
|
<label for="lastName">Last name</label>
|
|
<input type="text" class="form-control" id="lastName" value="Deo">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="form-group mb-4">
|
|
<label for="userName">User name</label>
|
|
<input type="text" class="form-control" id="userName" value="johndoe">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="form-group mb-4">
|
|
<label for="email">Email</label>
|
|
<input type="email" class="form-control" id="email" value="johnexample@gmail.com">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="form-group mb-4">
|
|
<label for="Birthday">Birthday</label>
|
|
<input type="text" class="form-control" id="Birthday" value="10-12-1991">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="form-group mb-4">
|
|
<label for="event">Address</label>
|
|
<input type="text" class="form-control" id="event" value="Address here">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal-footer px-4">
|
|
<button type="button" class="btn btn-secondary btn-pill" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary btn-pill">Save Contact</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- End Content -->
|
|
</div> <!-- End Content Wrapper -->
|
|
|
|
<!-- Footer -->
|
|
<footer class="footer mt-auto">
|
|
<div class="copyright bg-white">
|
|
<p>
|
|
Copyright © <span id="ec-year"></span><a class="text-primary" href="https://themeforest.net/user/ashishmaraviya" target="_blank"> Ekka Admin
|
|
Dashboard</a>. All Rights Reserved.
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
|
|
</div> <!-- End Page Wrapper -->
|
|
</div> <!-- End Wrapper -->
|
|
|
|
<!-- Common Javascript -->
|
|
<script src="assets/plugins/jquery/jquery-3.5.1.min.js"></script>
|
|
<script src="assets/js/bootstrap.bundle.min.js"></script>
|
|
<script src="assets/plugins/simplebar/simplebar.min.js"></script>
|
|
<script src="assets/plugins/jquery-zoom/jquery.zoom.min.js"></script>
|
|
<script src="assets/plugins/slick/slick.min.js"></script>
|
|
|
|
<!-- Option Switcher -->
|
|
<script src="assets/plugins/options-sidebar/optionswitcher.js"></script>
|
|
|
|
<!-- Ekka Custom -->
|
|
<script src="assets/js/ekka.js"></script>
|
|
</body>
|
|
|
|
</html>
|