Skip to content
Snippets Groups Projects
Commit 0dc2c4c0 authored by Thomas Hackl's avatar Thomas Hackl
Browse files

check for news expiration in cronjob

parent 63aa7084
No related branches found
Tags v1.4.4
No related merge requests found
......@@ -77,34 +77,41 @@ class MatrixPostNewsCronjob extends CronJob
print_r($news);
}
foreach (StudipNews::findMany($news) as $one) {
foreach ($one->news_ranges as $range) {
$success = false;
if ($range->course && MatrixRoom::hasRoom($range->course->id)) {
$room = MatrixRoom::find($range->course->id);
if ($one->date + $one->expire >= time()) {
foreach ($one->news_ranges as $range) {
$success = false;
if ($range->course && MatrixRoom::hasRoom($range->course->id)) {
$room = MatrixRoom::find($range->course->id);
$success = MatrixClient::get()->postMessage(
MatrixAccount::requireSystemAccount(),
$room->getLinkedRoom(),
'Ankündigung: ' . $one->topic . ' ' . strip_tags($one->body),
'<strong>Ankündigung: ' . $one->topic . '</strong><br>' . $one->body
);
$success = MatrixClient::get()->postMessage(
MatrixAccount::requireSystemAccount(),
$room->getLinkedRoom(),
'Ankündigung: ' . $one->topic . ' ' . strip_tags($one->body),
'<strong>Ankündigung: ' . $one->topic . '</strong><br>' . $one->body
);
// Mark entry as done after message has been posted to Matrix room successfully.
if ($success) {
// Verbose output
if ($parameters['verbose']) {
echo sprintf(
"Posted news entry $1%s to Matrix room $2%s in course $3%s.\n",
$one->id, $room->matrix_room_id, $room->range_id
);
}
// Mark entry as done after message has been posted to Matrix room successfully.
if ($success) {
// Verbose output
if ($parameters['verbose']) {
echo sprintf(
"Posted news entry $1%s to Matrix room $2%s in course $3%s.\n",
$news->id, $room->matrix_room_id, $room->range_id
DBManager::get()->execute(
"UPDATE `matrix_upcoming_news` SET `posted` = 1 WHERE `news_id` = :id AND `range_id` = :range",
['id' => $one->id, 'range' => $range->course->id]
);
}
DBManager::get()->execute(
"UPDATE `matrix_upcoming_news` SET `posted` = 1 WHERE `news_id` = :id AND `range_id` = :range",
['id' => $one->id, 'range' => $range->course->id]
);
}
}
} else {
DBManager::get()->execute(
"DELETE FROM `matrix_upcoming_news` WHERE `news_id` = :id",
['id' => $one->id]
);
}
}
......
pluginname=Matrix-Chat
pluginclassname=MatrixPlugin
origin=data-quest
version=1.4.3
version=1.4.4
screenshot=assets/images/matrix_logo.png
description=Matrix chat for Stud.IP courses
studipMinVersion=4.5
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment