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 13
View file
roundcubemail-plugins-kolab.spec
Changed
@@ -23,7 +23,7 @@ %global roundcube_lib %{_var}/lib/roundcubemail Name: roundcubemail-plugins-kolab -Version: 3.1.3 +Version: 3.1.4 Release: 1%{?dist} Summary: Kolab Groupware plugins for Roundcube Webmail
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +roundcubemail-plugins-kolab (1:3.1.4-1~kolab1) unstable; urgency=low + + * New upstream version 3.1.4 + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Mon, 7 Oct 2013 18:41:13 +0200 + roundcubemail-plugins-kolab (1:3.1.3-1) unstable; urgency=low * New upstream version 3.1.3
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/apps
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/apps/kolab_auth
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/apps/kolab_auth/appinfo
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes/kolab
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes/kolab/core
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes/kolab/core/css
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes/kolab/core/js
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/owncloud/copy_to_owncload/themes/kolab/core/templates
Deleted
-(directory)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/calendar_ui.js -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/calendar_ui.js
Changed
@@ -1911,7 +1911,7 @@ this.calendar_remove = function(calendar) { - if (confirm(rcmail.gettext('deletecalendarconfirm', 'calendar'))) { + if (confirm(rcmail.gettext(calendar.children ? 'deletecalendarconfirmrecursive' : 'deletecalendarconfirm', 'calendar'))) { rcmail.http_post('calendar', { action:'remove', c:{ id:calendar.id } }); return true; } @@ -1920,7 +1920,24 @@ this.calendar_destroy_source = function(id) { + var delete_ids = []; + if (this.calendars[id]) { + // find sub-calendars + if (this.calendars[id].children) { + for (var child_id in this.calendars) { + if (String(child_id).indexOf(id) == 0) + delete_ids.push(child_id); + } + } + else { + delete_ids.push(id); + } + } + + // delete all calendars in the list + for (var i=0; i < delete_ids.length; i++) { + id = delete_ids[i]; fc.fullCalendar('removeEventSource', this.calendars[id]); $(rcmail.get_folder_li(id, 'rcmlical')).remove(); $('#edit-calendar option[value="'+id+'"]').remove(); @@ -1938,7 +1955,8 @@ if ($dialog.is(':ui-dialog')) $dialog.dialog('close'); - $('#event-import-calendar').val(calendar.id); + if (calendar) + $('#event-import-calendar').val(calendar.id); var buttons = {}; buttons[rcmail.gettext('import', 'calendar')] = function() { @@ -2235,7 +2253,7 @@ var id = $(this).data('id'); rcmail.select_folder(id, 'rcmlical'); rcmail.enable_command('calendar-edit', true); - rcmail.enable_command('calendar-remove', 'events-import', 'calendar-showurl', true); + rcmail.enable_command('calendar-remove', 'calendar-showurl', true); me.selected_calendar = id; }) .dblclick(function(){ me.calendar_edit_dialog(me.calendars[me.selected_calendar]); }) @@ -2723,7 +2741,7 @@ rcmail.register_command('calendar-create', function(){ cal.calendar_edit_dialog(null); }, true); rcmail.register_command('calendar-edit', function(){ cal.calendar_edit_dialog(cal.calendars[cal.selected_calendar]); }, false); rcmail.register_command('calendar-remove', function(){ cal.calendar_remove(cal.calendars[cal.selected_calendar]); }, false); - rcmail.register_command('events-import', function(){ cal.import_events(cal.calendars[cal.selected_calendar]); }, false); + rcmail.register_command('events-import', function(){ cal.import_events(cal.calendars[cal.selected_calendar]); }, true); rcmail.register_command('calendar-showurl', function(){ cal.showurl(cal.calendars[cal.selected_calendar]); }, false); // search and export events
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php
Changed
@@ -122,6 +122,7 @@ 'default' => $cal->storage->default, 'active' => $cal->storage->is_active(), 'owner' => $cal->get_owner(), + 'children' => true, // TODO: determine if that folder indeed has child folders ); } @@ -662,6 +663,9 @@ $event['end'] = $master['end']; } + // unset _dateonly flags in (cached) date objects + unset($event['start']->_dateonly, $event['end']->_dateonly); + $success = $storage->update_event($event); break; }
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/localization/de_CH.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/localization/de_CH.inc
Changed
@@ -167,6 +167,7 @@ // messages $labels['deleteventconfirm'] = 'Möchten Sie diesen Termin wirklich löschen?'; $labels['deletecalendarconfirm'] = 'Möchten Sie diesen Kalender mit allen Terminen wirklich löschen?'; +$labels['deletecalendarconfirmrecursive'] = 'Möchten Sie diesen Kalender mit allen Terminen und Unter-Kalendern wirklich löschen?'; $labels['savingdata'] = 'Speichere Daten...'; $labels['errorsaving'] = 'Fehler beim Speichern.'; $labels['operationfailed'] = 'Die Aktion ist fehlgeschlagen.';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/localization/de_DE.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/localization/de_DE.inc
Changed
@@ -167,6 +167,7 @@ // messages $labels['deleteventconfirm'] = 'Möchten Sie diesen Termin wirklich löschen?'; $labels['deletecalendarconfirm'] = 'Möchten Sie diesen Kalender mit allen Terminen wirklich löschen?'; +$labels['deletecalendarconfirmrecursive'] = 'Möchten Sie diesen Kalender mit allen Terminen und Unter-Kalendern wirklich löschen?'; $labels['savingdata'] = 'Speichere Daten...'; $labels['errorsaving'] = 'Fehler beim Speichern.'; $labels['operationfailed'] = 'Die Aktion ist fehlgeschlagen.';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/localization/en_US.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/localization/en_US.inc
Changed
@@ -172,6 +172,7 @@ // messages $labels['deleteventconfirm'] = 'Do you really want to delete this event?'; $labels['deletecalendarconfirm'] = 'Do you really want to delete this calendar with all its events?'; +$labels['deletecalendarconfirmrecursive'] = 'Do you really want to delete this calendar with all its events and sub-calendars?'; $labels['savingdata'] = 'Saving data...'; $labels['errorsaving'] = 'Failed to save changes.'; $labels['operationfailed'] = 'The requested operation failed.';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/skins/classic/templates/calendar.html -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/skins/classic/templates/calendar.html
Changed
@@ -35,8 +35,8 @@ <ul> <li><roundcube:button command="calendar-edit" label="calendar.edit" classAct="active" /></li> <li><roundcube:button command="calendar-remove" label="calendar.remove" classAct="active" /></li> - <li><roundcube:button command="events-import" label="calendar.importevents" classAct="active" /></li> <li><roundcube:button command="calendar-showurl" label="calendar.showurl" classAct="active" /></li> + <li><roundcube:button command="events-import" label="calendar.importevents" classAct="active" /></li> <roundcube:if condition="env:calendar_driver == 'kolab'" /> <li class="separator_above"><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li> <roundcube:endif />
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/calendar/skins/larry/templates/calendar.html -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/calendar/skins/larry/templates/calendar.html
Changed
@@ -49,8 +49,8 @@ <ul class="toolbarmenu"> <li><roundcube:button command="calendar-edit" label="calendar.edit" classAct="active" /></li> <li><roundcube:button command="calendar-remove" label="calendar.remove" classAct="active" /></li> - <li><roundcube:button command="events-import" label="calendar.importevents" classAct="active" /></li> <li><roundcube:button command="calendar-showurl" label="calendar.showurl" classAct="active" /></li> + <li><roundcube:button command="events-import" label="calendar.importevents" classAct="active" /></li> <roundcube:if condition="env:calendar_driver == 'kolab'" /> <li class="separator_above"><roundcube:button command="folders" task="settings" type="link" label="managefolders" classAct="active" /></li> <roundcube:endif />
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/kolab_auth/config.inc.php.dist -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/kolab_auth/config.inc.php.dist
Changed
@@ -72,5 +72,9 @@ ), ); +// List of LDAP addressbooks (keys of ldap_public configuration array) +// for which base_dn variables (%dc, etc.) will be replaced according to authenticated user DN +// Note: special name '*' for all LDAP addressbooks +$rcmail_config['kolab_auth_ldap_addressbooks'] = array('*'); ?>
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/kolab_auth/kolab_auth.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/kolab_auth/kolab_auth.php
Changed
@@ -41,6 +41,9 @@ $this->add_hook('startup', array($this, 'startup')); $this->add_hook('user_create', array($this, 'user_create')); + // Hook for password change + $this->add_hook('password_ldap_bind', array($this, 'password_ldap_bind')); + // Hooks related to "Login As" feature $this->add_hook('template_object_loginform', array($this, 'login_form')); $this->add_hook('storage_connect', array($this, 'imap_connect')); @@ -48,6 +51,9 @@ $this->add_hook('smtp_connect', array($this, 'smtp_connect')); $this->add_hook('identity_form', array($this, 'identity_form')); + // Hook to modify some configuration, e.g. ldap + $this->add_hook('config_get', array($this, 'config_get')); + $this->add_hook('write_log', array($this, 'write_log')); // TODO: This section does not actually seem to work @@ -73,6 +79,35 @@ } /** + * Modify some configuration according to LDAP user record + */ + public function config_get($args) + { + // Replaces ldap_vars (%dc, etc) in public kolab ldap addressbooks + // config based on the users base_dn. (for multi domain support) + if ($args['name'] == 'ldap_public' && !empty($args['result'])) { + $this->load_config(); + + $rcmail = rcube::get_instance(); + $kolab_books = (array) $rcmail->config->get('kolab_auth_ldap_addressbooks'); + + foreach ($args['result'] as $name => $config) { + if (in_array($name, $kolab_books) || in_array('*', $kolab_books)) { + $args['result'][$name]['base_dn'] = self::parse_ldap_vars($config['base_dn']); + $args['result'][$name]['search_base_dn'] = self::parse_ldap_vars($config['search_base_dn']); + $args['result'][$name]['bind_dn'] = str_replace('%dn', $_SESSION['kolab_dn'], $config['bind_dn']); + + if (!empty($config['groups'])) { + $args['result'][$name]['groups']['base_dn'] = self::parse_ldap_vars($config['groups']['base_dn']); + } + } + } + } + + return $args; + } + + /** * Modifies list of plugins and settings according to * specified LDAP roles */ @@ -304,6 +339,16 @@ $ldap = self::ldap(); if (!$ldap || !$ldap->ready) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "LDAP not ready" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -312,6 +357,16 @@ if (empty($record)) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "No user record found" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -345,6 +400,16 @@ if (!$result) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s from %s in session %s (error %s)', + $user, + rcube_utils::remote_ip(), + session_id(), + "Unable to bind with '" . $record['dn'] . "'" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -386,6 +451,17 @@ if (empty($record)) { $args['abort'] = true; + $message = sprintf( + 'Login failure for user %s (as user %s) from %s in session %s (error %s)', + $user, + $loginas, + rcube_utils::remote_ip(), + session_id(), + "No user record found for '" . $loginas . "'" + ); + + rcube::write_log('userlogins', $message); + return $args; } @@ -449,6 +525,20 @@ } /** + * Set user DN for password change (password plugin with ldap_simple driver) + */ + public function password_ldap_bind($args) + { + $args['user_dn'] = $_SESSION['kolab_dn']; + + $rcmail = rcube::get_instance(); + + $rcmail->config->set('password_ldap_method', 'user'); + + return $args; + } + + /** * Sets SASL Proxy login/password for IMAP and Managesieve auth */ public function imap_connect($args)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/kolab_auth/kolab_auth_ldap.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/kolab_auth/kolab_auth_ldap.php
Changed
@@ -119,7 +119,6 @@ $entries = $result->entries(true); $dn = key($entries); $entry = array_pop($entries); - $entry = rcube_ldap_generic::normalize_entry($entry); $entry = $this->field_mapping($dn, $entry); return $entry;
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/libcalendaring/libcalendaring.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/libcalendaring/libcalendaring.php
Changed
@@ -769,6 +769,7 @@ 'dddd' => 'l', 'ddd' => 'D', 'dd' => 'd', + 'd' => 'j', 'HH' => '**', 'hh' => '%%', 'H' => 'G', @@ -799,6 +800,7 @@ 'F' => 'MMMM', 'm' => 'MM', 'n' => 'M', + 'j' => 'd', 'd' => 'dd', 'D' => 'ddd', 'l' => 'dddd',
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/libcalendaring/libvcalendar.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/libcalendaring/libvcalendar.php
Changed
@@ -576,9 +576,11 @@ */ public static function datetime_prop($name, $dt, $utc = false, $dateonly = null) { + $is_utc = $utc || (($tz = $dt->getTimezone()) && in_array($tz->getName(), array('UTC','GMT','Z'))); + $is_dateonly = $dateonly === null ? (bool)$dt->_dateonly : (bool)$dateonly; $vdt = new VObject\Property\DateTime($name); - $vdt->setDateTime($dt, $dt->_dateonly || $dateonly ? VObject\Property\DateTime::DATE : - ($utc ? VObject\Property\DateTime::UTC : VObject\Property\DateTime::LOCALTZ)); + $vdt->setDateTime($dt, $is_dateonly ? VObject\Property\DateTime::DATE : + ($is_utc ? VObject\Property\DateTime::UTC : VObject\Property\DateTime::LOCALTZ)); return $vdt; } @@ -620,6 +622,7 @@ public function export($objects, $method = null, $write = false, $get_attachment = false, $recurrence_id = null) { $memory_limit = parse_bytes(ini_get('memory_limit')); + $this->method = $method; // encapsulate in VCALENDAR container $vcal = VObject\Component::create('VCALENDAR'); @@ -665,6 +668,10 @@ $ve = VObject\Component::create($this->type_component_map[$type]); $ve->add('UID', $event['uid']); + // set DTSTAMP according to RFC 5545, 3.8.7.2. + $dtstamp = !empty($event['changed']) && !empty($this->method) ? $event['changed'] : new DateTime(); + $ve->add(self::datetime_prop('DTSTAMP', $dtstamp, true)); + // all-day events end the next day if ($event['allday'] && !empty($event['end'])) { $event['end'] = clone $event['end']; @@ -674,11 +681,11 @@ if (!empty($event['created'])) $ve->add(self::datetime_prop('CREATED', $event['created'], true)); if (!empty($event['changed'])) - $ve->add(self::datetime_prop('DTSTAMP', $event['changed'], true)); + $ve->add(self::datetime_prop('LAST-MODIFIED', $event['changed'], true)); if (!empty($event['start'])) - $ve->add(self::datetime_prop('DTSTART', $event['start'], false, $event['allday'])); + $ve->add(self::datetime_prop('DTSTART', $event['start'], false, (bool)$event['allday'])); if (!empty($event['end'])) - $ve->add(self::datetime_prop('DTEND', $event['end'], false, $event['allday'])); + $ve->add(self::datetime_prop('DTEND', $event['end'], false, (bool)$event['allday'])); if (!empty($event['due'])) $ve->add(self::datetime_prop('DUE', $event['due'], false));
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/libcalendaring/tests/libvcalendar.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/libcalendaring/tests/libvcalendar.php
Changed
@@ -323,6 +323,19 @@ $this->assertEquals($num, substr_count($output, 'END:VEVENT'), "VEVENT encapsulation END"); } + function test_datetime() + { + $localtime = libvcalendar::datetime_prop('DTSTART', new DateTime('2013-09-01 12:00:00', new DateTimeZone('Europe/Berlin'))); + $localdate = libvcalendar::datetime_prop('DTSTART', new DateTime('2013-09-01', new DateTimeZone('Europe/Berlin')), false, true); + $utctime = libvcalendar::datetime_prop('DTSTART', new DateTime('2013-09-01 12:00:00', new DateTimeZone('UTC'))); + $asutctime = libvcalendar::datetime_prop('DTSTART', new DateTime('2013-09-01 12:00:00', new DateTimeZone('Europe/Berlin')), true); + + $this->assertContains('TZID=Europe/Berlin', $localtime->serialize()); + $this->assertContains('VALUE=DATE', $localdate->serialize()); + $this->assertContains('20130901T120000Z', $utctime->serialize()); + $this->assertContains('20130901T100000Z', $asutctime->serialize()); + } + function get_attachment_data($id, $event) { return $this->attachment_data;
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/libkolab/lib/kolab_format_event.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/libkolab/lib/kolab_format_event.php
Changed
@@ -138,6 +138,17 @@ 'attendees' => array(), ); + // derive event end from duration (#1916) + if (!$object['end'] && $object['start'] && ($duration = $this->obj->duration()) && $duration->isValid()) { + $interval = new DateInterval('PT0S'); + $interval->d = $duration->weeks() * 7 + $duration->days(); + $interval->h = $duration->hours(); + $interval->i = $duration->minutes(); + $interval->s = $duration->seconds(); + $object['end'] = clone $object['start']; + $object['end']->add($interval); + } + // organizer is part of the attendees list in Roundcube if ($object['organizer']) { $object['organizer']['role'] = 'ORGANIZER';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/libkolab/lib/kolab_storage.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/libkolab/lib/kolab_storage.php
Changed
@@ -276,9 +276,16 @@ { self::setup(); + $active = self::folder_is_active($oldname); $success = self::$imap->rename_folder($oldname, $newname); self::$last_error = self::$imap->get_error_str(); + // pass active state to new folder name + if ($success && $active) { + self::set_state($oldnam, false); + self::set_state($newname, true); + } + return $success; }
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps/kolab_auth
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps/kolab_auth/appinfo
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps/kolab_auth/appinfo/app.php
Changed
(renamed from plugins/owncloud/copy_to_owncload/apps/kolab_auth/appinfo/app.php)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps/kolab_auth/appinfo/info.xml
Changed
(renamed from plugins/owncloud/copy_to_owncload/apps/kolab_auth/appinfo/info.xml)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/apps/kolab_auth/appinfo/version
Changed
(renamed from plugins/owncloud/copy_to_owncload/apps/kolab_auth/appinfo/version)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/css
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/css/styles.css
Changed
(renamed from plugins/owncloud/copy_to_owncload/themes/kolab/core/css/styles.css)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/js
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/js/kolab.js
Changed
(renamed from plugins/owncloud/copy_to_owncload/themes/kolab/core/js/kolab.js)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/templates
Added
+(directory)
View file
roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/owncloud/copy_to_owncloud/themes/kolab/core/templates/layout.user.php
Changed
(renamed from plugins/owncloud/copy_to_owncload/themes/kolab/core/templates/layout.user.php)
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
Changed
@@ -118,6 +118,7 @@ 'active' => $folder->is_active(), 'parentfolder' => $path_imap, 'default' => $folder->default, + 'children' => true, // TODO: determine if that folder indeed has child folders 'class_name' => trim($folder->get_namespace() . ($folder->default ? ' default' : '')), ); $this->lists[$tasklist['id']] = $tasklist;
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/tasklist/localization/de_CH.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/tasklist/localization/de_CH.inc
Changed
@@ -67,3 +67,4 @@ $labels['deletetasktconfirm'] = 'Möchten Sie diese Aufgabe wirklich löschen?'; $labels['deleteparenttasktconfirm'] = 'Möchten Sie diese Aufgabe inklusive aller Teilaufgaben wirklich löschen?'; $labels['deletelistconfirm'] = 'Möchten Sie diese Liste mit allen Aufgaben wirklich löschen?'; +$labels['deletelistconfirmrecursive'] = 'Möchten Sie diese Liste mit allen Aufgaben und Unter-Listen wirklich löschen?';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/tasklist/localization/de_DE.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/tasklist/localization/de_DE.inc
Changed
@@ -67,3 +67,4 @@ $labels['deletetasktconfirm'] = 'Möchten Sie diese Aufgabe wirklich löschen?'; $labels['deleteparenttasktconfirm'] = 'Möchten Sie diese Aufgabe inklusive aller Teilaufgaben wirklich löschen?'; $labels['deletelistconfirm'] = 'Möchten Sie diese Liste mit allen Aufgaben wirklich löschen?'; +$labels['deletelistconfirmrecursive'] = 'Möchten Sie diese Liste mit allen Aufgaben und Unter-Listen wirklich löschen?'; \ No newline at end of file
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/tasklist/localization/en_US.inc -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/tasklist/localization/en_US.inc
Changed
@@ -66,3 +66,4 @@ $labels['deletetasktconfirm'] = 'Do you really want to delete this task?'; $labels['deleteparenttasktconfirm'] = 'Do you really want to delete this task and all its subtasks?'; $labels['deletelistconfirm'] = 'Do you really want to delete this list with all its tasks?'; +$labels['deletelistconfirmrecursive'] = 'Do you really want to delete this list with all its sub-lists and tasks?';
View file
roundcubemail-plugins-kolab-3.1.3.tar.gz/plugins/tasklist/tasklist.js -> roundcubemail-plugins-kolab-3.1.4.tar.gz/plugins/tasklist/tasklist.js
Changed
@@ -1416,7 +1416,7 @@ function list_remove(id) { var list = me.tasklists[id]; - if (list && list.editable && confirm(rcmail.gettext('deletelistconfirm', 'tasklist'))) { + if (list && list.editable && confirm(rcmail.gettext(list.children ? 'deletelistconfirmrecursive' : 'deletelistconfirm', 'tasklist'))) { saving_lock = rcmail.set_busy(true, 'tasklist.savingdata'); rcmail.http_post('tasklist', { action:'remove', l:{ id:list.id } }); return true; @@ -1429,17 +1429,35 @@ */ function destroy_list(prop) { - var list = me.tasklists[prop.id], - li = rcmail.get_folder_li(prop.id, 'rcmlitasklist'); - - if (li) { - $(li).remove(); + var li, delete_ids = [], + list = me.tasklists[prop.id]; + + // find sub-lists + if (list && list.children) { + for (var child_id in me.tasklists) { + if (String(child_id).indexOf(prop.id) == 0) + delete_ids.push(child_id); + } } - if (list) { - list.active = false; - // delete me.tasklists[prop.id]; - unlock_saving(); - remove_tasks(list.id); + else { + delete_ids.push(prop.id); + } + + // delete all calendars in the list + for (var i=0; i < delete_ids.length; i++) { + id = delete_ids[i]; + list = me.tasklists[id]; + li = rcmail.get_folder_li(id, 'rcmlitasklist'); + + if (li) { + $(li).remove(); + } + if (list) { + list.active = false; + // delete me.tasklists[prop.id]; + unlock_saving(); + remove_tasks(list.id); + } } }
View file
roundcubemail-plugins-kolab.dsc
Changed
@@ -2,7 +2,7 @@ Source: roundcubemail-plugins-kolab Binary: roundcubemail-plugins-kolab Architecture: all -Version: 1:3.1.3-1 +Version: 1:3.1.4-1 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 @@ -12,5 +12,5 @@ Package-List: roundcubemail-plugins-kolab deb web extra Files: - 00000000000000000000000000000000 0 roundcubemail-plugins-kolab-3.1.3.tar.gz + 00000000000000000000000000000000 0 roundcubemail-plugins-kolab-3.1.4.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
.