Update site: auth fixes, new admin pages, payment flow, membership renewal, helpers
This commit is contained in:
+74
-28
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* UNIFIED HEADER TEMPLATE
|
||||
*
|
||||
@@ -25,6 +26,7 @@ require_once($rootDir . "/src/config/env.php");
|
||||
require_once($rootDir . "/src/config/session.php");
|
||||
require_once($rootDir . "/src/config/connection.php");
|
||||
require_once($rootDir . "/src/config/functions.php");
|
||||
require_once($rootDir . "/src/helpers/notification_helper.php");
|
||||
|
||||
$is_logged_in = isset($_SESSION['user_id']);
|
||||
if (isset($_SESSION['user_id'])) {
|
||||
@@ -186,8 +188,7 @@ if ($headerStyle === 'light') {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
<?php if ($headerStyle === 'light'): ?>
|
||||
.page-banner-area {
|
||||
<?php if ($headerStyle === 'light'): ?>.page-banner-area {
|
||||
position: relative;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
@@ -214,6 +215,7 @@ if ($headerStyle === 'light') {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
<?php endif; ?>
|
||||
</style>
|
||||
|
||||
@@ -258,16 +260,16 @@ if ($headerStyle === 'light') {
|
||||
<ul class="navigation clearfix">
|
||||
<li><a href="index">Home</a></li>
|
||||
<li><a href="about">About</a></li>
|
||||
<li><a href="track-map">Track Map</a></li>
|
||||
<li><a href="base4">BASE 4</a></li>
|
||||
<li><a href="trips">Trips</a>
|
||||
<?php if ($headerStyle === 'dark'): ?>
|
||||
<ul>
|
||||
<li><a href="tour-list.html">Tour List</a></li>
|
||||
<li><a href="tour-grid.html">Tour Grid</a></li>
|
||||
<li><a href="tour-sidebar.html">Tour Sidebar</a></li>
|
||||
<li><a href="trip-details">Tour Details</a></li>
|
||||
<li><a href="tour-guide.html">Tour Guide</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="tour-list.html">Tour List</a></li>
|
||||
<li><a href="tour-grid.html">Tour Grid</a></li>
|
||||
<li><a href="tour-sidebar.html">Tour Sidebar</a></li>
|
||||
<li><a href="trip-details">Tour Details</a></li>
|
||||
<li><a href="tour-guide.html">Tour Guide</a></li>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
<li class="dropdown"><a href="#">Training</a>
|
||||
@@ -283,15 +285,12 @@ if ($headerStyle === 'light') {
|
||||
<ul>
|
||||
<li><a href="admin_web_users">Website Users</a></li>
|
||||
<li><a href="admin_members">4WDCSA Members</a></li>
|
||||
<li><a href="admin_blogs">Manage Blogs</a></li>
|
||||
<li><a href="admin_events">Manage Events</a></li>
|
||||
<li><a href="admin_trips">Manage Trips</a></li>
|
||||
<li><a href="admin_trip_bookings">Trip Bookings</a></li>
|
||||
<li><a href="admin_course_bookings">Course Bookings</a></li>
|
||||
<li><a href="admin_efts">EFT Payments</a></li>
|
||||
<li><a href="process_payments">Process Payments</a></li>
|
||||
<li><a href="admin_trips_events_courses">Trips, Events & Courses</a></li>
|
||||
<li><a href="admin_bookings">Bookings</a></li>
|
||||
<li><a href="admin_transactions">iKhokha Payment History</a></li>
|
||||
<!-- <li><a href="process_payments">Process Payments</a></li> -->
|
||||
<?php if ($role === 'superadmin') { ?>
|
||||
<li><a href="admin_visitors">Visitor Log</a></li>
|
||||
<li><a href="admin_visitors">Visitor Log</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -305,23 +304,29 @@ if ($headerStyle === 'light') {
|
||||
if (getUserMemberStatus($_SESSION['user_id'])) {
|
||||
echo "<li><a href=\"campsites\">Campsites Directory</a></li>";
|
||||
echo "<li><a href=\"gallery\">Photo Gallery</a></li>";
|
||||
} else {
|
||||
} else {
|
||||
echo "<li><a href=\"membership\">Campsites Directory</a><i class='fal fa-lock'></i></li>";
|
||||
echo "<li><a href=\"membership\">Photo Gallery</a><i class='fal fa-lock'></i></li>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="dropdown"><a href="#">My Account</a>
|
||||
<ul>
|
||||
<li><a href="account_settings">Account Settings</a></li>
|
||||
<li><a href="membership_details">Membership</a></li>
|
||||
<li><a href="bookings">My Bookings</a></li>
|
||||
<li><a href="user_blogs">My Blog Posts</a></li>
|
||||
<li><a href="submit_pop">Submit P.O.P</a></li>
|
||||
<?php
|
||||
if (getUserMemberStatus($_SESSION['user_id'])) {
|
||||
echo "<li><a href=\"user_blogs\">My Blog Posts</a></li>";
|
||||
} else {
|
||||
echo "<li><a href=\"membership\">My Blog Posts</a><i class='fal fa-lock'></i></li>";
|
||||
}
|
||||
?>
|
||||
<!-- <li><a href="submit_pop">Submit P.O.P</a></li> -->
|
||||
<li><a href="logout">Log Out</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -341,11 +346,19 @@ if ($headerStyle === 'light') {
|
||||
<div class="profile-menu">
|
||||
<div class="profile-info">
|
||||
<span style="color: <?php echo $textColor; ?>;">Welcome, <?php echo $_SESSION['first_name']; ?></span>
|
||||
<a href="account_settings">
|
||||
<img src="<?php echo $_SESSION['profile_pic']; ?>?v=<?php echo time(); ?>" alt="Profile Picture" class="profile-pic">
|
||||
</a>
|
||||
<div class="notif-avatar-container" data-admin-id="<?php echo intval($_SESSION['user_id'] ?? 0); ?>">
|
||||
<a href="account_settings">
|
||||
<img src="<?php echo $_SESSION['profile_pic']; ?>?v=<?php echo time(); ?>" alt="Profile Picture" class="profile-pic">
|
||||
</a>
|
||||
<span id="notif-badge" class="notif-badge"></span>
|
||||
</div>
|
||||
<div id="notif-panel" class="notif-panel" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($role === 'admin' || $role === 'superadmin') { ?>
|
||||
<link rel="stylesheet" href="assets/css/notifications.css">
|
||||
<script src="assets/js/notifications_panel.js" defer></script>
|
||||
<?php } ?>
|
||||
<?php else : ?>
|
||||
<a href="login" class="theme-btn style-two bgc-secondary">
|
||||
<span data-hover="Log In">Log In</span>
|
||||
@@ -360,11 +373,44 @@ if ($headerStyle === 'light') {
|
||||
<!--End Header Upper-->
|
||||
</header>
|
||||
|
||||
<a href="https://wa.me/27790652795?text=Hi,%20I%20would%20like%20to%20know%20more%20about%20your%20club!"
|
||||
class="whatsapp-float"
|
||||
target="_blank"
|
||||
aria-label="Chat on WhatsApp">
|
||||
<i class="fab fa-whatsapp"></i>
|
||||
</a>
|
||||
|
||||
<style>
|
||||
.whatsapp-float {
|
||||
position: fixed;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background-color: #25D366;
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
line-height: 60px;
|
||||
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.whatsapp-float:hover {
|
||||
background-color: #1ebe5d;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const profileInfo = document.querySelector('.profile-info');
|
||||
if (profileInfo) {
|
||||
profileInfo.addEventListener('click', function(event) {
|
||||
// Ignore clicks on the notifications avatar so the notif panel
|
||||
// can handle its own toggle without also toggling the profile dropdown.
|
||||
if (event.target.closest && event.target.closest('.notif-avatar-container')) return;
|
||||
const dropdownMenu = document.querySelector('.dropdown-menu2');
|
||||
if (dropdownMenu) {
|
||||
dropdownMenu.style.display = dropdownMenu.style.display === 'block' ? 'none' : 'block';
|
||||
@@ -381,4 +427,4 @@ if ($headerStyle === 'light') {
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
Reference in New Issue
Block a user