Skip to content

Commit 78796d7

Browse files
committed
Fixed deletion of notices at expiry
1 parent 6d37987 commit 78796d7

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

Diff for: resources/lib/UnitySQL.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,15 @@ public function deleteRequestsByUser($user)
126126
$stmt->execute();
127127
}
128128

129-
public function addNotice($title, $date, $content, $operator)
129+
public function addNotice($title, $date, $content, $expiry, $operator)
130130
{
131131
$stmt = $this->conn->prepare(
132-
"INSERT INTO " . self::TABLE_NOTICES . " (date, title, message) VALUES (:date, :title, :message)"
132+
"INSERT INTO " . self::TABLE_NOTICES . " (date, title, message, expiry) VALUES (:date, :title, :message, :expiry)"
133133
);
134134
$stmt->bindParam(":date", $date);
135135
$stmt->bindParam(":title", $title);
136136
$stmt->bindParam(":message", $content);
137+
$stmt->bindParam(":expiry", $expiry);
137138

138139
$stmt->execute();
139140

@@ -147,14 +148,15 @@ public function addNotice($title, $date, $content, $operator)
147148
);
148149
}
149150

150-
public function editNotice($id, $title, $date, $content)
151+
public function editNotice($id, $title, $date, $content, $expiry)
151152
{
152153
$stmt = $this->conn->prepare(
153-
"UPDATE " . self::TABLE_NOTICES . " SET date=:date, title=:title, message=:message WHERE id=:id"
154+
"UPDATE " . self::TABLE_NOTICES . " SET date=:date, title=:title, message=:message, expiry=:expiry WHERE id=:id"
154155
);
155156
$stmt->bindParam(":date", $date);
156157
$stmt->bindParam(":title", $title);
157158
$stmt->bindParam(":message", $content);
159+
$stmt->bindParam(":expiry", $expiry);
158160
$stmt->bindParam(":id", $id);
159161

160162
$stmt->execute();

Diff for: tools/docker-dev/sql/bootstrap.sql

+4-4
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,16 @@ CREATE TABLE `notices` (
148148
`date` timestamp NOT NULL DEFAULT current_timestamp(),
149149
`title` varchar(300) NOT NULL,
150150
`message` longtext NOT NULL,
151-
`expiry` timestamp NOT NULL DEFAULT DATE_ADD(CURDATE(), INTERVAL 7 DAY)
151+
`expiry` timestamp NOT NULL DEFAULT DATE_ADD(current_timestamp(), INTERVAL 14 DAY)
152152
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
153153

154154
--
155155
-- Dumping data for table `notices`
156156
--
157157

158-
INSERT INTO `notices` (`id`, `date`, `title`, `message`) VALUES
159-
(9, '2022-09-19 15:49:10', 'Example Notice 1', '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'),
160-
(10, '2022-09-14 11:48:39', 'Example Notice 2', '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>', '2024-05-29');
158+
INSERT INTO `notices` (`id`, `date`, `title`, `message`, `expiry`) VALUES
159+
(9, '2022-09-19 15:49:10', 'Example Notice 1', '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>', '2025-05-29 01:02:03'),
160+
(10, '2024-03-02 00:00:00', 'Example Notice 2', '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>', '2024-03-02 00:00:00');
161161

162162
-- --------------------------------------------------------
163163

Diff for: webroot/admin/notices.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
if ($_SERVER["REQUEST_METHOD"] == "POST") {
1010
switch ($_POST["form_type"]) {
1111
case "newNotice":
12-
$SQL->addNotice($_POST["title"], $_POST["date"], $_POST["content"], $USER);
12+
$SQL->addNotice($_POST["title"], $_POST["date"], $_POST["content"], $_POST["expiry"], $USER);
1313

1414
break;
1515
case "editNotice":
16-
$SQL->editNotice($_POST["id"], $_POST["title"], $_POST["date"], $_POST["content"]);
16+
$SQL->editNotice($_POST["id"], $_POST["title"], $_POST["date"], $_POST["content"], $_POST["expiry"]);
1717

1818
break;
1919
case "delNotice":

Diff for: webroot/index.php

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717

1818
$notices = $SQL->getNotices();
1919
foreach ($notices as $notice) {
20+
if ($notice["expiry"] < date('Y-m-d')) {
21+
$SQL->deleteNotice($notice["id"]);
22+
continue;
23+
}
2024
echo "<div class='notice'>";
2125
echo "<span class='noticeTitle'>" . $notice["title"] . "</span>";
2226
echo "<span class='noticeDate'>" . date('m-d-Y', strtotime($notice["date"])) . "</span>";

Diff for: workers/notices-expiry-deletion.php

-6
This file was deleted.

0 commit comments

Comments
 (0)