Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube
This commit is contained in:
commit
453f5f953a
25 changed files with 460 additions and 150 deletions
|
@ -238,6 +238,26 @@ class calendar extends rcube_plugin
|
|||
return $this->ical;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function get_default_calendar($writeable = false)
|
||||
{
|
||||
$cal_id = $this->rc->config->get('calendar_default_calendar');
|
||||
$calendars = $this->driver->list_calendars();
|
||||
$calendar = $calendars[$cal_id] ? $calendars[$cal_id] : null;
|
||||
if (!$calendar || ($writeable && $calendar['readonly'])) {
|
||||
foreach ($calendars as $cal) {
|
||||
if (!$writeable || !$cal['readonly']) {
|
||||
$calendar = $cal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $calendar;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Render the main calendar view from skin template
|
||||
|
@ -1944,13 +1964,26 @@ class calendar extends rcube_plugin
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// send itip reply to organizer
|
||||
if ($status && $itip->update_invitation($invitation, $invitation['attendee'], strtoupper($status))) {
|
||||
$this->invitestatus = html::div('rsvp-status ' . strtolower($status), $this->gettext('youhave'.strtolower($status)));
|
||||
}
|
||||
else
|
||||
$this->rc->output->command('display_message', $this->gettext('errorsaving'), 'error', -1);
|
||||
|
||||
// if user is logged in...
|
||||
if ($this->rc->user->ID) {
|
||||
$this->load_driver();
|
||||
$invitation = $itip->get_invitation($token);
|
||||
|
||||
// save the event to his/her default calendar if not yet present
|
||||
if (!$this->driver->get_event($this->event) && ($calendar = $this->get_default_calendar(true))) {
|
||||
$invitation['event']['calendar'] = $calendar['id'];
|
||||
if ($this->driver->new_event($invitation['event']))
|
||||
$this->rc->output->command('display_message', $this->gettext(array('name' => 'importedsuccessfully', 'vars' => array('calendar' => $calendar['name']))), 'confirmation');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->register_handler('plugin.event_inviteform', array($this, 'itip_event_inviteform'));
|
||||
|
@ -1971,10 +2004,10 @@ class calendar extends rcube_plugin
|
|||
/**
|
||||
*
|
||||
*/
|
||||
public function itip_event_inviteform($p)
|
||||
public function itip_event_inviteform($attrib)
|
||||
{
|
||||
$hidden = new html_hiddenfield(array('name' => "_t", 'value' => $this->token));
|
||||
return html::tag('form', array('action' => $this->rc->url(array('task' => 'calendar', 'action' => 'attend')), 'method' => 'post', 'noclose' => true)) . $hidden->show();
|
||||
return html::tag('form', array('action' => $this->rc->url(array('task' => 'calendar', 'action' => 'attend')), 'method' => 'post', 'noclose' => true) + $attrib) . $hidden->show();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2158,7 +2158,7 @@ function rcube_calendar_ui(settings)
|
|||
// adjust calendar view size
|
||||
this.view_resize = function()
|
||||
{
|
||||
var footer = fc.fullCalendar('getView').name == 'table' ? $('#agendaoptions').height() + 2 : 0;
|
||||
var footer = fc.fullCalendar('getView').name == 'table' ? $('#agendaoptions').outerHeight() : 0;
|
||||
fc.fullCalendar('option', 'height', $('#calendar').height() - footer);
|
||||
};
|
||||
|
||||
|
@ -2208,7 +2208,7 @@ function rcube_calendar_ui(settings)
|
|||
var id = $(this).data('id');
|
||||
rcmail.select_folder(id, 'rcmlical');
|
||||
rcmail.enable_command('calendar-edit', true);
|
||||
rcmail.enable_command('calendar-remove', 'events-import', 'calendar-showurl', !me.calendars[id].readonly);
|
||||
rcmail.enable_command('calendar-remove', 'events-import', 'calendar-showurl', true);
|
||||
me.selected_calendar = id;
|
||||
})
|
||||
.dblclick(function(){ me.calendar_edit_dialog(me.calendars[me.selected_calendar]); })
|
||||
|
|
|
@ -1193,6 +1193,9 @@ class kolab_driver extends calendar_driver
|
|||
array('form' => $form, 'options' => $options, 'name' => $folder));
|
||||
}
|
||||
|
||||
if (!$plugin['form']['sharing']['content'])
|
||||
$plugin['form']['sharing']['content'] = html::div('hint', $this->cal->gettext('aclnorights'));
|
||||
|
||||
return $plugin['form']['sharing']['content'];
|
||||
}
|
||||
|
||||
|
|
|
@ -96,8 +96,8 @@ class calendar_itip
|
|||
}
|
||||
|
||||
$message->headers($headers, true);
|
||||
$message->setTXTBody(rcube_message::format_flowed($mailbody, 79));
|
||||
|
||||
$message->setTXTBody(rcube_mime::format_flowed($mailbody, 79));
|
||||
|
||||
// finally send the message
|
||||
return rcmail_deliver_message($message, $headers['X-Sender'], $mailto, $smtp_error);
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ $labels['confidential'] = 'vertraulich';
|
|||
$labels['alarms'] = 'Erinnerung';
|
||||
$labels['generated'] = 'erstellt am';
|
||||
$labels['printdescriptions'] = 'Beschrieb drucken';
|
||||
$labels['parentcalendar'] = 'Übergeordneter Kalender';
|
||||
$labels['parentcalendar'] = 'Erstellen in';
|
||||
$labels['searchearlierdates'] = '« Frühere Termine suchen';
|
||||
$labels['searchlaterdates'] = 'Spätere Termine suchen »';
|
||||
$labels['andnmore'] = '$nr weitere...';
|
||||
|
|
|
@ -64,7 +64,7 @@ $labels['confidential'] = 'vertraulich';
|
|||
$labels['alarms'] = 'Erinnerung';
|
||||
$labels['generated'] = 'erstellt am';
|
||||
$labels['printdescriptions'] = 'Beschrieb drucken';
|
||||
$labels['parentcalendar'] = 'Übergeordneter Kalender';
|
||||
$labels['parentcalendar'] = 'Erstellen in';
|
||||
$labels['searchearlierdates'] = '« Frühere Termine suchen';
|
||||
$labels['searchlaterdates'] = 'Spätere Termine suchen »';
|
||||
$labels['andnmore'] = '$nr weitere...';
|
||||
|
|
|
@ -64,7 +64,7 @@ $labels['confidential'] = 'confidential';
|
|||
$labels['alarms'] = 'Reminder';
|
||||
$labels['generated'] = 'generated at';
|
||||
$labels['printdescriptions'] = 'Print descriptions';
|
||||
$labels['parentcalendar'] = 'Superior calendar';
|
||||
$labels['parentcalendar'] = 'Insert inside';
|
||||
$labels['searchearlierdates'] = '« Search for earlier events';
|
||||
$labels['searchlaterdates'] = 'Search for later events »';
|
||||
$labels['andnmore'] = '$nr more...';
|
||||
|
@ -210,6 +210,7 @@ $labels['localchangeswarning'] = 'You are about to make changes that will only b
|
|||
$labels['importsuccess'] = 'Successfully imported $nr events';
|
||||
$labels['importnone'] = 'No events found to be imported';
|
||||
$labels['importerror'] = 'An error occured while importing';
|
||||
$labels['aclnorights'] = 'You do not have administrator rights on this calendar.';
|
||||
|
||||
// recurrence form
|
||||
$labels['repeat'] = 'Repeat';
|
||||
|
|
|
@ -22,7 +22,7 @@ body.calendarmain {
|
|||
bottom: 10px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
#calendarsidebar {
|
||||
position: absolute;
|
||||
top: 37px;
|
||||
left: 10px;
|
||||
|
@ -58,7 +58,7 @@ body.calendarmain {
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
#sidebartoggle {
|
||||
#calendarsidebartoggle {
|
||||
position: absolute;
|
||||
left: 244px;
|
||||
width: 8px;
|
||||
|
@ -72,7 +72,7 @@ div.sidebarclosed {
|
|||
background-position: -8px 48% !important;
|
||||
}
|
||||
|
||||
#sidebartoggle:hover {
|
||||
#calendarsidebartoggle:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,10 @@ body, td, th, div, p, h3, select, input, textarea {
|
|||
overflow: visible;
|
||||
}
|
||||
|
||||
#calendar .fc-header-right {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
#printconfig {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<roundcube:include file="/includes/header.html" />
|
||||
|
||||
<div id="main">
|
||||
<div id="sidebar">
|
||||
<div id="calendarsidebar">
|
||||
<div id="datepicker"></div>
|
||||
<div id="calendars" style="visibility:hidden">
|
||||
<div class="boxtitle"><roundcube:label name="calendar.calendars" /></div>
|
||||
|
@ -25,7 +25,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sidebartoggle"></div>
|
||||
<div id="calendarsidebartoggle"></div>
|
||||
<div id="calendar">
|
||||
<roundcube:object name="plugin.angenda_options" class="boxfooter" id="agendaoptions" />
|
||||
</div>
|
||||
|
@ -175,24 +175,24 @@ rcmail_ui.popups.calendaroptions = { id:'calendaroptionsmenu', above:1, obj:$('#
|
|||
|
||||
$(document).ready(function(e){
|
||||
// initialize sidebar toggle
|
||||
$('#sidebartoggle').click(function() {
|
||||
$('#calendarsidebartoggle').click(function() {
|
||||
var width = $(this).data('sidebarwidth');
|
||||
var offset = $(this).data('offset');
|
||||
var $sidebar = $('#sidebar'), time = 250;
|
||||
var $sidebar = $('#calendarsidebar'), time = 250;
|
||||
|
||||
if ($sidebar.is(':visible')) {
|
||||
$sidebar.animate({ left:'-'+(width+10)+'px' }, time, function(){ $('#sidebar').hide(); });
|
||||
$(this).animate({ left:'8px'}, time, function(){ $('#sidebartoggle').addClass('sidebarclosed') });
|
||||
$sidebar.animate({ left:'-'+(width+10)+'px' }, time, function(){ $('#calendarsidebar').hide(); });
|
||||
$(this).animate({ left:'8px'}, time, function(){ $('#calendarsidebartoggle').addClass('sidebarclosed') });
|
||||
$('#calendar').animate({ left:'20px'}, time, function(){ $(this).fullCalendar('render'); });
|
||||
}
|
||||
else {
|
||||
$sidebar.show().animate({ left:'10px' }, time);
|
||||
$(this).animate({ left:offset+'px'}, time, function(){ $('#sidebartoggle').removeClass('sidebarclosed'); });
|
||||
$(this).animate({ left:offset+'px'}, time, function(){ $('#calendarsidebartoggle').removeClass('sidebarclosed'); });
|
||||
$('#calendar').animate({ left:(width+16)+'px'}, time, function(){ $(this).fullCalendar('render'); });
|
||||
}
|
||||
})
|
||||
.data('offset', $('#sidebartoggle').position().left)
|
||||
.data('sidebarwidth', $('#sidebar').width() + $('#sidebar').position().left);
|
||||
.data('offset', $('#calendarsidebartoggle').position().left)
|
||||
.data('sidebarwidth', $('#calendarsidebar').width() + $('#calendarsidebar').position().left);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -20,7 +20,7 @@ body.calendarmain #mainscreen {
|
|||
left: 0;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
#calendarsidebar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 10px;
|
||||
|
@ -31,6 +31,7 @@ body.calendarmain #mainscreen {
|
|||
#datepicker {
|
||||
margin-top: 12px;
|
||||
width: 100%;
|
||||
min-height: 190px;
|
||||
}
|
||||
|
||||
#datepicker .ui-datepicker {
|
||||
|
@ -71,16 +72,6 @@ body.calendarmain #mainscreen {
|
|||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00acd4', endColorstr='#008fc7', GradientType=0);
|
||||
}
|
||||
|
||||
.ie9 #datepicker .ui-datepicker-activerange a {
|
||||
filter: none;
|
||||
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20preserveAspectRatio%3D%22none%22%20version%3D%221.0%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22mLG1%22%20x1%3D%220%25%22%20y1%3D%220%25%22%20x2%3D%220%25%22%20y2%3D%22100%25%22%20spreadMethod%3D%22pad%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%23d9f1fb%22%20stop-opacity%3D%221%22/%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23c5e3ee%22%20stop-opacity%3D%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20style%3D%22fill%3Aurl%28%23mLG1%29%3B%22/%3E%3C/svg%3E) !important;
|
||||
}
|
||||
|
||||
.ie9 #datepicker .ui-datepicker-activerange a.ui-state-active {
|
||||
filter: none;
|
||||
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20preserveAspectRatio%3D%22none%22%20version%3D%221.0%22%20width%3D%22100%25%22%20height%3D%22100%25%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22mLG1%22%20x1%3D%220%25%22%20y1%3D%220%25%22%20x2%3D%220%25%22%20y2%3D%22100%25%22%20spreadMethod%3D%22pad%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%2300acd4%22%20stop-opacity%3D%221%22/%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23008fc7%22%20stop-opacity%3D%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20style%3D%22fill%3Aurl%28%23mLG1%29%3B%22/%3E%3C/svg%3E) !important;
|
||||
}
|
||||
|
||||
#datepicker td.ui-datepicker-week-col {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -94,7 +85,7 @@ body.calendarmain #mainscreen {
|
|||
top: 4px;
|
||||
}
|
||||
|
||||
#sidebartoggle {
|
||||
#calendarsidebartoggle {
|
||||
position: absolute;
|
||||
left: 254px;
|
||||
width: 8px;
|
||||
|
@ -108,7 +99,7 @@ div.sidebarclosed {
|
|||
background-position: -8px 48% !important;
|
||||
}
|
||||
|
||||
#sidebartoggle:hover {
|
||||
#calendarsidebartoggle:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
|
@ -121,6 +112,11 @@ div.sidebarclosed {
|
|||
padding-bottom: 28px;
|
||||
}
|
||||
|
||||
.calendarmain #message.statusbar {
|
||||
border: 1px solid #c3c3c3;
|
||||
border-bottom-color: #ababab;
|
||||
}
|
||||
|
||||
#print {
|
||||
width: 680px;
|
||||
}
|
||||
|
@ -544,8 +540,8 @@ td.topalign {
|
|||
#edit-attendees-notify {
|
||||
margin: 0.3em 0;
|
||||
padding: 0.5em;
|
||||
background-color: #F7FDCB;
|
||||
border: 1px solid #C2D071;
|
||||
border: 1px solid #ffdf0e;
|
||||
background-color: #fef893;
|
||||
}
|
||||
|
||||
#edit-attendees-table {
|
||||
|
@ -933,72 +929,43 @@ span.spacer {
|
|||
|
||||
#agendaoptions {
|
||||
position: absolute;
|
||||
top: 37;
|
||||
bottom: 28px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: auto;
|
||||
z-index: 200;
|
||||
border: 1px solid #ccc;
|
||||
padding: 2px 5px 1px;
|
||||
font-size: 90%;
|
||||
background: #d6eaf3;
|
||||
border: 1px solid #c3c3c3;
|
||||
border-top-color: #ddd;
|
||||
padding: 4px 5px;
|
||||
}
|
||||
|
||||
#agendaoptions label {
|
||||
color: #444;
|
||||
text-shadow: 1px 1px #eee;
|
||||
color: #69939e;
|
||||
text-shadow: 1px 1px #f2f2f2;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
#calendar-kolabform {
|
||||
position: relative;
|
||||
padding-top: 24px;
|
||||
margin: 0 -8px;
|
||||
min-width: 660px;
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
#calendar-kolabform div.tabsbar {
|
||||
top: 0;
|
||||
right: 2px;
|
||||
left: 2px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
#calendar-kolabform fieldset.tabbed {
|
||||
background-color: #fff;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#calendar-kolabform span.tablink {
|
||||
background-color: #e8e8e9;
|
||||
background-image: -moz-linear-gradient(center top, #f4f4f4, #e6e6e6);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, #f4f4f4), color-stop(1.0, #e6e6e6));
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr=#f4f4f4, endColorstr=#e6e6e6, GradientType=0);
|
||||
height: 24px !important;
|
||||
}
|
||||
|
||||
#calendar-kolabform span.tablink-selected {
|
||||
background: #fff;
|
||||
height: 25px !important;
|
||||
}
|
||||
|
||||
#calendar-kolabform span.tablink a,
|
||||
#calendar-kolabform span.tablink-selected a {
|
||||
background: none;
|
||||
border: 1px solid #AAAAAA;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
padding: 4px 10px 0 10px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#calendar-kolabform table td.title {
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
color: #666;
|
||||
padding-right: 10px;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
color: #666;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.propform fieldset.tab {
|
||||
background: #efefef;
|
||||
display: block;
|
||||
margin-top: 0.5em;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
|
||||
/* fullcalendar style overrides */
|
||||
|
||||
|
@ -1014,15 +981,97 @@ span.spacer {
|
|||
|
||||
.fc-content {
|
||||
position: absolute !important;
|
||||
top: 37px;
|
||||
top: 38px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 28px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#fish-eye-view .fc-content {
|
||||
top: 2px;
|
||||
bottom: 2px;
|
||||
}
|
||||
|
||||
.calendarmain .fc-button,
|
||||
.calendarmain .fc-button.fc-state-hover,
|
||||
.calendarmain .fc-button.fc-state-down {
|
||||
border: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.calendarmain .fc-state-default .fc-button-inner,
|
||||
.calendarmain .fc-state-hover .fc-button-inner {
|
||||
margin: 0 0 0 0;
|
||||
color: #555;
|
||||
text-shadow: 0px 1px 1px #fff;
|
||||
border: 1px solid #a2a2a2;
|
||||
background: #f7f7f7;
|
||||
background: -moz-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#e6e6e6));
|
||||
background: -o-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
|
||||
background: -ms-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
|
||||
background: linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
|
||||
box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
|
||||
-o-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
|
||||
-webkit-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
|
||||
-moz-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.calendarmain .fc-state-disabled .fc-button-inner {
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.calendarmain .fc-header .fc-button {
|
||||
margin-left: -1px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.calendarmain .fc-state-down .fc-button-inner {
|
||||
margin: 0;
|
||||
border: 1px solid #a2a2a2;
|
||||
background: #e6e6e6;
|
||||
background: -moz-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e6e6e6), color-stop(100%,#f9f9f9));
|
||||
background: -o-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
|
||||
background: -ms-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
|
||||
background: linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
|
||||
}
|
||||
|
||||
.calendarmain .fc-state-active .fc-button-inner {
|
||||
color: #333;
|
||||
background: #bababa;
|
||||
background: -moz-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#bababa), color-stop(100%,#d8d8d8));
|
||||
background: -o-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
|
||||
background: -ms-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
|
||||
background: linear-gradient(top, #bababa 0%, #d8d8d8 100%);
|
||||
}
|
||||
|
||||
.calendarmain .fc-corner-left .fc-button-inner,
|
||||
.calendarmain .fc-corner-left .fc-button-content {
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
|
||||
.calendarmain .fc-corner-right .fc-button-inner,
|
||||
.calendarmain .fc-corner-right .fc-button-content {
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
.calendarmain .fc-state-default .fc-button-effect {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.calendarmain .fc-button-content {
|
||||
height: 2.2em;
|
||||
line-height: 2.2em;
|
||||
}
|
||||
|
||||
#calendar .fc-header-right {
|
||||
padding-right: 280px;
|
||||
padding-right: 250px;
|
||||
}
|
||||
|
||||
.fc-event {
|
||||
|
@ -1109,33 +1158,61 @@ div.fc-event-location {
|
|||
.fc-list-section .fc-event {
|
||||
cursor: pointer;
|
||||
}
|
||||
/*
|
||||
.fc-view-list div.fc-list-header,
|
||||
.fc-view-table td.fc-list-header,
|
||||
|
||||
/*.calendarmain .fc-view-list div.fc-list-header,*/
|
||||
.calendarmain .fc-view-table td.fc-list-header,
|
||||
#edit-attendees-table thead td {
|
||||
padding: 3px;
|
||||
background: #dddddd;
|
||||
background-image: -moz-linear-gradient(center top, #f4f4f4, #d2d2d2);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #f4f4f4), color-stop(1.00, #d2d2d2));
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr=#f4f4f4, endColorstr=#d2d2d2, GradientType=0);
|
||||
color: #69939e;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
*/
|
||||
.fc-view-list .fc-event-skin .fc-event-content {
|
||||
background: #F6F6F6;
|
||||
padding: 2px;
|
||||
background: #d6eaf3;
|
||||
background: -moz-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(0,#e3f2f6), color-stop(8%,#d6eaf3), color-stop(100%,#d6eaf3));
|
||||
background: -o-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
|
||||
background: -ms-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px ,#d6eaf3 100%);
|
||||
background: linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
|
||||
border: 0;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
.fc-view-list .fc-event-skin .fc-event-title,
|
||||
.fc-view-list .fc-event-skin .fc-event-location {
|
||||
color: #333;
|
||||
.calendarmain .fc-view-table tr.fc-event td {
|
||||
border-color: #ddd;
|
||||
padding: 4px 7px;
|
||||
}
|
||||
|
||||
.fc-view-table col.fc-event-location {
|
||||
.calendarmain .fc-view-table col.fc-event-location {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.calendarmain .fc-view-table tr.fc-event td.fc-event-handle {
|
||||
padding: 5px 10px 2px 7px;
|
||||
width: 12px;
|
||||
}
|
||||
|
||||
.calendarmain .fc-view-table .fc-event-handle .fc-event-skin {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
font-size: 6px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.calendarmain .fc-view-table .fc-event-handle .fc-event-inner {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
padding: 0;
|
||||
font-size: 10px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.4);
|
||||
-webkit-box-shadow: inset 0px 0 1px 1px rgba(0, 0, 0, 0.3);
|
||||
-moz-box-shadow: inset 0px 0 1px 1px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: inset 0px 0 1px 1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
|
||||
.fc-listappend {
|
||||
text-align: center;
|
||||
margin: 1em 0;
|
||||
|
@ -1232,11 +1309,7 @@ div.calendar-invitebox .rsvp-status.tentative {
|
|||
width: 40em;
|
||||
margin: 80px auto;
|
||||
padding: 10px 10px 10px 90px;
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 1px 1px 24px #ccc;
|
||||
-moz-box-shadow: 1px 1px 18px #ccc;
|
||||
-webkit-box-shadow: #ccc 1px 1px 18px;
|
||||
background: url(images/invitation.png) 10px 10px no-repeat #fbfbfb;
|
||||
background: url(images/invitation.png) 10px 10px no-repeat #fff;
|
||||
}
|
||||
|
||||
.calendaritipattend .calendar-invitebox {
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
<head>
|
||||
<title><roundcube:object name="pagetitle" /></title>
|
||||
<roundcube:include file="/includes/links.html" />
|
||||
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="./plugins/calendar/skins/default/iehacks.css" /><![endif]-->
|
||||
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="./plugins/calendar/$__skin_path/iehacks.css" /><![endif]-->
|
||||
</head>
|
||||
<body class="calendarmain noscroll">
|
||||
|
||||
<roundcube:include file="/includes/header.html" />
|
||||
|
||||
<div id="mainscreen">
|
||||
<div id="sidebar">
|
||||
<div id="calendarsidebar">
|
||||
<div id="quicksearchbar">
|
||||
<roundcube:object name="plugin.searchform" id="quicksearchbox" />
|
||||
<a id="searchmenulink" class="iconbutton searchoptions" > </a>
|
||||
|
@ -29,7 +29,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sidebartoggle"></div>
|
||||
<div id="calendarsidebartoggle"></div>
|
||||
|
||||
<div id="calendartoolbar" class="toolbar">
|
||||
<roundcube:button command="addevent" type="link" class="button addevent disabled" classAct="button addevent" classSel="button addevent pressed" label="calendar.new_event" title="calendar.new_event" />
|
||||
|
@ -176,24 +176,24 @@ $(document).ready(function(e){
|
|||
UI.init();
|
||||
|
||||
// initialize sidebar toggle
|
||||
$('#sidebartoggle').click(function() {
|
||||
$('#calendarsidebartoggle').click(function() {
|
||||
var width = $(this).data('sidebarwidth');
|
||||
var offset = $(this).data('offset');
|
||||
var $sidebar = $('#sidebar'), time = 250;
|
||||
var $sidebar = $('#calendarsidebar'), time = 250;
|
||||
|
||||
if ($sidebar.is(':visible')) {
|
||||
$sidebar.animate({ left:'-'+(width+10)+'px' }, time, function(){ $('#sidebar').hide(); });
|
||||
$(this).animate({ left:'8px'}, time, function(){ $('#sidebartoggle').addClass('sidebarclosed') });
|
||||
$sidebar.animate({ left:'-'+(width+10)+'px' }, time, function(){ $('#calendarsidebar').hide(); });
|
||||
$(this).animate({ left:'8px'}, time, function(){ $('#calendarsidebartoggle').addClass('sidebarclosed') });
|
||||
$('#calendar').animate({ left:'20px'}, time, function(){ $(this).fullCalendar('render'); });
|
||||
}
|
||||
else {
|
||||
$sidebar.show().animate({ left:'10px' }, time);
|
||||
$(this).animate({ left:offset+'px'}, time, function(){ $('#sidebartoggle').removeClass('sidebarclosed'); });
|
||||
$(this).animate({ left:offset+'px'}, time, function(){ $('#calendarsidebartoggle').removeClass('sidebarclosed'); });
|
||||
$('#calendar').animate({ left:(width+16)+'px'}, time, function(){ $(this).fullCalendar('render'); });
|
||||
}
|
||||
})
|
||||
.data('offset', $('#sidebartoggle').position().left)
|
||||
.data('sidebarwidth', $('#sidebar').width() + $('#sidebar').position().left);
|
||||
.data('offset', $('#calendarsidebartoggle').position().left)
|
||||
.data('sidebarwidth', $('#calendarsidebar').width() + $('#calendarsidebar').position().left);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -22,14 +22,14 @@
|
|||
|
||||
<div id="mainscreen">
|
||||
|
||||
<div class="centerbox">
|
||||
<div class="centerbox uibox">
|
||||
<roundcube:object name="plugin.event_inviteform" />
|
||||
<roundcube:object name="plugin.event_invitebox" class="calendar-invitebox" />
|
||||
<roundcube:object name="plugin.event_rsvp_buttons" type="submit" iname="rsvp" id="event-rsvp" />
|
||||
<roundcube:object name="message" id="message" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<roundcube:object name="message" id="message" />
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -3,8 +3,20 @@
|
|||
<head>
|
||||
<title><roundcube:object name="pagetitle" /></title>
|
||||
<roundcube:include file="/includes/links.html" />
|
||||
<style type="text/css" media="screen">
|
||||
|
||||
body.aclform {
|
||||
background: #efefef;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body.aclform .hint {
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="iframe" style="background:#fff; margin:0">
|
||||
<body class="iframe aclform">
|
||||
|
||||
<roundcube:object name="folderacl" />
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<div id="calendar-kolabform">
|
||||
<div id="calendar-kolabform" class="propform tabbed">
|
||||
<roundcube:object name="calendarform" />
|
||||
</div>
|
||||
<style type="text/css">
|
||||
#calendarpropform { min-width:680px }
|
||||
</style>
|
||||
#calendarpropform { min-width:680px; margin-top:-12px; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
UI.init_tabs('#calendar-kolabform');
|
||||
</script>
|
|
@ -1017,32 +1017,31 @@ class rcube_kolab_contacts extends rcube_addressbook
|
|||
*/
|
||||
private function _sort_contacts_comp($a, $b)
|
||||
{
|
||||
$a_name = $a['name'];
|
||||
$b_name = $b['name'];
|
||||
$a_value = $a[$this->sort_col];
|
||||
$b_value = $b[$this->sort_col];
|
||||
|
||||
if (!$a_name) {
|
||||
$a_name = join(' ', array_filter(array($a['prefix'], $a['firstname'],
|
||||
$a['middlename'], $a['surname'], $a['suffix'])));
|
||||
if (!$a_name) {
|
||||
$a_name = is_array($a['email']) ? $a['email'][0] : $a['email'];
|
||||
}
|
||||
if (!$a_value && $this->sort_col == 'name') {
|
||||
$a_value = join(' ', array_filter(array($a['firstname'], $a['middlename'], $a['surname'])));
|
||||
}
|
||||
if (!$b_name) {
|
||||
$b_name = join(' ', array_filter(array($b['prefix'], $b['firstname'],
|
||||
$b['middlename'], $b['surname'], $b['suffix'])));
|
||||
if (!$b_name) {
|
||||
$b_name = is_array($b['email']) ? $b['email'][0] : $b['email'];
|
||||
}
|
||||
if (!$a_value) {
|
||||
$a_value = is_array($a['email']) ? $a['email'][0] : $a['email'];
|
||||
}
|
||||
|
||||
// return strcasecmp($a_name, $b_name);
|
||||
if (!$b_value && $this->sort_col == 'name') {
|
||||
$b_value = join(' ', array_filter(array($b['firstname'], $b['middlename'], $b['surname'])));
|
||||
}
|
||||
if (!$b_value) {
|
||||
$b_value = is_array($b['email']) ? $b['email'][0] : $b['email'];
|
||||
}
|
||||
|
||||
// return strcasecmp($a_value, $b_value);
|
||||
// make sorting unicode-safe and locale-dependent
|
||||
if ($a_name == $b_name)
|
||||
if ($a_value == $b_value)
|
||||
return 0;
|
||||
|
||||
$arr = array($a_name, $b_name);
|
||||
$arr = array($a_value, $b_value);
|
||||
sort($arr, SORT_LOCALE_STRING);
|
||||
return $a_name == $arr[0] ? -1 : 1;
|
||||
return $a_value == $arr[0] ? -1 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
46
plugins/kolab_addressbook/localization/de_CH.inc
Normal file
46
plugins/kolab_addressbook/localization/de_CH.inc
Normal file
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
$labels = array();
|
||||
$labels['initials'] = 'Initialen';
|
||||
$labels['profession'] = 'Berufsbezeichnung';
|
||||
$labels['officelocation'] = 'Büro Adresse';
|
||||
$labels['children'] = 'Kinder';
|
||||
$labels['pgppublickey'] = 'Öffentlicher PGP-Schlüssel';
|
||||
$labels['freebusyurl'] = 'Frei/Belegt URL';
|
||||
$labels['typebusiness'] = 'Dienstlich';
|
||||
$labels['typebusinessfax'] = 'Dienst';
|
||||
$labels['typecompany'] = 'Firma';
|
||||
$labels['typeprimary'] = 'Primär';
|
||||
$labels['typetelex'] = 'Telex';
|
||||
$labels['typeradio'] = 'Funk';
|
||||
$labels['typeisdn'] = 'ISDN';
|
||||
$labels['typettytdd'] = 'Telescrit';
|
||||
$labels['typecallback'] = 'Rückruf';
|
||||
$labels['settings'] = 'Einstellungen';
|
||||
|
||||
$labels['bookcreate'] = 'Adressbuch anlegen';
|
||||
$labels['bookedit'] = 'Adressbuch bearbeiten';
|
||||
$labels['bookdelete'] = 'Adressbuch löschen';
|
||||
$labels['bookproperties'] = 'Eigenschaften des Adressbuchs';
|
||||
$labels['bookname'] = 'Name des Buches';
|
||||
$labels['parentbook'] = 'Übergeordnetes Buch';
|
||||
|
||||
$labels['addressbookprio'] = 'Reihenfolge der Adressbücher';
|
||||
$labels['personalfirst'] = 'Private(s) Adressbuch/Adressbücher zuerst';
|
||||
$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';
|
||||
|
||||
$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...';
|
||||
$messages['bookdeleted'] = 'Adressbuch erfolgreich gelöscht.';
|
||||
$messages['bookupdated'] = 'Adressbuch erfolgreich aktualisiert.';
|
||||
$messages['bookcreated'] = 'Adressbuch erfolgreich angelegt.';
|
||||
$messages['bookdeleteerror'] = 'Fehler beim Löschen des Adressbuchs.';
|
||||
$messages['bookupdateerror'] = 'Fehler beim Aktualisieren des Adressbuchs.';
|
||||
$messages['bookcreateerror'] = 'Fehler beim Anlegen des Adressbuchs.';
|
||||
$messages['nobooknamewarning'] = 'Bitte den Namen des Adressbuchs angeben.';
|
||||
$messages['noemailnamewarning'] = 'Bitte E-Mail-Adresse oder Namen des Kontakts angeben.';
|
||||
|
||||
?>
|
46
plugins/kolab_addressbook/localization/de_DE.inc
Normal file
46
plugins/kolab_addressbook/localization/de_DE.inc
Normal file
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
$labels = array();
|
||||
$labels['initials'] = 'Initialen';
|
||||
$labels['profession'] = 'Berufsbezeichnung';
|
||||
$labels['officelocation'] = 'Büro Adresse';
|
||||
$labels['children'] = 'Kinder';
|
||||
$labels['pgppublickey'] = 'Öffentlicher PGP-Schlüssel';
|
||||
$labels['freebusyurl'] = 'Frei/Belegt URL';
|
||||
$labels['typebusiness'] = 'Dienstlich';
|
||||
$labels['typebusinessfax'] = 'Dienst';
|
||||
$labels['typecompany'] = 'Firma';
|
||||
$labels['typeprimary'] = 'Primär';
|
||||
$labels['typetelex'] = 'Fernschreiber';
|
||||
$labels['typeradio'] = 'Funktelefon';
|
||||
$labels['typeisdn'] = 'ISDN';
|
||||
$labels['typettytdd'] = 'Schreibtelefon';
|
||||
$labels['typecallback'] = 'Rückruf';
|
||||
$labels['settings'] = 'Einstellungen';
|
||||
|
||||
$labels['bookcreate'] = 'Adressbuch anlegen';
|
||||
$labels['bookedit'] = 'Adressbuch bearbeiten';
|
||||
$labels['bookdelete'] = 'Adressbuch löschen';
|
||||
$labels['bookproperties'] = 'Eigenschaften des Adressbuchs';
|
||||
$labels['bookname'] = 'Name des Buches';
|
||||
$labels['parentbook'] = 'Übergeordnetes Buch';
|
||||
|
||||
$labels['addressbookprio'] = 'Reihenfolge der Adressbücher';
|
||||
$labels['personalfirst'] = 'Private(s) Adressbuch/Adressbücher zuerst';
|
||||
$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';
|
||||
|
||||
$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...';
|
||||
$messages['bookdeleted'] = 'Adressbuch erfolgreich gelöscht.';
|
||||
$messages['bookupdated'] = 'Adressbuch erfolgreich aktualisiert.';
|
||||
$messages['bookcreated'] = 'Adressbuch erfolgreich angelegt.';
|
||||
$messages['bookdeleteerror'] = 'Fehler beim Löschen des Adressbuchs.';
|
||||
$messages['bookupdateerror'] = 'Fehler beim Aktualisieren des Adressbuchs.';
|
||||
$messages['bookcreateerror'] = 'Fehler beim Anlegen des Adressbuchs.';
|
||||
$messages['nobooknamewarning'] = 'Bitte den Namen des Adressbuchs angeben.';
|
||||
$messages['noemailnamewarning'] = 'Bitte E-Mail-Adresse oder Namen des Kontakts angeben.';
|
||||
|
||||
?>
|
5
plugins/kolab_auth/localization/de_CH.inc
Normal file
5
plugins/kolab_auth/localization/de_CH.inc
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
|
||||
$labels['loginas'] = 'Anmelden als';
|
||||
|
||||
?>
|
5
plugins/kolab_auth/localization/de_DE.inc
Normal file
5
plugins/kolab_auth/localization/de_DE.inc
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
|
||||
$labels['loginas'] = 'Anmelden als';
|
||||
|
||||
?>
|
|
@ -26,9 +26,9 @@ $rcmail_config['kolab_folders_mail_drafts'] = '';
|
|||
// Sent folder
|
||||
$rcmail_config['kolab_folders_mail_sentitems'] = '';
|
||||
// Trash folder
|
||||
$rcmail_config['kolab_folders_mail_junkemail'] = '';
|
||||
$rcmail_config['kolab_folders_mail_wastebasket'] = '';
|
||||
// Others folders
|
||||
$rcmail_config['kolab_folders_mail_outbox'] = '';
|
||||
$rcmail_config['kolab_folders_mail_wastebasket'] = '';
|
||||
$rcmail_config['kolab_folders_mail_junkemail'] = '';
|
||||
|
||||
?>
|
||||
|
|
24
plugins/kolab_folders/localization/de_CH.inc
Normal file
24
plugins/kolab_folders/localization/de_CH.inc
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
$labels = array();
|
||||
|
||||
$labels['folderctype'] = 'Ordnerinhalt';
|
||||
$labels['foldertypemail'] = 'E-Mail';
|
||||
$labels['foldertypeevent'] = 'Kalender'; // Termine?
|
||||
$labels['foldertypejournal'] = 'Journal';
|
||||
$labels['foldertypetask'] = 'Aufgaben';
|
||||
$labels['foldertypenote'] = 'Notizen';
|
||||
$labels['foldertypecontact'] = 'Kontakte';
|
||||
$labels['foldertypeconfiguration'] = 'Konfiguration';
|
||||
|
||||
$labels['default'] = 'Standard';
|
||||
$labels['inbox'] = 'Posteingang';
|
||||
$labels['drafts'] = 'Entwürfe';
|
||||
$labels['sentitems'] = 'Gesendet';
|
||||
$labels['outbox'] = 'Postausgang';
|
||||
$labels['wastebasket'] = 'Gelöscht';
|
||||
$labels['junkemail'] = 'Spam';
|
||||
|
||||
$messages['defaultfolderexists'] = 'Es existiert bereits ein Standardordner für den angegebenen Typ';
|
||||
|
||||
?>
|
24
plugins/kolab_folders/localization/de_DE.inc
Normal file
24
plugins/kolab_folders/localization/de_DE.inc
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
$labels = array();
|
||||
|
||||
$labels['folderctype'] = 'Ordnerinhalt';
|
||||
$labels['foldertypemail'] = 'E-Mail';
|
||||
$labels['foldertypeevent'] = 'Kalender'; // Termine?
|
||||
$labels['foldertypejournal'] = 'Journal';
|
||||
$labels['foldertypetask'] = 'Aufgaben';
|
||||
$labels['foldertypenote'] = 'Notizen';
|
||||
$labels['foldertypecontact'] = 'Kontakte';
|
||||
$labels['foldertypeconfiguration'] = 'Konfiguration';
|
||||
|
||||
$labels['default'] = 'Standard';
|
||||
$labels['inbox'] = 'Posteingang';
|
||||
$labels['drafts'] = 'Entwürfe';
|
||||
$labels['sentitems'] = 'Gesendet';
|
||||
$labels['outbox'] = 'Postausgang';
|
||||
$labels['wastebasket'] = 'Gelöscht';
|
||||
$labels['junkemail'] = 'Spam';
|
||||
|
||||
$messages['defaultfolderexists'] = 'Es existiert bereits ein Standardordner für den angegebenen Typ';
|
||||
|
||||
?>
|
|
@ -6,21 +6,21 @@ $labels['devices'] = 'Geräte';
|
|||
$labels['devicealias'] = 'Gerätename';
|
||||
$labels['syncmode'] = 'Modus';
|
||||
$labels['modeauto'] = 'Automatisch';
|
||||
$labels['modeflat'] = 'Forciere flache Struktur';
|
||||
$labels['modefolder'] = 'Forciere Ordnerstruktur';
|
||||
$labels['modeflat'] = 'Flache Struktur erzwingen';
|
||||
$labels['modefolder'] = 'Ordnerstruktur erzwingen';
|
||||
$labels['synchronize'] = 'Synchronisieren';
|
||||
$labels['withalarms'] = 'Mit Erinnerungen';
|
||||
$labels['syncsettings'] = 'Synchronisationseinstellungen';
|
||||
$labels['deviceconfig'] = 'Gerätekonfiguration';
|
||||
$labels['folderstosync'] = 'Order zum Synchronisieren';
|
||||
$labels['mail'] = 'E-Mail';
|
||||
$labels['contact'] = 'Adressbücher';
|
||||
$labels['event'] = 'Kalendar';
|
||||
$labels['contact'] = 'Kontakte';
|
||||
$labels['event'] = 'Kalender';
|
||||
$labels['task'] = 'Aufgaben';
|
||||
$labels['note'] = 'Notizen';
|
||||
$labels['deletedevice'] = 'Gerät löschen';
|
||||
$labels['imageformat'] = 'Bildformat';
|
||||
$labels['laxpiclabel'] = 'Erlaube PNG- und GIF-Bilder';
|
||||
$labels['laxpiclabel'] = 'PNG- und GIF-Bilder erlauben';
|
||||
$labels['introtext'] = 'Wählen Sie das zu konfigurierende Gerät aus';
|
||||
$labels['nodevices'] = 'Es sind noch keine Geräte registriert.<br/><br/>Um ein neues Gerät anzumelden, verbinden Sie dieses zuerst mit dem Server. Eine Anleitung dazu finden Sie im <a href="http://wiki.kolab.org/Z_push#Clients">Wiki</a>. Anschliessend laden Sie diese Seite neu und das Gerät wird hier aufgelistet.';
|
||||
$labels['savingdata'] = 'Daten werden gespeichert...';
|
||||
|
@ -29,4 +29,4 @@ $labels['notsupported'] = 'Ihr Server unterstützt keine Activesync-Konfiguratio
|
|||
$labels['devicedeleteconfirm'] = 'Wollen Sie wirklich alle Einstellungen für dieses Gerät löschen?';
|
||||
$labels['successfullydeleted'] = 'Die Geräteinstellungen wurden erfolgreich gelöscht';
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
32
plugins/kolab_zpush/localization/de_DE.inc
Normal file
32
plugins/kolab_zpush/localization/de_DE.inc
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
$labels = array();
|
||||
$labels['tabtitle'] = 'Activesync';
|
||||
$labels['devices'] = 'Geräte';
|
||||
$labels['devicealias'] = 'Gerätename';
|
||||
$labels['syncmode'] = 'Modus';
|
||||
$labels['modeauto'] = 'Automatisch';
|
||||
$labels['modeflat'] = 'Flache Struktur erzwingen';
|
||||
$labels['modefolder'] = 'Ordnerstruktur erzwingen';
|
||||
$labels['synchronize'] = 'Synchronisieren';
|
||||
$labels['withalarms'] = 'Mit Erinnerungen';
|
||||
$labels['syncsettings'] = 'Synchronisationseinstellungen';
|
||||
$labels['deviceconfig'] = 'Gerätekonfiguration';
|
||||
$labels['folderstosync'] = 'Order zum Synchronisieren';
|
||||
$labels['mail'] = 'E-Mail';
|
||||
$labels['contact'] = 'Kontakte';
|
||||
$labels['event'] = 'Kalender';
|
||||
$labels['task'] = 'Aufgaben';
|
||||
$labels['note'] = 'Notizen';
|
||||
$labels['deletedevice'] = 'Gerät löschen';
|
||||
$labels['imageformat'] = 'Bildformat';
|
||||
$labels['laxpiclabel'] = 'PNG- und GIF-Bilder erlauben';
|
||||
$labels['introtext'] = 'Wählen Sie das zu konfigurierende Gerät aus';
|
||||
$labels['nodevices'] = 'Es sind noch keine Geräte registriert.<br/><br/>Um ein neues Gerät anzumelden, verbinden Sie dieses zuerst mit dem Server. Eine Anleitung dazu finden Sie im <a href="http://wiki.kolab.org/Z_push#Clients">Wiki</a>. Anschliessend laden Sie diese Seite neu und das Gerät wird hier aufgelistet.';
|
||||
$labels['savingdata'] = 'Daten werden gespeichert...';
|
||||
$labels['savingerror'] = 'Fehler beim Speichern';
|
||||
$labels['notsupported'] = 'Ihr Server unterstützt keine Activesync-Konfiguration';
|
||||
$labels['devicedeleteconfirm'] = 'Wollen Sie wirklich alle Einstellungen für dieses Gerät löschen?';
|
||||
$labels['successfullydeleted'] = 'Die Geräteinstellungen wurden erfolgreich gelöscht';
|
||||
|
||||
?>
|
Loading…
Add table
Reference in a new issue