]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - header.php
Finalize ability to edit channel modes
[irc/unrealircd/unrealircd-webpanel.git] / header.php
CommitLineData
b44a2e97 1<?php $arr = []; Hook::run(HOOKTYPE_PRE_HEADER, $arr); ?>
e98b5a51 2<!DOCTYPE html>
911a6472 3<head>
ce9cf366
VP
4<div class="media">
5<div class="media-body">
6
33f512fa
VP
7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <meta name="HandheldFriendly" content="true">
9
31ef838c
VP
10<link href="<?php echo BASE_URL; ?>css/unrealircd-admin.css" rel="stylesheet">
11
ce9cf366 12
0ab180bf
VP
13 <!-- Latest compiled and minified CSS -->
14 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
15
185d5d5d
VP
16<!-- Font Awesome JS -->
17<script defer src="https://use.fontawesome.com/releases/v6.2.1/js/solid.js" integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous"></script>
18<script defer src="https://use.fontawesome.com/releases/v6.2.1/js/fontawesome.js" integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous"></script>
19
bca6dbd2
VP
20<!-- Font Awesome icons -->
21<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
238a4024 22<script src="<?php echo BASE_URL; ?>js/unrealircd-admin.js"></script>
e98b5a51 23<title>UnrealIRCd Panel</title>
27efe895 24<link rel="icon" type="image/x-icon" href="<?php echo BASE_URL; ?>img/favicon.ico">
911a6472
BM
25</head>
26<body role="document">
f88a8f2f
VP
27
28<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
185d5d5d
VP
29<!-- Popper.JS -->
30<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>
31<!-- Bootstrap JS -->
32<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
f88a8f2f 33
4896fbb9
VP
34<div class="container-fluid">
35
5cc8ca4a 36 <!-- Fixed navbar -->
0ce9e377 37 <nav class="navbar navbar-expand-sm navbar-dark bg-dark fixed-top z-index padding-top"><a class="navbar-brand" href="<?php echo BASE_URL; ?>"><img src="<?php echo BASE_URL; ?>img/favicon.ico" height="25" width="25"> UnrealIRCd Admin Panel</a>
33f512fa
VP
38 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
39 <span class="navbar-toggler-icon"></span>
40 </button>
41 <div class="collapse navbar-collapse" id="collapsibleNavbar">
42 <ul class="navbar-nav mr-auto">
0ce9e377 43
1e6ffd06 44<?php
d1d9caa9 45
4d71d431 46$active_page = NULL;
10102cdc 47
f5173b9c 48
a2712ef5
VP
49foreach ($pages as $name => $page)
50{
51 $script = $_SERVER['SCRIPT_FILENAME'];
7720c0cb 52 $tok = split($script, "/");
33f512fa
VP
53 if (is_array($page))
54 continue;
55 if (is_string($page) && strlen($page) == 0) {
a2712ef5
VP
56 $active_page = "";
57 }
15b6679d
VP
58 else if (str_ends_with($script, BASE_URL . "index.php") && BASE_URL != "/" && !strlen($tok[0]))
59 {
15b6679d
VP
60 $active_page = $tok[0];
61 }
a2712ef5
VP
62 else if (!str_ends_with($page, ".php"))
63 {
64 $script2 = rtrim($script, "/index.php");
65 if (str_ends_with($script2, $page))
66 $active_page = $page;
67 }
68 else if (str_ends_with($script, $page))
69 {
27efe895 70 $active_page = $page;
4d71d431
VP
71 } elseif (!$active_page)
72 $active_page = false;
a2712ef5 73}
1e6ffd06
BM
74foreach($pages as $name=>$page)
75{
96de0b9c 76 $class = "class=\"nav-item\"";
4d71d431 77 if (is_string($active_page) && $page == $active_page)
96de0b9c 78 $class = str_replace("\"nav-item\"", "\"nav-item active\"", $class);
5cc8ca4a 79
33f512fa
VP
80 if (is_string($page))
81 echo "<li $class><a class=\"nav-link\" href=\"".BASE_URL.$page."\">$name</a></li>\n";
82
83 elseif (is_array($page))
84 {
85 foreach ($page as $k => $v)
86 {
87 $first_page = $v;
88 break;
89 }
90 ?>
91 <li class="nav-item dropdown">
92 <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
93 <?php echo $name; ?>
94 </a>
f5173b9c
VP
95 <div class="dropdown-menu" aria-labelledby="navbarDropdown">
96 <?php foreach($page as $k => $p)
97 {
98 ?>
99 <a class="dropdown-item" href="<?php echo BASE_URL.$p;?>"><?php echo $k; ?></a>
100 <?php
101 } ?>
102 </div>
103 </li>
104 <?php
33f512fa
VP
105 }
106
1e6ffd06 107}
9d4cdf37
VP
108$ToD = time_of_day();
109$user = unreal_get_current_user();
110if ($user)
111{
26a85fb8 112 $name = (strlen($user->first_name)) ? $user->first_name : $user->username; // address them by first name, else username
9d4cdf37 113}
1e6ffd06 114?>
4896fbb9 115
9e2a2ac0 116 </ul>
9d4cdf37
VP
117
118
119 <?php if ($user) { ?>
120 <div class="nav-item form-inline my-2 my-lg-0 mr-sm-2">
121 <div class="collapse navbar-collapse" id="collapsibleNavbar">
122 <ul class="navbar-nav mr-auto">
123 <li class="nav-item dropdown">
124 <h6 style="color:white;">Good <?php echo "$ToD, $name!"; ?></h6>
125 </li>
126 </ul>
127 </div>
128 </div>
129 <?php } ?>
d843c1de 130 </nav><br>
e98b5a51 131</div>
911a6472
BM
132
133<div class="container-fluid" role="main">