fix sending calendar events

This commit is contained in:
Uwe Steinmann 2023-03-24 11:17:16 +01:00
parent 8218b752f5
commit 057abec09c

View File

@ -549,10 +549,10 @@ class SeedDMS_CalendarTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$logger = $this->logger;
$settings = $this->settings;
$taskparams = $task->getParameter();
$tableformat = " %-10s %5d %-60s";
$tableformathead = " %-10s %5s %-60s";
$tableformathtml = "<tr><td>%s</td><td>%d</td><td>%s</td></tr>";
$tableformatheadhtml = "<tr><th>%s</th><th>%s</th><th>%s</th></tr>";
$tableformat = " %-10s %-60s";
$tableformathead = " %-10s %-60s";
$tableformathtml = "<tr><td>%s</td><td>%s</td></tr>";
$tableformatheadhtml = "<tr><th>%s</th><th>%s</th></tr>";
require_once('inc/inc.ClassEmailNotify.php');
require_once('inc/inc.ClassCalendar.php');
@ -565,16 +565,33 @@ class SeedDMS_CalendarTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$body = ''.$auser->getLogin()." <".$auser->getEmail().">\n\n";
$bodyhtml = '<p>'.$auser->getLogin()." &lt;".$auser->getEmail()."&gt;</p>";
$calendar->setUser($auser);
$start = mktime(0,0,0, date('m'), date('d'), date('Y'));
$events = $calendar->getEventsInInterval($start, $start+7*86400);
if(isset($taskparams['days']))
$days = intval($taskparams['days']);
else
$days = 7;
if($days < 0) {
$end = mktime(0,0,0, date('m'), date('d'), date('Y'))-1;
$start = $end+$days*86400+1;
} elseif($days > 0) {
$start = mktime(0,0,0, date('m'), date('d'), date('Y'));
$end = $start+$days*86400-1;
} else {
$start = mktime(0,0,0, date('m'), date('d'), date('Y'));
$end = $start+86400-1;
}
$events = $calendar->getEventsInInterval($start, $end);
if($events && count($events)>0) {
$body .= getMLText('startdate', [], null, $auser->getLanguage()).': '.getLongReadableDate($start)."\n";
$body .= getMLText('enddate', [], null, $auser->getLanguage()).': '.getLongReadableDate($end)."\n\n";
$bodyhtml .= '<p>'.getMLText('startdate', [], null, $auser->getLanguage()).': '.getLongReadableDate($start)."</p>";
$bodyhtml .= '<p>'.getMLText('enddate', [], null, $auser->getLanguage()).': '.getLongReadableDate($end)."</p>";
$bodyhtml .= "<table>".PHP_EOL;
$bodyhtml .= sprintf($tableformatheadhtml."\n", getMLText("date", array(), ""), "ID", getMLText("name", array(), ""));
$body .= sprintf($tableformathead."\n", getMLText("expires", array(), ""), "ID", getMLText("name", array(), ""));
$bodyhtml .= sprintf($tableformatheadhtml."\n", getMLText("date", array(), null, $auser->getLanguage()), getMLText("name", array(), null, $auser->getLanguage()));
$body .= sprintf($tableformathead."\n", getMLText("date", array(), null, $auser->getLanguage()), getMLText("name", array(), null, $auser->getLanguage()));
$body .= "---------------------------------------------------------------------------------\n";
foreach($events as $event) {
$body .= sprintf($tableformat."\n", getReadableDate($event['start']), 1, $event['name']);
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($event['start']), 1, $event['name']);
$body .= sprintf($tableformat."\n", getReadableDate($event['start']), $event['name']);
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($event['start']), $event['name']);
}
$bodyhtml .= "</table>".PHP_EOL;
$params = array();