query($sql);
if ($result->num_rows > 0) {
@@ -86,7 +86,7 @@ if (!empty($bannerImages)) {
$icon = "fa-lock";
} else {
if (getUserMemberStatus($_SESSION['user_id'])) {
- $blog_link = $row['link'];
+ $blog_link = "blog_read.php?token=".encryptData($blog_id, $salt);
$button_hover = "Read More";
$icon = "fa-arrow-right";
} else {
@@ -96,7 +96,7 @@ if (!empty($bannerImages)) {
}
}
} else {
- $blog_link = $row['link'];
+ $blog_link = "blog_read.php?token=".encryptData($blog_id, $salt);
$button_hover = "Read More";
$icon = "fa-arrow-right";
}
@@ -105,7 +105,7 @@ if (!empty($bannerImages)) {
echo '
-

+
' . $category . '
diff --git a/blog_create.php b/blog_create.php
new file mode 100644
index 00000000..3bb3b221
--- /dev/null
+++ b/blog_create.php
@@ -0,0 +1,33 @@
+prepare("INSERT INTO blogs (author, title, category, description, content, date, status)
+ VALUES (?, '', '', '', '', ?, ?)");
+$stmt->bind_param("iss", $user_id, $date, $status);
+$stmt->execute();
+
+$blog_id = $stmt->insert_id;
+header("Location: blog_edit.php?token=" . encryptData($blog_id, $salt));
+exit;
diff --git a/blog_delete.php b/blog_delete.php
new file mode 100644
index 00000000..fa3df29a
--- /dev/null
+++ b/blog_delete.php
@@ -0,0 +1,36 @@
+prepare("UPDATE blogs SET status = 'deleted' WHERE blog_id = ? AND author = ?");
+$stmt->bind_param("ii", $article_id, $user_id);
+
+if ($stmt->execute()) {
+ $_SESSION['message'] = "Blog deleted!";
+} else {
+ $_SESSION['message'] = "Failed to delete blog: " . $stmt->error;
+}
+
+header("Location: user_blogs.php");
+exit;
+?>
diff --git a/blog_edit.php b/blog_edit.php
new file mode 100644
index 00000000..e175e98d
--- /dev/null
+++ b/blog_edit.php
@@ -0,0 +1,265 @@
+prepare("SELECT * FROM blogs WHERE blog_id = ?");
+$stmt->bind_param("i", $blog_id);
+$stmt->execute();
+$result = $stmt->get_result();
+if ($result->num_rows === 0) {
+ die("Blog post not found.");
+}
+$article = $result->fetch_assoc();
+$stmt->close();
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/blog_read.php b/blog_read.php
new file mode 100644
index 00000000..00b45124
--- /dev/null
+++ b/blog_read.php
@@ -0,0 +1,176 @@
+prepare("
+ SELECT a.title, a.category, a.description, a.content, a.date,
+ u.first_name, u.last_name
+ FROM blogs a
+ JOIN users u ON a.author = u.user_id
+ WHERE a.blog_id = ?
+");
+$stmt->bind_param("i", $blog_id);
+$stmt->execute();
+$result = $stmt->get_result();
+
+if ($result->num_rows === 0) {
+ die("Article not found.");
+}
+
+$row = $result->fetch_assoc();
+$author = htmlspecialchars($row['first_name'] . ' ' . $row['last_name']);
+?>
+
+
+
+
+
+
+
+
+
+
+
= htmlspecialchars($row['title']) ?>
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/blog_unpublish.php b/blog_unpublish.php
new file mode 100644
index 00000000..0ad08559
--- /dev/null
+++ b/blog_unpublish.php
@@ -0,0 +1,31 @@
+prepare("UPDATE blogs SET status = 'draft' WHERE blog_id = ? AND author = ?");
+$stmt->bind_param("ii", $article_id, $user_id);
+
+if ($stmt->execute()) {
+ echo "Published";
+} else {
+ http_response_code(500);
+ echo "Failed to publish: " . $stmt->error;
+}
+?>
diff --git a/functions.php b/functions.php
index fb94792c..0ffeac8f 100644
--- a/functions.php
+++ b/functions.php
@@ -1784,8 +1784,8 @@ function getCommentCount($page_id) {
$conn = openDatabaseConnection();
// Prepare statement to avoid SQL injection
- $stmt = $conn->prepare("SELECT COUNT(*) FROM comments WHERE page_id = ?");
- $stmt->bind_param("i", $page_id);
+ $stmt = $conn->prepare("SELECT COUNT(*) FROM comments WHERE `page_id` = ?");
+ $stmt->bind_param("s", $page_id);
$stmt->execute();
// Get result
diff --git a/header01.php b/header01.php
index d6ad8dcf..73aa0483 100644
--- a/header01.php
+++ b/header01.php
@@ -211,6 +211,7 @@ logVisitor();
EFT Payments
Process Payments
+
Manage Blogs
Visitor Log
@@ -232,6 +233,7 @@ logVisitor();
Account Settings
Membership
My Bookings
+
My Blogs
Submit P.O.P
Log Out
diff --git a/header02.php b/header02.php
index 17bb2814..b868c27a 100644
--- a/header02.php
+++ b/header02.php
@@ -33,6 +33,8 @@ logVisitor();
+
+
@@ -224,6 +226,7 @@ logVisitor();
EFT Payments
Process Payments
+
Manage Blogs
Visitor Log
@@ -238,6 +241,7 @@ logVisitor();
Account Settings
Membership
My Bookings
+
My Blogs
Submit P.O.P
Log Out
diff --git a/index.php b/index.php
index b03534a0..cbbdddde 100644
--- a/index.php
+++ b/index.php
@@ -51,7 +51,7 @@ if (!empty($bannerImages)) {
' . $location . '
-
+
' . convertDate($start_date) . ' - ' . convertDate($end_date) . '
' . calculateDaysAndNights($start_date, $end_date) . '
@@ -541,7 +541,7 @@ if (countUpcomingTrips() > 0) { ?>
query($sql);
if ($result->num_rows > 0) {
@@ -562,7 +562,7 @@ if (countUpcomingTrips() > 0) { ?>
$icon = "fa-lock";
}else{
if (getUserMemberStatus($_SESSION['user_id'])) {
- $blog_link = $row['link'];
+ $blog_link = "blog_read.php?token=".encryptData($blog_id, $salt);
$button_hover = "Read More";
$icon = "fa-arrow-right";
}else{
@@ -572,7 +572,7 @@ if (countUpcomingTrips() > 0) { ?>
}
}
}else{
- $blog_link = $row['link'];
+ $blog_link = "blog_read.php?token=".encryptData($blog_id, $salt);
$button_hover = "Read More";
$icon = "fa-arrow-right";
}
@@ -591,7 +591,7 @@ if (countUpcomingTrips() > 0) { ?>