1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?php
/**
* remind_oer_upload.php - Sends reminder emails for uploading files to OER Campus.
*
* @author Michaela Brückner <brueckner@data-quest.de>, Suchi & Berg GmbH <info@data-quest.de>
* @access public
* @since 5.2
*/
require_once 'lib/classes/CronJob.php';
class RemindOerUpload extends CronJob
{
public static function getName()
{
return _('An OER-Campus Upload erinnern');
}
public static function getDescription()
{
return _('Erinnert den Autor am Ende des Semesters an eine Datei, die in den OER-Campus hochgeladen werden soll.');
}
public function execute($last_result, $parameters = [])
{
// check the reminder date, which now is in past
$query = "SELECT `file_ref_id` FROM `oer_post_upload`
WHERE `reminder_date` < UNIX_TIMESTAMP()";
$results = DBManager::get()->fetchAll($query);
// get file information from file_ref_id
foreach ($results as $result) {
$file_ref = FileRef::find($result['file_ref_id']);
if (!FileRef::countBySql('id = ?', [$result['file_ref_id']])) {
// file might be deleted meanwhile, so do not try to send a reminder for it
} else {
$filetype = $file_ref->getFileType();
$file_to_suggest = $filetype->convertToStandardFile();
$author = $file_ref->owner->username;
$link_to_share = URLHelper::getURL('dispatch.php/file/share_oer/' . $result['file_ref_id']);
$linktext = _('Klicken Sie hier, um das Material im OER-Campus zu veröffentlichen.');
$formatted_link = '['. $linktext .']' . $link_to_share;
$oer_reminder_message = sprintf(_("Sie wollten daran erinnert werden, die folgende Datei im OER-Campus zu veröffentlichen:\n\n"
. "Dateiname: %s \n"
. "Beschreibung: %s \n"
. "%s \n\n"),
$file_to_suggest->getFilename(),
$file_to_suggest->getDescription(),
$formatted_link
);
$messaging = new messaging();
$messaging->insert_message(
$oer_reminder_message,
$author,
'____%system%____',
'',
Request::option('message_id'),
'',
null,
_('Erinnerung zur Veröffentlichung einer Datei im OER-Campus')
);
OERPostUpload::deleteBySQL("file_ref_id = ?", [$result['file_ref_id']]);
}
}
}
}
|