diff --git a/inc/inc.Tasks.php b/inc/inc.Tasks.php index 8fe23ba1a..3d5db933a 100644 --- a/inc/inc.Tasks.php +++ b/inc/inc.Tasks.php @@ -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 = "%s%d%s"; - $tableformatheadhtml = "%s%s%s"; + $tableformat = " %-10s %-60s"; + $tableformathead = " %-10s %-60s"; + $tableformathtml = "%s%s"; + $tableformatheadhtml = "%s%s"; 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 = '

'.$auser->getLogin()." <".$auser->getEmail().">

"; $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 .= '

'.getMLText('startdate', [], null, $auser->getLanguage()).': '.getLongReadableDate($start)."

"; + $bodyhtml .= '

'.getMLText('enddate', [], null, $auser->getLanguage()).': '.getLongReadableDate($end)."

"; $bodyhtml .= "".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 .= "
".PHP_EOL; $params = array();