Projects
Kolab:3.4
roundcubemail-plugins-kolab
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 19
View file
roundcubemail-plugins-kolab.spec
Changed
@@ -23,7 +23,7 @@ %global roundcube_lib %{_var}/lib/roundcubemail Name: roundcubemail-plugins-kolab -Version: 3.1.5 +Version: 3.1.6 Release: 1%{?dist} Summary: Kolab Groupware plugins for Roundcube Webmail @@ -208,6 +208,9 @@ %attr(0770,root,%{httpd_group}) %{roundcube_lib}/plugins/odfviewer %changelog +* Thu Oct 31 2013 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 3.1.6-1 +- New upstream version + * Fri Oct 18 2013 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 3.1.5-1 - New upstream release, with major caching improvements
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +roundcubemail-plugins-kolab (1:3.1.6-0~kolab1) unstable; urgency=low + + * New upstream version 3.1.6 + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Fri, 31 Oct 2013 18:41:13 +0200 + roundcubemail-plugins-kolab (1:3.1.5-0~kolab2) unstable; urgency=low * adding kolab_logo.png, bug 2423
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/calendar.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/calendar.php
Changed
@@ -2181,7 +2181,7 @@ $schema = 'https'; $default_port = 443; } - $url = $schema . '://' . $_SERVER['HTTP_HOST']; + $url = $schema . '://' . preg_replace('/:\d+$/', '', $_SERVER['HTTP_HOST']); if ($_SERVER['SERVER_PORT'] != $default_port) $url .= ':' . $_SERVER['SERVER_PORT']; if (dirname($_SERVER['SCRIPT_NAME']) != '/')
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/calendar_ui.js -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/calendar_ui.js
Changed
@@ -332,7 +332,7 @@ // list event attendees if (calendar.attendees && event.attendees) { - var data, dispname, organizer = false, rsvp = false, html = ''; + var data, dispname, organizer = false, rsvp = false, line, morelink, html = '',overflow = ''; for (var j=0; j < event.attendees.length; j++) { data = event.attendees[j]; dispname = Q(data.name || data.email); @@ -343,12 +343,16 @@ else if ((data.status == 'NEEDS-ACTION' || data.status == 'TENTATIVE') && settings.identity.emails.indexOf(';'+data.email) >= 0) rsvp = data.status.toLowerCase(); } - html += '<span class="attendee ' + String(data.role == 'ORGANIZER' ? 'organizer' : data.status).toLowerCase() + '">' + dispname + '</span> '; + + line = '<span class="attendee ' + String(data.role == 'ORGANIZER' ? 'organizer' : data.status).toLowerCase() + '">' + dispname + '</span> '; + if (morelink) + overflow += line; + else + html += line; // stop listing attendees if (j == 7 && event.attendees.length >= 7) { - html += ' <em>' + rcmail.gettext('andnmore', 'calendar').replace('$nr', event.attendees.length - j - 1) + '</em>'; - break; + morelink = $('<a href="#more" class="morelink"></a>').html(rcmail.gettext('andnmore', 'calendar').replace('$nr', event.attendees.length - j - 1)); } } @@ -357,6 +361,20 @@ .children('.event-text') .html(html) .find('a.mailtolink').click(function(e) { rcmail.redirect(rcmail.url('mail/compose', { _to:this.href.substr(7) })); return false; }); + + // display all attendees in a popup when clicking the "more" link + if (morelink) { + $('#event-attendees .event-text').append(morelink); + morelink.click(function(e){ + rcmail.show_popup_dialog( + '<div id="all-event-attendees" class="event-attendees">' + html + overflow + '</div>', + rcmail.gettext('tabattendees','calendar'), + null, + { width:450, modal:false }); + $('#all-event-attendees a.mailtolink').click(function(e) { rcmail.redirect(rcmail.url('mail/compose', { _to:this.href.substr(7) })); return false; }); + return false; + }) + } } $('#event-rsvp')[(rsvp&&!organizer?'show':'hide')]();
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/drivers/database/database_driver.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/drivers/database/database_driver.php
Changed
@@ -90,6 +90,7 @@ $arr['showalarms'] = intval($arr['showalarms']); $arr['active'] = !in_array($arr['id'], $hidden); $arr['name'] = html::quote($arr['name']); + $arr['listname'] = html::quote($arr['name']); $this->calendars[$arr['calendar_id']] = $arr; $calendar_ids[] = $this->rc->db->quote($arr['calendar_id']); }
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/drivers/kolab/kolab_calendar.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/drivers/kolab/kolab_calendar.php
Changed
@@ -579,6 +579,10 @@ if (is_array($record['categories'])) $record['categories'] = $record['categories'][0]; + // The web client only supports DISPLAY type of alarms + if (!empty($record['alarms'])) + $record['alarms'] = preg_replace('/:[A-Z]+$/', 'DISPLAY', $record['alarms']); + // remove empty recurrence array if (empty($record['recurrence'])) unset($record['recurrence']);
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php
Changed
@@ -114,21 +114,22 @@ foreach ($folders as $id => $cal) { $fullname = $cal->get_name(); - $name = kolab_storage::folder_displayname($fullname, $names); + $listname = kolab_storage::folder_displayname($fullname, $names); // special handling for virtual folders if ($cal->virtual) { $calendars[$cal->id] = array( 'id' => $cal->id, - 'name' => $name, + 'name' => $fullname, + 'listname' => $listname, 'virtual' => true, ); } else { $calendars[$cal->id] = array( 'id' => $cal->id, - 'name' => $name, - 'altname' => $fullname, + 'name' => $fullname, + 'listname' => $listname, 'editname' => $cal->get_foldername(), 'color' => $cal->get_color(), 'readonly' => $cal->readonly,
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/lib/calendar_ui.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/lib/calendar_ui.php
Changed
@@ -200,7 +200,7 @@ $html_id = html_identifier($id); $class = 'cal-' . asciiwords($id, true); - $title = !empty($prop['altname']) && $prop['altname'] != $prop['name'] ? html_entity_decode($prop['altname'], ENT_COMPAT, RCMAIL_CHARSET) : ''; + $title = $prop['name'] != $prop['listname'] ? html_entity_decode($prop['name'], ENT_COMPAT, RCMAIL_CHARSET) : ''; if ($prop['virtual']) $class .= ' virtual'; @@ -212,7 +212,7 @@ $li .= html::tag('li', array('id' => 'rcmlical' . $html_id, 'class' => $class), ($prop['virtual'] ? '' : html::tag('input', array('type' => 'checkbox', 'name' => '_cal[]', 'value' => $id, 'checked' => $prop['active']), '') . html::span('handle', ' ')) . - html::span(array('class' => 'calname', 'title' => $title), $prop['name'])); + html::span(array('class' => 'calname', 'title' => $title), $prop['listname'])); } $this->rc->output->set_env('calendars', $jsenv);
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/skins/classic/calendar.css -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/skins/classic/calendar.css
Changed
@@ -374,37 +374,44 @@ margin: 0.5em 0; } -#event-attendees span.attendee { +.event-attendees span.attendee { padding-right: 18px; margin-right: 0.5em; background: url(images/attendee-status.gif) right 0 no-repeat; } -#event-attendees span.attendee a.mailtolink { +.event-attendees span.attendee a.mailtolink { text-decoration: none; white-space: nowrap; } -#event-attendees span.attendee a.mailtolink:hover { +.event-attendees span.attendee a.mailtolink:hover { text-decoration: underline; } -#event-attendees span.accepted { +.event-attendees span.accepted { background-position: right -20px; } -#event-attendees span.declined { +.event-attendees span.declined { background-position: right -40px; } -#event-attendees span.tentative { +.event-attendees span.tentative { background-position: right -60px; } -#event-attendees span.organizer { +.event-attendees span.organizer { background-position: right -80px; } +#all-event-attendees span.attendee { + display: block; + margin-bottom: 4px; + padding-bottom: 3px; + border-bottom: 1px solid #ddd; +} + /* jQuery UI overrides */ #eventshow h1 {
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/skins/classic/templates/calendar.html -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/skins/classic/templates/calendar.html
Changed
@@ -63,7 +63,7 @@ <h5 class="label"><roundcube:label name="calendar.alarms" /></h5> <div class="event-text"></div> </div> - <div class="event-section" id="event-attendees"> + <div class="event-section event-attendees" id="event-attendees"> <h5 class="label"><roundcube:label name="calendar.tabattendees" /></h5> <div class="event-text"></div> </div>
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/skins/larry/calendar.css -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/skins/larry/calendar.css
Changed
@@ -428,37 +428,45 @@ outline: none; } -#event-attendees span.attendee { +.event-attendees span.attendee { padding-right: 18px; margin-right: 0.5em; background: url(images/attendee-status.gif) right 0 no-repeat; } -#event-attendees span.attendee a.mailtolink { +.event-attendees span.attendee a.mailtolink { text-decoration: none; white-space: nowrap; + outline: none; } -#event-attendees span.attendee a.mailtolink:hover { +.event-attendees span.attendee a.mailtolink:hover { text-decoration: underline; } -#event-attendees span.accepted { +.event-attendees span.accepted { background-position: right -20px; } -#event-attendees span.declined { +.event-attendees span.declined { background-position: right -40px; } -#event-attendees span.tentative { +.event-attendees span.tentative { background-position: right -60px; } -#event-attendees span.organizer { +.event-attendees span.organizer { background-position: right -80px; } +#all-event-attendees span.attendee { + display: block; + margin-bottom: 0.4em; + padding-bottom: 0.3em; + border-bottom: 1px solid #ddd; +} + .calendarmain .fc-view-table td.fc-list-header, #attendees-freebusy-table h3.boxtitle, #schedule-freebusy-times thead th,
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/calendar/skins/larry/templates/calendar.html -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/calendar/skins/larry/templates/calendar.html
Changed
@@ -77,7 +77,7 @@ <h5 class="label"><roundcube:label name="calendar.alarms" /></h5> <div class="event-text"></div> </div> - <div class="event-section" id="event-attendees"> + <div class="event-section event-attendees" id="event-attendees"> <h5 class="label"><roundcube:label name="calendar.tabattendees" /></h5> <div class="event-text"></div> </div>
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libcalendaring/libcalendaring.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libcalendaring/libcalendaring.php
Changed
@@ -75,10 +75,17 @@ $this->rc = rcube::get_instance(); // set user's timezone - $this->timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + try { + $this->timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + } + catch (Exception $e) { + $this->timezone = new DateTimeZone('GMT'); + } + $now = new DateTime('now', $this->timezone); - $this->gmt_offset = $now->getOffset(); - $this->dst_active = $now->format('I'); + + $this->gmt_offset = $now->getOffset(); + $this->dst_active = $now->format('I'); $this->timezone_offset = $this->gmt_offset / 3600 - $this->dst_active; $this->add_texts('localization/', false);
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libcalendaring/libvcalendar.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libcalendaring/libvcalendar.php
Changed
@@ -426,15 +426,15 @@ } // find alarms - if ($valarms = $ve->select('VALARM')) { + foreach ($ve->select('VALARM') as $valarm) { $action = 'DISPLAY'; $trigger = null; - $valarm = reset($valarms); foreach ($valarm->children as $prop) { switch ($prop->name) { case 'TRIGGER': foreach ($prop->parameters as $param) { + console(strval($param->name), strval($param->value)); if ($param->name == 'VALUE' && $param->value == 'DATE-TIME') { $trigger = '@' . $prop->getDateTime()->format('U'); } @@ -450,8 +450,10 @@ } } - if ($trigger) + if ($trigger && strtoupper($action) != 'NONE') { $event['alarms'] = $trigger . ':' . $action; + break; + } } // assign current timezone to event start/end
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libcalendaring/tests/libvcalendar.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libcalendaring/tests/libvcalendar.php
Changed
@@ -153,6 +153,22 @@ /** * @depends test_import */ + function test_apple_alarms() + { + $ical = new libvcalendar(); + $events = $ical->import_from_file(__DIR__ . '/resources/apple-alarms.ics', 'UTF-8'); + $event = $events[0]; + + // alarms + $this->assertEquals('-45M:AUDIO', $event['alarms'], "Relative alarm string"); + $alarm = libcalendaring::parse_alaram_value($event['alarms']); + $this->assertEquals('45', $alarm[0], "Alarm value"); + $this->assertEquals('-M', $alarm[1], "Alarm unit"); + } + + /** + * @depends test_import + */ function test_freebusy() { $ical = new libvcalendar();
View file
roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libcalendaring/tests/resources/apple-alarms.ics
Added
@@ -0,0 +1,50 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Apple Inc.//Mac OS X 10.9//EN +CALSCALE:GREGORIAN +BEGIN:VTIMEZONE +TZID:Europe/Zurich +BEGIN:DAYLIGHT +TZOFFSETFROM:+0100 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU +DTSTART:19810329T020000 +TZNAME:MESZ +TZOFFSETTO:+0200 +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:+0200 +RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU +DTSTART:19961027T030000 +TZNAME:MEZ +TZOFFSETTO:+0100 +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +TRANSP:OPAQUE +DTEND;TZID=Europe/Zurich:20131106T100000 +UID:EF185A2A-55FA-4FF3-9B02-56B0914FC79A +DTSTAMP:20131029T123927Z +LOCATION: +DESCRIPTION:With alarm +STATUS:CONFIRMED +SEQUENCE:4 +X-APPLE-TRAVEL-DURATION:PT30M +SUMMARY:Testing Bug 2415 +LAST-MODIFIED:20131029T123819Z +DTSTART;TZID=Europe/Zurich:20131106T090000 +CREATED:20131029T123819Z +BEGIN:VALARM +X-WR-ALARMUID:C4A26F1A-A433-4102-82D5-A3347FC126D4 +UID:C4A26F1A-A433-4102-82D5-A3347FC126D4 +TRIGGER;VALUE=DATE-TIME:19760401T005545Z +ACTION:NONE +END:VALARM +BEGIN:VALARM +X-WR-ALARMUID:DEF5F23D-98FC-4510-BC99-F877CD9A9F8B +UID:DEF5F23D-98FC-4510-BC99-F877CD9A9F8B +TRIGGER;X-APPLE-RELATED-TRAVEL=-PT15M:-PT45M +ATTACH;VALUE=URI:Basso +ACTION:AUDIO +END:VALARM +END:VEVENT +END:VCALENDAR \ No newline at end of file
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_date_recurrence.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_date_recurrence.php
Changed
@@ -101,16 +101,35 @@ /** * Get the end date of the occurence of this recurrence cycle * - * @param string Date limit (where infinite recurrences should abort) * @return mixed Timestamp with end date of the last event or False if recurrence exceeds limit */ - public function end($limit = 'now +1 year') + public function end() { - $limit_dt = new DateTime($limit); - if ($this->engine && ($cend = $this->engine->getLastOccurrence()) && ($end_dt = kolab_format::php_datetime(new cDateTime($cend))) && $end_dt < $limit_dt) { + $event = $this->object->to_array(); + + // recurrence end date is given + if ($event['recurrence']['UNTIL'] instanceof DateTime) { + return $event['recurrence']['UNTIL']->format('U'); + } + + // let libkolab do the work + if ($this->engine && ($cend = $this->engine->getLastOccurrence()) && ($end_dt = kolab_format::php_datetime(new cDateTime($cend)))) { return $end_dt->format('U'); } + // determine a reasonable end date if none given + if (!$event['recurrence']['COUNT']) { + switch ($event['recurrence']['FREQ']) { + case 'YEARLY': $intvl = 'P100Y'; break; + case 'MONTHLY': $intvl = 'P20Y'; break; + default: $intvl = 'P10Y'; break; + } + + $end_dt = clone $event['start']; + $end_dt->add(new DateInterval($intvl)); + return $end_dt->format('U'); + } + return false; } }
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format.php
Changed
@@ -40,6 +40,7 @@ protected $data; protected $xmldata; protected $xmlobject; + protected $formaterror; protected $loaded = false; protected $version = '3.0'; @@ -248,7 +249,7 @@ $log = "Error"; } - if ($log) { + if ($log && !isset($this->formaterror)) { rcube::raise_error(array( 'code' => 660, 'type' => 'php', @@ -256,6 +257,8 @@ 'line' => __LINE__, 'message' => "kolabformat $log: " . kolabformat::errorMessage(), ), true); + + $this->formaterror = $ret; } return $ret; @@ -342,6 +345,7 @@ */ public function load($xml) { + $this->formaterror = null; $read_func = $this->libfunc($this->read_func); if (is_array($read_func)) @@ -365,6 +369,8 @@ */ public function write($version = null) { + $this->formaterror = null; + $this->init(); $write_func = $this->libfunc($this->write_func); if (is_array($write_func)) @@ -395,13 +401,13 @@ // set some automatic values if missing if (empty($object['created']) && method_exists($this->obj, 'setCreated')) { $cdt = $this->obj->created(); - $object['created'] = $cdt && $cdt->isValid() ? self::php_datetime($cdt) : new DateTime('now', self::$timezone); + $object['created'] = $cdt && $cdt->isValid() ? self::php_datetime($cdt) : new DateTime('now', new DateTimeZone('UTC')); if (!$cdt || !$cdt->isValid()) $this->obj->setCreated(self::get_datetime($object['created'])); } - $object['changed'] = new DateTime('now', self::$timezone); - $this->obj->setLastModified(self::get_datetime($object['changed'], new DateTimeZone('UTC'))); + $object['changed'] = new DateTime('now', new DateTimeZone('UTC')); + $this->obj->setLastModified(self::get_datetime($object['changed'])); // Save custom properties of the given object if (isset($object['x-custom'])) {
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_contact.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_contact.php
Changed
@@ -268,7 +268,7 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->uid() /*$this->obj->isValid()*/); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->uid() /*$this->obj->isValid()*/)); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_distributionlist.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_distributionlist.php
Changed
@@ -69,7 +69,7 @@ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid()); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->isValid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_event.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_event.php
Changed
@@ -111,7 +111,8 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid() && $this->obj->uid()); + return !$this->formaterror && (($this->data && !empty($this->data['start']) && !empty($this->data['end'])) || + (is_object($this->obj) && $this->obj->isValid() && $this->obj->uid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_file.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_file.php
Changed
@@ -95,7 +95,7 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid()); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->isValid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_journal.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_journal.php
Changed
@@ -54,7 +54,7 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid()); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->isValid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_note.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_note.php
Changed
@@ -54,7 +54,7 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid()); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->isValid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_format_task.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_format_task.php
Changed
@@ -63,7 +63,7 @@ */ public function is_valid() { - return $this->data || (is_object($this->obj) && $this->obj->isValid()); + return !$this->formaterror && ($this->data || (is_object($this->obj) && $this->obj->isValid())); } /**
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_storage.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_storage.php
Changed
@@ -683,11 +683,12 @@ */ public static function sort_folders($folders) { + $pad = ' '; $nsnames = array('personal' => array(), 'shared' => array(), 'other' => array()); foreach ($folders as $folder) { $folders[$folder->name] = $folder; $ns = $folder->get_namespace(); - $nsnames[$ns][$folder->name] = strtolower(html_entity_decode(self::object_name($folder->name, $ns), ENT_COMPAT, RCUBE_CHARSET)); // decode » + $nsnames[$ns][$folder->name] = strtolower(html_entity_decode(self::object_name($folder->name, $ns), ENT_COMPAT, RCUBE_CHARSET)) . $pad; // decode » } $names = array();
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/libkolab/lib/kolab_storage_cache_event.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/libkolab/lib/kolab_storage_cache_event.php
Changed
@@ -41,7 +41,7 @@ // extend date range for recurring events if ($object['recurrence'] && $object['_formatobj']) { $recurrence = new kolab_date_recurrence($object['_formatobj']); - $sql_data['dtend'] = date('Y-m-d 23:59:59', $recurrence->end() ?: strtotime('now +1 year')); + $sql_data['dtend'] = date('Y-m-d 23:59:59', $recurrence->end() ?: strtotime('now +10 years')); } return $sql_data;
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/tasklist/drivers/database/tasklist_database_driver.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/tasklist/drivers/database/tasklist_database_driver.php
Changed
@@ -73,6 +73,7 @@ $arr['showalarms'] = intval($arr['showalarms']); $arr['active'] = !in_array($arr['id'], $hidden); $arr['name'] = html::quote($arr['name']); + $arr['listname'] = html::quote($arr['name']); $arr['editable'] = true; $this->lists[$arr['id']] = $arr; $list_ids[] = $this->rc->db->quote($arr['id']);
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
Changed
@@ -95,14 +95,15 @@ $path_imap = join($delim, $path_imap); $fullname = kolab_storage::object_name($utf7name); - $name = kolab_storage::folder_displayname($fullname, $listnames); + $listname = kolab_storage::folder_displayname($fullname, $listnames); // special handling for virtual folders if ($folder->virtual) { $list_id = kolab_storage::folder_id($utf7name); $this->lists[$list_id] = array( 'id' => $list_id, - 'name' => $name, + 'name' => $fullname, + 'listname' => $listname, 'virtual' => true, ); continue; @@ -127,8 +128,8 @@ $list_id = kolab_storage::folder_id($utf7name); $tasklist = array( 'id' => $list_id, - 'name' => $name, - 'altname' => $fullname, + 'name' => $fullname, + 'listname' => $listname, 'editname' => $editname, 'color' => $folder->get_color('0000CC'), 'showalarms' => isset($prefs[$list_id]['showalarms']) ? $prefs[$list_id]['showalarms'] : $alarms,
View file
roundcubemail-plugins-kolab-3.1.5.tar.gz/plugins/tasklist/tasklist_ui.php -> roundcubemail-plugins-kolab-3.1.6.tar.gz/plugins/tasklist/tasklist_ui.php
Changed
@@ -106,7 +106,7 @@ $html_id = html_identifier($id); $class = 'tasks-' . asciiwords($id, true); - $title = !empty($prop['altname']) && $prop['altname'] != $prop['name'] ? html_entity_decode($prop['altname'], ENT_COMPAT, RCMAIL_CHARSET) : ''; + $title = $prop['name'] != $prop['listname'] ? html_entity_decode($prop['name'], ENT_COMPAT, RCMAIL_CHARSET) : ''; if ($prop['virtual']) $class .= ' virtual'; @@ -118,7 +118,7 @@ $li .= html::tag('li', array('id' => 'rcmlitasklist' . $html_id, 'class' => $class), ($prop['virtual'] ? '' : html::tag('input', array('type' => 'checkbox', 'name' => '_list[]', 'value' => $id, 'checked' => $prop['active']))) . html::span('handle', ' ') . - html::span(array('class' => 'listname', 'title' => $title), $prop['name'])); + html::span(array('class' => 'listname', 'title' => $title), $prop['listname'])); } $this->rc->output->set_env('tasklists', $jsenv);
View file
roundcubemail-plugins-kolab.dsc
Changed
@@ -2,15 +2,13 @@ Source: roundcubemail-plugins-kolab Binary: roundcubemail-plugins-kolab Architecture: all -Version: 1:3.1.5-0~kolab2 +Version: 1:3.1.6-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 -Vcs-Browser: http://git.kolabsys.com/apt/roundcube-plugins-kolab.git -Vcs-Git: git://git.kolabsys.com/git/apt/roundcube-plugins-kolab Build-Depends: debhelper (>= 8) Package-List: roundcubemail-plugins-kolab deb web extra Files: - 00000000000000000000000000000000 0 roundcubemail-plugins-kolab-3.1.5.tar.gz + 00000000000000000000000000000000 0 roundcubemail-plugins-kolab-3.1.6.tar.gz 00000000000000000000000000000000 0 debian.tar.gz
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
.