Projects
Kolab:Winterfell
roundcubemail-plugins-kolab
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 37
View file
roundcubemail-plugins-kolab.spec
Changed
@@ -24,7 +24,7 @@ Name: roundcubemail-plugins-kolab Version: 3.3 -Release: 0.20160310.git%{?dist} +Release: 0.20160311.git%{?dist} Summary: Kolab Groupware plugins for Roundcube Webmail Group: Applications/Internet
View file
debian.changelog
Changed
@@ -1,4 +1,4 @@ -roundcubemail-plugins-kolab (1:3.3~dev20160310-0~kolab1) unstable; urgency=low +roundcubemail-plugins-kolab (1:3.3~dev20160311-0~kolab1) unstable; urgency=low * fix package version: we need epoch 1
View file
roundcubemail-plugins-kolab-3.3.tar.gz/plugins/tasklist/tasklist.php
Changed
@@ -1352,14 +1352,63 @@ else if ($rec['date'] < $today) $mask |= self::FILTER_MASK_OVERDUE; - if ($duedate <= $today || ($rec['startdate'] && $start <= $today)) - $mask |= self::FILTER_MASK_TODAY; - if ($duedate <= $tomorrow || ($rec['startdate'] && $start <= $tomorrow)) - $mask |= self::FILTER_MASK_TOMORROW; - if (($start > $tomorrow && $start <= $weeklimit) || ($duedate > $tomorrow && $duedate <= $weeklimit)) - $mask |= self::FILTER_MASK_WEEK; - else if ($start > $weeklimit || ($rec['date'] && $duedate > $weeklimit)) - $mask |= self::FILTER_MASK_LATER; + if (empty($rec['recurrence']) || $duedate < $today || $start > $weeklimit) { + if ($duedate <= $today || ($rec['startdate'] && $start <= $today)) + $mask |= self::FILTER_MASK_TODAY; + if ($duedate <= $tomorrow || ($rec['startdate'] && $start <= $tomorrow)) + $mask |= self::FILTER_MASK_TOMORROW; + if (($start > $tomorrow && $start <= $weeklimit) || ($duedate > $tomorrow && $duedate <= $weeklimit)) + $mask |= self::FILTER_MASK_WEEK; + else if ($start > $weeklimit || $duedate > $weeklimit) + $mask |= self::FILTER_MASK_LATER; + } + else if ($rec['startdate'] || $rec['date']) { + $date = new DateTime($rec['startdate'] ?: $rec['date'], $this->timezone); + + // set safe recurrence start + while ($date->format('Y-m-d') >= $today) { + switch ($rec['recurrence']['FREQ']) { + case 'DAILY': + $date = clone $today_date; + $date->sub(new DateInterval('P1D')); + break; + case 'WEEKLY': $date->sub(new DateInterval('P7D')); break; + case 'MONTHLY': $date->sub(new DateInterval('P1M')); break; + case 'YEARLY': $date->sub(new DateInterval('P1Y')); break; + default; break 2; + } + } + + $date->_dateonly = true; + + $engine = libcalendaring::get_recurrence(); + $engine->init($rec['recurrence'], $date); + + // check task occurrences (stop next week) + // FIXME: is there a faster way of doing this? + while ($date = $engine->next()) { + $date = $date->format('Y-m-d'); + + // break iteration asap + if ($date > $duedate || ($mask & self::FILTER_MASK_LATER)) { + break; + } + + if ($date == $today) { + $mask |= self::FILTER_MASK_TODAY; + } + else if ($date == $tomorrow) { + $mask |= self::FILTER_MASK_TOMORROW; + } + else if ($date > $tomorrow && $date <= $weeklimit) { + $mask |= self::FILTER_MASK_WEEK; + } + else if ($date > $weeklimit) { + $mask |= self::FILTER_MASK_LATER; + break; + } + } + } // add masks for assigned tasks if ($this->is_organizer($rec) && !empty($rec['attendees']) && $this->is_attendee($rec) === false)
View file
roundcubemail-plugins-kolab.dsc
Changed
@@ -2,7 +2,7 @@ Source: roundcubemail-plugins-kolab Binary: roundcubemail-plugins-kolab Architecture: all -Version: 1:3.3~dev20160310-0~kolab1 +Version: 1:3.3~dev20160311-0~kolab1 Maintainer: Christoph Wickert <wickert@kolabsys.com> Uploaders: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>, Paul Klos <kolab@klos2day.nl> Standards-Version: 3.9.3
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.