force update CSS2
This commit is contained in:
@@ -1,12 +1,6 @@
|
||||
@charset "UTF-8";
|
||||
/*----------------------------------------------------------------------
|
||||
Template Name: Ravelo - Travel & Tour Booking HTML Template
|
||||
Template URI: https://webtend.net/demo/html/ravelo/
|
||||
Author: WebTend
|
||||
Author URI: https://webtend.net/
|
||||
Version: 1.0
|
||||
|
||||
Note: This is Main Style CSS File. */
|
||||
4WDCSA.co.za CSS Stylesheet
|
||||
/*----------------------------------------------------------------------
|
||||
CSS INDEX
|
||||
----------------------
|
||||
|
||||
@@ -76,8 +76,8 @@ $bannerImages = glob($bannerFolder . '*.{jpg,jpeg,png,webp}', GLOB_BRACE);
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<h2>Manage Blog Posts</h2>
|
||||
<?php if (isset($_SESSION['message'])): ?>
|
||||
<h2>Manage Blog Posts</h2>
|
||||
<?php if (isset($_SESSION['message'])): ?>
|
||||
<div class="alert alert-warning message-box">
|
||||
<?php echo $_SESSION['message']; ?>
|
||||
<span class="close-btn" onclick="this.parentElement.style.display='none'">×</span>
|
||||
@@ -90,7 +90,7 @@ $bannerImages = glob($bannerFolder . '*.{jpg,jpeg,png,webp}', GLOB_BRACE);
|
||||
// Determine cover image - use provided image or fallback placeholder
|
||||
$coverImage = $post["image"] ? $post["image"] : 'assets/images/placeholder.jpg';
|
||||
// Output the HTML structure with dynamic data
|
||||
echo '
|
||||
echo '
|
||||
<div class="destination-item style-three bgc-lighter booking" data-aos="fade-up" data-aos-duration="1500" data-aos-offset="50">
|
||||
<div class="image" style="width:200px;height:200px;">
|
||||
<img src="' . htmlspecialchars($coverImage) . '" alt="' . htmlspecialchars($post["title"]) . '">
|
||||
@@ -107,10 +107,10 @@ $bannerImages = glob($bannerFolder . '*.{jpg,jpeg,png,webp}', GLOB_BRACE);
|
||||
<p>' . $post["description"] . '</p>
|
||||
<div class="destination-footer">
|
||||
<div class="btn-group" style="display:flex; justify-content:flex-end; gap:10px;">
|
||||
<a href="blog_edit.php?token='.encryptData($post["blog_id"], $salt).'" data-bs-toggle="tooltip" data-bs-placement="top" title="Edit"><span class="material-icons">edit</span></a>
|
||||
<a href="blog_read.php?token='.encryptData($post["blog_id"], $salt).'" data-bs-toggle="tooltip" data-bs-placement="top" title="Preview"><span class="material-icons">visibility</span></a>
|
||||
<a href="blog_edit.php?token=' . encryptData($post["blog_id"], $salt) . '" data-bs-toggle="tooltip" data-bs-placement="top" title="Edit"><span class="material-icons">edit</span></a>
|
||||
<a href="blog_read.php?token=' . encryptData($post["blog_id"], $salt) . '" data-bs-toggle="tooltip" data-bs-placement="top" title="Preview"><span class="material-icons">visibility</span></a>
|
||||
<button type="button" class="publish-btn" data-blog-id="' . $post["blog_id"] . '" data-status="' . $post["status"] . '" data-bs-toggle="tooltip" data-bs-placement="top" title="' . ($post["status"] == "published" ? "Unpublish" : "Publish") . '" style="background:none; border:none; cursor:pointer; color:inherit;"><span class="material-icons">' . ($post["status"] == "published" ? "cloud_off" : "cloud_upload") . '</span></button>
|
||||
<a href="blog_delete.php?token='.encryptData($post["blog_id"], $salt).'" data-bs-toggle="tooltip" data-bs-placement="top" title="Delete"><span class="material-icons">delete</span></a>
|
||||
<a href="blog_delete.php?token=' . encryptData($post["blog_id"], $salt) . '" data-bs-toggle="tooltip" data-bs-placement="top" title="Delete"><span class="material-icons">delete</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -125,40 +125,40 @@ $bannerImages = glob($bannerFolder . '*.{jpg,jpeg,png,webp}', GLOB_BRACE);
|
||||
</div>
|
||||
</section>
|
||||
<!-- Blog List Area end -->
|
||||
<script>
|
||||
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
||||
tooltipTriggerList.forEach(el => new bootstrap.Tooltip(el));
|
||||
<script>
|
||||
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
||||
tooltipTriggerList.forEach(el => new bootstrap.Tooltip(el));
|
||||
|
||||
// Handle publish/unpublish button clicks
|
||||
document.querySelectorAll('.publish-btn').forEach(btn => {
|
||||
btn.addEventListener('click', function() {
|
||||
const blogId = this.dataset.blogId;
|
||||
const status = this.dataset.status;
|
||||
const action = status === 'published' ? 'unpublish' : 'publish';
|
||||
const endpoint = status === 'published' ? 'blog_unpublish' : 'publish_blog';
|
||||
// Handle publish/unpublish button clicks
|
||||
document.querySelectorAll('.publish-btn').forEach(btn => {
|
||||
btn.addEventListener('click', function() {
|
||||
const blogId = this.dataset.blogId;
|
||||
const status = this.dataset.status;
|
||||
const action = status === 'published' ? 'unpublish' : 'publish';
|
||||
const endpoint = status === 'published' ? 'blog_unpublish' : 'publish_blog';
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append('id', blogId);
|
||||
const formData = new FormData();
|
||||
formData.append('id', blogId);
|
||||
|
||||
fetch(endpoint, {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
})
|
||||
.then(response => {
|
||||
if (response.ok) {
|
||||
alert(action.charAt(0).toUpperCase() + action.slice(1) + ' successful!');
|
||||
location.reload();
|
||||
} else {
|
||||
alert(action + ' failed.');
|
||||
console.error('Error:', response.statusText);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('Error:', err);
|
||||
alert(action + ' failed due to network error.');
|
||||
});
|
||||
fetch(endpoint, {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
})
|
||||
.then(response => {
|
||||
if (response.ok) {
|
||||
alert(action.charAt(0).toUpperCase() + action.slice(1) + ' successful!');
|
||||
location.reload();
|
||||
} else {
|
||||
alert(action + ' failed.');
|
||||
console.error('Error:', response.statusText);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('Error:', err);
|
||||
alert(action + ' failed due to network error.');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user