Projects
Kolab:3.4
roundcubemail-plugins-kolab
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 63
View file
roundcubemail-plugins-kolab.spec
Changed
@@ -16,11 +16,11 @@ %global httpd_user apache %endif -%global roundcube %{_datadir}/roundcubemail -%global plugindir %{roundcube}/plugins +%global roundcube_version 1.1 +%global datadir %{_datadir}/roundcubemail +%global plugindir %{datadir}/plugins %global confdir %{_sysconfdir}/roundcubemail -%global roundcube_log %{_var}/log/roundcubemail -%global tmpdir %{_var}/lib/roundcubemail +%global tmpdir /var/lib/roundcubemail Name: roundcubemail-plugins-kolab Version: 3.2 @@ -33,7 +33,8 @@ # From git 419296757aad4da3499763a775d42688c3fced70 Source0: http://git.kolab.org/%{name}/snapshot/%{name}-%{version}.tar.gz -Source1: kolab_logo.png +Source1: comm.py +Source10: kolab_logo.png Patch1: 0001-update-translations.patch Patch2: 0002-update-locales.patch @@ -58,116 +59,1005 @@ %description A collection of Kolab Groupware plugins for Roundcube Webmail -%prep -%setup -q +%package plugin-calendar +Summary: Plugin calendar +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-calendar-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-calendar-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libcalendaring) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-calendar) = %{?epoch:%{epoch}:}%{version}-%{release} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%description plugin-calendar +Plugin calendar -%build +%package plugin-kolab_activesync +Summary: Plugin kolab_activesync +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_activesync-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_activesync-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-jqueryui) >= %{roundcube_version} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_activesync) = %{?epoch:%{epoch}:}%{version}-%{release} -%install -rm -rf %{buildroot} -%{__install} -d \ - %{buildroot}%{confdir} \ - %{buildroot}%{plugindir} -cp -a plugins/* %{buildroot}%{plugindir} +%description plugin-kolab_activesync +Plugin kolab_activesync -rm -rf %{buildroot}%{plugindir}/kolab_zpush +%package plugin-kolab_addressbook +Summary: Plugin kolab_addressbook +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_addressbook-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_addressbook-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_addressbook) = %{?epoch:%{epoch}:}%{version}-%{release} -# Calendar -mv %{buildroot}%{plugindir}/calendar/config.inc.php.dist %{buildroot}%{confdir}/calendar.inc.php -rm -rf %{buildroot}%{plugindir}/calendar/config.inc.php -pushd %{buildroot}%{plugindir}/calendar/ -ln -s ../../../../..%{confdir}/calendar.inc.php config.inc.php -popd +%description plugin-kolab_addressbook +Plugin kolab_addressbook -# Kolab address book plugin -mv %{buildroot}%{plugindir}/kolab_addressbook/config.inc.php.dist %{buildroot}%{confdir}/kolab_addressbook.inc.php -pushd %{buildroot}%{plugindir}/kolab_addressbook/ -ln -s ../../../../..%{confdir}/kolab_addressbook.inc.php config.inc.php -popd +%package plugin-kolab_auth +Summary: Plugin kolab_auth +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_auth-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_auth-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_auth) = %{?epoch:%{epoch}:}%{version}-%{release} -# Kolab auth plugin -mv %{buildroot}%{plugindir}/kolab_auth/config.inc.php.dist %{buildroot}%{confdir}/kolab_auth.inc.php -pushd %{buildroot}%{plugindir}/kolab_auth/ -ln -s ../../../../..%{confdir}/kolab_auth.inc.php config.inc.php -popd +%description plugin-kolab_auth +Plugin kolab_auth -# Kolab delegation plugin -mv %{buildroot}%{plugindir}/kolab_delegation/config.inc.php.dist %{buildroot}%{confdir}/kolab_delegation.inc.php -pushd %{buildroot}%{plugindir}/kolab_delegation/ -ln -s ../../../../..%{confdir}/kolab_delegation.inc.php config.inc.php -popd +%package plugin-kolab_config +Summary: Plugin kolab_config +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_config-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_config-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_config) = %{?epoch:%{epoch}:}%{version}-%{release} -# Kolab files plugin -mv %{buildroot}%{plugindir}/kolab_files/config.inc.php.dist %{buildroot}%{confdir}/kolab_files.inc.php -pushd %{buildroot}%{plugindir}/kolab_files/ -ln -s ../../../../..%{confdir}/kolab_files.inc.php config.inc.php -popd +%description plugin-kolab_config +Plugin kolab_config -# Kolab folders plugin -mv %{buildroot}%{plugindir}/kolab_folders/config.inc.php.dist %{buildroot}%{confdir}/kolab_folders.inc.php -pushd %{buildroot}%{plugindir}/kolab_folders/ -ln -s ../../../../..%{confdir}/kolab_folders.inc.php config.inc.php -popd +%package plugin-kolab_delegation +Summary: Plugin kolab_delegation +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_delegation-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_delegation-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_auth) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_delegation) = %{?epoch:%{epoch}:}%{version}-%{release} -# libkolab plugin -mv %{buildroot}%{plugindir}/libkolab/config.inc.php.dist %{buildroot}%{confdir}/libkolab.inc.php -pushd %{buildroot}%{plugindir}/libkolab/ -ln -s ../../../../..%{confdir}/libkolab.inc.php config.inc.php -popd +%description plugin-kolab_delegation +Plugin kolab_delegation -# LDAP Authentication plugin -mv %{buildroot}%{plugindir}/ldap_authentication/config.inc.php.dist %{buildroot}%{confdir}/ldap_authentication.inc.php -pushd %{buildroot}%{plugindir}/ldap_authentication/ -ln -s ../../../../..%{confdir}/ldap_authentication.inc.php config.inc.php -popd +%package plugin-kolab_files +Summary: Plugin kolab_files +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_files-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_files-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_files) = %{?epoch:%{epoch}:}%{version}-%{release} -# Logon page plugin -mv %{buildroot}%{plugindir}/logon_page/logon_page.html %{buildroot}%{confdir}/logon_page.html -pushd %{buildroot}%{plugindir}/logon_page/ -ln -s ../../../../..%{confdir}/logon_page.html logon_page.html -popd +%description plugin-kolab_files +Plugin kolab_files -# odfviewer plugin -mkdir -p %{buildroot}%{tmpdir}/plugins/odfviewer -pushd %{buildroot}%{plugindir}/odfviewer/ -rm -rf files -ln -s ../../../../..%{tmpdir}/plugins/odfviewer files -popd +%package plugin-kolab_folders +Summary: Plugin kolab_folders +Group: Applications/Internet +Requires: roundcubemail(core) >= %{roundcube_version} +Requires: roundcubemail(plugin-kolab_folders-assets) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-kolab_folders-skin) = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: roundcubemail(plugin-libkolab) = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: roundcubemail(plugin-kolab_folders) = %{?epoch:%{epoch}:}%{version}-%{release} -# owncloud plugin -mv %{buildroot}%{plugindir}/owncloud/config.inc.php.dist %{buildroot}%{confdir}/owncloud.inc.php -pushd %{buildroot}%{plugindir}/owncloud/ -ln -s ../../../../..%{confdir}/owncloud.inc.php config.inc.php -popd +%description plugin-kolab_folders +Plugin kolab_folders -# Piwik Analytics plugin
View file
comm.py
Added
@@ -0,0 +1,16 @@ +#!/usr/bin/python + +import sys + +f1 = sys.argv[1] +f2 = sys.argv[2] + +fp1 = open(f1, 'r') +fl1 = fp1.readlines() +fp1.close() + +fp2 = open(f2, 'r') +fl2 = fp2.readlines() +fp2.close() + +print "".join([x for x in fl2 if not x in fl1])
View file
roundcubemail-plugins-kolab-3.2.tar.gz/.tx/config
Changed
@@ -38,6 +38,11 @@ source_file = plugins/kolab_folders/localization/en_US.inc source_lang = en_US +[kolab.kolab_notes] +file_filter = plugins/kolab_notes/localization/<lang>.inc +source_file = plugins/kolab_notes/localization/en_US.inc +source_lang = en_US + [kolab.kolab_tags] file_filter = plugins/kolab_tags/localization/<lang>.inc source_file = plugins/kolab_tags/localization/en_US.inc
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/README
Changed
@@ -20,5 +20,59 @@ IMPORTANT --------- + The calendar module makes heavy use of PHP's DateTime as well as DateInterval classes. The latter one requires at least PHP 5.3.0 to run. + + +REQUIREMENTS +------------ + +Some functions are shared with other plugins and therefore being moved to +library plugins. Thus in order to run the calendar plugin, you also need the +following plugins installed: + +* libcalendaring [1] +* libkolab [1] (when using the 'kolab' driver) + + +INSTALLATION +------------ + +For a manual installation of the calendar plugin (and its dependencies), +execute the following steps. This will set it up with the database backend +driver. + +1. Get the source from git + + $ cd /tmp + $ git clone git://git.kolab.org/git/roundcubemail-plugins-kolab + $ cd /<path-to-roundcube>/plugins + $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar . + $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring . + +2. Create calendar plugin configuration + + $ cd calendar/ + $ cp config.inc.php.dist config.inc.php + $ edit config.inc.php + +3. Initialize the calendar database tables + + $ mysql roundcubemail < drivers/database/SQL/mysql.initial.sql + +4. Enable the calendar plugin + + $ cd ../../ + $ edit config/config.inc.php + +Add 'calendar' to the list of active plugins: + + $config['plugins'] = array( + (...) + 'calendar', + ); + + + +[1] http://git.kolab.org/roundcubemail-plugins-kolab/
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/calendar.php
Changed
@@ -54,6 +54,7 @@ 'calendar_event_coloring' => 0, 'calendar_time_indicator' => true, 'calendar_allow_invite_shared' => false, + 'calendar_itip_send_option' => 3, 'calendar_itip_after_action' => 0, ); @@ -829,7 +830,10 @@ // don't notify if modifying a recurring instance (really?) if ($event['_savemode'] && $event['_savemode'] != 'all' && $event['_notify']) unset($event['_notify']); - + // force notify if hidden + active + else if ((int)$this->rc->config->get('calendar_itip_send_option', $this->defaults['calendar_itip_send_option']) === 1) + $event['_notify'] = 1; + // read old event data in order to find changes if (($event['_notify'] || $event['decline']) && $action != 'new') $old = $this->driver->get_event($event); @@ -933,6 +937,7 @@ break; case "rsvp": + $itip_sending = $this->rc->config->get('calendar_itip_send_option', $this->defaults['calendar_itip_send_option']); $status = get_input_value('status', RCUBE_INPUT_GPC); $reply_comment = $event['comment']; $ev = $this->driver->get_event($event); @@ -940,7 +945,7 @@ $event = $ev; if ($success = $this->driver->edit_rsvp($event, $status)) { - $noreply = intval(get_input_value('noreply', RCUBE_INPUT_GPC)) || $status == 'needs-action'; + $noreply = intval(get_input_value('noreply', RCUBE_INPUT_GPC)) || $status == 'needs-action' || $itip_sending === 0; $reload = $event['calendar'] != $ev['calendar'] ? 2 : 1; $organizer = null; $emails = $this->get_user_emails(); @@ -1475,6 +1480,7 @@ $settings['time_indicator'] = (int)$this->rc->config->get('calendar_time_indicator', $this->defaults['calendar_time_indicator']); $settings['invite_shared'] = (int)$this->rc->config->get('calendar_allow_invite_shared', $this->defaults['calendar_allow_invite_shared']); $settings['invitation_calendars'] = (bool)$this->rc->config->get('kolab_invitation_calendars', false); + $settings['itip_notify'] = (int)$this->rc->config->get('calendar_itip_send_option', $this->defaults['calendar_itip_send_option']); // get user identity to create default attendee if ($this->ui->screen == 'calendar') { @@ -1771,6 +1777,7 @@ $itip = $this->load_itip(); $emails = $this->get_user_emails(); + $itip_notify = (int)$this->rc->config->get('calendar_itip_send_option', $this->defaults['calendar_itip_send_option']); // add comment to the iTip attachment $event['comment'] = $comment; @@ -1795,18 +1802,19 @@ continue; // skip if notification is disabled for this attendee - if ($attendee['noreply']) + if ($attendee['noreply'] && $itip_notify & 2) continue; // which template to use for mail text $is_new = !in_array($attendee['email'], $old_attendees); + $is_rsvp = $is_new || $event['sequence'] > $old['sequence']; $bodytext = $is_cancelled ? 'eventcancelmailbody' : ($is_new ? 'invitationmailbody' : 'eventupdatemailbody'); $subject = $is_cancelled ? 'eventcancelsubject' : ($is_new ? 'invitationsubject' : ($event['title'] ? 'eventupdatesubject':'eventupdatesubjectempty')); $event['comment'] = $comment; // finally send the message - if ($itip->send_itip_message($event, $method, $attendee, $subject, $bodytext, $message)) + if ($itip->send_itip_message($event, $method, $attendee, $subject, $bodytext, $message, $is_rsvp)) $sent++; else $sent = -100; @@ -2390,12 +2398,14 @@ */ public function mail_import_itip() { + $itip_sending = $this->rc->config->get('calendar_itip_send_option', $this->defaults['calendar_itip_send_option']); + $uid = get_input_value('_uid', RCUBE_INPUT_POST); $mbox = get_input_value('_mbox', RCUBE_INPUT_POST); $mime_id = get_input_value('_part', RCUBE_INPUT_POST); $status = get_input_value('_status', RCUBE_INPUT_POST); $delete = intval(get_input_value('_del', RCUBE_INPUT_POST)); - $noreply = intval(get_input_value('_noreply', RCUBE_INPUT_POST)) || $status == 'needs-action'; + $noreply = intval(get_input_value('_noreply', RCUBE_INPUT_POST)) || $status == 'needs-action' || $itip_sending === 0; $error_msg = $this->gettext('errorimportingevent'); $success = false;
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/calendar_base.js
Changed
@@ -125,15 +125,6 @@ rcmail.enable_command('attachment-save-calendar', mimetype == 'text/calendar' || mimetype == 'text/x-vcalendar' || mimetype == 'application/ics'); } }); - - // add contextmenu item - if (window.rcm_contextmenu_register_command) { - rcm_contextmenu_register_command( - 'calendar-create-from-mail', - function(cmd,el){ cal.create_from_mail() }, - 'calendar.createfrommail', - 'moveto'); - } } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/calendar_ui.js
Changed
@@ -688,8 +688,8 @@ var invite = $('#edit-attendees-invite').get(0); var comment = $('#edit-attendees-comment'); - notify.checked = has_attendees(event); - invite.checked = true; + invite.checked = settings.itip_notify & 1 > 0; + notify.checked = has_attendees(event) && invite.checked; if (event.allDay) { starttime.val("12:00").hide(); @@ -726,7 +726,7 @@ event_attendees = []; attendees_list = $('#edit-attendees-table > tbody').html(''); resources_list = $('#edit-resources-table > tbody').html(''); - $('#edit-attendees-notify')[(notify.checked && allow_invitations ? 'show' : 'hide')](); + $('#edit-attendees-notify')[(allow_invitations && (settings.itip_notify & 2) ? 'show' : 'hide')](); $('#edit-localchanges-warning')[(has_attendees(event) && !(allow_invitations || (calendar.owner && is_organizer(event, calendar.owner))) ? 'show' : 'hide')](); var load_attendees_tab = function() @@ -743,8 +743,7 @@ // make sure comment box is visible if at least one attendee has reply enabled // or global "send invitations" checkbox is checked - if (reply_selected || $('#edit-attendees-invite:checked').length) - $('p.attendees-commentbox').show(); + $('#eventedit .attendees-commentbox')[(reply_selected || invite.checked ? 'show' : 'hide')](); // select the correct organizer identity var identity_id = 0; @@ -840,7 +839,7 @@ need_invitation = true; delete data.attendees[i]['noreply']; } - else { + else if (settings.itip_notify > 0) { data.attendees[i].noreply = 1; } } @@ -849,7 +848,7 @@ // tell server to send notifications if ((data.attendees.length || (event.id && event.attendees.length)) && allow_invitations && (notify.checked || invite.checked || need_invitation)) { - data._notify = 1; + data._notify = settings.itip_notify; data._comment = comment.val(); } @@ -1924,7 +1923,7 @@ // send invitation checkbox var invbox = '<input type="checkbox" class="edit-attendee-reply" value="' + Q(data.email) +'" title="' + Q(rcmail.gettext('calendar.sendinvitations')) + '" ' - + (!data.noreply ? 'checked="checked" ' : '') + '/>'; + + (!data.noreply && settings.itip_notify & 1 ? 'checked="checked" ' : '') + '/>'; if (data['delegated-to']) tooltip = rcmail.gettext('delegatedto', 'calendar') + data['delegated-to']; @@ -1941,7 +1940,7 @@ '<td class="name">' + dispname + '</td>' + '<td class="availability"><img src="./program/resources/blank.gif" class="availabilityicon ' + avail + '" data-email="' + data.email + '" alt="" /></td>' + '<td class="confirmstate"><span class="' + String(data.status).toLowerCase() + '" title="' + Q(tooltip) + '">' + Q(data.status || '') + '</span></td>' + - (data.cutype != 'RESOURCE' ? '<td class="sendmail">' + (organizer || readonly || !invbox ? '' : invbox) + '</td>' : '') + + (data.cutype != 'RESOURCE' ? '<td class="invite">' + (organizer || readonly || !invbox ? '' : invbox) + '</td>' : '') + '<td class="options">' + (organizer || readonly ? '' : dellink) + '</td>'; var table = rcmail.env.calendar_resources && data.cutype == 'RESOURCE' ? resources_list : attendees_list; @@ -1959,7 +1958,7 @@ tr.find('a.expandlink').click(data, function(e) { me.expand_attendee_group(e, add_attendee, remove_attendee); }); tr.find('input.edit-attendee-reply').click(function() { var enabled = $('#edit-attendees-invite:checked').length || $('input.edit-attendee-reply:checked').length; - $('p.attendees-commentbox')[enabled ? 'show' : 'hide'](); + $('#eventedit .attendees-commentbox')[enabled ? 'show' : 'hide'](); }); // select organizer identity @@ -2279,14 +2278,17 @@ // quick-filter the loaded resource data var resource_search = function() { - var dataset, rec, q = $('#resourcesearchbox').val().toLowerCase(); - if (q.length && resources_data) { - dataset = []; + var dn, rec, dataset = [], + q = $('#resourcesearchbox').val().toLowerCase(); + if (q.length && resources_data) { // search by iterating over all resource records - for (var dn in resources_data) { + for (dn in resources_data) { rec = resources_data[dn]; - if (String(rec.name).toLowerCase().indexOf(q) >= 0 || String(rec.email).toLowerCase() == q) { + if ((rec.name && String(rec.name).toLowerCase().indexOf(q) >= 0) + || (rec.email && String(rec.email).toLowerCase().indexOf(q) >= 0) + || (rec.description && String(rec.description).toLowerCase().indexOf(q) >= 0) + ) { dataset.push(rec.ID); } } @@ -2335,7 +2337,7 @@ // submit status change to server var submit_data = $.extend({}, me.selected_event, { source:null, comment:$('#reply-comment-event-rsvp').val() }), - noreply = $('#noreply-event-rsvp').prop('checked') ? 1 : 0; + noreply = $('#noreply-event-rsvp:checked').length ? 1 : 0; if (settings.invitation_calendars) { update_event('rsvp', submit_data, { status:response, noreply:noreply }); @@ -2428,17 +2430,23 @@ // event has attendees, ask whether to notify them if (has_attendees(event)) { + var checked = (settings.itip_notify & 1 ? ' checked="checked"' : ''); if (is_organizer(event)) { notify = true; - html += '<div class="message">' + - '<label><input class="confirm-attendees-donotify" type="checkbox" checked="checked" value="1" name="notify" /> ' + - rcmail.gettext((action == 'remove' ? 'sendcancellation' : 'sendnotifications'), 'calendar') + - '</label></div>'; + if (settings.itip_notify & 2) { + html += '<div class="message">' + + '<label><input class="confirm-attendees-donotify" type="checkbox"' + checked + ' value="1" name="notify" /> ' + + rcmail.gettext((action == 'remove' ? 'sendcancellation' : 'sendnotifications'), 'calendar') + + '</label></div>'; + } + else { + data._notify = settings.itip_notify; + } } else if (action == 'remove' && is_attendee(event)) { decline = true; html += '<div class="message">' + - '<label><input class="confirm-attendees-decline" type="checkbox" checked="checked" value="1" name="decline" /> ' + + '<label><input class="confirm-attendees-decline" type="checkbox"' + checked + ' value="1" name="decline" /> ' + rcmail.gettext('itipdeclineevent', 'calendar') + '</label></div>'; } @@ -2463,14 +2471,15 @@ if (html) { var $dialog = $('<div>').html(html); - $dialog.find('a.button').button().click(function(e){ + $dialog.find('a.button').button().click(function(e) { data._savemode = String(this.href).replace(/.+#/, ''); - if ($dialog.find('input.confirm-attendees-donotify').get(0)) - data._notify = notify && $dialog.find('input.confirm-attendees-donotify').get(0).checked ? 1 : 0; - if (decline && $dialog.find('input.confirm-attendees-decline:checked')) + data._notify = settings.itip_notify; + if ($dialog.find('input.confirm-attendees-donotify').length) + data._notify = $dialog.find('input.confirm-attendees-donotify').get(0).checked ? 1 : 0; + if (decline && $dialog.find('input.confirm-attendees-decline:checked').length) data.decline = 1; update_event(action, data); - $dialog.dialog("destroy").hide(); + $dialog.dialog("close"); return false; }); @@ -2480,7 +2489,7 @@ buttons.push({ text: rcmail.gettext((action == 'remove' ? 'remove' : 'save'), 'calendar'), click: function() { - data._notify = notify && $dialog.find('input.confirm-attendees-donotify').get(0).checked ? 1 : 0; + data._notify = notify && $dialog.find('input.confirm-attendees-donotify:checked').length ? 1 : 0; data.decline = decline && $dialog.find('input.confirm-attendees-decline:checked').length ? 1 : 0; update_event(action, data); $(this).dialog("close"); @@ -3806,7 +3815,7 @@ $('#edit-attendees-invite').change(function() { $('#edit-attendees-donotify,input.edit-attendee-reply').prop('checked', this.checked); // hide/show comment field - $('.attendees-commentbox')[this.checked ? 'show' : 'hide'](); + $('#eventedit .attendees-commentbox')[this.checked ? 'show' : 'hide'](); }); // delegate change event to "send invitations" checkbox
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/config.inc.php.dist
Changed
@@ -26,17 +26,17 @@ */ // backend type (database, google, kolab) -$rcmail_config['calendar_driver'] = "database"; +$config['calendar_driver'] = "database"; // default calendar view (agendaDay, agendaWeek, month) -$rcmail_config['calendar_default_view'] = "agendaWeek"; +$config['calendar_default_view'] = "agendaWeek"; // show a birthdays calendar from the user's address book(s) -$rcmail_config['calendar_contact_birthdays'] = false; +$config['calendar_contact_birthdays'] = false; // mapping of Roundcube date formats to calendar formats (long/short/agenda) // should be in sync with 'date_formats' in main config -$rcmail_config['calendar_date_format_sets'] = array( +$config['calendar_date_format_sets'] = array( 'yyyy-MM-dd' => array('MMM d yyyy', 'M-d', 'ddd MM-dd'), 'dd-MM-yyyy' => array('d MMM yyyy', 'd-M', 'ddd dd-MM'), 'yyyy/MM/dd' => array('MMM d yyyy', 'M/d', 'ddd MM/dd'), @@ -47,59 +47,59 @@ ); // general date format (only set if different from default date format and not user configurable) -// $rcmail_config['calendar_date_format'] = "yyyy-MM-dd"; +// $config['calendar_date_format'] = "yyyy-MM-dd"; // time format (only set if different from default date format) -// $rcmail_config['calendar_time_format'] = "HH:mm"; +// $config['calendar_time_format'] = "HH:mm"; // short date format (used for column titles) -// $rcmail_config['calendar_date_short'] = 'M-d'; +// $config['calendar_date_short'] = 'M-d'; // long date format (used for calendar title) -// $rcmail_config['calendar_date_long'] = 'MMM d yyyy'; +// $config['calendar_date_long'] = 'MMM d yyyy'; // date format used for agenda view -// $rcmail_config['calendar_date_agenda'] = 'ddd MM-dd'; +// $config['calendar_date_agenda'] = 'ddd MM-dd'; // timeslots per hour (1, 2, 3, 4, 6) -$rcmail_config['calendar_timeslots'] = 2; +$config['calendar_timeslots'] = 2; // show this number of days in agenda view -$rcmail_config['calendar_agenda_range'] = 60; +$config['calendar_agenda_range'] = 60; // first day of the week (0-6) -$rcmail_config['calendar_first_day'] = 1; +$config['calendar_first_day'] = 1; // first hour of the calendar (0-23) -$rcmail_config['calendar_first_hour'] = 6; +$config['calendar_first_hour'] = 6; // working hours begin -$rcmail_config['calendar_work_start'] = 6; +$config['calendar_work_start'] = 6; // working hours end -$rcmail_config['calendar_work_end'] = 18; +$config['calendar_work_end'] = 18; // show line at current time of the day -$rcmail_config['calendar_time_indicator'] = true; +$config['calendar_time_indicator'] = true; // default alarm settings for new events. // this is only a preset when a new event dialog opens // possible values are <empty>, DISPLAY, EMAIL -$rcmail_config['calendar_default_alarm_type'] = ''; +$config['calendar_default_alarm_type'] = ''; // default alarm offset for new events. // use ical-style offset values like "-1H" (one hour before) or "+30M" (30 minutes after) -$rcmail_config['calendar_default_alarm_offset'] = '-15M'; +$config['calendar_default_alarm_offset'] = '-15M'; // how to colorize events: // 0: according to calendar color // 1: according to category color // 2: calendar for outer, category for inner color // 3: category for outer, calendar for inner color -$rcmail_config['calendar_event_coloring'] = 0; +$config['calendar_event_coloring'] = 0; // event categories -$rcmail_config['calendar_categories'] = array( +$config['calendar_categories'] = array( 'Personal' => 'c0c0c0', 'Work' => 'ff0000', 'Family' => '00ff00', @@ -107,28 +107,43 @@ ); // enable users to invite/edit attendees for shared events organized by others -$rcmail_config['calendar_allow_invite_shared'] = false; +$config['calendar_allow_invite_shared'] = false; // allow users to accecpt iTip invitations who are no explicitly listed as attendee. // this can be the case if invitations are sent to mailing lists or alias email addresses. -$rcmail_config['calendar_allow_itip_uninvited'] = true; +$config['calendar_allow_itip_uninvited'] = true; + +// controls the visibility/default of the checkbox controlling the sending of iTip invitations +// 0 = hidden + disabled +// 1 = hidden + active +// 2 = visible + unchecked +// 3 = visible + active +$config['calendar_itip_send_option'] = 3; + +// Action taken after iTip request is handled. Possible values: +// 0 - no action +// 1 - move to Trash +// 2 - delete the message +// 3 - flag as deleted +// folder_name - move the message to the specified folder +$config['calendar_itip_after_action'] = 0; // enable asynchronous free-busy triggering after data changed -$rcmail_config['calendar_freebusy_trigger'] = false; +$config['calendar_freebusy_trigger'] = false; // SMTP server host used to send (anonymous) itip messages. // Set to '' in order to use PHP's mail() function for email delivery. // To override the SMTP port or connection method, provide a full URL like 'tls://somehost:587' -$rcmail_config['calendar_itip_smtp_server'] = null; +$config['calendar_itip_smtp_server'] = null; // SMTP username used to send (anonymous) itip messages -$rcmail_config['calendar_itip_smtp_user'] = 'smtpauth'; +$config['calendar_itip_smtp_user'] = 'smtpauth'; // SMTP password used to send (anonymous) itip messages -$rcmail_config['calendar_itip_smtp_pass'] = '123456'; +$config['calendar_itip_smtp_pass'] = '123456'; // show virtual invitation calendars (Kolab driver only) -$rcmail_config['kolab_invitation_calendars'] = true; +$config['kolab_invitation_calendars'] = true; // Base URL to build fully qualified URIs to access calendars via CALDAV // The following replacement variables are supported: @@ -136,21 +151,13 @@ // %u - Current webmail user name // %n - Calendar name // %i - Calendar UUID -// $rcmail_config['calendar_caldav_url'] = 'http://%h/iRony/calendars/%u/%i'; +// $config['calendar_caldav_url'] = 'http://%h/iRony/calendars/%u/%i'; // Driver to provide a resource directory ('ldap' is the only implementation yet). // Leave empty or commented to disable resources support. -// $rcmail_config['calendar_resources_driver'] = 'ldap'; +// $config['calendar_resources_driver'] = 'ldap'; // LDAP directory configuration to find avilable resources for events -// $rcmail_config['calendar_resources_directory'] = array(/* ldap_public-like address book configuration */); - -// Action taken after iTip request is handled. Possible values: -// 0 - no action -// 1 - move to Trash -// 2 - delete the message -// 3 - flag as deleted -// folder_name - move the message to the specified folder -$rcmail_config['calendar_itip_after_action'] = 0; +// $config['calendar_resources_directory'] = array(/* ldap_public-like address book configuration */); ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql
Changed
@@ -11,7 +11,7 @@ `user_id` int(10) UNSIGNED NOT NULL, `notifyat` DATETIME DEFAULT NULL, `dismissed` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', - PRIMARY KEY(`alarm_id`), + PRIMARY KEY(`alarm_id`,`user_id`), CONSTRAINT `fk_kolab_alarms_user_id` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) /*!40000 ENGINE=INNODB */;
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/drivers/kolab/SQL/mysql/2014082600.sql
Added
@@ -0,0 +1,2 @@ +ALTER TABLE `kolab_alarms` DROP PRIMARY KEY; +ALTER TABLE `kolab_alarms` ADD PRIMARY KEY (`alarm_id`, `user_id`);
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php
Changed
@@ -1066,7 +1066,7 @@ if (!empty($candidates)) { $alarm_ids = array_map(array($this->rc->db, 'quote'), array_keys($candidates)); $result = $this->rc->db->query(sprintf( - "SELECT * FROM kolab_alarms + "SELECT * FROM " . $this->rc->db->table_name('kolab_alarms') . " WHERE alarm_id IN (%s) AND user_id=?", join(',', $alarm_ids), $this->rc->db->now() @@ -1103,7 +1103,7 @@ { // delete old alarm entry $this->rc->db->query( - "DELETE FROM kolab_alarms + "DELETE FROM " . $this->rc->db->table_name('kolab_alarms') . " WHERE alarm_id=? AND user_id=?", $alarm_id, $this->rc->user->ID @@ -1113,7 +1113,7 @@ $notifyat = $snooze > 0 ? date('Y-m-d H:i:s', time() + $snooze) : null; $query = $this->rc->db->query( - "INSERT INTO kolab_alarms + "INSERT INTO " . $this->rc->db->table_name('kolab_alarms') . " (alarm_id, user_id, dismissed, notifyat) VALUES(?, ?, ?, ?)", $alarm_id, @@ -1776,7 +1776,7 @@ { $db = $this->rc->get_dbh(); foreach (array('kolab_alarms', 'itipinvitations') as $table) { - $db->query("DELETE FROM $table WHERE user_id=?", $args['user']->ID); + $db->query("DELETE FROM " . $this->rc->db->table_name($table) . " WHERE user_id=?", $args['user']->ID); } } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/lib/calendar_itip.php
Changed
@@ -34,6 +34,8 @@ function __construct($plugin, $domain = 'calendar') { parent::__construct($plugin, $domain); + + $this->db_itipinvitations = $this->rc->db->table_name('itipinvitations'); } /** @@ -59,7 +61,7 @@ public function get_invitation($token) { if ($parts = $this->decode_token($token)) { - $result = $this->rc->db->query("SELECT * FROM itipinvitations WHERE token=?", $parts['base']); + $result = $this->rc->db->query("SELECT * FROM $this->db_itipinvitations WHERE token=?", $parts['base']); if ($result && ($rec = $this->rc->db->fetch_assoc($result))) { $rec['event'] = unserialize($rec['event']); $rec['attendee'] = $parts['attendee']; @@ -110,7 +112,7 @@ // update record in DB $query = $this->rc->db->query( - "UPDATE itipinvitations + "UPDATE $this->db_itipinvitations SET event=? WHERE token=?", self::serialize_event($invitation['event']), @@ -148,10 +150,10 @@ return $token; // delete old entry - $this->rc->db->query("DELETE FROM itipinvitations WHERE token=?", $base); + $this->rc->db->query("DELETE FROM $this->db_itipinvitations WHERE token=?", $base); $query = $this->rc->db->query( - "INSERT INTO itipinvitations + "INSERT INTO $this->db_itipinvitations (token, event_uid, user_id, event, expires) VALUES(?, ?, ?, ?, ?)", $base, @@ -178,7 +180,7 @@ { // flag invitation record as cancelled $this->rc->db->query( - "UPDATE itipinvitations + "UPDATE $this->db_itipinvitations SET cancelled=1 WHERE event_uid=? AND user_id=?", $event['uid'],
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/lib/calendar_ui.php
Changed
@@ -2,12 +2,11 @@ /** * User Interface class for the Calendar plugin * - * @version @package_version@ * @author Lazlo Westerhof <hello@lazlo.me> * @author Thomas Bruederli <bruederli@kolabsys.com> * * Copyright (C) 2010, Lazlo Westerhof <hello@lazlo.me> - * Copyright (C) 2012, Kolab Systems AG <contact@kolabsys.com> + * Copyright (C) 2014, Kolab Systems AG <contact@kolabsys.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -706,11 +705,18 @@ $table->add_header('availability', $this->cal->gettext('availability')); $table->add_header('confirmstate', $this->cal->gettext('confirmstate')); if ($invitations) { - $table->add_header(array('class' => 'sendmail', 'title' => $this->cal->gettext('sendinvitations')), + $table->add_header(array('class' => 'invite', 'title' => $this->cal->gettext('sendinvitations')), $invite->show(1) . html::label('edit-attendees-invite', $this->cal->gettext('sendinvitations'))); } $table->add_header('options', ''); + // hide invite column if disabled by config + $itip_notify = (int)$this->rc->config->get('calendar_itip_send_option', $this->cal->defaults['calendar_itip_send_option']); + if ($invitations && !($itip_notify & 2)) { + $css = sprintf('#%s td.invite, #%s th.invite { display:none !important }', $attrib['id'], $attrib['id']); + $this->rc->output->add_footer(html::tag('style', array('type' => 'text/css'), $css)); + } + return $table->show($attrib); }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/de_DE.inc
Changed
@@ -82,9 +82,12 @@ $labels['confidential'] = 'vertraulich'; $labels['alarms'] = 'Erinnerung'; $labels['comment'] = 'Kommentar'; +$labels['created'] = 'Erstellt'; +$labels['changed'] = 'Geändert'; $labels['unknown'] = 'Unbekannt'; $labels['eventoptions'] = 'Optionen'; $labels['generated'] = 'erstellt am'; +$labels['eventhistory'] = 'Historie'; $labels['printdescriptions'] = 'Beschreibung drucken'; $labels['parentcalendar'] = 'Erstellen in'; $labels['searchearlierdates'] = '« Frühere Termine suchen'; @@ -109,6 +112,7 @@ $labels['invitationspending'] = 'Ausstehende Einladungen'; $labels['invitationsdeclined'] = 'Abgelehnte Einladunen'; $labels['changepartstat'] = 'Teilnehmerstatus ändern'; +$labels['rsvpcomment'] = 'Einladungstext'; $labels['listrange'] = 'Angezeigter Bereich:'; $labels['listsections'] = 'Unterteilung:'; $labels['smartsections'] = 'Intelligent'; @@ -235,8 +239,21 @@ $labels['birthdayscalendarsources'] = 'Für diese Adressbücher'; $labels['birthdayeventtitle'] = '$names Geburtstag'; $labels['birthdayage'] = 'Alter $age'; +$labels['eventchangelog'] = 'Änderungshistorie'; +$labels['eventdiff'] = 'Änderungen aus den Versionen $rev'; +$labels['revision'] = 'Version'; $labels['user'] = 'Benutzer'; +$labels['operation'] = 'Aktion'; +$labels['actionappend'] = 'Gespeichert'; +$labels['actionmove'] = 'Verschoben'; $labels['actiondelete'] = 'Gelöscht'; +$labels['compare'] = 'Vergleichen'; +$labels['showrevision'] = 'Diese Version anzeigen'; +$labels['restore'] = 'Diese Version wiederherstellen'; +$labels['eventnotfound'] = 'Termindaten sind leider nicht vergübar'; +$labels['eventchangelognotavailable'] = 'Änderungshistorie ist nicht verfügbar für diesen Termin'; +$labels['eventdiffnotavailable'] = 'Vergleich für die gewählten Versionen nicht möglich'; +$labels['eventrestoreconfirm'] = 'Wollen Sie wirklich die Version $rev dieses Termins wiederherstellen? Diese Aktion wird die aktuelle Kopie mit der älteren Version ersetzen.'; $labels['arialabelminical'] = 'Kalender Datumswahl'; $labels['arialabelcalendarview'] = 'Kalender Ansicht'; $labels['arialabelsearchform'] = 'Suchformular für Termine';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/es_ES.inc
Changed
@@ -10,8 +10,15 @@ $labels['color'] = 'Color'; $labels['edit'] = 'Editar'; $labels['remove'] = 'Remove'; +$labels['title'] = 'Summary'; +$labels['description'] = 'Descripción'; +$labels['location'] = 'Location'; +$labels['url'] = 'URL'; +$labels['start'] = 'Start'; +$labels['end'] = 'End'; $labels['repeat'] = 'Repeat'; $labels['status'] = 'Status'; +$labels['priority'] = 'Priority'; $labels['comment'] = 'Comentario'; $labels['unknown'] = 'Unknown'; $labels['eventoptions'] = 'Opciones'; @@ -31,6 +38,7 @@ $labels['eventcancelsubject'] = '"$title" has been canceled'; $labels['resource'] = 'Recurso'; $labels['resourcedetails'] = 'Detalles'; +$labels['tabsummary'] = 'Summary'; $labels['tabresources'] = 'Recursos'; $labels['tabsharing'] = 'Sharing'; $labels['savingdata'] = 'Guardando datos...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/et_EE.inc
Changed
@@ -10,8 +10,15 @@ $labels['color'] = 'Color'; $labels['edit'] = 'Edit'; $labels['remove'] = 'Remove'; +$labels['title'] = 'Summary'; +$labels['description'] = 'Description'; +$labels['location'] = 'Location'; +$labels['url'] = 'URL'; +$labels['start'] = 'Start'; +$labels['end'] = 'End'; $labels['repeat'] = 'Repeat'; $labels['status'] = 'Status'; +$labels['priority'] = 'Priority'; $labels['comment'] = 'Kommentaar'; $labels['unknown'] = 'Unknown'; $labels['andnmore'] = '$nr more...'; @@ -29,6 +36,7 @@ $labels['eventupdatesubject'] = '"$title" has been updated'; $labels['eventcancelsubject'] = '"$title" has been canceled'; $labels['resource'] = 'Resource'; +$labels['tabsummary'] = 'Summary'; $labels['tabsharing'] = 'Sharing'; $labels['savingdata'] = 'Saving data...'; $labels['attendeupdateesuccess'] = 'Successfully updated the participant\'s status';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for Kolab Calendar plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/calendar/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/hr.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for Kolab Calendar plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/calendar/ + */ $labels['time_format'] = 'Format datuma'; $labels['first_day'] = 'Prvi dan tjedna'; $labels['first_hour'] = 'Prvi sat za prikaz';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for Kolab Calendar plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/calendar/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for Kolab Calendar plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/calendar/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for Kolab Calendar plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/calendar/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/skins/classic/calendar.css
Changed
@@ -836,8 +836,8 @@ padding-right: 4px; } -.edit-attendees-table th.sendmail, -.edit-attendees-table td.sendmail { +.edit-attendees-table th.invite, +.edit-attendees-table td.invite { width: 24px; padding: 2px; white-space: nowrap; @@ -845,7 +845,7 @@ text-overflow: hidden; } -#eventedit .edit-attendees-table th.sendmail label { +#eventedit .edit-attendees-table th.invite label { display: none; }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/calendar/skins/larry/calendar.css
Changed
@@ -978,13 +978,13 @@ padding: 2px 4px; } -#eventedit .edit-attendees-table th.sendmail, -#eventedit .edit-attendees-table td.sendmail { +#eventedit .edit-attendees-table th.invite, +#eventedit .edit-attendees-table td.invite { width: 44px; padding: 2px; } -#eventedit .edit-attendees-table th.sendmail label { +#eventedit .edit-attendees-table th.invite label { display: inline-block; position: relative; top: 4px;
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_activesync/localization/he.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_activesync/localization/hr.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_activesync/localization/vi.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_activesync/localization/vi_VN.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_activesync/localization/zh_TW.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/config.inc.php.dist
Changed
@@ -1,15 +1,13 @@ <?php -/* - This option allows to set addressbooks priority or to disable some - of them. Disabled addressbooks will be not shown in the UI. Default: 0. - 0 - "Global address book(s) first". Use all address books, starting with the global (LDAP) - 1 - "Personal address book(s) first". Use all address books, starting with the personal (Kolab) - 2 - "Global address book(s) only". Use the global (LDAP) addressbook. Disable the personal. - 3 - "Personal address book(s) only". Use the personal (Kolab) addressbook(s). Disable the global. -*/ -$rcmail_config['kolab_addressbook_prio'] = 0; +// This option allows to set addressbooks priority or to disable some +// of them. Disabled addressbooks will be not shown in the UI. Default: 0. +// 0 - "Global address book(s) first". Use all address books, starting with the global (LDAP) +// 1 - "Personal address book(s) first". Use all address books, starting with the personal (Kolab) +// 2 - "Global address book(s) only". Use the global (LDAP) addressbook. Disable the personal. +// 3 - "Personal address book(s) only". Use the personal (Kolab) addressbook(s). Disable the global. +$config['kolab_addressbook_prio'] = 0; // Base URL to build fully qualified URIs to access address books via CardDAV // The following replacement variables are supported: @@ -17,6 +15,6 @@ // %u - Current webmail user name // %n - Folder name // %i - Folder UUID -// $rcmail_config['kolab_addressbook_carddav_url'] = 'http://%h/iRony/addressbooks/%u/%i'; +// $config['kolab_addressbook_carddav_url'] = 'http://%h/iRony/addressbooks/%u/%i'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/kolab_addressbook.js
Changed
@@ -33,60 +33,8 @@ rcmail.enable_command('book-save', true); } - // add contextmenu items - if (window.rcm_contextmenu_register_command) { - var menu = $('#rcmGroupMenu'); - rcm_contextmenu_register_command( - 'book-edit', - function(cmd,el){ rcmail.book_edit() }, - 'kolab_addressbook.bookedit', - null, - true, - false, - false, - menu - ); - rcm_contextmenu_register_command( - 'book-delete', - function(cmd,el){ rcmail.book_delete() }, - 'kolab_addressbook.bookdelete', - null, - false, - false, - false, - menu - ); - - if (rcmail.env.kolab_addressbook_carddav_url) { - rcm_contextmenu_register_command( - 'book-showurl', - function(cmd,el){ rcmail.book_showurl() }, - 'kolab_addressbook.bookshowurl', - null, - false, - false, - false, - menu - ); - } - - // adjust menu items when shown - rcmail.addEventListener('contextmenu_show', function(p){ - if (p.menu.attr('id') != 'rcmGroupMenu') - return; - - var m = String(p.src.attr('id')).match(/rcmli([a-z0-9\-_=]+)/i), - source = m && m.length ? rcmail.html_identifier_decode(m[1]) : null, - sources = rcmail.env.address_sources, - editable = source && sources[source] && sources[source].kolab && sources[source].editable, - showurl = source && sources[source] && sources[source].carddavurl; - - if (p.menu) { - p.menu[editable ? 'enableContextMenuItems' : 'disableContextMenuItems']('#book-edit,#book-delete'); - p.menu[showurl ? 'enableContextMenuItems' : 'disableContextMenuItems']('#book-showurl'); - } - }); - } + // contextmenu + kolab_addressbook_contextmenu(); // append search form for address books if (rcmail.gui_objects.folderlist) { @@ -174,6 +122,7 @@ }); } }); + rcmail.addEventListener('listupdate', function() { rcmail.set_book_actions(); }); @@ -309,7 +258,21 @@ // action executed after book create/update rcube_webmail.prototype.book_update = function(data, old) { - var link, classes = [(data.group || ''), 'addressbook']; + var classes = ['addressbook'], + content = $('<div class="subscribed">').append( + $('<a>').html(data.listname).attr({ + href: this.url('', {_source: data.id}), + id: 'kabt:' + data.id, + rel: data.id, + onclick: "return rcmail.command('list', '" + data.id + "', this)" + }), + $('<span>').attr({ + 'class': 'subscribed', + role: 'checkbox', + 'aria-checked': true, + title: this.gettext('kolab_addressbook.foldersubscribe') + }) + ); this.show_contentframe(false); @@ -319,19 +282,17 @@ if (data.group) classes.push(data.group); - link = $('<a>').html(data.name) - .attr({ - href: this.url('', { _source: data.id }), - rel: data.id, - onclick: "return rcmail.command('list', '" + data.id + "', this)" - }); - // update (remove old row) if (old) { - this.treelist.update(old, { id: data.id, html:link, classes: classes, parent:(old != data.id ? data.parent : null) }, data.group || true); + // is the folder subscribed? + if (!data.subscribed) { + content.removeClass('subscribed').find('span').attr('aria-checked', false); + } + + this.treelist.update(old, {id: data.id, html: content, classes: classes, parent: (old != data.id ? data.parent : null)}, data.group || true); } else { - this.treelist.insert({ id: data.id, html:link, classes: classes, childlistclass: 'groups' }, data.parent, data.group || true); + this.treelist.insert({id: data.id, html: content, classes: classes, childlistclass: 'groups'}, data.parent, data.group || true); } this.env.contactfolders[data.id] = this.env.address_sources[data.id] = data; @@ -341,6 +302,9 @@ this.treelist.select(data.id); this.env.source = data.id; } + + // update contextmenu + kolab_addressbook_contextmenu(); }; // returns real IMAP folder name @@ -349,3 +313,75 @@ var source = this.env.source, sources = this.env.address_sources; return source != '' && sources[source] && sources[source].realname ? sources[source].realname : ''; }; + +function kolab_addressbook_contextmenu() +{ + if (!window.rcm_callbackmenu_init) { + return; + } + + if (!rcmail.env.kolab_addressbook_contextmenu) { + // adjust default addressbook menu actions + rcmail.addEventListener('contextmenu_init', function(menu) { + if (menu.menu_name == 'abooklist') { + menu.addEventListener('activate', function(p) { + // deactivate kolab addressbook actions + if (p.command.match(/^book-/)) { + return p.command == 'book-create'; + } + }); + } + }); + } + + rcmail.env.kolab_addressbook_contextmenu = true; + + // add menu on kolab addressbooks + var menu = rcm_callbackmenu_init({ + menu_name: 'kolab_abooklist', + mouseover_timeout: -1, // no submenus here + menu_source: ['#directorylist-footer', '#groupoptionsmenu'] + }, { + 'activate': function(p) { + var source = rcmail.env.source, + sources = rcmail.env.address_sources; + + if (p.command == 'book-create') { + return true; + } + + if (p.command == 'book-edit' || p.command == 'book-delete' || p.command == 'group-create') { + return !!(source && sources[source] && sources[source].kolab && sources[source].editable); + } + + if (p.command == 'book-showurl') { + return !!(source && sources[source] && sources[source].carddavurl); + } + + return false; + }, + 'beforeactivate': function(p) { + // remove dummy items + $('li.submenu', p.ref.container).remove(); + + rcmail.env.kolab_old_source = rcmail.env.source; + rcmail.env.kolab_old_group = rcmail.env.group; + + var onclick = $(p.source).attr('onclick'); + if (onclick && onclick.match(rcmail.context_menu_command_pattern)) { + rcmail.env.source = RegExp.$2; + rcmail.env.group = null; + } + }, + 'aftercommand': function(p) { + rcmail.env.source = rcmail.env.kolab_old_source; + rcmail.env.group = rcmail.env.kolab_old_group; + } + }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/kolab_addressbook.php
Changed
@@ -620,24 +620,16 @@ } if ($result) { - $storage = $this->rc->get_storage(); - $delimiter = $storage->get_hierarchy_delimiter(); $kolab_folder = kolab_storage::get_folder($folder); + // get folder/addressbook properties + $abook = new rcube_kolab_contacts($folder); + $props = $this->abook_prop(kolab_storage::folder_id($folder, true), $abook); + $props['parent'] = kolab_storage::folder_id($kolab_folder->get_parent(), true); + $this->rc->output->show_message('kolab_addressbook.book'.$type.'d', 'confirmation'); $this->rc->output->command('set_env', 'delimiter', $delimiter); - $this->rc->output->command('book_update', array( - 'id' => kolab_storage::folder_id($folder), - 'name' => $kolab_folder->get_foldername(), - 'readonly' => false, - 'editable' => true, - 'groups' => true, - 'realname' => rcube_charset::convert($folder, 'UTF7-IMAP'), // IMAP folder name - 'group' => $kolab_folder->get_namespace(), - 'parent' => kolab_storage::folder_id($kolab_folder->get_parent()), - 'kolab' => true, - ), kolab_storage::folder_id($prop['oldname'])); - + $this->rc->output->command('book_update', $props, kolab_storage::folder_id($prop['oldname'], true)); $this->rc->output->send('iframe'); } @@ -762,7 +754,7 @@ } } } - + if ($success) { $this->rc->output->show_message('successfullysaved', 'confirmation'); } @@ -790,7 +782,7 @@ $this->rc->output->command('set_rowcount', rcmail_get_rowcount_text(new rcube_result_set())); $this->rc->output->command('set_env', 'delimiter', $delimiter); $this->rc->output->command('list_contacts_clear'); - $this->rc->output->command('book_delete_done', kolab_storage::folder_id($folder)); + $this->rc->output->command('book_delete_done', kolab_storage::folder_id($folder, true)); } else { $this->rc->output->show_message('kolab_addressbook.bookdeleteerror', 'error');
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/lib/kolab_addressbook_ui.php
Changed
@@ -103,6 +103,7 @@ 'kolab_addressbook.listsearchresults', 'kolab_addressbook.nraddressbooksfound', 'kolab_addressbook.noaddressbooksfound', + 'kolab_addressbook.foldersubscribe', 'resetsearch'); } // book create/edit form
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/bg_BG.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Инциали'; $labels['profession'] = 'Професия'; $labels['officelocation'] = 'Офис адрес';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/ca_ES.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/cs_CZ.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/da_DK.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Initialer'; $labels['profession'] = 'Stilling'; $labels['officelocation'] = 'Arbejdsplads';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/de_CH.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Initialen'; $labels['profession'] = 'Berufsbezeichnung'; $labels['officelocation'] = 'Büro Adresse';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/de_DE.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Initialen'; $labels['profession'] = 'Berufsbezeichnung'; $labels['officelocation'] = 'Büro Adresse'; @@ -29,6 +36,13 @@ $labels['globalfirst'] = 'Globale(s) Adressbuch/Adressbücher zuerst'; $labels['personalonly'] = 'Nur persönliche(s) Adressbuch/Adressbücher'; $labels['globalonly'] = 'Nur globale(s) Adressbuch/Adressbücher'; +$labels['findaddressbooks'] = 'Adressbücher finden'; +$labels['searchterms'] = 'Suchbegriffe'; +$labels['listsearchresults'] = 'Zusätzliche Adressbücher'; +$labels['foldersearchform'] = 'Suchformular für Adressbuch'; +$labels['foldersubscribe'] = 'Permanent anzeigen'; +$labels['nraddressbooksfound'] = '$nr Adressbücher gefunden'; +$labels['noaddressbooksfound'] = 'Keine Adressbücher gefunden'; $messages['bookdeleteconfirm'] = 'Soll das gewählte Adressbuch und alle Kontakte darin wirklich gelöscht werden?'; $messages['bookdeleting'] = 'Adressbuch wird gelöscht...'; $messages['booksaving'] = 'Adressbuch wird gespeichert...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/es_ES.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Iniciales'; $labels['typecompany'] = 'Compania'; $labels['settings'] = 'Servicios';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/et_EE.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/fi_FI.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Nimikirjaimet'; $labels['profession'] = 'Ammatti'; $labels['officelocation'] = 'Toimiston sijainti';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/fr_FR.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Initiales'; $labels['profession'] = 'Profession'; $labels['officelocation'] = 'Emplacement du bureau'; @@ -29,6 +36,7 @@ $labels['globalfirst'] = 'Carnet(s) d\'adresse global(aux) en premier'; $labels['personalonly'] = 'Carnet(s) d\'adresse personnel seulement'; $labels['globalonly'] = 'Carnet(s) d\'adresse global(aux) seulement'; +$labels['foldersubscribe'] = 'Lister définitivement'; $messages['bookdeleteconfirm'] = 'Voulez-vous vraiment supprimer le carnet d\'adresse sélectionné et tous ses contacts?'; $messages['bookdeleting'] = 'Suppression du carnet d\'adresse...'; $messages['booksaving'] = 'Enregistrement du carnet d\'adresse...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/hr.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/hu_HU.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Megszólítás'; $labels['profession'] = 'Foglalkozás'; $labels['officelocation'] = 'Irodai cím';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/it_IT.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Iniziali'; $labels['profession'] = 'Professione'; $labels['officelocation'] = 'Office location';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/ja_JP.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'イニシャル'; $labels['profession'] = '職業'; $labels['officelocation'] = '会社所在';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/nl_NL.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Initialen'; $labels['profession'] = 'Beroep'; $labels['officelocation'] = 'Kantoorlocatie'; @@ -29,6 +36,7 @@ $labels['globalfirst'] = 'Eerst globale adresboek(en)'; $labels['personalonly'] = 'Alleen persoonlijke adresboek(en)'; $labels['globalonly'] = 'Alleen globale adresboek(en)'; +$labels['foldersubscribe'] = 'Permanent weergeven'; $messages['bookdeleteconfirm'] = 'Weet u zeker dat u het geselecteerde adresboek inclusief inhoud wilt verwijderen?'; $messages['bookdeleting'] = 'Adresboek aan het verwijderen...'; $messages['booksaving'] = 'Adresboek aan het opslaan...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/pt_BR.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Iniciais'; $labels['profession'] = 'Profissão'; $labels['officelocation'] = 'Local de trabalho'; @@ -22,11 +29,14 @@ $labels['bookproperties'] = 'Propriedades do catálogo de endereços'; $labels['bookname'] = 'Nome do catálogo'; $labels['parentbook'] = 'Catalogo superior'; +$labels['bookshowurl'] = 'Exibir URL do CardDAV'; +$labels['carddavurldescription'] = 'Copie este endereço em um aplicativo cliente <a href="http://en.wikipedia.org/wiki/CardDAV" target="_blank">CardDav</a> para que possa sincronizar este específico endereço para seu computador ou dispositivo móvel.'; $labels['addressbookprio'] = 'Seleção/comportamento do(s) catálogo de endereços'; $labels['personalfirst'] = 'Catálogo(s) de endereço primeiro '; $labels['globalfirst'] = 'Catálogo de endereço(s) global primeiro'; $labels['personalonly'] = 'Catálogo de endereço(s) pessoal apenas'; $labels['globalonly'] = 'Catálogo(s) de endereço global apenas'; +$labels['foldersubscribe'] = 'Listar permanentemente'; $messages['bookdeleteconfirm'] = 'Você realmente gostaria de remover o catálogo de endereços selecionado e todos os contatos que estão dentro dele?'; $messages['bookdeleting'] = 'Removendo catálogo de endereço...'; $messages['booksaving'] = 'Salvando catálogo de endereço...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/ru_RU.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ $labels['initials'] = 'Инициалы'; $labels['profession'] = 'Профессия'; $labels['officelocation'] = 'Адрес офиса'; @@ -29,6 +36,13 @@ $labels['globalfirst'] = 'Глобальные адресные книги в начале'; $labels['personalonly'] = 'Только персональные адресные книги'; $labels['globalonly'] = 'Только глобальные адресные книги'; +$labels['findaddressbooks'] = 'Найти адресные книги'; +$labels['searchterms'] = 'Условия поиска'; +$labels['listsearchresults'] = 'Дополнительные адресные книги'; +$labels['foldersearchform'] = 'Форма поиска адресных книг'; +$labels['foldersubscribe'] = 'Всегда показывать'; +$labels['nraddressbooksfound'] = '$nr адресных книг найдено'; +$labels['noaddressbooksfound'] = 'Адресных книг не найдено'; $messages['bookdeleteconfirm'] = 'Вы действительно хотите удалить выбранную адресную книгу и все контакты в ней?'; $messages['bookdeleting'] = 'Удаление адресной книги...'; $messages['booksaving'] = 'Сохранение адресной книги...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Address Book plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_addressbook/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_addressbook/skins/larry/kolab_addressbook.css
Changed
@@ -135,3 +135,7 @@ padding-right: 36px; } +/* for contextmenu */ +#directorylist a.contextRow { + background-color: #C7E3EF; +}
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/config.inc.php.dist
Changed
@@ -13,48 +13,53 @@ // With this %dc variable in base_dn and groups/base_dn will be // replaced with DN string of resolved domain //--------------------------------------------------------------------- -$rcmail_config['kolab_auth_addressbook'] = ''; +$config['kolab_auth_addressbook'] = ''; // This will overwrite defined filter -$rcmail_config['kolab_auth_filter'] = '(&(objectClass=kolabInetOrgPerson)(|(uid=%u)(mail=%fu)(alias=%fu)))'; +$config['kolab_auth_filter'] = '(&(objectClass=kolabInetOrgPerson)(|(uid=%u)(mail=%fu)(alias=%fu)))'; // Use this fields (from fieldmap configuration) to get authentication ID -$rcmail_config['kolab_auth_login'] = 'email'; +$config['kolab_auth_login'] = 'email'; // Use this fields (from fieldmap configuration) for default identity. // If the value array contains more than one field, first non-empty will be used // Note: These aren't LDAP attributes, but field names in config // Note: If there's more than one email address, as many identities will be created -$rcmail_config['kolab_auth_name'] = array('name', 'cn'); -$rcmail_config['kolab_auth_email'] = array('email'); -$rcmail_config['kolab_auth_organization'] = array('organization'); +$config['kolab_auth_name'] = array('name', 'cn'); +$config['kolab_auth_email'] = array('email'); +$config['kolab_auth_organization'] = array('organization'); // Template for user names displayed in the UI. // You can use all attributes from the 'fieldmap' property of the 'kolab_auth_addressbook' configuration -$rcmail_config['kolab_auth_user_displayname'] = '{name} ({ou})'; +$config['kolab_auth_user_displayname'] = '{name} ({ou})'; // Login and password of the admin user. Enables "Login As" feature. -$rcmail_config['kolab_auth_admin_login'] = ''; -$rcmail_config['kolab_auth_admin_password'] = ''; +$config['kolab_auth_admin_login'] = ''; +$config['kolab_auth_admin_password'] = ''; // Enable audit logging for abuse of administrative privileges. -$rcmail_config['kolab_auth_auditlog'] = false; +$config['kolab_auth_auditlog'] = false; // Role field (from fieldmap configuration) -$rcmail_config['kolab_auth_role'] = 'role'; +$config['kolab_auth_role'] = 'role'; // The required value for the role attribute to contain should the user be allowed // to login as another user. -$rcmail_config['kolab_auth_role_value'] = ''; +$config['kolab_auth_role_value'] = ''; // Administrative group name to which user must be assigned to // which adds privilege to login as another user. -$rcmail_config['kolab_auth_group'] = ''; +$config['kolab_auth_group'] = ''; + +// List of tasks to which admin has access when logged in as another user. +// To limit usage to Settings only use: array('settings'). Default: array() - all tasks. +// When defined all non-authorized requests will be redirected to first task on the list. +$config['kolab_auth_allowed_tasks'] = array(); // Enable plugins on a role-by-role basis. In this example, the 'acl' plugin // is enabled for people with a 'cn=professional-user,dc=mykolab,dc=ch' role. // // Note that this does NOT mean the 'acl' plugin is disabled for other people. -$rcmail_config['kolab_auth_role_plugins'] = Array( +$config['kolab_auth_role_plugins'] = Array( 'cn=professional-user,dc=mykolab,dc=ch' => Array( 'acl', ), @@ -66,7 +71,7 @@ // do not allow the setting to be controlled through the preferences, enable the // html editor for professional users and allow them to override the setting in // the preferences. -$rcmail_config['kolab_auth_role_settings'] = Array( +$config['kolab_auth_role_settings'] = Array( 'cn=professional-user,dc=mykolab,dc=ch' => Array( 'htmleditor' => Array( 'mode' => 'override', @@ -79,6 +84,6 @@ // 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('*'); +$config['kolab_auth_ldap_addressbooks'] = array('*'); ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/kolab_auth.php
Changed
@@ -83,8 +83,30 @@ } } + /** + * Startup hook handler + */ public function startup($args) { + $rcmail = rcube::get_instance(); + + // Check access rights when logged in as another user + if (!empty($_SESSION['kolab_auth_admin']) && $rcmail->task != 'login' && $rcmail->task != 'logout') { + $tasks = $rcmail->config->get('kolab_auth_allowed_tasks'); + // access to specified task is forbidden, + // redirect to the first task on the list + if (!empty($tasks)) { + if (!in_array($rcmail->task, (array) $tasks)) { + header('Location: ?_task=' . array_shift($tasks)); + die; + } + + // add script that will remove disabled taskbar buttons + $this->add_hook('render_page', array($this, 'render_page')); + } + } + + // load per-user settings $this->load_user_role_plugins_and_settings(); return $args; @@ -634,6 +656,28 @@ } /** + * Action executed before the page is rendered to add an onload script + * that will remove all taskbar buttons for disabled tasks + */ + public function render_page($args) + { + $rcmail = rcube::get_instance(); + $tasks = $rcmail->config->get('kolab_auth_allowed_tasks'); + $tasks[] = 'logout'; + + // disable buttons in taskbar + $script = " + \$('a').filter(function() { + var ev = \$(this).attr('onclick'); + return ev && ev.match(/'switch-task','([a-z]+)'/) + && \$.inArray(RegExp.\$1, " . json_encode($tasks) . ") < 0; + }).remove(); + "; + + $rcmail->output->add_script($script, 'docready'); + } + + /** * Initializes LDAP object and connects to LDAP server */ public static function ldap()
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/bg_BG.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Влизане като'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/ca_ES.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/da_DK.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Log ind som'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/de_CH.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Anmelden als'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/de_DE.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Anmelden als'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/es_ES.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/et_EE.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/fi_FI.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Kirjaudu tilillä'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/fr_FR.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Se connecter en tant que'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/hr.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/hu_HU.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Bejelentkezés mint'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/it_IT.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Login come'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/ja_JP.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'ログイン'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/nl_NL.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Log in als'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/pl_PL.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Zaloguj jako'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/pt_BR.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Logar como'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/ru_RU.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ $labels['loginas'] = 'Войти как'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_auth/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Auth plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_auth/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/config.inc.php.dist
Changed
@@ -2,27 +2,27 @@ // This will overwrite defined LDAP filter // Note: LDAP addressbook defined for kolab_auth plugin is used -$rcmail_config['kolab_delegation_filter'] = '(objectClass=kolabInetOrgPerson)'; +$config['kolab_delegation_filter'] = '(objectClass=kolabInetOrgPerson)'; // Delegates field (from fieldmap configuration) to get delegates list // Note: This is a field name, not LDAP attribute name // Note: LDAP addressbook defined for kolab_auth plugin is used -$rcmail_config['kolab_delegation_delegate_field'] = 'kolabDelegate'; +$config['kolab_delegation_delegate_field'] = 'kolabDelegate'; // User authentication ID field (from fieldmap configuration) // See kolab_auth plugin config -$rcmail_config['kolab_delegation_login_field'] = 'email'; +$config['kolab_delegation_login_field'] = 'email'; // Use this fields (from fieldmap configuration) for identities // If the value array contains more than one field, first non-empty will be used // Note: These aren't LDAP attributes, but field names in config // Note: If there's more than one email address, as many identities will be created // See kolab_auth plugin config -$rcmail_config['kolab_delegation_name_field'] = array('name', 'cn'); -$rcmail_config['kolab_delegation_email_field'] = array('email'); +$config['kolab_delegation_name_field'] = array('name', 'cn'); +$config['kolab_delegation_email_field'] = array('email'); // Remove all user identities which do not match the user's primary or alias // addresses and delegator's addresses -$rcmail_config['kolab_delegation_purge_identities'] = false; +$config['kolab_delegation_purge_identities'] = false; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/ca_ES.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ $labels['event'] = 'Calendaris'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/de_DE.inc
Changed
@@ -6,7 +6,10 @@ * * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ */ -$labels['delegates'] = 'Delegierte'; +$labels['tabtitle'] = 'Vertretung'; +$labels['delegationtitle'] = 'Verwalte Vertreter'; +$labels['delegates'] = 'Vertreter'; +$labels['delegate'] = 'Vertreter'; $labels['mail'] = 'E-Mail'; $labels['contact'] = 'Kontakte'; $labels['event'] = 'Kalender'; @@ -16,6 +19,18 @@ $labels['no'] = 'Nein'; $labels['read'] = 'Schreibgeschützt'; $labels['write'] = 'Schreiben'; +$labels['adddelegate'] = 'Vertreter hinzufügen'; +$labels['deletedelegate'] = 'Vertreter löschen'; $labels['savingdata'] = 'Speichere Daten...'; +$labels['delegatedeleteconfirm'] = 'Willst du wirklich diesen Vertreter löschen?'; +$labels['delegateremoveacl'] = 'Entferne Zugriffsberechtigungen auf den für diesen Benutzer zugewiesenen Ordnern.'; $labels['deleteconfirm'] = 'Bestätigung'; +$labels['deletesuccess'] = 'Der Vertreter wirde erfolgreich entfernt.'; +$labels['deleteerror'] = 'Konnte Vertreter nicht entfernen.'; +$labels['updatesuccess'] = 'Der Vertreter wurde erfolgreich aktualisiert.'; +$labels['updateerror'] = 'Konnte Verteter nicht aktualisieren'; +$labels['createsuccess'] = 'Der Vertreter wurde erfolgreich hinzugefügt'; +$labels['createerror'] = 'Konnte Vertreter nicht hinzufügen.'; +$labels['arialabeldelegatedelete'] = 'Vertreter Löschen Dialog'; +$labels['arialabeldelegateform'] = 'Verterter Eigenschaften Maske'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/hr.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_delegation/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Delegation plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_delegation/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/config.inc.php.dist
Changed
@@ -1,18 +1,18 @@ <?php // URL of kolab-chwala installation -$rcmail_config['kolab_files_url'] = 'https://localhost/kolab-chwala/public_html'; +$config['kolab_files_url'] = 'https://localhost/kolab-chwala/public_html'; // List of files list columns. Available are: name, size, mtime, type -$rcmail_config['kolab_files_list_cols'] = array('name', 'mtime', 'size'); +$config['kolab_files_list_cols'] = array('name', 'mtime', 'size'); // Name of the column to sort files list by -$rcmail_config['kolab_files_sort_col'] = 'name'; +$config['kolab_files_sort_col'] = 'name'; // Order of the files list sort -$rcmail_config['kolab_files_sort_order'] = 'asc'; +$config['kolab_files_sort_order'] = 'asc'; // Number of concurent requests for searching and collections listing. Default: 1 -$rcmail_config['kolab_files_search_threads'] = 1; +$config['kolab_files_search_threads'] = 1; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/lib/kolab_files_engine.php
Changed
@@ -34,7 +34,7 @@ */ public function __construct($plugin, $url) { - $this->url = $this->resolve_url($url); + $this->url = rcube_utils::resolve_url($url); $this->plugin = $plugin; $this->rc = $plugin->rc; } @@ -1017,30 +1017,4 @@ return $mimetypes; } - - /** - * Resolve relative URL - */ - protected function resolve_url($url) - { - // prepend protocol://hostname:port - if (!preg_match('|^https?://|', $url)) { - $schema = 'http'; - $default_port = 80; - - if (rcube_utils::https_check()) { - $schema = 'https'; - $default_port = 443; - } - - $prefix = $schema . '://' . preg_replace('/:\d+$/', '', $_SERVER['HTTP_HOST']); - if ($_SERVER['SERVER_PORT'] != $default_port) { - $prefix .= ':' . $_SERVER['SERVER_PORT']; - } - - $url = $prefix . ($url[0] == '/' ? '' : '/') . $url; - } - - return $url; - } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/de_DE.inc
Changed
@@ -70,5 +70,14 @@ $labels['filemoveconfirm'] = 'Diese Aktion wird die Zieldatei <b>$file</b> überschreiben.'; $labels['arialabelsearchform'] = 'Suchformular für Dateien'; $labels['arialabelquicksearchbox'] = 'Sucheingabe'; +$labels['arialabellistoptions'] = 'Dateilisten Optionen'; +$labels['arialabelfolderoptions'] = 'Ordner Aktionen'; +$labels['arialabelfileeditform'] = 'Datei Bearbeiten Maske'; +$labels['arialabelfoldercreateform'] = 'Ordner Erstellen Maske'; +$labels['arialabelfolderlist'] = 'Ordner / Sammlungs Auswahl'; +$labels['arialabelfileselectdialog'] = 'Datei Auswahl Dialog'; +$labels['arialabelattachmentoptions'] = 'Anhänge speichern Optionen'; +$labels['arialabelfilesavedialog'] = 'Datei(en) speichern Dialog'; $labels['arialabelfileprops'] = 'Dateieigenschaften'; +$labels['arialabelfilecontent'] = 'Datei Inhalt'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Files plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_files/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/hr.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Files plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_files/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Files plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_files/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Files plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_files/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_files/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Files plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_files/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/config.inc.php.dist
Changed
@@ -7,32 +7,30 @@ // Note: Mail folders will be also subscribed. // Default Configuration folder -$rcmail_config['kolab_folders_configuration_default'] = ''; +$config['kolab_folders_configuration_default'] = ''; // Default Calendar folder -$rcmail_config['kolab_folders_event_default'] = ''; +$config['kolab_folders_event_default'] = ''; // Default Contacts (Addressbook) folder -$rcmail_config['kolab_folders_contact_default'] = ''; +$config['kolab_folders_contact_default'] = ''; // Default Tasks folder -$rcmail_config['kolab_folders_task_default'] = ''; +$config['kolab_folders_task_default'] = ''; // Default Notes folder -$rcmail_config['kolab_folders_note_default'] = ''; +$config['kolab_folders_note_default'] = ''; // Default Journal folder -$rcmail_config['kolab_folders_journal_default'] = ''; +$config['kolab_folders_journal_default'] = ''; // Default Files folder -$rcmail_config['kolab_folders_file_default'] = ''; +$config['kolab_folders_file_default'] = ''; // Default FreeBusy folder -$rcmail_config['kolab_folders_freebusy_default'] = ''; +$config['kolab_folders_freebusy_default'] = ''; // INBOX folder -$rcmail_config['kolab_folders_mail_inbox'] = ''; +$config['kolab_folders_mail_inbox'] = ''; // Drafts folder -$rcmail_config['kolab_folders_mail_drafts'] = ''; +$config['kolab_folders_mail_drafts'] = ''; // Sent folder -$rcmail_config['kolab_folders_mail_sentitems'] = ''; +$config['kolab_folders_mail_sentitems'] = ''; // Trash folder -$rcmail_config['kolab_folders_mail_wastebasket'] = ''; +$config['kolab_folders_mail_wastebasket'] = ''; // Others folders -$rcmail_config['kolab_folders_mail_outbox'] = ''; -$rcmail_config['kolab_folders_mail_junkemail'] = ''; - -?> +$config['kolab_folders_mail_outbox'] = ''; +$config['kolab_folders_mail_junkemail'] = '';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/bg_BG.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Тип на съдържанието'; $labels['foldertypemail'] = 'Поща'; $labels['foldertypeevent'] = 'Календар';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/ca_ES.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['foldertypeevent'] = 'Calendari'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/cs_CZ.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['foldertypeevent'] = 'Kalendář'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/da_DK.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Indholdstype'; $labels['foldertypemail'] = 'Post'; $labels['foldertypeevent'] = 'Kalender';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/de_CH.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Ordnerinhalt'; $labels['foldertypemail'] = 'E-Mail'; $labels['foldertypeevent'] = 'Kalender';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/de_DE.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Ordnerinhalt'; $labels['foldertypemail'] = 'E-Mail'; $labels['foldertypeevent'] = 'Kalender';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/es_ES.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['foldertypeevent'] = 'Calendar'; $labels['foldertypetask'] = 'Tareas'; $labels['foldertypenote'] = 'Notas';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/et_EE.inc
Changed
@@ -1,3 +1,10 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['foldertypeevent'] = 'Calendar'; ?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/fi_FI.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Sisältötyyppi'; $labels['foldertypemail'] = 'Sähköposti'; $labels['foldertypeevent'] = 'Kalenteri';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/fr_FR.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Type de contenu'; $labels['foldertypemail'] = 'Courriel'; $labels['foldertypeevent'] = 'Calendrier';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/he.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/hr.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/hu_HU.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Tartalom típusa'; $labels['foldertypemail'] = 'Levelezés'; $labels['foldertypeevent'] = 'Naptár';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/it_IT.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Tipo di contenuto'; $labels['foldertypemail'] = 'Mail'; $labels['foldertypeevent'] = 'Calendario';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/ja_JP.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'コンテンツタイプ'; $labels['foldertypemail'] = 'メール'; $labels['foldertypeevent'] = 'カレンダー';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/nl_NL.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Inhoudstype'; $labels['foldertypemail'] = 'Mail'; $labels['foldertypeevent'] = 'Agenda';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/pl_PL.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Typ treści'; $labels['foldertypemail'] = 'Poczta'; $labels['foldertypeevent'] = 'Kalendarz';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/pt_BR.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Tipo de conteúdo'; $labels['foldertypemail'] = 'Correio'; $labels['foldertypeevent'] = 'Calendário';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/ru_RU.inc
Changed
@@ -1,4 +1,11 @@ <?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ $labels['folderctype'] = 'Тип ящика'; $labels['foldertypemail'] = 'Почта'; $labels['foldertypeevent'] = 'Календарь';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/vi.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/vi_VN.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_folders/localization/zh_TW.inc
Added
@@ -0,0 +1,9 @@ +<?php +/** + * Localizations for the Kolab Folders plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_folders/ + */ +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/kolab_notes.php
Changed
@@ -81,9 +81,12 @@ } else if ($args['task'] == 'mail') { $this->add_hook('storage_init', array($this, 'storage_init')); - $this->add_hook('message_load', array($this, 'mail_message_load')); $this->add_hook('message_compose', array($this, 'mail_message_compose')); - $this->add_hook('template_object_messagebody', array($this, 'mail_messagebody_html')); + + if (in_array($args['action'], array('show', 'preview', 'print'))) { + $this->add_hook('message_load', array($this, 'mail_message_load')); + $this->add_hook('template_object_messagebody', array($this, 'mail_messagebody_html')); + } // add 'Append note' item to message menu if ($this->api->output->type == 'html' && $_REQUEST['_rel'] != 'note') { @@ -391,7 +394,7 @@ $this->rc->output->set_env('kolab_notes_template', array( '_from_mail' => true, 'title' => $message->get('subject'), - 'links' => array($this->get_message_reference($this->get_message_uri($message, $folder))), + 'links' => array($this->get_message_reference(kolab_storage_config::get_message_uri($message, $folder))), )); } } @@ -906,8 +909,9 @@ */ public function mail_message_load($p) { - $this->message = $p['object']; - $this->message_notes = $this->get_message_notes($this->message->headers, $this->message->folder); + if (!$p['object']->headers->others['x-kolab-type']) { + $this->message_notes = $this->get_message_notes($p['object']->headers, $p['object']->folder); + } } /** @@ -996,7 +1000,6 @@ foreach ($relations as $relation) { if (empty($links)) { $config->delete($relation['uid']); - $this->relations = null; // clear in-memory cache } else { // make relation members up-to-date @@ -1010,7 +1013,6 @@ if (count($diff1) || count($diff2)) { $relation['members'] = $members; $config->save($relation, 'relation'); - $this->relations = null; // clear in-memory cache } $links = null; @@ -1025,7 +1027,6 @@ ); $config->save($relation, 'relation'); - $this->relations = null; // clear in-memory cache } } @@ -1070,33 +1071,11 @@ */ private function get_message_notes($message, $folder) { - $result = array(); - $uids = array(); - - // TODO: only query for notes if message was flagged with $KolabNotes ? - - // get UIDs of assigned notes - foreach ($this->get_relations() as $relation) { - // get Folder/UIDs of relation members - $messages = kolab_storage_config::resolve_members($relation); - - if (!empty($messages[$folder]) && in_array($message->uid, $messages[$folder])) { - // find note UID(s) - foreach ($relation['members'] as $member) { - if (strpos($member, 'urn:uuid:') === 0) { - $uids[] = substr($member, 9); - } - } - } - } + $config = kolab_storage_config::get_instance(); + $result = $config->get_message_relations($message, $folder, 'note'); - // get Note objects - if (!empty($uids)) { - $query = array(array('uid', '=', $uids)); - foreach (kolab_storage::select($query, 'note') as $record) { - $record['list'] = kolab_storage::folder_id($record['_mailbox']); - $result[] = $record; - } + foreach ($result as $idx => $note) { + $result[$idx]['list'] = kolab_storage::folder_id($note['_mailbox']); } return $result; @@ -1105,53 +1084,17 @@ /** * Find relation objects referring to specified note */ - private function get_relations($uid = null) - { - if (!isset($this->relations)) { - $config = kolab_storage_config::get_instance(); - $filter = array(array('type', '=', 'relation')); - $default = true; - $data_filter = array('category' => 'generic'); - - $this->relations = $config->get_objects($filter, $default, $data_filter); - } - - if ($uid === null) { - return $this->relations; - } - - $result = array(); - $search = kolab_storage_config::build_member_url($uid); - - foreach ($this->relations as $relation) { - if (in_array($search, (array) $relation['members'])) { - $result[] = $relation; - } - } - - return $result; - } - - /** - * Build a URI representing the given message reference - */ - private function get_message_uri($headers, $folder) + private function get_relations($uid) { - $params = array( - 'folder' => $headers->folder ?: $folder, - 'uid' => $headers->uid, + $config = kolab_storage_config::get_instance(); + $default = true; + $filter = array( + array('type', '=', 'relation'), + array('category', '=', 'generic'), + array('member', '=', $uid), ); - if (($messageid = $headers->get('message-id', false)) && ($date = $headers->get('date', false))) { - $params['message-id'] = $messageid; - $params['date'] = $date; - - if ($subject = $headers->get('subject')) { - $params['subject'] = $subject; - } - } - - return kolab_storage_config::build_member_url($params); + return $config->get_objects($filter, $default, 100); } /**
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/bg_BG.inc
Added
@@ -0,0 +1,6 @@ +<?php +$labels['navtitle'] = 'Бележки'; +$labels['notes'] = 'Бележки'; +$labels['listname'] = 'Име'; +$labels['tabsharing'] = 'Споделяне'; +$labels['savingdata'] = 'Запазване на данни...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/ca_ES.inc
Added
@@ -0,0 +1,2 @@ +<?php +$labels['listname'] = 'Nom';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/cs_CZ.inc
Added
@@ -0,0 +1,4 @@ +<?php +$labels['listname'] = 'Název'; +$labels['tabsharing'] = 'Sdílení'; +$labels['savingdata'] = 'Ukládám data...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/da_DK.inc
Added
@@ -0,0 +1,9 @@ +<?php +$labels['navtitle'] = 'Noter'; +$labels['tags'] = 'Mærker'; +$labels['notes'] = 'Noter'; +$labels['title'] = 'Titel'; +$labels['listname'] = 'Navn'; +$labels['tabsharing'] = 'Deling'; +$labels['abort'] = 'Afbryd'; +$labels['savingdata'] = 'Gemmer data...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/de_CH.inc
Added
@@ -0,0 +1,8 @@ +<?php +$labels['navtitle'] = 'Notizen'; +$labels['tags'] = 'Tags'; +$labels['notes'] = 'Notizen'; +$labels['title'] = 'Titel'; +$labels['listname'] = 'Name'; +$labels['tabsharing'] = 'Freigabe'; +$labels['savingdata'] = 'Speichere...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/de_DE.inc
Added
@@ -0,0 +1,52 @@ +<?php +$labels['navtitle'] = 'Notizen'; +$labels['tags'] = 'Schlagworte'; +$labels['lists'] = 'Notizbücher'; +$labels['notes'] = 'Notizen'; +$labels['create'] = 'Neue Notiz'; +$labels['createnote'] = 'Erzeuge eine neue Notiz'; +$labels['send'] = 'Senden'; +$labels['sendnote'] = 'Versende Notiz über E-Mail'; +$labels['newnote'] = 'Neue Notiz'; +$labels['notags'] = 'Keine Schlagworte'; +$labels['removetag'] = 'Entferne Schlagwort'; +$labels['created'] = 'Erstellt'; +$labels['changed'] = 'Geändert'; +$labels['title'] = 'Titel'; +$labels['now'] = 'Jetzt'; +$labels['sortby'] = 'Sortieren nach'; +$labels['newnotebook'] = 'Erzeuge ein neues Notizbuch'; +$labels['addnotebook'] = 'Notizbuch hinzufügen'; +$labels['editlist'] = 'Notizbuch bearbeiten'; +$labels['listname'] = 'Name'; +$labels['tabsharing'] = 'Freigabe'; +$labels['discard'] = 'Verwerfen'; +$labels['abort'] = 'Abbrechen'; +$labels['unsavedchanges'] = 'Nicht gespeicherte Änderungen!'; +$labels['appendnote'] = 'Eine Notiz hinzufügen'; +$labels['editnote'] = 'Notiz bearbeiten'; +$labels['savein'] = 'Speichern in'; +$labels['foldersubscribe'] = 'Permanent anzeigen'; +$labels['findnotebooks'] = 'Suche Notizbücher...'; +$labels['listsearchresults'] = 'Zusätzliche Notizbücher'; +$labels['nrnotebooksfound'] = '$nr notizbücher gefunden'; +$labels['nonotebooksfound'] = 'Keine Notizbücher gefunden'; +$labels['savingdata'] = 'Speichere...'; +$labels['recordnotfound'] = 'Eintrag nicht gefunden'; +$labels['norecordsfound'] = 'Keine Notizen gefunden'; +$labels['nochanges'] = 'Keine Änderungen werden gespeichert'; +$labels['entertitle'] = 'Bitte gebe einen Notiztitel ein!'; +$labels['deletenotesconfirm'] = 'Willst du wirklich die ausgewählten Notizen löschen?'; +$labels['deletenotebookconfirm'] = 'Willst du wirklich die ausgewählten Notizbücher löschen? Diese Aktion kann nicht rückgängig gemacht werden.'; +$labels['discardunsavedchanges'] = 'Die aktuelle Notiz wurde noch nicht gespeichert. Die Änderungen verwerfen?'; +$labels['invalidlistproperties'] = 'Ungültige Notizbuch Eigenschaften! Bitte gebe einen gültigen Namen ein.'; +$labels['entertitle'] = 'Bitte gebe einen Notiztitel ein!'; +$labels['aclnorights'] = 'Dir fehlen die Administrationsrechte für dieses Notizbuch.'; +$labels['arialabelnoteslist'] = 'Notizliste'; +$labels['arialabelnotesearchform'] = 'Notiz Such Maske'; +$labels['arialabelnotesquicksearchbox'] = 'Notiz Such Feld'; +$labels['arialabelnotessortmenu'] = 'Sortieroptionen für Notizen'; +$labels['arialabelnotesoptionsmenu'] = 'Notizbuch Aktionsmenü'; +$labels['arialabelnotebookform'] = 'Notizbuch Eigenschaften'; +$labels['arialabelmessagereferences'] = 'Verknüpfte E-Mail Nachrichten'; +$labels['arialabelfolderearchform'] = 'Notizbuch Such Maske';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/en_US.inc
Changed
@@ -1,13 +1,5 @@ <?php -/** - * Localizations for the Kolab Notes plugin - * - * Copyright (C) 2014, Kolab Systems AG - * - * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_notes/ - */ - $labels = array(); $labels['navtitle'] = 'Notes'; $labels['tags'] = 'Tags'; @@ -51,7 +43,7 @@ $labels['deletenotebookconfirm'] = 'Do you really want to delete this notebook with all its notes? This action cannot be undone.'; $labels['discardunsavedchanges'] = 'The current note has not yet been saved. Discard the changes?'; $labels['invalidlistproperties'] = 'Invalid notebook properties! Please set a valid name.'; -$labels['entertitle'] = 'Please enter a title for this note.'; +$labels['entertitle'] = 'Please enter a title for this note!'; $labels['aclnorights'] = 'You do not have administrator rights for this notebook.'; $labels['arialabelnoteslist'] = 'List of notes';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/es_AR.inc
Added
@@ -0,0 +1,52 @@ +<?php +$labels['navtitle'] = 'Notas'; +$labels['tags'] = 'Etiquetas'; +$labels['lists'] = 'Libretas de notas'; +$labels['notes'] = 'Notas'; +$labels['create'] = 'Nueva Nota'; +$labels['createnote'] = 'Crear nueva nota'; +$labels['send'] = 'Enviar'; +$labels['sendnote'] = 'Enviar nota por email'; +$labels['newnote'] = 'Nueva Nota'; +$labels['notags'] = 'Sin etiquetas'; +$labels['removetag'] = 'Eliminar etiqueta'; +$labels['created'] = 'Creado'; +$labels['changed'] = 'Última modificación'; +$labels['title'] = 'Título'; +$labels['now'] = 'Ahora'; +$labels['sortby'] = 'Ordenar por'; +$labels['newnotebook'] = 'Crear nueva libreta de notas'; +$labels['addnotebook'] = 'Agregar libreta de notas'; +$labels['editlist'] = 'Editar libreta de notas'; +$labels['listname'] = 'Nombre'; +$labels['tabsharing'] = 'Compartir'; +$labels['discard'] = 'Descartar'; +$labels['abort'] = 'Cancelar'; +$labels['unsavedchanges'] = '¡Cambios sin guardar!'; +$labels['appendnote'] = 'Agregar nota'; +$labels['editnote'] = 'Editar nota'; +$labels['savein'] = 'Guardar en'; +$labels['foldersubscribe'] = 'Listar permanentemente'; +$labels['findnotebooks'] = 'Encontrar libretas de notas...'; +$labels['listsearchresults'] = 'Libretas de notas adicionales'; +$labels['nrnotebooksfound'] = '$nr libretas de notas encontradas'; +$labels['nonotebooksfound'] = 'No se encontraron libretas de notas'; +$labels['savingdata'] = 'Guardando...'; +$labels['recordnotfound'] = 'Registro no encontrado'; +$labels['norecordsfound'] = 'No se encontraron notas'; +$labels['nochanges'] = 'No hay cambios para guardar'; +$labels['entertitle'] = '¡Por favor ingrese un título para esta nota!'; +$labels['deletenotesconfirm'] = 'Confirme que desea eliminar la nota seleccionada'; +$labels['deletenotebookconfirm'] = 'Confirme que desea eliminar esta libreta de notas con todas sus notas. Esta acción no se puede deshacer.'; +$labels['discardunsavedchanges'] = 'La nota actual no ha sido guardada. ¿Descartar los cambios?'; +$labels['invalidlistproperties'] = 'Propiedades de la libreta de notas erroneas. Por favor ingrese un nombre válido.'; +$labels['entertitle'] = '¡Por favor ingrese un título para esta nota!'; +$labels['aclnorights'] = 'No tiene permisos de administrador en esta libreta de notas.'; +$labels['arialabelnoteslist'] = 'Lista de notas'; +$labels['arialabelnotesearchform'] = 'Formulario de búsqueda de notas'; +$labels['arialabelnotesquicksearchbox'] = 'Entrada de búsqueda de notas'; +$labels['arialabelnotessortmenu'] = 'Opciones de orden de notas'; +$labels['arialabelnotesoptionsmenu'] = 'Menú de acciones de libreta de notas'; +$labels['arialabelnotebookform'] = 'Propiedades de libreta de notas'; +$labels['arialabelmessagereferences'] = 'Mensajes de email enlazados'; +$labels['arialabelfolderearchform'] = 'Formulario de búsqueda de libretas de notas';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/es_ES.inc
Added
@@ -0,0 +1,7 @@ +<?php +$labels['navtitle'] = 'Notas'; +$labels['notes'] = 'Notas'; +$labels['title'] = 'Título'; +$labels['listname'] = 'Nombre'; +$labels['tabsharing'] = 'Sharing'; +$labels['savingdata'] = 'Guardando datos...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/et_EE.inc
Added
@@ -0,0 +1,5 @@ +<?php +$labels['title'] = 'Pealkiri'; +$labels['listname'] = 'Nimi'; +$labels['tabsharing'] = 'Sharing'; +$labels['savingdata'] = 'Saving data...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/fi_FI.inc
Added
@@ -0,0 +1,8 @@ +<?php +$labels['navtitle'] = 'Muistiot'; +$labels['tags'] = 'Tunnisteet'; +$labels['notes'] = 'Muistiot'; +$labels['listname'] = 'Nimi'; +$labels['tabsharing'] = 'Jakaminen'; +$labels['abort'] = 'Keskeytä'; +$labels['savingdata'] = 'Tallennetaan tietoja...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/fr_FR.inc
Added
@@ -0,0 +1,10 @@ +<?php +$labels['navtitle'] = 'Notes'; +$labels['tags'] = 'Étiquettes'; +$labels['notes'] = 'Notes'; +$labels['title'] = 'Titre'; +$labels['listname'] = 'Nom'; +$labels['tabsharing'] = 'Partage'; +$labels['abort'] = 'Abandon'; +$labels['foldersubscribe'] = 'Lister définitivement'; +$labels['savingdata'] = 'Enregistrer...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/he.inc
Added
@@ -0,0 +1,1 @@ +<?php
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/hr.inc
Added
@@ -0,0 +1,1 @@ +<?php
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/hu_HU.inc
Added
@@ -0,0 +1,9 @@ +<?php +$labels['navtitle'] = 'Jegyzetek'; +$labels['tags'] = 'Kulcsszavak'; +$labels['notes'] = 'Jegyzetek'; +$labels['title'] = 'Title'; +$labels['listname'] = 'Név'; +$labels['tabsharing'] = 'Megosztás'; +$labels['abort'] = 'Abort'; +$labels['savingdata'] = 'Adatok mentése...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/it_IT.inc
Added
@@ -0,0 +1,8 @@ +<?php +$labels['navtitle'] = 'Note'; +$labels['tags'] = 'Etichette'; +$labels['notes'] = 'Note'; +$labels['title'] = 'Titolo'; +$labels['listname'] = 'Nome'; +$labels['tabsharing'] = 'Condivisione'; +$labels['savingdata'] = 'Salvataggio dati...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/ja_JP.inc
Added
@@ -0,0 +1,8 @@ +<?php +$labels['navtitle'] = 'ノート'; +$labels['tags'] = 'タグ'; +$labels['notes'] = 'ノート'; +$labels['title'] = 'タイトル'; +$labels['listname'] = '名前'; +$labels['tabsharing'] = '共有'; +$labels['savingdata'] = 'データを保存中…';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/nl_NL.inc
Added
@@ -0,0 +1,9 @@ +<?php +$labels['navtitle'] = 'Notities'; +$labels['tags'] = 'Labels'; +$labels['notes'] = 'Notities'; +$labels['title'] = 'Titel'; +$labels['listname'] = 'Naam'; +$labels['tabsharing'] = 'Delen'; +$labels['foldersubscribe'] = 'Permanent weergeven'; +$labels['savingdata'] = 'Data wordt opgeslagen...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/pl_PL.inc
Added
@@ -0,0 +1,52 @@ +<?php +$labels['navtitle'] = 'Notatki'; +$labels['tags'] = 'Tagi'; +$labels['lists'] = 'Notatniki'; +$labels['notes'] = 'Notatki'; +$labels['create'] = 'Nowa notatka'; +$labels['createnote'] = 'Utwórz nową notatkę'; +$labels['send'] = 'Wyślij'; +$labels['sendnote'] = 'Wyślij notatkę e-mailem'; +$labels['newnote'] = 'Nowa notatka'; +$labels['notags'] = 'Brak tagów'; +$labels['removetag'] = 'Usuń tag'; +$labels['created'] = 'Utworzono'; +$labels['changed'] = 'Ostatnia modyfikacja'; +$labels['title'] = 'Tytuł'; +$labels['now'] = 'Teraz'; +$labels['sortby'] = 'Sortuj wg'; +$labels['newnotebook'] = 'Utwórz nowy notatnik'; +$labels['addnotebook'] = 'Dodaj notatnik'; +$labels['editlist'] = 'Edytuj notatnik'; +$labels['listname'] = 'Nazwa'; +$labels['tabsharing'] = 'Udostępnianie'; +$labels['discard'] = 'Odrzuć'; +$labels['abort'] = 'Przerwij'; +$labels['unsavedchanges'] = 'Niezapisane zmiany!'; +$labels['appendnote'] = 'Dodaj notatkę'; +$labels['editnote'] = 'Edytuj notatkę'; +$labels['savein'] = 'Zapisz w'; +$labels['foldersubscribe'] = 'Dodaj do listy na stałe'; +$labels['findnotebooks'] = 'Wyszukaj notatniki...'; +$labels['listsearchresults'] = 'Dodatkowe notatniki'; +$labels['nrnotebooksfound'] = 'znaleziono $n notatników'; +$labels['nonotebooksfound'] = 'Nie znaleziono żadnych notatników'; +$labels['savingdata'] = 'Zapisuję dane...'; +$labels['recordnotfound'] = 'Nie znaleziono rekordu'; +$labels['norecordsfound'] = 'Nie znaleziono żadnych notatek'; +$labels['nochanges'] = 'Brak zmian do zapisania'; +$labels['entertitle'] = 'Proszę wprowadzić tytuł tej notatki!'; +$labels['deletenotesconfirm'] = 'Czy na pewno chcesz usunąć wybrane notatki?'; +$labels['deletenotebookconfirm'] = 'Czy na pewno chcesz usunąć ten notatnik z wszystkimi notatkami? Ta operacja jest nieodwracalna.'; +$labels['discardunsavedchanges'] = 'Bieżąca notatka nie została jeszcze zapisana. Porzucić zmiany?'; +$labels['invalidlistproperties'] = 'Błędne właściwości notatnika! Proszę wprowadzić poprawną nazwę.'; +$labels['entertitle'] = 'Proszę wprowadzić tytuł tej notatki!'; +$labels['aclnorights'] = 'Nie posiadasz uprawnień administracyjnych do tego notatnika.'; +$labels['arialabelnoteslist'] = 'Lista notatek'; +$labels['arialabelnotesearchform'] = 'Formularz wyszukiwania notatek'; +$labels['arialabelnotesquicksearchbox'] = 'Fraza wyszukiwania'; +$labels['arialabelnotessortmenu'] = 'Opcje sortowania listy notatek'; +$labels['arialabelnotesoptionsmenu'] = 'Menu akcji notatników'; +$labels['arialabelnotebookform'] = 'Właściwości notatnika'; +$labels['arialabelmessagereferences'] = 'Powiązane wiadomości e-mail'; +$labels['arialabelfolderearchform'] = 'Formularz wyszukiwania notatników';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/pt_BR.inc
Added
@@ -0,0 +1,10 @@ +<?php +$labels['navtitle'] = 'Notas'; +$labels['tags'] = 'Etiquetas'; +$labels['notes'] = 'Notas'; +$labels['title'] = 'Título'; +$labels['listname'] = 'Nome'; +$labels['tabsharing'] = 'Compartilhamento'; +$labels['abort'] = 'Abortar'; +$labels['foldersubscribe'] = 'Listar permanentemente'; +$labels['savingdata'] = 'Salvando dados...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/ru_RU.inc
Added
@@ -0,0 +1,52 @@ +<?php +$labels['navtitle'] = 'Заметки'; +$labels['tags'] = 'Теги'; +$labels['lists'] = 'Записные книжки'; +$labels['notes'] = 'Заметки'; +$labels['create'] = 'Создать'; +$labels['createnote'] = 'Создать новую заметку'; +$labels['send'] = 'Отправить'; +$labels['sendnote'] = 'Отправить заметку по почте'; +$labels['newnote'] = 'Новая заметка'; +$labels['notags'] = 'Нет тегов'; +$labels['removetag'] = 'Удалить тег'; +$labels['created'] = 'Создана'; +$labels['changed'] = 'Изменена'; +$labels['title'] = 'Заголовок'; +$labels['now'] = 'Сейчас'; +$labels['sortby'] = 'Сортировать по'; +$labels['newnotebook'] = 'Создать новую записную книжку'; +$labels['addnotebook'] = 'Добавить записную книжку'; +$labels['editlist'] = 'Редактировать записную книжку'; +$labels['listname'] = 'Имя'; +$labels['tabsharing'] = 'Поделиться'; +$labels['discard'] = 'Отказаться'; +$labels['abort'] = 'Отменить'; +$labels['unsavedchanges'] = 'Несохранённые изменения!'; +$labels['appendnote'] = 'Добавить заметку'; +$labels['editnote'] = 'Редактировать заметку'; +$labels['savein'] = 'Сохранить в'; +$labels['foldersubscribe'] = 'Всегда показывать'; +$labels['findnotebooks'] = 'Найти записные книжки...'; +$labels['listsearchresults'] = 'Дополнительные записные книжки'; +$labels['nrnotebooksfound'] = '$nr записных книжек найдено'; +$labels['nonotebooksfound'] = 'Записных книжек не найдено'; +$labels['savingdata'] = 'Сохранение данных...'; +$labels['recordnotfound'] = 'Запись не найдена'; +$labels['norecordsfound'] = 'Заметок не найдено'; +$labels['nochanges'] = 'Сохранять нечего'; +$labels['entertitle'] = 'Пожалуйста, укажите заголовок для заметки!'; +$labels['deletenotesconfirm'] = 'Вы действительно хотите удалить выбранные заметки?'; +$labels['deletenotebookconfirm'] = 'Вы действительно хотите удалить эту записную книжку и все заметки в ней? Это действие невозможно отменить.'; +$labels['discardunsavedchanges'] = 'Текущая заметка ещё не была сохранена. Отказаться от изменений?'; +$labels['invalidlistproperties'] = 'Неверные параметры записной книжки! Пожалуйста, задайте действительное имя.'; +$labels['entertitle'] = 'Пожалуйста, укажите заголовок для заметки!'; +$labels['aclnorights'] = 'Вы не имеете прав администратора для этой записной книжки.'; +$labels['arialabelnoteslist'] = 'Список заметок'; +$labels['arialabelnotesearchform'] = 'Форма поиска заметок'; +$labels['arialabelnotesquicksearchbox'] = 'Поиск заметок'; +$labels['arialabelnotessortmenu'] = 'Настройки сортировки списка заметок'; +$labels['arialabelnotesoptionsmenu'] = 'Действия с записными книжками'; +$labels['arialabelnotebookform'] = 'Свойства записной книжки'; +$labels['arialabelmessagereferences'] = 'Связанные сообщения почты'; +$labels['arialabelfolderearchform'] = 'Форма поиска записных книжек';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/vi.inc
Added
@@ -0,0 +1,1 @@ +<?php
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/vi_VN.inc
Added
@@ -0,0 +1,1 @@ +<?php
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/localization/zh_TW.inc
Added
@@ -0,0 +1,1 @@ +<?php
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_notes/notes.js
Changed
@@ -410,8 +410,10 @@ function edit_note(uid, action) { if (!uid) { + me.selected_note = null; if (noteslist) noteslist.clear_selection(); + me.selected_note = { list: me.selected_list, uid: null, @@ -1235,6 +1237,9 @@ setTimeout(function(){ dialog.parent().find('.ui-button:visible').first().addClass('mainaction').focus(); }, 10); + }, + close: function(event, ui) { + $(this).dialog('destroy').remove(); } }; @@ -1352,6 +1357,7 @@ $(rcmail.gui_objects.noteviewtitle).droppable({ drop: function(event, ui){ $('#tagedit-input').val(ui.draggable.data('value')).trigger('transformToTag'); + $('.tagline .placeholder', rcmail.gui_objects.noteviewtitle).hide(); }, addClasses: false })
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/composer.json
Added
@@ -0,0 +1,26 @@ +{ + "name": "kolab/kolab_tags", + "type": "roundcube-plugin", + "description": "Email tags plugin", + "homepage": "http://git.kolab.org/roundcubemail-plugins-kolab/", + "license": "AGPLv3", + "version": "0.1-beta", + "authors": [ + { + "name": "Aleksander Machniak", + "email": "machniak@kolabsys.com", + "role": "Lead" + } + ], + "repositories": [ + { + "type": "composer", + "url": "http://plugins.roundcube.net" + } + ], + "require": { + "php": ">=5.3.0", + "roundcube/plugin-installer": ">=0.1.3", + "kolab/libkolab": "1.1.0" + } +}
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/kolab_tags.js
Changed
@@ -293,7 +293,7 @@ if (tag) { name_input.val(tag.name); - color_input.val(tag.color.replace(/^#/, '')); + color_input.val(tag.color ? tag.color.replace(/^#/, '') : ''); } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/lib/kolab_tags_backend.php
Changed
@@ -38,14 +38,14 @@ */ public function list_tags($filter = array()) { - $config = kolab_storage_config::get_instance(); - $default = true; - $filter[] = array('type', '=', self::O_TYPE); - $cat_filter = array('category' => self::O_CATEGORY); + $config = kolab_storage_config::get_instance(); + $default = true; + $filter[] = array('type', '=', self::O_TYPE); + $filter[] = array('category', '=', self::O_CATEGORY); // for performance reasons assume there will be no more than 100 tags (per-folder) - return $config->get_objects($filter, $default, $cat_filter, 100); + return $config->get_objects($filter, $default, 100); } /**
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/de_DE.inc
Changed
@@ -6,8 +6,26 @@ * * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ */ +$labels['tags'] = 'Schlagworte'; +$labels['unset'] = 'Alle abwählen'; +$labels['manage'] = 'Schlagworte verwalten...'; +$labels['tagactions'] = 'Schlagwort Aktion...'; +$labels['tagadd'] = 'Vergebe Schlagwort...'; +$labels['tagremove'] = 'Entferne Schlagwort..'; +$labels['untag'] = 'Entferne Schlagwort'; +$labels['tagremoveall'] = 'Entferne alle Schlagworte'; $labels['add'] = 'Hinzufügen'; $labels['edit'] = 'Bearbeiten'; $labels['delete'] = 'Löschen'; $labels['tagname'] = 'Name'; -$labels['saving'] = 'Daten werden gespeichert...'; +$labels['tagcolor'] = 'Farbe'; +$labels['nameempty'] = 'Schlagwort kann nicht leer sein!'; +$labels['nameexists'] = 'Das Schlagwort existiert bereits'; +$labels['colorinvalid'] = 'Ungültige Farbangabe'; +$labels['saving'] = 'Speichere...'; +$labels['updatesuccess'] = 'Schlagworte wurden erfolgreich aktualisiert.'; +$labels['updateerror'] = 'Schlagworte konnten nicht aktualisiert werden.'; +$labels['taggingsuccess'] = 'Schlagwort wurde erfolgreich zugewiesen.'; +$labels['taggingerror'] = 'Konnte Schlagwort nicht zuweisen.'; +$labels['untaggingsuccess'] = 'Schlagwort(e) wurden erfolgreich entfernt.'; +$labels['untaggingerror'] = 'Schlagwort konnte nicht entfernt werden.';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/es_ES.inc
Added
@@ -0,0 +1,14 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */ +$labels['add'] = 'Añadir'; +$labels['edit'] = 'Editar'; +$labels['delete'] = 'Borrar'; +$labels['tagname'] = 'Nombre'; +$labels['tagcolor'] = 'Color'; +$labels['saving'] = 'Guardando datos...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/he.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/hr.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/vi.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/vi_VN.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/localization/zh_TW.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tags plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/kolab_tags/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/kolab_tags/package.xml
Deleted
@@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.9.0" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 - http://pear.php.net/dtd/tasks-1.0.xsd - http://pear.php.net/dtd/package-2.0 - http://pear.php.net/dtd/package-2.0.xsd"> - <name>kolab_tags</name> - <uri>http://git.kolab.org/roundcubemail-plugins-kolab/</uri> - <summary>Email tags plugin</summary> - <description>-</description> - <lead> - <name>Aleksander Machniak</name> - <user>machniak</user> - <email>machniak@kolabsys.com</email> - <active>yes</active> - </lead> - <date>2013-07-30</date> - <version> - <release>0.1-beta</release> - <api>0.1-beta</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <license uri="http://www.gnu.org/licenses/agpl.html">GNU AGPLv3</license> - <notes>-</notes> - <contents> - <dir baseinstalldir="/" name="/"> - <file name="kolab_tags.php" role="php"> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - <file name="kolab_tags.js" role="data"> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - <file name="lib/kolab_tags_backend.php" role="data"> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - <file name="lib/kolab_tags_engine.php" role="data"> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - - <file name="LICENSE" role="data"></file> - - <file name="localization/en_US.inc" role="data"></file> - - <file name="skins/larry/images/icons.png" role="data"></file> - <file name="skins/larry/templates/ui.html" role="data"></file> - <file name="skins/larry/style.css" role="data"></file> - </dir> - <!-- / --> - </contents> - <dependencies> - <required> - <php> - <min>5.3.1</min> - </php> - <pearinstaller> - <min>1.7.0</min> - </pearinstaller> - <package> - <name>libkolab</name> - <uri>http://git.kolab.org/roundcubemail-plugins-kolab/tree/plugins/libkolab</uri> - </package> - </required> - </dependencies> - <phprelease/> -</package>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/lib/libcalendaring_itip.php
Changed
@@ -92,7 +92,7 @@ * @param object Mail_mime object with message data * @return boolean True on success, false on failure */ - public function send_itip_message($event, $method, $recipient, $subject, $bodytext, $message = null) + public function send_itip_message($event, $method, $recipient, $subject, $bodytext, $message = null, $rsvp = true) { if (!$this->sender['name']) $this->sender['name'] = $this->sender['email']; @@ -125,7 +125,7 @@ 'vars' => array( 'title' => $event['title'], 'date' => $this->lib->event_date_text($event, true), - 'attendees' => join(', ', $attendees_list), + 'attendees' => join(",\n ", $attendees_list), 'sender' => $this->sender['name'], 'organizer' => $this->sender['name'], ) @@ -136,7 +136,7 @@ // } // append links for direct invitation replies - if ($method == 'REQUEST' && ($token = $this->store_invitation($event, $recipient['email']))) { + if ($method == 'REQUEST' && $rsvp && ($token = $this->store_invitation($event, $recipient['email']))) { $mailbody .= "\n\n" . $this->gettext(array( 'name' => 'invitationattendlinks', 'vars' => array('url' => $this->plugin->get_url(array('action' => 'attend', 't' => $token))), @@ -563,11 +563,19 @@ */ public function itip_rsvp_options_ui($dom_id, $disable = false) { + $itip_sending = $this->rc->config->get('calendar_itip_send_option', 3); + + // itip sending is entirely disabled + if ($itip_sending === 0) { + return ''; + } // add checkbox to suppress itip reply message - $rsvp_additions = html::label(array('class' => 'noreply-toggle'), - html::tag('input', array('type' => 'checkbox', 'id' => 'noreply-'.$dom_id, 'value' => 1, 'disabled' => $disable)) - . ' ' . $this->gettext('itipsuppressreply') - ); + else if ($itip_sending >= 2) { + $rsvp_additions = html::label(array('class' => 'noreply-toggle'), + html::tag('input', array('type' => 'checkbox', 'id' => 'noreply-'.$dom_id, 'value' => 1, 'disabled' => $disable, 'checked' => ($itip_sending & 1) == 0)) + . ' ' . $this->gettext('itipsuppressreply') + ); + } // add input field for reply comment $rsvp_additions .= html::a(array('href' => '#toggle', 'class' => 'reply-comment-toggle'), $this->gettext('itipeditresponse'));
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/libcalendaring.js
Changed
@@ -805,7 +805,7 @@ var noreply = 0, comment = ''; if (dom_id) { - noreply = $('#noreply-'+dom_id).prop('checked') ? 1 : 0; + noreply = $('#noreply-'+dom_id+':checked').length ? 1 : 0; if (!noreply) comment = $('#reply-comment-'+dom_id).val(); }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/libvcalendar.php
Changed
@@ -471,7 +471,7 @@ case 'CATEGORY': case 'CATEGORIES': - $event['categories'] = $prop->getParts(); + $event['categories'] = array_merge((array)$event['categories'], $prop->getParts()); break; case 'CLASS':
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/bg_BG.inc
Changed
@@ -1,4 +1,12 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'до'; $labels['alarmemail'] = 'Send Email'; $labels['alarmdisplay'] = 'Show message'; $labels['alarmdisplayoption'] = 'Message'; @@ -11,7 +19,6 @@ $labels['trigger+M'] = 'minutes after'; $labels['trigger+H'] = 'hours after'; $labels['trigger+D'] = 'days after'; -$labels['addalarm'] = 'add alarm'; $labels['alarmtitle'] = 'Upcoming events'; $labels['dismissall'] = 'Dismiss all'; $labels['dismiss'] = 'Dismiss'; @@ -22,6 +29,32 @@ $labels['repeattomorrow'] = 'Repeat tomorrow'; $labels['repeatinweek'] = 'Repeat in a week'; $labels['showmore'] = 'Show more...'; +$labels['frequency'] = 'Repeat'; +$labels['never'] = 'never'; +$labels['daily'] = 'daily'; +$labels['weekly'] = 'weekly'; +$labels['monthly'] = 'monthly'; +$labels['yearly'] = 'annually'; +$labels['rdate'] = 'on dates'; +$labels['every'] = 'Every'; +$labels['days'] = 'day(s)'; +$labels['weeks'] = 'week(s)'; +$labels['months'] = 'month(s)'; +$labels['bydays'] = 'On'; +$labels['untildate'] = 'the'; +$labels['each'] = 'Each'; +$labels['onevery'] = 'On every'; +$labels['onsamedate'] = 'On the same date'; +$labels['forever'] = 'forever'; +$labels['recurrencend'] = 'до'; +$labels['forntimes'] = 'for $nr time(s)'; +$labels['first'] = 'first'; +$labels['second'] = 'second'; +$labels['third'] = 'third'; +$labels['fourth'] = 'fourth'; +$labels['last'] = 'last'; +$labels['dayofmonth'] = 'Day of month'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = 'Invitation to'; $labels['itipupdate'] = 'Update of'; $labels['itipcancellation'] = 'Отказано:';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/ca_ES.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/cs_CZ.inc
Changed
@@ -1,4 +1,12 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'do'; $labels['alarmemail'] = 'Poslat e-mail'; $labels['alarmdisplay'] = 'Zobrazit zprávu'; $labels['alarmdisplayoption'] = 'Zpráva'; @@ -11,7 +19,6 @@ $labels['trigger+M'] = 'minut po'; $labels['trigger+H'] = 'hodin po'; $labels['trigger+D'] = 'dnů po'; -$labels['addalarm'] = 'přidat upozornění'; $labels['alarmtitle'] = 'Blížící se události'; $labels['dismissall'] = 'Zrušit vše'; $labels['dismiss'] = 'Zrušit'; @@ -48,6 +55,7 @@ $labels['fourth'] = 'čtvrtý'; $labels['last'] = 'poslední'; $labels['dayofmonth'] = 'Den v měsíci'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = 'Pozvání na událost'; $labels['itipupdate'] = 'Aktualizace události'; $labels['itipcancellation'] = 'Zrušeno:';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/da_DK.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'indtil'; +$labels['at'] = 'ved'; $labels['alarmemail'] = 'Afsend e-post'; $labels['alarmdisplay'] = 'Vis besked'; $labels['alarmdisplayoption'] = 'Besked'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'minutter efter'; $labels['trigger+H'] = 'timer efter'; $labels['trigger+D'] = 'dage efter'; -$labels['addalarm'] = 'tilføj alarm'; $labels['alarmtitle'] = 'Kommende arrangementer'; $labels['dismissall'] = 'Afvis alle'; $labels['dismiss'] = 'Afvis'; @@ -54,6 +62,7 @@ $labels['itipaccepted'] = 'Acceptér'; $labels['itiptentative'] = 'Måske'; $labels['itipdeclined'] = 'Afvis'; +$labels['itipdelegated'] = 'Delegér'; $labels['itipsubjectaccepted'] = '"$title" er blevet accepteret af $name'; $labels['itipsubjecttentative'] = '"$title" er blevet forsøgsvist accepteret af $name'; $labels['itipsubjectdeclined'] = '"$title" af blevet afvist af $name';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/de_CH.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'bis'; +$labels['at'] = 'um'; $labels['alarmemail'] = 'E-Mail senden'; $labels['alarmdisplay'] = 'Nachricht anzeigen'; $labels['alarmdisplayoption'] = 'Nachricht'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'Minuten danach'; $labels['trigger+H'] = 'Stunden danach'; $labels['trigger+D'] = 'Tage danach'; -$labels['addalarm'] = 'Erinnerung hinzufügen'; $labels['alarmtitle'] = 'Anstehende Termine'; $labels['dismissall'] = 'Alle ignorieren'; $labels['dismiss'] = 'Ignorieren'; @@ -56,6 +64,7 @@ $labels['itipaccepted'] = 'Akzeptieren'; $labels['itiptentative'] = 'Mit Vorbehalt'; $labels['itipdeclined'] = 'Ablehnen'; +$labels['itipdelegated'] = 'Vertreter'; $labels['itipsubjectaccepted'] = 'Einladung zu "$title" wurde von $name angenommen'; $labels['itipsubjecttentative'] = 'Einladung zu "$title" wurde von $name mit Vorbehalt angenommen'; $labels['itipsubjectdeclined'] = 'Einladung zu "$title" wurde von $name abgelehnt';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/de_DE.inc
Changed
@@ -1,8 +1,19 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'bis'; +$labels['at'] = 'um'; $labels['alarmemail'] = 'E-Mail senden'; $labels['alarmdisplay'] = 'Nachricht anzeigen'; +$labels['alarmaudio'] = 'Audio abspielen'; $labels['alarmdisplayoption'] = 'Nachricht'; $labels['alarmemailoption'] = 'E-Mail'; +$labels['alarmaudiooption'] = 'Audio'; $labels['alarmat'] = 'um $datetime'; $labels['trigger@'] = 'genau um'; $labels['trigger-M'] = 'Minuten davor'; @@ -11,7 +22,9 @@ $labels['trigger+M'] = 'Minuten danach'; $labels['trigger+H'] = 'Stunden danach'; $labels['trigger+D'] = 'Tage danach'; +$labels['triggerattime'] = 'um exakt'; $labels['addalarm'] = 'Erinnerung hinzufügen'; +$labels['removealarm'] = 'Erinnerung entfernen'; $labels['alarmtitle'] = 'Anstehende Termine'; $labels['dismissall'] = 'Alle ignorieren'; $labels['dismiss'] = 'Ignorieren'; @@ -41,6 +54,7 @@ $labels['onsamedate'] = 'Am gleichen Tag'; $labels['forever'] = 'unendlich'; $labels['recurrencend'] = 'bis'; +$labels['untilenddate'] = 'bis am'; $labels['forntimes'] = '$nr Wiederholungen'; $labels['first'] = 'erster'; $labels['second'] = 'zweiter'; @@ -49,6 +63,7 @@ $labels['last'] = 'letzter'; $labels['dayofmonth'] = 'Tag des Montats'; $labels['addrdate'] = 'Datum hinzufügen'; +$labels['except'] = 'ausser'; $labels['itipinvitation'] = 'Einladung zu'; $labels['itipupdate'] = 'Aktialisiert:'; $labels['itipcancellation'] = 'Abgesagt:'; @@ -56,17 +71,54 @@ $labels['itipaccepted'] = 'Akzeptieren'; $labels['itiptentative'] = 'Mit Vorbehalt'; $labels['itipdeclined'] = 'Ablehnen'; +$labels['itipdelegated'] = 'Delegieren'; +$labels['itipneeds-action'] = 'Aufschieben'; +$labels['itipcomment'] = 'Ihre Antwort'; +$labels['itipeditresponse'] = 'Antwort eingeben'; +$labels['itipsendercomment'] = 'Kommentar des Absenders:'; +$labels['itipsuppressreply'] = 'Keine Antwort senden'; +$labels['itipobjectnotfound'] = 'Das Objekt auf welches sich diese Nachricht bezieht, wurde in Ihrem Konto nicht gefunden.'; $labels['itipsubjectaccepted'] = 'Einladung zu "$title" wurde von $name angenommen'; $labels['itipsubjecttentative'] = 'Einladung zu "$title" wurde von $name mit Vorbehalt angenommen'; $labels['itipsubjectdeclined'] = 'Einladung zu "$title" wurde von $name abgelehnt'; +$labels['itipsubjectin-process'] = '"$title" ist nun in Bearbeitung von $name'; +$labels['itipsubjectcompleted'] = '"$title" wurde vom $name fertiggestellt'; +$labels['itipsubjectcancel'] = 'Ihre Teilnahme in "$title" wurde aufgehoben'; +$labels['itipnewattendee'] = 'Dies ist eine Antwort von einem neuen Teilnehmer'; $labels['updateattendeestatus'] = 'Teilnehmerstatus aktualisieren'; $labels['acceptinvitation'] = 'Möchten Sie die Einladung zu diesem Termin annehmen?'; +$labels['acceptattendee'] = 'Teilnehmer akzeptieren'; +$labels['declineattendee'] = 'Teilnehmer ablehnen'; +$labels['declineattendeeconfirm'] = 'Nachricht an den abgelehnten Teilnehmer verfassen (optional):'; $labels['youhaveaccepted'] = 'Sie haben die Einladung angenommen'; $labels['youhavetentative'] = 'Sie haben die Einladung mit Vorbehalt angenommen'; $labels['youhavedeclined'] = 'Sie haben die Einladung abgelehnt'; +$labels['youhavedelegated'] = 'Sie haben diese Einladung abgelehnt'; +$labels['youhavein-process'] = 'Sie arbeiten an dieser Aufgabe'; +$labels['youhavecompleted'] = 'Sie haben diese Aufgabe erledigt'; +$labels['youhaveneeds-action'] = 'Ihre Antwort auf diese Einladung ist noch ausstehend'; +$labels['youhavepreviouslyaccepted'] = 'Sie haben diese Einladung zuvor angenommen'; +$labels['youhavepreviouslytentative'] = 'Sie haben diese Einladung zuvor mit Vorbehalt angenommen'; +$labels['youhavepreviouslydeclined'] = 'Sie haben diese Einladung zuvor abgelehnt'; +$labels['youhavepreviouslydelegated'] = 'Sie haben diese Einladung zuvor delegiert'; +$labels['youhavepreviouslyin-process'] = 'Sie haben diese Aufgabe zuvor als In Bearbeitung gemeldet'; +$labels['youhavepreviouslycompleted'] = 'Sie haben diese Einladung zuvor erledigt'; +$labels['youhavepreviouslyneeds-action'] = 'Ihre Antwort auf diese Einladung ist noch ausstehend'; +$labels['attendeeaccepted'] = 'Teilnehmer hat akzeptiert'; +$labels['attendeetentative'] = 'Teilnehmer hat mit Vorbehalt akzeptiert'; +$labels['attendeedeclined'] = 'Teilnehmer hat abgelehnt'; +$labels['attendeedelegated'] = 'Teilnehmer hat an $delegatedto delegiert'; +$labels['attendeein-process'] = 'Teilnehmer arbeitet an dieser Aufgabe'; +$labels['attendeecompleted'] = 'Teilnehmer hat die Aufgabe erledigt'; $labels['notanattendee'] = 'Sie sind nicht in der Liste der Teilnehmer aufgeführt'; +$labels['outdatedinvitation'] = 'Diese Einladung wurde durch eine neuere Version ersetzt'; $labels['importtocalendar'] = 'In Kalender übernehmen'; $labels['removefromcalendar'] = 'Aus meinem Kalender löschen'; +$labels['updatemycopy'] = 'Meine Kopie aktualisieren'; $labels['deleteobjectconfirm'] = 'Möchten Sie dieses Objekt wirklich löschen?'; $labels['declinedeleteconfirm'] = 'Soll das abgelehnte Objekt ebenfalls aus Ihrem Konto gelöscht werden?'; $labels['savingdata'] = 'Speichere...'; +$labels['expandattendeegroup'] = 'Mit Gruppenmitgliedern ersetzen'; +$labels['expandattendeegroupnodata'] = 'Diese Gruppe konnte nicht ersetzt werden. Keine Gruppenmitglieder gefunden.'; +$labels['expandattendeegrouperror'] = 'Diese Gruppe konnte nicht ersetzt werden. Sie hat möglicherweise zuviele Mitglieder.'; +$labels['expandattendeegroupsizelimit'] = 'Die Gruppe hat zuviele Mitglieder und konnte deshalb nicht ersetzt werden.';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/es_ES.inc
Changed
@@ -1,3 +1,37 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'until'; $labels['alarmdisplayoption'] = 'Message'; +$labels['frequency'] = 'Repeat'; +$labels['never'] = 'never'; +$labels['daily'] = 'daily'; +$labels['weekly'] = 'weekly'; +$labels['monthly'] = 'monthly'; +$labels['yearly'] = 'annually'; +$labels['rdate'] = 'on dates'; +$labels['every'] = 'Every'; +$labels['days'] = 'day(s)'; +$labels['weeks'] = 'week(s)'; +$labels['months'] = 'month(s)'; +$labels['bydays'] = 'On'; +$labels['untildate'] = 'the'; +$labels['each'] = 'Each'; +$labels['onevery'] = 'On every'; +$labels['onsamedate'] = 'On the same date'; +$labels['forever'] = 'forever'; +$labels['recurrencend'] = 'until'; +$labels['forntimes'] = 'for $nr time(s)'; +$labels['first'] = 'first'; +$labels['second'] = 'second'; +$labels['third'] = 'third'; +$labels['fourth'] = 'fourth'; +$labels['last'] = 'last'; +$labels['dayofmonth'] = 'Day of month'; +$labels['addrdate'] = 'Add repeat date'; $labels['savingdata'] = 'Guardando datos...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/et_EE.inc
Changed
@@ -1,3 +1,37 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'until'; $labels['alarmdisplayoption'] = 'Message'; +$labels['frequency'] = 'Repeat'; +$labels['never'] = 'never'; +$labels['daily'] = 'daily'; +$labels['weekly'] = 'weekly'; +$labels['monthly'] = 'monthly'; +$labels['yearly'] = 'annually'; +$labels['rdate'] = 'on dates'; +$labels['every'] = 'Every'; +$labels['days'] = 'day(s)'; +$labels['weeks'] = 'week(s)'; +$labels['months'] = 'month(s)'; +$labels['bydays'] = 'On'; +$labels['untildate'] = 'the'; +$labels['each'] = 'Each'; +$labels['onevery'] = 'On every'; +$labels['onsamedate'] = 'On the same date'; +$labels['forever'] = 'forever'; +$labels['recurrencend'] = 'until'; +$labels['forntimes'] = 'for $nr time(s)'; +$labels['first'] = 'first'; +$labels['second'] = 'second'; +$labels['third'] = 'third'; +$labels['fourth'] = 'fourth'; +$labels['last'] = 'last'; +$labels['dayofmonth'] = 'Day of month'; +$labels['addrdate'] = 'Add repeat date'; $labels['savingdata'] = 'Saving data...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/fi_FI.inc
Changed
@@ -1,4 +1,12 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'kunnes'; $labels['alarmemail'] = 'Lähetä sähköposti'; $labels['alarmdisplay'] = 'Näytä viesti'; $labels['alarmdisplayoption'] = 'Viesti'; @@ -6,7 +14,6 @@ $labels['trigger-M'] = 'minuuttia ennen'; $labels['trigger-H'] = 'tuntia ennen'; $labels['trigger-D'] = 'päivää ennen'; -$labels['addalarm'] = 'lisää hälytys'; $labels['alarmtitle'] = 'Tulevat tapahtumat'; $labels['dismissall'] = 'Hylkää kaikki'; $labels['dismiss'] = 'Hylkää'; @@ -17,10 +24,17 @@ $labels['repeattomorrow'] = 'Toista huomenna'; $labels['repeatinweek'] = 'Toista viikon päästä'; $labels['showmore'] = 'Näytä lisää...'; +$labels['daily'] = 'päivittäin'; +$labels['weekly'] = 'viikottain'; +$labels['monthly'] = 'kuukausittain'; +$labels['yearly'] = 'vuosittain'; +$labels['forever'] = 'ikuisesti'; +$labels['recurrencend'] = 'kunnes'; $labels['itipcancellation'] = 'Peruttu:'; $labels['itipaccepted'] = 'Hyväksy'; $labels['itiptentative'] = 'Ehkä'; $labels['itipdeclined'] = 'Kieltäydy'; +$labels['itipdelegated'] = 'Edustaja'; $labels['itipsubjectaccepted'] = '$name on hyväksynyt tapahtuman "$title"'; $labels['itipsubjecttentative'] = '$name on alustavasti hyväkstynyt tapahtuman "$title"'; $labels['itipsubjectdeclined'] = '$name on kieltäytynyt osallistumasta tapahtumaan "$title"';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/fr_FR.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'Jusqu\'à'; +$labels['at'] = 'à'; $labels['alarmemail'] = 'Envoyer un email'; $labels['alarmdisplay'] = 'Voir le message'; $labels['alarmdisplayoption'] = 'Message'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'minutes après'; $labels['trigger+H'] = 'heures après'; $labels['trigger+D'] = 'jours après'; -$labels['addalarm'] = 'ajouter alarme'; $labels['alarmtitle'] = 'Evénements à venir'; $labels['dismissall'] = 'Tout supprimer'; $labels['dismiss'] = 'Abandonner'; @@ -28,6 +36,7 @@ $labels['weekly'] = 'Hebdomadaire'; $labels['monthly'] = 'Mensuelle'; $labels['yearly'] = 'Annuelle'; +$labels['rdate'] = 'on dates'; $labels['every'] = 'Tous les'; $labels['days'] = 'jour(s)'; $labels['weeks'] = 'semaine(s)'; @@ -47,6 +56,7 @@ $labels['fourth'] = 'quatrième'; $labels['last'] = 'dernier'; $labels['dayofmonth'] = 'Jour du mois'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = 'Invitation à'; $labels['itipupdate'] = 'Mise à jour de'; $labels['itipcancellation'] = 'Annulation:'; @@ -54,6 +64,7 @@ $labels['itipaccepted'] = 'Accepter'; $labels['itiptentative'] = 'Peut-être'; $labels['itipdeclined'] = 'Refuser'; +$labels['itipdelegated'] = 'Déléguer'; $labels['itipsubjectaccepted'] = '"$title" a été accepté par $name'; $labels['itipsubjecttentative'] = '"$title" a été accepté provisoirement par $name'; $labels['itipsubjectdeclined'] = '"$title" a été refusé par $name';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/he.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/hr.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/hu_HU.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'Eddig'; +$labels['at'] = 'időpont'; $labels['alarmemail'] = 'E-mail küldése'; $labels['alarmdisplay'] = 'Üzenet megjelenítése'; $labels['alarmdisplayoption'] = 'Üzenet'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'perccel utána'; $labels['trigger+H'] = 'órával utána'; $labels['trigger+D'] = 'nappal utána'; -$labels['addalarm'] = 'emlékeztető hozzáadása'; $labels['alarmtitle'] = 'Következő események'; $labels['dismissall'] = 'Az összes emlékeztető mellőzése'; $labels['dismiss'] = 'Nem emlékettet újra'; @@ -56,6 +64,7 @@ $labels['itipaccepted'] = 'Elfogadás'; $labels['itiptentative'] = 'Feltételes'; $labels['itipdeclined'] = 'Elutasítás'; +$labels['itipdelegated'] = 'Meghatalmazott:'; $labels['itipcomment'] = 'Megjegyzés'; $labels['itipeditresponse'] = 'Kérem, adjon meg egy választ'; $labels['itipsendercomment'] = 'A feladó megjegyzése: ';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/it_IT.inc
Changed
@@ -1,4 +1,12 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'fino al'; $labels['alarmemail'] = 'Spedisci email'; $labels['alarmdisplay'] = 'Mostra messaggio'; $labels['alarmdisplayoption'] = 'Messaggio'; @@ -10,7 +18,6 @@ $labels['trigger+M'] = 'minuti dopo'; $labels['trigger+H'] = 'ore dopo'; $labels['trigger+D'] = 'giorni dopo'; -$labels['addalarm'] = 'aggiungi allarme'; $labels['alarmtitle'] = 'Prossimi eventi'; $labels['dismissall'] = 'Scarta tutti'; $labels['dismiss'] = 'Scarta'; @@ -47,6 +54,7 @@ $labels['fourth'] = 'quarto'; $labels['last'] = 'ultimo'; $labels['dayofmonth'] = 'Giorno del mese'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = 'Invito a'; $labels['itipupdate'] = 'Aggiornamento di'; $labels['itipcancellation'] = 'Annullato:'; @@ -54,6 +62,7 @@ $labels['itipaccepted'] = 'Accetta'; $labels['itiptentative'] = 'Forse'; $labels['itipdeclined'] = 'Rifiuta'; +$labels['itipdelegated'] = 'Delegato'; $labels['itipobjectnotfound'] = 'L\'oggetto a cui si riferisce questo messaggio non è stato trovato nel tuo account.'; $labels['itipsubjectaccepted'] = '"$title" è stato accettato da $name'; $labels['itipsubjecttentative'] = '"$title" è stato accettato con riserva da $name';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/ja_JP.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'まで'; +$labels['at'] = 'の'; $labels['alarmemail'] = 'メール送信'; $labels['alarmdisplay'] = 'メッセージ表示'; $labels['alarmdisplayoption'] = 'メッセージ'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = '分後'; $labels['trigger+H'] = '時間後'; $labels['trigger+D'] = '日後'; -$labels['addalarm'] = 'アラーム追加'; $labels['alarmtitle'] = '今後のイベント'; $labels['dismissall'] = '全て削除'; $labels['dismiss'] = '削除'; @@ -28,6 +36,7 @@ $labels['weekly'] = '毎週'; $labels['monthly'] = '毎月'; $labels['yearly'] = '毎年'; +$labels['rdate'] = 'on dates'; $labels['every'] = 'いつでも'; $labels['days'] = '日(s)'; $labels['weeks'] = '週(s)'; @@ -47,6 +56,7 @@ $labels['fourth'] = '第4週'; $labels['last'] = '最終週'; $labels['dayofmonth'] = '日'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = '招待する'; $labels['itipupdate'] = '更新'; $labels['itipcancellation'] = 'キャンセル'; @@ -54,6 +64,7 @@ $labels['itipaccepted'] = '承諾'; $labels['itiptentative'] = 'たぶん'; $labels['itipdeclined'] = '辞退'; +$labels['itipdelegated'] = '委任者'; $labels['itipsubjectaccepted'] = '$name が "$title" を承諾しました'; $labels['itipsubjecttentative'] = '$name が "$title" を仮承諾しました'; $labels['itipsubjectdeclined'] = '$name が "$title" を辞退しました';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/nl_NL.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'tot'; +$labels['at'] = 'om'; $labels['alarmemail'] = 'Verzend E-mail'; $labels['alarmdisplay'] = 'Bericht weergeven'; $labels['alarmdisplayoption'] = 'Bericht'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'minuten na'; $labels['trigger+H'] = 'uren na'; $labels['trigger+D'] = 'dagen na'; -$labels['addalarm'] = 'alarm toevoegen'; $labels['alarmtitle'] = 'Aankomende evenementen'; $labels['dismissall'] = 'Dismiss all'; $labels['dismiss'] = 'Dismiss'; @@ -56,6 +64,7 @@ $labels['itipaccepted'] = 'Accepteer'; $labels['itiptentative'] = 'Misschien'; $labels['itipdeclined'] = 'Afwijzen'; +$labels['itipdelegated'] = 'Gedelegeerde'; $labels['itipcomment'] = 'Uw antwoord'; $labels['itipeditresponse'] = 'Voeg een antwoord tekst toe'; $labels['itipsendercomment'] = 'Opmerking van verzender:';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/pl_PL.inc
Changed
@@ -1,8 +1,19 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'dopóki'; +$labels['at'] = 'w'; $labels['alarmemail'] = 'Wyślij e-mail'; $labels['alarmdisplay'] = 'Pokaż wiadomość'; +$labels['alarmaudio'] = 'Odtwórz dźwięk'; $labels['alarmdisplayoption'] = 'Wiadomość'; $labels['alarmemailoption'] = 'E-mail'; +$labels['alarmaudiooption'] = 'Dźwięk'; $labels['alarmat'] = 'o $datetime'; $labels['trigger@'] = 'w dniu'; $labels['trigger-M'] = 'minut(y) przed'; @@ -11,7 +22,8 @@ $labels['trigger+M'] = 'minut po'; $labels['trigger+H'] = 'godzin(y) po'; $labels['trigger+D'] = 'dni po'; -$labels['addalarm'] = 'dodaj alarm'; +$labels['addalarm'] = 'Dodaj alarm'; +$labels['removealarm'] = 'Usuń alarm'; $labels['alarmtitle'] = 'Nadchodzące zdarzenia'; $labels['dismissall'] = 'Odrzuć wszystkie'; $labels['dismiss'] = 'Odrzuć'; @@ -41,6 +53,7 @@ $labels['onsamedate'] = 'W tej samej dacie'; $labels['forever'] = 'zawsze'; $labels['recurrencend'] = 'dopóki'; +$labels['untilenddate'] = 'do daty'; $labels['forntimes'] = '$nr raz(y)'; $labels['first'] = 'pierwszy'; $labels['second'] = 'drugi'; @@ -48,6 +61,8 @@ $labels['fourth'] = 'czwarty'; $labels['last'] = 'ostatni'; $labels['dayofmonth'] = 'Dzień miesiąca'; +$labels['addrdate'] = 'Add repeat date'; +$labels['except'] = 'oprócz'; $labels['itipinvitation'] = 'Zaproszenie do'; $labels['itipupdate'] = 'Aktualizacja'; $labels['itipcancellation'] = 'Anulowano:'; @@ -55,15 +70,38 @@ $labels['itipaccepted'] = 'Akceptuj'; $labels['itiptentative'] = 'Może'; $labels['itipdeclined'] = 'Odrzuć'; +$labels['itipdelegated'] = 'Pełnomocnik'; +$labels['itipneeds-action'] = 'Odłóż'; +$labels['itipcomment'] = 'Twoja odpowiedź'; +$labels['itipeditresponse'] = 'Wprowadź treść odpowiedzi'; +$labels['itipsendercomment'] = 'Komentarz nadawcy:'; +$labels['itipsuppressreply'] = 'Nie wysyłaj odpowiedzi'; +$labels['itipobjectnotfound'] = 'W twoim koncie nie znaleziono obiektu powiązanego z tą wiadomością.'; $labels['itipsubjectaccepted'] = '"$title" zostało zaakceptowane przez $name'; $labels['itipsubjecttentative'] = '"$title" zostało warunkowo zaakceptowane przez $name'; $labels['itipsubjectdeclined'] = '"$title" zostało odrzucone przez $name'; +$labels['itipsubjectcancel'] = 'Twój udział w "$title" został anulowany'; +$labels['itipnewattendee'] = 'To jest odpowiedź od nowego uczestnika'; $labels['updateattendeestatus'] = 'Zaktualizuj status uczestnika'; $labels['acceptinvitation'] = 'Czy akceptujesz to zdarzenie?'; +$labels['acceptattendee'] = 'Akceptuj uczestnika'; +$labels['declineattendee'] = 'Odrzuć uczestnika'; +$labels['declineattendeeconfirm'] = 'Wprowadź wiadomość dla odrzuconego uczestnika (opcjonalnie):'; $labels['youhaveaccepted'] = 'Zaakceptowałeś to zaproszenie'; $labels['youhavetentative'] = 'Zaakceptowałeś to zdarzenie warunkowo'; $labels['youhavedeclined'] = 'Odrzuciłeś to zdarzenie'; +$labels['youhavepreviouslyaccepted'] = 'Poprzednio zaakceptowałeś to zaproszenie'; +$labels['youhavepreviouslytentative'] = 'Poprzednio zaakceptowałeś to zaproszenie warunkowo'; +$labels['youhavepreviouslydeclined'] = 'Poprzednio odrzuciłeś to zaproszenie'; +$labels['youhavepreviouslydelegated'] = 'Poprzednio oddelegowałeś to zaproszenie'; +$labels['attendeeaccepted'] = 'Uczestnik zaakceptował'; +$labels['attendeetentative'] = 'Uczestnik zaakceptował warunkowo'; +$labels['attendeedeclined'] = 'Uczestnik odrzucił'; +$labels['attendeedelegated'] = 'Uczestnik oddelegował do $delegatedto'; $labels['notanattendee'] = 'Nie jesteś na liście uczestników tego zdarzenia'; +$labels['outdatedinvitation'] = 'To zaproszenie zostało zastąpione nową wersją'; $labels['importtocalendar'] = 'Zapisz w moim kalendarzu'; $labels['removefromcalendar'] = 'Usuń z mojego kalendarza'; +$labels['updatemycopy'] = 'Uaktualnij moją kopię'; +$labels['deleteobjectconfirm'] = 'Czy na pewno chcesz usunąć ten obiekt?'; $labels['savingdata'] = 'Zapisuję dane...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/pt_BR.inc
Changed
@@ -1,4 +1,13 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'até'; +$labels['at'] = 'no'; $labels['alarmemail'] = 'Enviar Email'; $labels['alarmdisplay'] = 'Mostrar mensagem'; $labels['alarmdisplayoption'] = 'Mensagem'; @@ -11,7 +20,6 @@ $labels['trigger+M'] = 'minutos depois'; $labels['trigger+H'] = 'horas depois'; $labels['trigger+D'] = 'dias depois'; -$labels['addalarm'] = 'adicionar alarme'; $labels['alarmtitle'] = 'Próximos eventos'; $labels['dismissall'] = 'Dispensar tudo'; $labels['dismiss'] = 'Dispensar'; @@ -48,6 +56,7 @@ $labels['fourth'] = 'quarta'; $labels['last'] = 'última'; $labels['dayofmonth'] = 'Dia do mês'; +$labels['addrdate'] = 'Add repeat date'; $labels['itipinvitation'] = 'Convite para'; $labels['itipupdate'] = 'Atualização de'; $labels['itipcancellation'] = 'Cancelado:'; @@ -55,14 +64,24 @@ $labels['itipaccepted'] = 'Aceitar'; $labels['itiptentative'] = 'Talvez'; $labels['itipdeclined'] = 'Rejeitar'; +$labels['itipdelegated'] = 'Delegado'; +$labels['itipobjectnotfound'] = 'O objeto referenciado por esta mensagem não foi encontrado em sua conta.'; $labels['itipsubjectaccepted'] = '"$title" foi aceito por $name'; $labels['itipsubjecttentative'] = '"$title" foi aceito como tentativa por $name'; $labels['itipsubjectdeclined'] = '"$title" foi recusado por $name'; +$labels['itipnewattendee'] = 'Esta é a resposta de um novo participante'; $labels['updateattendeestatus'] = 'Atualizar o estado dos participantes'; $labels['acceptinvitation'] = 'Você aceita este convite?'; +$labels['acceptattendee'] = 'Aceitar participante'; +$labels['declineattendee'] = 'Recusar participante'; $labels['youhaveaccepted'] = 'Você aceitou este convite'; $labels['youhavetentative'] = 'Você aceitou como tentativa este convite'; $labels['youhavedeclined'] = 'Você recusou este convite'; +$labels['youhavedelegated'] = 'Você delegou este convite'; +$labels['attendeeaccepted'] = 'O participante aceitou'; +$labels['attendeetentative'] = 'O participante aceitou temporariamente'; +$labels['attendeedeclined'] = 'O participante recusou'; +$labels['attendeedelegated'] = 'O participante delegou para $delegatedto'; $labels['importtocalendar'] = 'Salvar em meu calendário'; $labels['removefromcalendar'] = 'Remover do meu calendário'; $labels['savingdata'] = 'Salvando dados...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/ru_RU.inc
Changed
@@ -1,8 +1,19 @@ <?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */ +$labels['until'] = 'Повторять'; +$labels['at'] = 'в'; $labels['alarmemail'] = 'Послать e-mail'; $labels['alarmdisplay'] = 'Показать сообщение'; +$labels['alarmaudio'] = 'Проиграть мелодию'; $labels['alarmdisplayoption'] = 'Сообщение'; $labels['alarmemailoption'] = 'Email'; +$labels['alarmaudiooption'] = 'Мелодия'; $labels['alarmat'] = 'на $datetime'; $labels['trigger@'] = 'на дату'; $labels['trigger-M'] = 'минут до'; @@ -11,7 +22,9 @@ $labels['trigger+M'] = 'минут после'; $labels['trigger+H'] = 'часов после'; $labels['trigger+D'] = 'дней после'; -$labels['addalarm'] = 'добавить уведомление'; +$labels['triggerattime'] = 'в'; +$labels['addalarm'] = 'Добавить уведомление'; +$labels['removealarm'] = 'Удалить уведомление'; $labels['alarmtitle'] = 'Предстоящие события'; $labels['dismissall'] = 'Отменить все'; $labels['dismiss'] = 'Отменить'; @@ -41,6 +54,7 @@ $labels['onsamedate'] = 'В ту же самую дату'; $labels['forever'] = 'всегда'; $labels['recurrencend'] = 'Повторять'; +$labels['untilenddate'] = 'до'; $labels['forntimes'] = '$nr раз(а)'; $labels['first'] = 'первый(ую)'; $labels['second'] = 'вторый(ую)'; @@ -48,6 +62,8 @@ $labels['fourth'] = 'четвертый(ую)'; $labels['last'] = 'последний(ую)'; $labels['dayofmonth'] = 'День месяца'; +$labels['addrdate'] = 'Add repeat date'; +$labels['except'] = 'исключая'; $labels['itipinvitation'] = 'Приглашение на'; $labels['itipupdate'] = 'Обновление'; $labels['itipcancellation'] = 'Отменённый:'; @@ -55,14 +71,48 @@ $labels['itipaccepted'] = 'Принять'; $labels['itiptentative'] = 'Может быть'; $labels['itipdeclined'] = 'Отклонить'; +$labels['itipdelegated'] = 'Представитель'; +$labels['itipneeds-action'] = 'Отложить'; +$labels['itipcomment'] = 'Ваш ответ'; +$labels['itipeditresponse'] = 'Введите текст ответа'; +$labels['itipsendercomment'] = 'Комментарий отправителя:'; +$labels['itipsuppressreply'] = 'Не отправлять ответ'; +$labels['itipobjectnotfound'] = 'Объект, указанный в данном сообщении не был найден в вашем аккаунте.'; $labels['itipsubjectaccepted'] = '"$title" принято $name'; $labels['itipsubjecttentative'] = '"$title" предварительно принято $name'; $labels['itipsubjectdeclined'] = '"$title" отклонено $name'; +$labels['itipsubjectin-process'] = '"$title" обрабатывается $name'; +$labels['itipsubjectcompleted'] = '"$title" завершена $name'; +$labels['itipsubjectcancel'] = 'Ваше участие в "$title" было отменено'; +$labels['itipnewattendee'] = 'Это ответ от нового участника'; $labels['updateattendeestatus'] = 'Обновить статус участника'; $labels['acceptinvitation'] = 'Вы принимаете это приглашение?'; +$labels['acceptattendee'] = 'Принять участника'; +$labels['declineattendee'] = 'Отказать участнику'; +$labels['declineattendeeconfirm'] = 'Введите сообщение для отклонённого участника (не обязательно):'; $labels['youhaveaccepted'] = 'Вы приняли это приглашение'; $labels['youhavetentative'] = 'Вы предварительно приняли это приглашение'; $labels['youhavedeclined'] = 'Вы отклонили это приглашение'; +$labels['youhavedelegated'] = 'Вы делегировали это приглашение'; +$labels['youhavein-process'] = 'Вы работаете над этим заданием'; +$labels['youhavecompleted'] = 'Вы завершили это задание'; +$labels['youhaveneeds-action'] = 'Ваш ответ на это приглашение всё ещё ожидается'; +$labels['youhavepreviouslyaccepted'] = 'Вы уже приняли это приглашение'; +$labels['youhavepreviouslytentative'] = 'Вы уже предварительно приняли это приглашение'; +$labels['youhavepreviouslydeclined'] = 'Вы уже отказались от этого приглашения'; +$labels['youhavepreviouslydelegated'] = 'Вы уже делегировали это приглашение'; +$labels['youhavepreviouslyin-process'] = 'Вы уже предоставили отчет о проделанной работе на это задание'; +$labels['youhavepreviouslycompleted'] = 'Вы уже завершили это задание'; +$labels['youhavepreviouslyneeds-action'] = 'Ваш ответ на это приглашение всё ещё ожидается'; +$labels['attendeeaccepted'] = 'Участник принял приглашение'; +$labels['attendeetentative'] = 'Участник предварительно принял приглашение'; +$labels['attendeedeclined'] = 'Участник отказался от приглашения'; +$labels['attendeedelegated'] = 'Участник делегировал приглашение $delegatedto'; +$labels['notanattendee'] = 'Вы не указаны как участник этого объекта'; +$labels['outdatedinvitation'] = 'Это приглашение было заменено новой версией'; $labels['importtocalendar'] = 'Сохранить в мой календарь'; $labels['removefromcalendar'] = 'Удалить из моего календаря'; +$labels['updatemycopy'] = 'Обновить мою копию'; +$labels['deleteobjectconfirm'] = 'Вы действительно хотите удалить этот объект?'; +$labels['declinedeleteconfirm'] = 'Вы хотите так же удалить этот объект со своего аккаунта?'; $labels['savingdata'] = 'Сохранение данных...';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/vi.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/vi_VN.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/localization/zh_TW.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab calendaring utilities plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/libcalendaring/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/skins/larry/libcal.css
Changed
@@ -59,10 +59,13 @@ a.reply-comment-toggle { display: inline-block; - margin-left: 1em; color: #666; } +label.noreply-toggle + a.reply-comment-toggle { + margin-left: 1em; +} + .itip-reply-comment textarea { display: block; width: 90%;
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/tests/libvcalendar.php
Changed
@@ -321,6 +321,7 @@ $this->assertEquals('-1D:DISPLAY', $task['alarms'], "Taks alarm value"); $this->assertEquals('IN-PROCESS', $task['status'], "Task status property"); $this->assertEquals(1, count($task['x-custom']), "Custom properties"); + $this->assertEquals(4, count($task['categories'])); } /**
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libcalendaring/tests/resources/vtodo.ics
Changed
@@ -28,6 +28,9 @@ DTSTART;TZID=Europe/Zurich:20130921T000000 DUE;VALUE=DATE:20130921 SEQUENCE:2 +CATEGORIES:Tag1,Tag2 +CATEGORIES:Tag3 +CATEGORIES:Tag4 X-MOZ-GENERATION:1 BEGIN:VALARM ACTION:DISPLAY
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/config.inc.php.dist
Changed
@@ -3,56 +3,56 @@ /* Configuration for libkolab */ // Enable caching of Kolab objects in local database -$rcmail_config['kolab_cache'] = true; +$config['kolab_cache'] = true; // Specify format version to write Kolab objects (must be a string value!) -$rcmail_config['kolab_format_version'] = '3.0'; +$config['kolab_format_version'] = '3.0'; // Optional override of the URL to read and trigger Free/Busy information of Kolab users // Defaults to https://<imap-server->/freebusy -$rcmail_config['kolab_freebusy_server'] = 'https://<some-host>/<freebusy-path>'; +$config['kolab_freebusy_server'] = null; // Enables listing of only subscribed folders. This e.g. will limit // folders in calendar view or available addressbooks -$rcmail_config['kolab_use_subscriptions'] = false; +$config['kolab_use_subscriptions'] = false; // List any of 'personal','shared','other' namespaces to be excluded from groupware folder listing // example: array('other'); -$rcmail_config['kolab_skip_namespace'] = null; +$config['kolab_skip_namespace'] = null; // Enables the use of displayname folder annotations as introduced in KEP:? // for displaying resource folder names (experimental!) -$rcmail_config['kolab_custom_display_names'] = false; +$config['kolab_custom_display_names'] = false; // Configuration of HTTP requests. // See http://pear.php.net/manual/en/package.http.http-request2.config.php // for list of supported configuration options (array keys) -$rcmail_config['kolab_http_request'] = array(); +$config['kolab_http_request'] = array(); // When kolab_cache is enabled Roundcube's messages cache will be redundant // when working on kolab folders. Here we can: // 2 - bypass messages/indexes cache completely // 1 - bypass only messages, but use index cache -$rcmail_config['kolab_messages_cache_bypass'] = 0; +$config['kolab_messages_cache_bypass'] = 0; // LDAP directory to find avilable users for folder sharing. // Either contains an array with LDAP addressbook configuration or refers to entry in $config['ldap_public']. // If not specified, the configuraton from 'kolab_auth_addressbook' will be used. -$rcmail_config['kolab_users_directory'] = null; +$config['kolab_users_directory'] = null; // Filter to be used for resolving user folders in LDAP. // Defaults to the 'kolab_auth_filter' configuration option. -$rcmail_config['kolab_users_filter'] = '(&(objectclass=kolabInetOrgPerson)(|(uid=%u)(mail=%fu)))'; +$config['kolab_users_filter'] = '(&(objectclass=kolabInetOrgPerson)(|(uid=%u)(mail=%fu)))'; // Which property of the LDAP user record to use for user folder mapping in IMAP. // Defaults to the 'kolab_auth_login' configuration option. -$rcmail_config['kolab_users_id_attrib'] = null; +$config['kolab_users_id_attrib'] = null; // Use these attributes when searching users in LDAP -$rcmail_config['kolab_users_search_attrib'] = array('cn','mail','alias'); +$config['kolab_users_search_attrib'] = array('cn','mail','alias'); // JSON-RPC endpoint configuration of the Bonnie web service providing historic data for groupware objects -$rcmail_config['kolab_bonnie_api'] = array( +$config['kolab_bonnie_api'] = array( 'uri' => 'https://<kolab-hostname>:8080/api/rpc', 'user' => 'webclient', 'pass' => 'Welcome2KolabSystems',
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/lib/kolab_format_configuration.php
Changed
@@ -208,10 +208,41 @@ { $tags = array(); - if ($this->data['type'] == 'dictionary') { + switch ($this->data['type']) { + case 'dictionary': $tags = array($this->data['language']); + break; + + case 'relation': + $tags = array('category:' . $this->data['category']); + break; } return $tags; } + + /** + * Callback for kolab_storage_cache to get words to index for fulltext search + * + * @return array List of words to save in cache + */ + public function get_words() + { + $words = array(); + + foreach ((array)$this->data['members'] as $url) { + $member = kolab_storage_config::parse_member_url($url); + + if (empty($member)) { + if (strpos($url, 'urn:uuid:') === 0) { + $words[] = substr($url, 9); + } + } + else if (!empty($member['params']['message-id'])) { + $words[] = $member['params']['message-id']; + } + } + + return $words; + } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/lib/kolab_storage.php
Changed
@@ -245,13 +245,16 @@ } /** - * + * Returns Free-busy server URL */ public static function get_freebusy_server() { - return unslashify(self::$config->get('kolab_freebusy_server', 'https://' . $_SESSION['imap_host'] . '/freebusy')); - } + $url = 'https://' . $_SESSION['imap_host'] . '/freebusy'; + $url = self::$config->get('kolab_freebusy_server', $url); + $url = rcube_utils::resolve_url($url); + return unslashify($url); + } /** * Compose an URL to query the free/busy status for the given user @@ -261,7 +264,6 @@ return self::get_freebusy_server() . '/' . $email . '.ifb'; } - /** * Creates folder ID from folder name * @@ -276,7 +278,6 @@ asciiwords(strtr($folder, '/.-', '___')); } - /** * Encode the given ID to a safe ascii representation * @@ -300,7 +301,6 @@ return base64_decode(str_pad(strtr($id, '-_', '+/'), strlen($id) % 4, '=', STR_PAD_RIGHT)); } - /** * Return the (first) path of the requested IMAP namespace *
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/lib/kolab_storage_cache.php
Changed
@@ -265,8 +265,10 @@ // fetch from IMAP if not present in cache if (empty($this->objects[$msguid])) { - $result = $this->_fetch(array($msguid), $type, $foldername); - $this->objects = array($msguid => $result[0]); // store only this object in memory (#2827) + if ($object = $this->folder->read_object($msguid, $type ?: '*', $foldername)) { + $this->objects = array($msguid => $object); + $this->set($msguid, $object); + } } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/lib/kolab_storage_cache_configuration.php
Changed
@@ -37,4 +37,52 @@ return $sql_data; } -} \ No newline at end of file + + /** + * Select Kolab objects filtered by the given query + * + * @param array Pseudo-SQL query as list of filter parameter triplets + * @param boolean Set true to only return UIDs instead of complete objects + * @return array List of Kolab data objects (each represented as hash array) or UIDs + */ + public function select($query = array(), $uids = false) + { + // modify query for IMAP search: query param 'type' is actually a subtype + if (!$this->ready) { + foreach ($query as $i => $tuple) { + if ($tuple[0] == 'type') { + $tuple[2] = 'configuration.' . $tuple[2]; + $query[$i] = $tuple; + } + } + } + + return parent::select($query, $uids); + } + + /** + * Helper method to compose a valid SQL query from pseudo filter triplets + */ + protected function _sql_where($query) + { + if (is_array($query)) { + foreach ($query as $idx => $param) { + // convert category filter + if ($param[0] == 'category') { + $param[2] = array_map(function($n) { return 'category:' . $n; }, (array) $param[2]); + + $query[$idx][0] = 'tags'; + $query[$idx][2] = count($param[2]) > 1 ? $param[2] : $param[2][0]; + } + // convert member filter (we support only = operator with single value) + else if ($param[0] == 'member') { + $query[$idx][0] = 'words'; + $query[$idx][1] = '~'; + $query[$idx][2] = '^' . $param[2] . '$'; + } + } + } + + return parent::_sql_where($query); + } +}
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/libkolab/lib/kolab_storage_config.php
Changed
@@ -103,14 +103,13 @@ /** * Get configuration objects * - * @param array $filter Search filter - * @param bool $default Enable to get objects only from default folder - * @param array $data_filter Additional object data filter - * @param int $limit Max. number of records (per-folder) + * @param array $filter Search filter + * @param bool $default Enable to get objects only from default folder + * @param int $limit Max. number of records (per-folder) * * @return array List of objects */ - public function get_objects($filter = array(), $default = false, $data_filter = array(), $limit = 0) + public function get_objects($filter = array(), $default = false, $limit = 0) { $list = array(); @@ -126,12 +125,7 @@ } foreach ($folder->select($filter) as $object) { - foreach ($data_filter as $key => $val) { - if ($object[$key] != $val) { - continue 2; - } - } - + unset($object['_formatobj']); $list[] = $object; } } @@ -624,21 +618,33 @@ public function get_tags($uid = '*') { if (!isset($this->tags)) { - $filter = array(array('type', '=', 'relation')); - $default = true; - $data_filter = array('category' => 'tag'); + $default = true; + $filter = array( + array('type', '=', 'relation'), + array('category', '=', 'tag') + ); - $this->tags = $this->get_objects($filter, $default, $data_filter); + // use faster method + if ($uid && $uid != '*') { + $filter[] = array('member', '=', $uid); + $tags = $this->get_objects($filter, $default); + } + else { + $this->tags = $tags = $this->get_objects($filter, $default); + } + } + else { + $tags = $this->tags; } if ($uid === '*') { - return $this->tags; + return $tags; } $result = array(); $search = self::build_member_url($uid); - foreach ($this->tags as $tag) { + foreach ($tags as $tag) { if (in_array($search, (array) $tag['members'])) { $result[] = $tag; } @@ -646,4 +652,77 @@ return $result; } + + /** + * Find kolab objects assigned to specified e-mail message + * + * @param rcube_message $message E-mail message + * @param string $folder Folder name + * @param string $type Result objects type + * + * @return array List of kolab objects + */ + public function get_message_relations($message, $folder, $type) + { + $result = array(); + $uids = array(); + $default = true; + $uri = self::get_message_uri($message, $folder); + $filter = array( + array('type', '=', 'relation'), + array('category', '=', 'generic'), + // @TODO: what if Message-Id (and Date) does not exist? + array('member', '=', $message->get('message-id', false)), + ); + + // get UIDs of assigned notes + foreach ($this->get_objects($filter, $default) as $relation) { + // we don't need to update members if the URI is found + if (in_array($uri, $relation['members'])) { + // update members... + $messages = kolab_storage_config::resolve_members($relation); + // ...and check again + if (empty($messages[$folder]) || !in_array($message->uid, $messages[$folder])) { + continue; + } + } + + // find note UID(s) + foreach ($relation['members'] as $member) { + if (strpos($member, 'urn:uuid:') === 0) { + $uids[] = substr($member, 9); + } + } + } + + // get kolab objects of specified type + if (!empty($uids)) { + $query = array(array('uid', '=', array_unique($uids))); + $result = kolab_storage::select($query, $type); + } + + return $result; + } + + /** + * Build a URI representing the given message reference + */ + public static function get_message_uri($headers, $folder) + { + $params = array( + 'folder' => $headers->folder ?: $folder, + 'uid' => $headers->uid, + ); + + if (($messageid = $headers->get('message-id', false)) && ($date = $headers->get('date', false))) { + $params['message-id'] = $messageid; + $params['date'] = $date; + + if ($subject = $headers->get('subject')) { + $params['subject'] = $subject; + } + } + + return self::build_member_url($params); + } }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/config.inc.php.dist
Changed
@@ -1,8 +1,8 @@ <?php // ownCloud URL -$rcmail_config['owncloud_url'] = 'https://owncloud.webmail.tld'; +$config['owncloud_url'] = 'https://owncloud.webmail.tld'; // authentication exchange secret // has to be the same as the value for 'kolabsecret' in owncloud config -$rcmail_config['owncloud_secret'] = '<shared-secret-string>'; +$config['owncloud_secret'] = '<shared-secret-string>';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/ca_ES.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/es_ES.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/et_EE.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/he.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/hr.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/vi.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/vi_VN.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/owncloud/localization/zh_TW.inc
Added
@@ -0,0 +1,2 @@ +<?php +?>
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/drivers/database/tasklist_database_driver.php
Changed
@@ -34,6 +34,7 @@ private $plugin; private $lists = array(); private $list_ids = ''; + private $tags = array(); private $db_tasks = 'tasks'; private $db_lists = 'tasklists'; @@ -214,6 +215,16 @@ } /** + * Get a list of tags to assign tasks to + * + * @return array List of tags + */ + public function get_tags() + { + return array_values(array_unique($this->tags, SORT_STRING)); + } + + /** * Get number of tasks matching the given filter * * @param array List of lists to count tasks of @@ -518,6 +529,10 @@ $rec['recurrence'] = $this->unserialize_recurrence($rec['recurrence']); } + if (!empty($rec['tags'])) { + $this->tags = array_merge($this->tags, (array)$rec['tags']); + } + unset($rec['task_id'], $rec['tasklist_id'], $rec['created']); return $rec; }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
Changed
@@ -36,6 +36,7 @@ private $lists; private $folders = array(); private $tasks = array(); + private $tags = array(); /** @@ -441,6 +442,20 @@ } /** + * Get a list of tags to assign tasks to + * + * @return array List of tags + */ + public function get_tags() + { + $config = kolab_storage_config::get_instance(); + $tags = $config->get_tags(); + $backend_tags = array_map(function($v) { return $v['name']; }, $tags); + + return array_values(array_unique(array_merge($this->tags, $backend_tags))); + } + + /** * Get number of tasks matching the given filter * * @param array List of lists to count tasks of @@ -530,11 +545,15 @@ $query[] = array('changed', '>=', $filter['since']); } + // load all tags into memory first + kolab_storage_config::get_instance()->get_tags(); + foreach ($lists as $list_id) { if (!$folder = $this->get_folder($list_id)) { continue; } foreach ($folder->select($query) as $record) { + $this->load_tags($record); $task = $this->_to_rcube_task($record); $task['list'] = $list_id; @@ -558,7 +577,7 @@ */ public function get_task($prop) { - $id = is_array($prop) ? ($prop['uid'] ?: $prop['id']) : $prop; + $id = is_array($prop) ? ($prop['uid'] ?: $prop['id']) : $prop; $list_id = is_array($prop) ? $prop['list'] : null; $folders = $list_id ? array($list_id => $this->get_folder($list_id)) : $this->folders; @@ -567,6 +586,7 @@ if (is_numeric($list_id) || !$folder) continue; if (!$this->tasks[$id] && ($object = $folder->get_object($id))) { + $this->load_tags($object); $this->tasks[$id] = $this->_to_rcube_task($object); $this->tasks[$id]['list'] = $list_id; break; @@ -680,7 +700,7 @@ if (!empty($candidates)) { $alarm_ids = array_map(array($this->rc->db, 'quote'), array_keys($candidates)); $result = $this->rc->db->query(sprintf( - "SELECT * FROM kolab_alarms + "SELECT * FROM " . $this->rc->db->table_name('kolab_alarms') . " WHERE alarm_id IN (%s) AND user_id=?", join(',', $alarm_ids), $this->rc->db->now() @@ -719,7 +739,7 @@ { // delete old alarm entry $this->rc->db->query( - "DELETE FROM kolab_alarms + "DELETE FROM " . $this->rc->db->table_name('kolab_alarms') . " WHERE alarm_id=? AND user_id=?", $id, $this->rc->user->ID @@ -729,7 +749,7 @@ $notifyat = $snooze > 0 ? date('Y-m-d H:i:s', time() + $snooze) : null; $query = $this->rc->db->query( - "INSERT INTO kolab_alarms + "INSERT INTO " . $this->rc->db->table_name('kolab_alarms') . " (alarm_id, user_id, dismissed, notifyat) VALUES(?, ?, ?, ?)", $id, @@ -750,7 +770,7 @@ { // delete alarm entry $this->rc->db->query( - "DELETE FROM kolab_alarms + "DELETE FROM " . $this->rc->db->table_name('kolab_alarms') . " WHERE alarm_id=? AND user_id=?", $id, $this->rc->user->ID @@ -760,6 +780,35 @@ } /** + * Get task tags + */ + private function load_tags(&$object) + { + // this task hasn't been migrated yet + if (!empty($object['categories'])) { + // OPTIONAL: call kolab_storage_config::apply_tags() to migrate the object + $object['tags'] = (array)$object['categories']; + if (!empty($object['tags'])) { + $this->tags = array_merge($this->tags, $object['tags']); + } + } + else { + $config = kolab_storage_config::get_instance(); + $tags = $config->get_tags($object['uid']); + $object['tags'] = array_map(function($v) { return $v['name']; }, $tags); + } + } + + /** + * Update task tags + */ + private function save_tags($uid, $tags) + { + $config = kolab_storage_config::get_instance(); + $config->save_tags($uid, $tags); + } + + /** * Convert from Kolab_Format to internal representation */ private function _to_rcube_task($record) @@ -768,9 +817,8 @@ 'id' => $record['uid'], 'uid' => $record['uid'], 'title' => $record['title'], -# 'location' => $record['location'], +// 'location' => $record['location'], 'description' => $record['description'], - 'tags' => array_filter((array)$record['categories']), 'flagged' => $record['priority'] == 1, 'complete' => floatval($record['complete'] / 100), 'status' => $record['status'], @@ -779,6 +827,7 @@ 'attendees' => $record['attendees'], 'organizer' => $record['organizer'], 'sequence' => $record['sequence'], + 'tags' => $record['tags'], ); // convert from DateTime to internal date format @@ -842,7 +891,6 @@ private function _from_rcube_task($task, $old = array()) { $object = $task; - $object['categories'] = (array)$task['tags']; if (!empty($task['date'])) { $object['due'] = rcube_utils::anytodatetime($task['date'].' '.$task['time'], $this->plugin->timezone); @@ -954,6 +1002,10 @@ if (!$list_id || !($folder = $this->get_folder($list_id))) return false; + // tags are stored separately + $tags = $task['tags']; + unset($task['tags']); + // moved from another folder if ($task['_fromlist'] && ($fromfolder = $this->get_folder($task['_fromlist']))) { if (!$fromfolder->move($task['id'], $folder->name)) @@ -975,7 +1027,7 @@ // generate new task object from RC input $object = $this->_from_rcube_task($task, $old); - $saved = $folder->save($object, 'task', $task['id']); + $saved = $folder->save($object, 'task', $task['id']); if (!$saved) { raise_error(array( @@ -986,8 +1038,12 @@ $saved = false; } else { + // save tags in configuration.relation object + $this->save_tags($object['uid'], $tags); + $task = $this->_to_rcube_task($object); $task['list'] = $list_id; + $task['tags'] = (array) $tags; $this->tasks[$task['id']] = $task; } @@ -1029,7 +1085,15 @@ if (!$list_id || !($folder = $this->get_folder($list_id))) return false; - return $folder->delete($task['id']); + $status = $folder->delete($task['id']);
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/drivers/tasklist_driver.php
Changed
@@ -157,6 +157,13 @@ abstract function list_tasks($filter, $lists = null); /** + * Get a list of tags to assign tasks to + * + * @return array List of tags + */ + abstract function get_tags(); + + /** * Get a list of pending alarms to be displayed to the user * * @param integer Current time (unix timestamp)
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/de_DE.inc
Changed
@@ -37,21 +37,31 @@ $labels['status-in-process'] = 'In Bearbeitung'; $labels['status-completed'] = 'Erledigt'; $labels['status-cancelled'] = 'Gekündigt'; +$labels['assignedto'] = 'Zugewiesen an'; +$labels['created'] = 'Erstellt'; +$labels['changed'] = 'Geändert'; $labels['all'] = 'Alle'; $labels['flagged'] = 'Markiert'; $labels['complete'] = 'Abgeschlossen'; +$labels['completeness'] = 'Fortschritt'; $labels['overdue'] = 'Überfällig'; $labels['today'] = 'Heute'; $labels['tomorrow'] = 'Morgen'; $labels['next7days'] = 'Innerhalb von 7 Tagen'; $labels['later'] = 'Später'; +$labels['assigned'] = 'Zugewiesen'; +$labels['assignedtitle'] = 'Aufgaben, welche an andere vergeben wurden'; +$labels['mytasks'] = 'Meine Aufgaben'; +$labels['mytaskstitle'] = 'An mich übertragene Aufgaben'; $labels['nodate'] = 'Ohne Datum'; $labels['removetag'] = 'Entfernen'; +$labels['auto'] = 'Automatisch'; $labels['taskdetails'] = 'Details'; $labels['newtask'] = 'Neue Aufgabe'; $labels['edittask'] = 'Aufgabe ändern'; $labels['save'] = 'Speichern'; $labels['cancel'] = 'Abbrechen'; +$labels['saveandnotify'] = 'Speichern und Benachrichtigen'; $labels['addsubtask'] = 'Teilaufgabe hinzufügen'; $labels['deletetask'] = 'Aufgabe löschen'; $labels['deletethisonly'] = 'Nur diese Aufgabe löschen'; @@ -59,6 +69,7 @@ $labels['taskactions'] = 'Aufgabeneinstellungen...'; $labels['tabsummary'] = 'Titel'; $labels['tabrecurrence'] = 'Wiederholung'; +$labels['tabassignments'] = 'Zuweisungen'; $labels['tabattachments'] = 'Anhänge'; $labels['tabsharing'] = 'Freigabe'; $labels['editlist'] = 'Liste bearbeiten'; @@ -67,6 +78,7 @@ $labels['listname'] = 'Name'; $labels['showalarms'] = 'Show reminders'; $labels['import'] = 'Importieren'; +$labels['viewactions'] = 'Ansicht-Aktionen'; $labels['focusview'] = 'Nur diese Liste anzeigen'; $labels['on'] = 'am'; $labels['at'] = 'um'; @@ -81,6 +93,9 @@ $labels['deletelistconfirm'] = 'Diese Aufgabenliste wirklich mit allen Aufgaben löschen?'; $labels['deletelistconfirmrecursive'] = 'Soll diese Liste wirklich mit allen Aufgaben und Unterlisten gelöscht werden?'; $labels['aclnorights'] = 'Der Zugriff auf diese Aufgabenliste erfordert Administrator-Rechte.'; +$labels['changetaskconfirm'] = 'Aufgabe ändern'; +$labels['changeconfirmnotifications'] = 'Wollen Sie die beauftragten Teilnehmer über diese Änderung informieren?'; +$labels['partstatupdatenotification'] = 'Wollen Sie den Organisator über die Statusänderung benachrichtigen?'; $labels['quickaddinput'] = 'Neue Aufgabe Datum und Titel'; $labels['arialabelquickaddbox'] = 'Neue Aufgabe schnell hinzufügen'; $labels['arialabelsearchform'] = 'Suchformular für Aufgaben'; @@ -88,14 +103,19 @@ $labels['arialabellistsearchform'] = 'Sucheingabe für Aufgabenlisten'; $labels['arialabeltaskselector'] = 'Listenmodus'; $labels['arialabeltasklisting'] = 'Aufgabenliste'; +$labels['attendee'] = 'Beauftragter'; $labels['role'] = 'Rolle'; $labels['availability'] = 'Verfüg.'; $labels['confirmstate'] = 'Status'; +$labels['addattendee'] = 'Beauftragten hinzufügen'; $labels['roleorganizer'] = 'Organisator'; $labels['rolerequired'] = 'Erforderlich'; $labels['roleoptional'] = 'Optional'; $labels['rolechair'] = 'Stuhl'; +$labels['rolenonparticipant'] = 'Beobachter'; $labels['sendinvitations'] = 'Einladungen versenden'; +$labels['sendnotifications'] = 'Beauftragte Teilnehmer über die Änderung informieren'; +$labels['sendcancellation'] = 'Beauftragte Teilnehmer über die Stornierung informieren'; $labels['itipupdatesubject'] = '"$title" wurde aktualisiert'; $labels['itipcancelsubject'] = '"$title" wurde abgesagt'; $labels['itipcomment'] = 'Kommentar zur Einladungs-/Benachrichtigungsnachricht';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/he.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tasks plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/tasklist/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/hr.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tasks plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/tasklist/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/pl_PL.inc
Changed
@@ -11,8 +11,13 @@ $labels['list'] = 'Lista zadań'; $labels['tags'] = 'Tagi'; $labels['tasklistsubscribe'] = 'Dodaj do listy na stałe'; +$labels['listsearchresults'] = 'Dostępne listy zadań'; +$labels['findlists'] = 'Wyszukaj listy zadań...'; $labels['searchterms'] = 'Szukana fraza'; +$labels['notasklistsfound'] = 'Nie znaleziono żanych list zadań'; +$labels['nrtasklistsfound'] = 'Znaleziono $nr list zadań'; $labels['newtask'] = 'Nowe zadanie'; +$labels['createtask'] = 'Utwórz zadanie <Enter>'; $labels['createnewtask'] = 'Utwórz nowe zadanie (n.p. sobota, skosić trawnik)'; $labels['createfrommail'] = 'Zapisz jako zadanie'; $labels['mark'] = 'Zaznacz'; @@ -28,29 +33,39 @@ $labels['repeat'] = 'Powtórz'; $labels['status'] = 'Status'; $labels['status-cancelled'] = 'Anulowany'; +$labels['assignedto'] = 'Przypisane do'; $labels['created'] = 'Utworzono'; $labels['changed'] = 'Ostatnia modyfikacja'; $labels['all'] = 'Wszystkie'; $labels['flagged'] = 'Oflagowane'; $labels['complete'] = 'Ukończone'; +$labels['completeness'] = 'Postęp'; $labels['overdue'] = 'Po terminie'; $labels['today'] = 'Dzisiaj'; $labels['tomorrow'] = 'Jutro'; $labels['next7days'] = 'Kolejne 7 dni'; $labels['later'] = 'Późniejsze'; +$labels['assigned'] = 'Przypisane'; +$labels['assignedtitle'] = 'Zadania które przypisałeś innym'; +$labels['mytasks'] = 'Moje zadania'; +$labels['mytaskstitle'] = 'Zadania przypisane do ciebie'; $labels['nodate'] = 'Bez daty'; $labels['removetag'] = 'Usuń'; +$labels['auto'] = 'Automatycznie'; $labels['taskdetails'] = 'Szczegóły'; $labels['newtask'] = 'Nowe zadanie'; $labels['edittask'] = 'Edytuj zadanie'; $labels['save'] = 'Zapisz'; $labels['cancel'] = 'Anuluj'; +$labels['saveandnotify'] = 'Zapisz i powiadom'; $labels['addsubtask'] = 'Dodaj podzadanie'; $labels['deletetask'] = 'Usuń zadanie'; $labels['deletethisonly'] = 'Usuń tylko to zadanie'; $labels['deletewithchilds'] = 'Usuń z wszystkimi podzadaniami'; +$labels['taskactions'] = 'Opcje zadań...'; $labels['tabsummary'] = 'Podsumowanie'; $labels['tabrecurrence'] = 'Powtarzalność'; +$labels['tabassignments'] = 'Przypisania'; $labels['tabattachments'] = 'Załączniki'; $labels['tabsharing'] = 'Udostępnianie'; $labels['editlist'] = 'Edytuj listę'; @@ -59,6 +74,7 @@ $labels['listname'] = 'Nazwa'; $labels['showalarms'] = 'Show reminders'; $labels['import'] = 'Importuj'; +$labels['viewactions'] = 'Podgląd akcji'; $labels['focusview'] = 'Pokaż tylko tę listę'; $labels['on'] = 'na'; $labels['at'] = 'w'; @@ -72,14 +88,32 @@ $labels['deleteparenttasktconfirm'] = 'Na pewno chcesz usunąć to zadanie z wszystkimi podzadaniami ?'; $labels['deletelistconfirm'] = 'Na pewno chcesz usunąć tą listę z wszystkimi zadaniami ?'; $labels['deletelistconfirmrecursive'] = 'Czy na pewno chcesz usunąć tą listę wraz z wszystkimi zadaniami oraz pod-listami?'; +$labels['aclnorights'] = 'Nie posiadasz praw administracyjnych do tej listy zadań.'; +$labels['changetaskconfirm'] = 'Aktualizuj zadanie'; +$labels['changeconfirmnotifications'] = 'Czy chcesz powiadomić uczestników o tej modyfikacji?'; +$labels['partstatupdatenotification'] = 'Czy chcesz powiadomić organizatora o zmianie statusu?'; +$labels['quickaddinput'] = 'Data i tytuł nowego zadania'; +$labels['arialabelquickaddbox'] = 'Szybkie tworzenie nowego zadania'; +$labels['arialabelsearchform'] = 'Formularz wyszukiwania zadań'; +$labels['arialabelquicksearchbox'] = 'Fraza wyszukiwania'; +$labels['arialabellistsearchform'] = 'Formularz wyszukiwania list zadań'; +$labels['arialabeltaskselector'] = 'Tryb listy'; +$labels['arialabeltasklisting'] = 'Lista zadań'; +$labels['attendee'] = 'Przypisany'; $labels['role'] = 'Rola'; $labels['availability'] = 'Dostępny'; $labels['confirmstate'] = 'Status'; +$labels['addattendee'] = 'Dodaj przypisanie'; $labels['roleorganizer'] = 'Organizator'; $labels['rolerequired'] = 'Wymagany'; $labels['roleoptional'] = 'Opcjonalny'; $labels['rolechair'] = 'Przewodniczący'; +$labels['rolenonparticipant'] = 'Obserwator'; $labels['sendinvitations'] = 'Wyślij zaproszenia'; +$labels['sendnotifications'] = 'Powiadom przypisanych o modyfikacjach'; +$labels['sendcancellation'] = 'Powiadom przypisanych o anulowaniu zadania'; +$labels['invitationsubject'] = 'Zostałeś przypisany do "$title"'; +$labels['invitationmailbody'] = "*\$title*\n\nDo kiedy: \$date\n\nPrzypisani: \$attendees\n\nW załączeniu plik w formacie iCalendar ze szczegółami zadania, który możesz zaimportować do twojej aplikacji listy zadań."; $labels['itipupdatesubject'] = '"$title" zostało zaktualizowane'; $labels['itipcancelsubject'] = '"$title" zostało anulowane'; $labels['itipcomment'] = 'Komentarz zaproszenia/powiadomienia';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/ru_RU.inc
Changed
@@ -77,6 +77,7 @@ $labels['listname'] = 'Название'; $labels['showalarms'] = 'Показывать напоминания'; $labels['import'] = 'Импорт'; +$labels['viewactions'] = 'Просмотр действий'; $labels['focusview'] = 'Просмотреть только этот список'; $labels['on'] = 'в'; $labels['at'] = 'в'; @@ -101,24 +102,44 @@ $labels['arialabellistsearchform'] = 'Форма поиска списка задач'; $labels['arialabeltaskselector'] = 'Списком'; $labels['arialabeltasklisting'] = 'Список задач'; +$labels['attendee'] = 'Ответственный'; $labels['role'] = 'Роль'; $labels['availability'] = 'Доступность'; $labels['confirmstate'] = 'Статус'; +$labels['addattendee'] = 'Добавить ответственного'; $labels['roleorganizer'] = 'Организатор'; $labels['rolerequired'] = 'Обязательный'; $labels['roleoptional'] = 'Необязательный'; $labels['rolechair'] = 'Место'; $labels['rolenonparticipant'] = 'Наблюдатель'; $labels['sendinvitations'] = 'Отправить приглашения'; +$labels['sendnotifications'] = 'Оповестить ответственных о изменениях'; +$labels['sendcancellation'] = 'Оповестить ответственных об отмене задачи'; +$labels['invitationsubject'] = 'Вас назначили ответственным за "$title"'; $labels['itipupdatesubject'] = '"$title" было обновлено'; $labels['itipupdatesubjectempty'] = 'Задача, касающаяся вас, была обновлена'; $labels['itipcancelsubject'] = '"$title" было отменено'; $labels['saveintasklist'] = 'сохранить в '; $labels['itipobjectnotfound'] = 'Задача, упомянутая в этом сообщении, не найдена в вашем списке задач.'; +$labels['itipmailbodyaccepted'] = "\$sender принял назначение ответственным за задание:\n\n*\$title*\n\nВыполнить до: \$date\n\nОтветственные: \$attendees"; +$labels['itipmailbodytentative'] = "\$sender предварительно принял назначение ответственным за задание:\n\n*\$title*\n\nВыполнить до: \$date\n\nОтветственные: \$attendees"; +$labels['itipmailbodydeclined'] = "\$sender отказался от назначения ответственным за задание:\n\n*\$title*\n\nВыполнить до: \$date\n\nОтветственные: \$attendees"; +$labels['itipmailbodycancel'] = "\$sender отклонил ваше назначение ответственным за задание:\n\n*\$title*\n\nВыполнить до: \$date"; $labels['itipmailbodyin-process'] = "\$sender установил статус \"в процессе\" для задачи:\n\n*\$title*\n\nВыполнить до: \$date"; $labels['itipmailbodycompleted'] = "\$sender выполнил задачу:\n\n*\$title*\n\nВыполнить до: \$date"; +$labels['attendeeaccepted'] = 'Ответственный принял'; +$labels['attendeetentative'] = 'Ответственный предварительно принял'; +$labels['attendeedeclined'] = 'Ответственный отказался'; +$labels['attendeedelegated'] = 'Ответственный перепоручил $delegatedto'; +$labels['attendeein-process'] = 'Ответственный в процессе'; +$labels['attendeecompleted'] = 'Ответственный завершил'; +$labels['acceptinvitation'] = 'Вы принимаете это задание?'; +$labels['itipdeclinetask'] = 'Оповестить организатора о вашем отказе от задания'; $labels['declinedeleteconfirm'] = 'Хотите ли вы так же удалить эту отклонённую задачу из вашего списка задач?'; $labels['itipcomment'] = 'Комментарий к приглашению/извещению'; +$labels['itipcommenttitle'] = 'Этот комментарий будет прикреплен к приглашению/оповещению, отправляемому ответственным'; +$labels['itipsendsuccess'] = 'Приглашение отправлено ответственным'; +$labels['errornotifying'] = 'Не удалось отправить оповещения ответственным'; $labels['removefromcalendar'] = 'Удалить из моих задач'; $labels['andnmore'] = '$nr больше...'; $labels['delegatedto'] = 'Поручено:'; @@ -133,6 +154,8 @@ $labels['importedsuccessfully'] = 'Задача успешно добавлена в \'$list\''; $labels['updatedsuccessfully'] = 'Задача успешно обновлена в \'$list\''; $labels['attendeupdateesuccess'] = 'Успешно обновлен статус участника'; +$labels['itipresponseerror'] = 'Не удалось отправить ответ на назначение задания'; $labels['itipinvalidrequest'] = 'Это приглашение больше не действительно'; +$labels['sentresponseto'] = 'Успешно отправлен ответ на задачу $mailto'; $labels['successremoval'] = 'Задача успешно удалена.'; $labels['arialabelsortmenu'] = 'Настройки сортировки списка задач';
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/vi.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tasks plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/tasklist/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/vi_VN.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tasks plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/tasklist/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/localization/zh_TW.inc
Added
@@ -0,0 +1,8 @@ +<?php +/** + * Localizations for the Kolab Tasks plugin + * + * Copyright (C) 2014, Kolab Systems AG + * + * For translation see https://www.transifex.com/projects/p/kolab/resource/tasklist/ + */
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/skins/larry/tasklist.css
Changed
@@ -892,13 +892,13 @@ text-align: right; } -#taskedit .edit-attendees-table th.sendmail, -#taskedit .edit-attendees-table td.sendmail { +#taskedit .edit-attendees-table th.invite, +#taskedit .edit-attendees-table td.invite { width: 48px; padding: 2px; } -#taskedit .edit-attendees-table th.sendmail label { +#taskedit .edit-attendees-table th.invite label { display: inline-block; position: relative; top: 4px;
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/tasklist.js
Changed
@@ -542,7 +542,7 @@ t: me.selected_task, filter: filtermask, status: response, - noreply: $('#noreply-task-rsvp').prop('checked') ? 1 : 0, + noreply: $('#noreply-task-rsvp:checked').length ? 1 : 0, comment: $('#reply-comment-task-rsvp').val() }); @@ -637,7 +637,7 @@ $('#edit-attendees-invite').change(function() { $('#edit-attendees-donotify,input.edit-attendee-reply').prop('checked', this.checked); // hide/show comment field - $('.attendees-commentbox')[this.checked ? 'show' : 'hide'](); + $('#taskeditform .attendees-commentbox')[this.checked ? 'show' : 'hide'](); }); // delegate change task to "send invitations" checkbox @@ -1044,6 +1044,11 @@ append_tags(rec.tags || []); update_tagcloud(); fix_tree_toggles(); + + // refresh currently displayed task details dialog + if ($('#taskshow').is(':visible') && me.selected_task && me.selected_task.id == rec.id) { + task_show_dialog(rec.id); + } } /** @@ -1071,17 +1076,28 @@ var save_task_confirm = function(rec, action, updates) { var data = $.extend({}, rec, updates || {}), - notify = false, partstat = false, html = ''; + notify = false, partstat = false, html = '', + do_confirm = settings.itip_notify & 2; // task has attendees, ask whether to notify them if (has_attendees(rec) && is_organizer(rec)) { notify = true; - html = rcmail.gettext('changeconfirmnotifications', 'tasklist'); + if (do_confirm) { + html = rcmail.gettext('changeconfirmnotifications', 'tasklist'); + } + else { + data._notify = settings.itip_notify; + } } // ask whether to change my partstat and notify organizer else if (data._status_before !== undefined && data.status && data._status_before != data.status && is_attendee(rec)) { partstat = true; - html = rcmail.gettext('partstatupdatenotification', 'tasklist'); + if (do_confirm) { + html = rcmail.gettext('partstatupdatenotification', 'tasklist'); + } + else if (settings.itip_notify & 1) { + data._reportpartstat = data.status == 'CANCELLED' ? 'DECLINED' : data.status; + } } // remove to avoid endless recursion @@ -1617,7 +1633,7 @@ // send invitation checkbox var invbox = '<input type="checkbox" class="edit-attendee-reply" value="' + Q(data.email) +'" title="' + Q(rcmail.gettext('tasklist.sendinvitations')) + '" ' - + (!data.noreply ? 'checked="checked" ' : '') + '/>'; + + (!data.noreply && settings.itip_notify & 1 ? 'checked="checked" ' : '') + '/>'; if (data['delegated-to']) tooltip = rcmail.gettext('delegatedto', 'tasklist') + data['delegated-to']; @@ -1632,7 +1648,7 @@ var html = '<td class="name">' + dispname + '</td>' + '<td class="confirmstate"><span class="' + String(data.status).toLowerCase() + '" title="' + Q(tooltip) + '">' + Q(data.status || '') + '</span></td>' + - (data.cutype != 'RESOURCE' ? '<td class="sendmail">' + (readonly || !invbox ? '' : invbox) + '</td>' : '') + + (data.cutype != 'RESOURCE' ? '<td class="invite">' + (readonly || !invbox ? '' : invbox) + '</td>' : '') + '<td class="options">' + (readonly ? '' : dellink) + '</td>'; var tr = $('<tr>') @@ -1649,7 +1665,7 @@ tr.find('a.expandlink').click(data, function(e) { me.expand_attendee_group(e, add_attendee, remove_attendee); }); tr.find('input.edit-attendee-reply').click(function() { var enabled = $('#edit-attendees-invite:checked').length || $('input.edit-attendee-reply:checked').length; - $('p.attendees-commentbox')[enabled ? 'show' : 'hide'](); + $('#taskeditform .attendees-commentbox')[enabled ? 'show' : 'hide'](); }); task_attendees.push(data); @@ -1935,8 +1951,8 @@ var invite = $('#edit-attendees-invite').get(0); var comment = $('#edit-attendees-comment'); - notify.checked = has_attendees(rec); - invite.checked = true; + invite.checked = settings.itip_notify & 1 > 0; + notify.checked = has_attendees(rec) && invite.checked; // tag-edit line var tagline = $(rcmail.gui_objects.edittagline).empty(); @@ -1969,7 +1985,7 @@ task_attendees = []; attendees_list = $('#edit-attendees-table > tbody').html(''); - $('#edit-attendees-notify')[(notify.checked && allow_invitations ? 'show' : 'hide')](); + $('#edit-attendees-notify')[(allow_invitations && (settings.itip_notify & 2) ? 'show' : 'hide')](); $('#edit-localchanges-warning')[(has_attendees(rec) && !(allow_invitations || (rec.owner && is_organizer(rec, rec.owner))) ? 'show' : 'hide')](); // attendees (aka assignees) @@ -1987,14 +2003,12 @@ // make sure comment box is visible if at least one attendee has reply enabled // or global "send invitations" checkbox is checked - if (reply_selected || $('#edit-attendees-invite:checked').length) { - $('p.attendees-commentbox').show(); - } + $('#taskeditform .attendees-commentbox')[(reply_selected || invite.checked ? 'show' : 'hide')](); // select the correct organizer identity var identity_id = 0; $.each(settings.identities, function(i,v) { - if (rec.organizer && v == rec.organizer.email) { + if (!rec.organizer || v == rec.organizer.email) { identity_id = i; return false; } @@ -2107,7 +2121,7 @@ need_invitation = true; delete data.attendees[i]['noreply']; } - else { + else if (settings.itip_notify > 0) { data.attendees[i].noreply = 1; } } @@ -2116,9 +2130,12 @@ // tell server to send notifications if ((data.attendees.length || (rec.id && rec.attendees.length)) && allow_invitations && (notify.checked || invite.checked || need_invitation)) { - data._notify = 1; + data._notify = settings.itip_notify; data._comment = comment.val(); } + else if (data._notify) { + delete data._notify; + } if (save_task(data, action)) $dialog.dialog('close');
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/tasklist.php
Changed
@@ -174,7 +174,7 @@ if (is_object($this->driver)) return; - $driver_name = $this->rc->config->get('tasklist_driver', 'database'); + $driver_name = $this->rc->config->get('tasklist_driver', 'database'); $driver_class = 'tasklist_' . $driver_name . '_driver'; require_once($this->home . '/drivers/tasklist_driver.php'); @@ -203,6 +203,10 @@ $oldrec = $rec; $success = $refresh = false; + // force notify if hidden + active + if ((int)$this->rc->config->get('calendar_itip_send_option', 3) === 1 && empty($rec['_reportpartstat'])) + $rec['_notify'] = 1; + switch ($action) { case 'new': $oldrec = null; @@ -575,7 +579,8 @@ } // set organizer from identity selector - if (isset($rec['_identity']) && ($identity = $this->rc->user->get_identity($rec['_identity']))) { + if ((isset($rec['_identity']) || (!empty($rec['attendees']) && empty($rec['organizer']))) && + ($identity = $this->rc->user->get_identity($rec['_identity']))) { $rec['organizer'] = array('name' => $identity['name'], 'email' => $identity['email']); } @@ -696,6 +701,7 @@ $itip = $this->load_itip(); $emails = $this->lib->get_user_emails(); + $itip_notify = (int)$this->rc->config->get('calendar_itip_send_option', 3); // add comment to the iTip attachment $task['comment'] = $comment; @@ -725,17 +731,18 @@ } // skip if notification is disabled for this attendee - if ($attendee['noreply']) { + if ($attendee['noreply'] && $itip_notify & 2) { continue; } // which template to use for mail text $is_new = !in_array($attendee['email'], $old_attendees); + $is_rsvp = $is_new || $task['sequence'] > $old['sequence']; $bodytext = $is_cancelled ? 'itipcancelmailbody' : ($is_new ? 'invitationmailbody' : 'itipupdatemailbody'); $subject = $is_cancelled ? 'itipcancelsubject' : ($is_new ? 'invitationsubject' : ($task['title'] ? 'itipupdatesubject' : 'itipupdatesubjectempty')); // finally send the message - if ($itip->send_itip_message($object, $method, $attendee, $subject, $bodytext, $message)) + if ($itip->send_itip_message($object, $method, $attendee, $subject, $bodytext, $message, $is_rsvp)) $sent++; else $sent = -100; @@ -938,23 +945,29 @@ } */ - $data = $this->tasks_data($this->driver->list_tasks($filter, $lists), $f, $tags); - $this->rc->output->command('plugin.data_ready', array('filter' => $f, 'lists' => $lists, 'search' => $search, 'data' => $data, 'tags' => array_values(array_unique($tags)))); + $data = $this->tasks_data($this->driver->list_tasks($filter, $lists), $f); + $this->rc->output->command('plugin.data_ready', array( + 'filter' => $f, + 'lists' => $lists, + 'search' => $search, + 'data' => $data, + 'tags' => $this->driver->get_tags(), + )); } /** * Prepare and sort the given task records to be sent to the client */ - private function tasks_data($records, $f, &$tags) + private function tasks_data($records, $f) { - $data = $tags = $this->task_tree = $this->task_titles = array(); + $data = $this->task_tree = $this->task_titles = array(); + foreach ($records as $rec) { if ($rec['parent_id']) { $this->task_tree[$rec['id']] = $rec['parent_id']; } + $this->encode_task($rec); - if (!empty($rec['tags'])) - $tags = array_merge($tags, (array)$rec['tags']); // apply filter; don't trust the driver on this :-) if ((!$f && !$this->driver->is_complete($rec)) || ($rec['mask'] & $f)) @@ -1208,7 +1221,7 @@ $updates = $this->driver->list_tasks($filter, $lists); if (!empty($updates)) { - $this->rc->output->command('plugin.refresh_tasks', $this->tasks_data($updates, 255, $tags), true); + $this->rc->output->command('plugin.refresh_tasks', $this->tasks_data($updates, 255), true); // update counts $counts = $this->driver->count_tasks($lists);
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/tasklist_base.js
Changed
@@ -120,13 +120,4 @@ rcmail.enable_command('attachment-save-task', is_ics); } }); - - // add contextmenu item - if (window.rcm_contextmenu_register_command) { - rcm_contextmenu_register_command( - 'tasklist-create-from-mail', - function(cmd,el){ tasks.create_from_mail() }, - 'tasklist.createfrommail', - 'moveto'); - } });
View file
roundcubemail-plugins-kolab-3.2.tar.gz/plugins/tasklist/tasklist_ui.php
Changed
@@ -72,6 +72,7 @@ $settings = array(); $settings['invite_shared'] = (int)$this->rc->config->get('calendar_allow_invite_shared', 0); + $settings['itip_notify'] = (int)$this->rc->config->get('calendar_itip_send_option', 3); $settings['sort_col'] = $this->rc->config->get('tasklist_sort_col', ''); $settings['sort_order'] = $this->rc->config->get('tasklist_sort_order', 'asc'); @@ -450,11 +451,18 @@ $table->add_header('name', $this->plugin->gettext($attrib['coltitle'] ?: 'attendee')); $table->add_header('confirmstate', $this->plugin->gettext('confirmstate')); if ($invitations) { - $table->add_header(array('class' => 'sendmail', 'title' => $this->plugin->gettext('sendinvitations')), + $table->add_header(array('class' => 'invite', 'title' => $this->plugin->gettext('sendinvitations')), $invite->show(1) . html::label('edit-attendees-invite', $this->plugin->gettext('sendinvitations'))); } $table->add_header('options', ''); + // hide invite column if disabled by config + $itip_notify = (int)$this->rc->config->get('calendar_itip_send_option', 3); + if ($invitations && !($itip_notify & 2)) { + $css = sprintf('#%s td.invite, #%s th.invite { display:none !important }', $attrib['id'], $attrib['id']); + $this->rc->output->add_footer(html::tag('style', array('type' => 'text/css'), $css)); + } + return $table->show($attrib); }
View file
roundcubemail-plugins-kolab-3.2.tar.gz/transifexpull.sh
Changed
@@ -3,7 +3,10 @@ # In 'translator' mode files will contain empty translated texts # where translation is not available, we'll remove these later -tx --debug pull -a --mode translator +# --force is necessary to avoid timestamp issues +# https://bugs.launchpad.net/ironic/+bug/1298645/comments/4 + +tx --debug pull --force -a --mode translator PWD=`dirname "$0"`
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
.