-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheader.php
153 lines (145 loc) · 6.54 KB
/
header.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
$currentPage = basename($_SERVER['SCRIPT_NAME']);
$menuItems = [
[
"menuTitle" => "Settings",
"icon" => "fas fa-cog",
"pages" => [
["title" => "Update Profile", "url" => "index.php"],
["title" => "Active Sessions", "url" => "active_sessions.php"]
],
]
];
$activePageInfo = array_reduce($menuItems, function ($carry, $menuItem) use ($currentPage) {
foreach ($menuItem['pages'] as $page) {
if ($currentPage === $page['url']) {
return [
"breadcrumbItems" => [
["title" => $menuItem['menuTitle'], "url" => "#"],
["title" => $page['title'], "url" => $page['url']]
],
"pageTitle" => $page['title'],
"activeMenu" => $menuItem,
"activePage" => $page
];
}
}
return $carry;
}, null);
$breadcrumbItems = $activePageInfo['breadcrumbItems'] ?? [];
$pageTitle = $activePageInfo['pageTitle'] ?? '';
$activeMenu = $activePageInfo['activeMenu'] ?? null;
$activePage = $activePageInfo['activePage'] ?? null;
?>
<title><?= $pageTitle ?></title>
<link rel="icon" type="image/x-icon" href="./favicon.ico">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" data-widget="pushmenu" role="button"><i class="fas fa-bars"></i></a>
</li>
<li class="nav-item d-none d-sm-inline-block"><a href="./" class="nav-link">Home</a></li>
</ul>
<form class="form-inline ml-3">
<div class="input-group input-group-sm">
<input class="form-control form-control-navbar" type="search" placeholder="Search" name="search">
<div class="input-group-append">
<button class="btn btn-navbar" type="submit"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown"><a class="nav-link" href="#messages"><i class="far fa-comments"></i><span
class="badge badge-danger navbar-badge">2</span></a></li>
<li class="nav-item dropdown"><a class="nav-link" href="#notifications"><i class="far fa-bell"></i><span
class="badge badge-warning navbar-badge">5</span></a></li>
</ul>
</nav>
<div class="main-header" style="padding: 0px 10px; background-color: #f4f6f9; border-bottom: none !important;">
<div class="content-header">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark"><?= $pageTitle ?></h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<?php foreach ($breadcrumbItems as $item): ?>
<li class="breadcrumb-item <?= $item['url'] === '#' ? 'active' : '' ?>">
<?= $item['url'] === '#' ? $item['title'] : "<a href='{$item['url']}'>{$item['title']}</a>" ?>
</li>
<?php endforeach; ?>
</ol>
</div>
</div>
</div>
</div>
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<a href="./" class="brand-link">
<img src="./src/images/logo.png" alt="Admin Panel Logo" class="brand-image img-circle elevation-3">
<span class="brand-text font-weight-light">Admin Panel</span>
</a>
<div class="sidebar">
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<?php
$filePath = "./src/images/profile_picture/" . $query->select("users", '*', "id = ?", [$_SESSION['user_id']], 'i')[0]['profile_picture'];
if (!file_exists($filePath)) {
$filePath = "./src/images/profile_picture/default.png";
}
?>
<img src="<?= $filePath ?>" class="img-circle elevation-2" alt="User Image">
</div>
<div class="info"><a href="./" class="d-block">Iqbolshoh Ilhomjonov</a></div>
</div>
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu">
<?php foreach ($menuItems as $menuItem): ?>
<li class="nav-item has-treeview <?= $menuItem === $activeMenu ? 'menu-open' : '' ?>">
<a class="nav-link <?= $menuItem === $activeMenu ? 'active' : '' ?>" href="#">
<i class="nav-icon <?= $menuItem['icon'] ?>"></i>
<p><?= $menuItem['menuTitle'] ?>
<?= !empty($menuItem['pages']) ? '<i class="right fas fa-angle-left"></i>' : '' ?>
</p>
</a>
<?php if (!empty($menuItem['pages'])): ?>
<ul class="nav nav-treeview">
<?php foreach ($menuItem['pages'] as $page): ?>
<li class="nav-item">
<a href="<?= $page['url'] ?>" class="nav-link <?= $page === $activePage ? 'active' : '' ?>">
<i class="far fa-circle nav-icon"></i>
<p><?= $page['title'] ?></p>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
<li class="nav-item" onclick="logout()">
<a href="javascript:void(0);" class="nav-link">
<i class="nav-icon fas fa-sign-out-alt"></i>
<p>Logout</p>
</a>
</li>
</ul>
</nav>
</div>
</aside>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
function logout() {
Swal.fire({
title: 'Are you sure?',
text: "You will be logged out!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, log me out!'
}).then((result) => {
if (result.value) {
window.location.href = './logout/';
}
});
}
</script>