summaryrefslogtreecommitdiffstats
path: root/apps/calendar
diff options
context:
space:
mode:
authorFrank Karlitschek <frank@owncloud.org>2012-08-26 17:30:07 +0200
committerFrank Karlitschek <frank@owncloud.org>2012-08-26 17:30:07 +0200
commit72e9a2ce57ee88503db83614cec5ccda71f0b58e (patch)
tree8bc301ca22d9ca08ea54426bcb61f62bd1c1cb75 /apps/calendar
parent32bad688bdb4fea55eba9d4255fc55f1c60a0aca (diff)
downloadnextcloud-server-72e9a2ce57ee88503db83614cec5ccda71f0b58e.tar.gz
nextcloud-server-72e9a2ce57ee88503db83614cec5ccda71f0b58e.zip
moved to apps repository
Diffstat (limited to 'apps/calendar')
-rw-r--r--apps/calendar/ajax/cache/rescan.php15
-rw-r--r--apps/calendar/ajax/cache/status.php22
-rw-r--r--apps/calendar/ajax/calendar/activation.php25
-rw-r--r--apps/calendar/ajax/calendar/delete.php25
-rw-r--r--apps/calendar/ajax/calendar/edit.form.php19
-rw-r--r--apps/calendar/ajax/calendar/edit.php24
-rw-r--r--apps/calendar/ajax/calendar/new.form.php22
-rw-r--r--apps/calendar/ajax/calendar/new.php42
-rw-r--r--apps/calendar/ajax/calendar/overview.php12
-rw-r--r--apps/calendar/ajax/calendar/update.php49
-rw-r--r--apps/calendar/ajax/categories/rescan.php43
-rw-r--r--apps/calendar/ajax/changeview.php21
-rw-r--r--apps/calendar/ajax/event/delete.php21
-rw-r--r--apps/calendar/ajax/event/edit.form.php272
-rw-r--r--apps/calendar/ajax/event/edit.php46
-rw-r--r--apps/calendar/ajax/event/move.php47
-rw-r--r--apps/calendar/ajax/event/new.form.php75
-rw-r--r--apps/calendar/ajax/event/new.php25
-rw-r--r--apps/calendar/ajax/event/resize.php39
-rw-r--r--apps/calendar/ajax/events.php30
-rw-r--r--apps/calendar/ajax/import/calendarcheck.php18
-rw-r--r--apps/calendar/ajax/import/dialog.php13
-rw-r--r--apps/calendar/ajax/import/dropimport.php32
-rw-r--r--apps/calendar/ajax/import/import.php151
-rw-r--r--apps/calendar/ajax/settings/getfirstday.php11
-rw-r--r--apps/calendar/ajax/settings/gettimezonedetection.php11
-rw-r--r--apps/calendar/ajax/settings/guesstimezone.php26
-rw-r--r--apps/calendar/ajax/settings/setfirstday.php16
-rw-r--r--apps/calendar/ajax/settings/settimeformat.php16
-rw-r--r--apps/calendar/ajax/settings/settimezone.php26
-rw-r--r--apps/calendar/ajax/settings/timeformat.php11
-rw-r--r--apps/calendar/ajax/settings/timezonedetection.php16
-rw-r--r--apps/calendar/ajax/share/activation.php11
-rw-r--r--apps/calendar/ajax/share/changepermission.php50
-rw-r--r--apps/calendar/ajax/share/dropdown.php18
-rw-r--r--apps/calendar/ajax/share/share.php61
-rw-r--r--apps/calendar/ajax/share/unshare.php53
-rw-r--r--apps/calendar/appinfo/app.php44
-rw-r--r--apps/calendar/appinfo/database.xml345
-rw-r--r--apps/calendar/appinfo/info.xml19
-rw-r--r--apps/calendar/appinfo/remote.php46
-rw-r--r--apps/calendar/appinfo/update.php24
-rw-r--r--apps/calendar/appinfo/version1
-rw-r--r--apps/calendar/caldav.php6
-rw-r--r--apps/calendar/calendar.php12
-rw-r--r--apps/calendar/css/import.css14
-rw-r--r--apps/calendar/css/style.css142
-rw-r--r--apps/calendar/export.php30
-rw-r--r--apps/calendar/img/Icon License2
-rw-r--r--apps/calendar/img/icon.pngbin360 -> 0 bytes
-rw-r--r--apps/calendar/img/icon.svg54
-rw-r--r--apps/calendar/index.php71
-rw-r--r--apps/calendar/js/calendar.js935
-rw-r--r--apps/calendar/js/geo.js20
-rw-r--r--apps/calendar/js/loader.js179
-rw-r--r--apps/calendar/js/settings.js66
-rw-r--r--apps/calendar/l10n/ar.php171
-rw-r--r--apps/calendar/l10n/bg_BG.php84
-rw-r--r--apps/calendar/l10n/ca.php198
-rw-r--r--apps/calendar/l10n/cs_CZ.php198
-rw-r--r--apps/calendar/l10n/da.php188
-rw-r--r--apps/calendar/l10n/de.php198
-rw-r--r--apps/calendar/l10n/el.php192
-rw-r--r--apps/calendar/l10n/eo.php198
-rw-r--r--apps/calendar/l10n/es.php192
-rw-r--r--apps/calendar/l10n/et_EE.php156
-rw-r--r--apps/calendar/l10n/eu.php183
-rw-r--r--apps/calendar/l10n/fa.php156
-rw-r--r--apps/calendar/l10n/fi_FI.php159
-rw-r--r--apps/calendar/l10n/fr.php192
-rw-r--r--apps/calendar/l10n/gl.php156
-rw-r--r--apps/calendar/l10n/he.php156
-rw-r--r--apps/calendar/l10n/hr.php147
-rw-r--r--apps/calendar/l10n/hu_HU.php156
-rw-r--r--apps/calendar/l10n/hy.php11
-rw-r--r--apps/calendar/l10n/ia.php110
-rw-r--r--apps/calendar/l10n/id.php37
-rw-r--r--apps/calendar/l10n/it.php198
-rw-r--r--apps/calendar/l10n/ja_JP.php198
-rw-r--r--apps/calendar/l10n/ko.php156
-rw-r--r--apps/calendar/l10n/lb.php123
-rw-r--r--apps/calendar/l10n/lt_LT.php131
-rw-r--r--apps/calendar/l10n/mk.php156
-rw-r--r--apps/calendar/l10n/ms_MY.php156
-rw-r--r--apps/calendar/l10n/nb_NO.php147
-rw-r--r--apps/calendar/l10n/nl.php198
-rw-r--r--apps/calendar/l10n/nn_NO.php125
-rw-r--r--apps/calendar/l10n/pl.php182
-rw-r--r--apps/calendar/l10n/pt_BR.php156
-rw-r--r--apps/calendar/l10n/pt_PT.php198
-rw-r--r--apps/calendar/l10n/ro.php151
-rw-r--r--apps/calendar/l10n/ru.php198
-rw-r--r--apps/calendar/l10n/sk_SK.php156
-rw-r--r--apps/calendar/l10n/sl.php198
-rw-r--r--apps/calendar/l10n/sr.php60
-rw-r--r--apps/calendar/l10n/sr@latin.php60
-rw-r--r--apps/calendar/l10n/sv.php192
-rw-r--r--apps/calendar/l10n/th_TH.php198
-rw-r--r--apps/calendar/l10n/tr.php192
-rw-r--r--apps/calendar/l10n/uk.php98
-rw-r--r--apps/calendar/l10n/vi.php131
-rw-r--r--apps/calendar/l10n/xgettextfiles12
-rw-r--r--apps/calendar/l10n/zh_CN.GB2312.php121
-rw-r--r--apps/calendar/l10n/zh_CN.php152
-rw-r--r--apps/calendar/l10n/zh_TW.php151
-rw-r--r--apps/calendar/lib/alarm.php13
-rw-r--r--apps/calendar/lib/app.php436
-rw-r--r--apps/calendar/lib/attendees.php13
-rw-r--r--apps/calendar/lib/calendar.php308
-rw-r--r--apps/calendar/lib/export.php94
-rw-r--r--apps/calendar/lib/hooks.php40
-rw-r--r--apps/calendar/lib/import.php336
-rw-r--r--apps/calendar/lib/object.php937
-rw-r--r--apps/calendar/lib/repeat.php204
-rw-r--r--apps/calendar/lib/sabre/backend.php318
-rw-r--r--apps/calendar/lib/sabre/calendar.php127
-rw-r--r--apps/calendar/lib/sabre/calendarroot.php45
-rw-r--r--apps/calendar/lib/sabre/object.php87
-rw-r--r--apps/calendar/lib/sabre/usercalendars.php46
-rw-r--r--apps/calendar/lib/search.php49
-rw-r--r--apps/calendar/lib/share.php295
-rw-r--r--apps/calendar/lib/share/calendar.php111
-rw-r--r--apps/calendar/lib/share/event.php40
-rw-r--r--apps/calendar/lib/share_backend.php44
-rw-r--r--apps/calendar/settings.php17
-rw-r--r--apps/calendar/share.php31
-rw-r--r--apps/calendar/templates/calendar.php57
-rw-r--r--apps/calendar/templates/part.choosecalendar.php52
-rw-r--r--apps/calendar/templates/part.choosecalendar.rowfields.php21
-rw-r--r--apps/calendar/templates/part.choosecalendar.rowfields.shared.php4
-rw-r--r--apps/calendar/templates/part.editcalendar.php44
-rw-r--r--apps/calendar/templates/part.editevent.php13
-rw-r--r--apps/calendar/templates/part.eventform.php251
-rw-r--r--apps/calendar/templates/part.import.php58
-rw-r--r--apps/calendar/templates/part.newevent.php9
-rw-r--r--apps/calendar/templates/part.showevent.php243
-rw-r--r--apps/calendar/templates/settings.php101
-rw-r--r--apps/calendar/templates/share.dropdown.php77
138 files changed, 0 insertions, 15377 deletions
diff --git a/apps/calendar/ajax/cache/rescan.php b/apps/calendar/ajax/cache/rescan.php
deleted file mode 100644
index 3417f1ae4b4..00000000000
--- a/apps/calendar/ajax/cache/rescan.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <georg@ownCloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-foreach($calendars as $calendar){
- OC_Calendar_Repeat::cleancalendar($calendar['id']);
- OC_Calendar_Repeat::generatecalendar($calendar['id']);
-}
-OCP\JSON::success(); \ No newline at end of file
diff --git a/apps/calendar/ajax/cache/status.php b/apps/calendar/ajax/cache/status.php
deleted file mode 100644
index d2806d47895..00000000000
--- a/apps/calendar/ajax/cache/status.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <georg@ownCloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-$allcached = true;
-foreach($calendars as $calendar){
- if(!OC_Calendar_Repeat::is_calendar_cached($calendar['id'])){
- $allcached = false;
- }
-}
-$l = new OC_L10N('calendar');
-if(!$allcached){
- OCP\JSON::error(array('message'=>'Not all calendars are completely cached', 'l10n'=>$l->t('Not all calendars are completely cached')));
-}else{
- OCP\JSON::success(array('message'=>'Everything seems to be completely cached', 'l10n'=>$l->t('Everything seems to be completely cached')));
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/activation.php b/apps/calendar/ajax/calendar/activation.php
deleted file mode 100644
index f4aadc5b017..00000000000
--- a/apps/calendar/ajax/calendar/activation.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$calendarid = $_POST['calendarid'];
-$calendar = OC_Calendar_App::getCalendar($calendarid, true);
-if(!$calendar){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-OC_Calendar_Calendar::setCalendarActive($calendarid, $_POST['active']);
-$calendar = OC_Calendar_App::getCalendar($calendarid);
-OCP\JSON::success(array(
- 'active' => $calendar['active'],
- 'eventSource' => OC_Calendar_Calendar::getEventSourceInfo($calendar),
-)); \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/delete.php b/apps/calendar/ajax/calendar/delete.php
deleted file mode 100644
index 089255cae39..00000000000
--- a/apps/calendar/ajax/calendar/delete.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$cal = $_POST["calendarid"];
-$calendar = OC_Calendar_App::getCalendar($cal, true);
-if(!$calendar){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$del = OC_Calendar_Calendar::deleteCalendar($cal);
-if($del == true){
- OCP\JSON::success();
-}else{
- OCP\JSON::error(array('error'=>'dberror'));
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/edit.form.php b/apps/calendar/ajax/calendar/edit.form.php
deleted file mode 100644
index 3916c527637..00000000000
--- a/apps/calendar/ajax/calendar/edit.form.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-
-$calendarcolor_options = OC_Calendar_Calendar::getCalendarColorOptions();
-$calendar = OC_Calendar_App::getCalendar($_POST['calendarid']);
-$tmpl = new OCP\Template("calendar", "part.editcalendar");
-$tmpl->assign('new', false);
-$tmpl->assign('calendarcolor_options', $calendarcolor_options);
-$tmpl->assign('calendar', $calendar);
-$tmpl->printPage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/edit.php b/apps/calendar/ajax/calendar/edit.php
deleted file mode 100644
index 3f69666b58c..00000000000
--- a/apps/calendar/ajax/calendar/edit.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$calendarcolor_options = OC_Calendar_Calendar::getCalendarColorOptions();
-$calendar = OC_Calendar_App::getCalendar($_GET['calendarid'], true);
-if(!$calendar){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$tmpl = new OCP\Template("calendar", "part.editcalendar");
-$tmpl->assign('new', false);
-$tmpl->assign('calendarcolor_options', $calendarcolor_options);
-$tmpl->assign('calendar', $calendar);
-$tmpl->printPage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/new.form.php b/apps/calendar/ajax/calendar/new.form.php
deleted file mode 100644
index 0783b6168f8..00000000000
--- a/apps/calendar/ajax/calendar/new.form.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$calendarcolor_options = OC_Calendar_Calendar::getCalendarColorOptions();
-$calendar = array(
- 'id' => 'new',
- 'displayname' => '',
- 'calendarcolor' => '',
-);
-$tmpl = new OCP\Template('calendar', 'part.editcalendar');
-$tmpl->assign('new', true);
-$tmpl->assign('calendarcolor_options', $calendarcolor_options);
-$tmpl->assign('calendar', $calendar);
-$tmpl->printPage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/new.php b/apps/calendar/ajax/calendar/new.php
deleted file mode 100644
index 67d12822378..00000000000
--- a/apps/calendar/ajax/calendar/new.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-// Check if we are a user
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-if(trim($_POST['name']) == ''){
- OCP\JSON::error(array('message'=>'empty'));
- exit;
-}
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-foreach($calendars as $cal){
- if($cal['displayname'] == $_POST['name']){
- OCP\JSON::error(array('message'=>'namenotavailable'));
- exit;
- }
-}
-
-$userid = OCP\USER::getUser();
-$calendarid = OC_Calendar_Calendar::addCalendar($userid, strip_tags($_POST['name']), 'VEVENT,VTODO,VJOURNAL', null, 0, $_POST['color']);
-OC_Calendar_Calendar::setCalendarActive($calendarid, 1);
-
-$calendar = OC_Calendar_Calendar::find($calendarid);
-$tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields');
-$tmpl->assign('calendar', $calendar);
-if(OC_Calendar_Share::allUsersSharedwith($calendarid, OC_Calendar_Share::CALENDAR) == array()){
- $shared = false;
-}else{
- $shared = true;
-}
-$tmpl->assign('shared', $shared);
-OCP\JSON::success(array(
- 'page' => $tmpl->fetchPage(),
- 'eventSource' => OC_Calendar_Calendar::getEventSourceInfo($calendar),
-));
diff --git a/apps/calendar/ajax/calendar/overview.php b/apps/calendar/ajax/calendar/overview.php
deleted file mode 100644
index 1d8e49ea5f2..00000000000
--- a/apps/calendar/ajax/calendar/overview.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-$l10n = OC_L10N::get('calendar');
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$output = new OCP\Template("calendar", "part.choosecalendar");
-$output -> printpage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/calendar/update.php b/apps/calendar/ajax/calendar/update.php
deleted file mode 100644
index c09b1008c9c..00000000000
--- a/apps/calendar/ajax/calendar/update.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-
-// Check if we are a user
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-if(trim($_POST['name']) == ''){
- OCP\JSON::error(array('message'=>'empty'));
- exit;
-}
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-foreach($calendars as $cal){
- if($cal['displayname'] == $_POST['name'] && $cal['id'] != $_POST['id']){
- OCP\JSON::error(array('message'=>'namenotavailable'));
- exit;
- }
-}
-
-$calendarid = $_POST['id'];
-$calendar = OC_Calendar_App::getCalendar($calendarid, true);
-if(!$calendar){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-OC_Calendar_Calendar::editCalendar($calendarid, strip_tags($_POST['name']), null, null, null, $_POST['color']);
-OC_Calendar_Calendar::setCalendarActive($calendarid, $_POST['active']);
-
-$calendar = OC_Calendar_App::getCalendar($calendarid);
-$tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields');
-$tmpl->assign('calendar', $calendar);
-if(OC_Calendar_Share::allUsersSharedwith($calendarid, OC_Calendar_Share::CALENDAR) == array()){
- $shared = false;
-}else{
- $shared = true;
-}
-$tmpl->assign('shared', $shared);
-OCP\JSON::success(array(
- 'page' => $tmpl->fetchPage(),
- 'eventSource' => OC_Calendar_Calendar::getEventSourceInfo($calendar),
-));
diff --git a/apps/calendar/ajax/categories/rescan.php b/apps/calendar/ajax/categories/rescan.php
deleted file mode 100644
index 08c32865b6f..00000000000
--- a/apps/calendar/ajax/categories/rescan.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Thomas Tanghus <thomas@tanghus.net>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-foreach ($_POST as $key=>$element) {
- debug('_POST: '.$key.'=>'.print_r($element, true));
-}
-
-function bailOut($msg) {
- OCP\JSON::error(array('data' => array('message' => $msg)));
- OCP\Util::writeLog('calendar','ajax/categories/rescan.php: '.$msg, OCP\Util::DEBUG);
- exit();
-}
-function debug($msg) {
- OCP\Util::writeLog('calendar','ajax/categories/rescan.php: '.$msg, OCP\Util::DEBUG);
-}
-
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-if(count($calendars) == 0) {
- bailOut(OC_Calendar_App::$l10n->t('No calendars found.'));
-}
-$events = array();
-foreach($calendars as $calendar) {
- $calendar_events = OC_Calendar_Object::all($calendar['id']);
- $events = $events + $calendar_events;
-}
-if(count($events) == 0) {
- bailOut(OC_Calendar_App::$l10n->t('No events found.'));
-}
-
-OC_Calendar_App::scanCategories($events);
-$categories = OC_Calendar_App::getCategoryOptions();
-
-OCP\JSON::success(array('data' => array('categories'=>$categories))); \ No newline at end of file
diff --git a/apps/calendar/ajax/changeview.php b/apps/calendar/ajax/changeview.php
deleted file mode 100644
index 819025543a5..00000000000
--- a/apps/calendar/ajax/changeview.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$view = $_POST['v'];
-switch($view){
- case 'agendaWeek':
- case 'month';
- case 'list':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexpected parameter: ' . $view));
- exit;
-}
-OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'currentview', $view);
-OCP\JSON::success(); \ No newline at end of file
diff --git a/apps/calendar/ajax/event/delete.php b/apps/calendar/ajax/event/delete.php
deleted file mode 100644
index 17e45c001e8..00000000000
--- a/apps/calendar/ajax/event/delete.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$id = $_POST['id'];
-$access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT);
-if($access != 'owner' && $access != 'rw'){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$result = OC_Calendar_Object::delete($id);
-OCP\JSON::success(); \ No newline at end of file
diff --git a/apps/calendar/ajax/event/edit.form.php b/apps/calendar/ajax/event/edit.form.php
deleted file mode 100644
index 27512481538..00000000000
--- a/apps/calendar/ajax/event/edit.form.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-
-if(!OCP\User::isLoggedIn()) {
- die('<script type="text/javascript">document.location = oc_webroot;</script>');
-}
-OCP\JSON::checkAppEnabled('calendar');
-
-$id = $_POST['id'];
-$data = OC_Calendar_App::getEventObject($id, true, true);
-
-if(!$data){
- OCP\JSON::error(array('data' => array('message' => self::$l10n->t('Wrong calendar'))));
- exit;
-}
-$access = OC_Calendar_App::getaccess($id, OC_Calendar_Share::EVENT);
-$object = OC_VObject::parse($data['calendardata']);
-$vevent = $object->VEVENT;
-
-$dtstart = $vevent->DTSTART;
-$dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent);
-switch($dtstart->getDateType()) {
- case Sabre_VObject_Property_DateTime::UTC:
- $timeOffset = $_SESSION['timezone']*60;
- $newDT = $dtstart->getDateTime();
- $newDT->add(new DateInterval("PT" . $timeOffset . "M"));
- $dtstart->setDateTime($newDT);
- $newDT = $dtend->getDateTime();
- $newDT->add(new DateInterval("PT" . $timeOffset . "M"));
- $dtend->setDateTime($newDT);
- case Sabre_VObject_Property_DateTime::LOCALTZ:
- case Sabre_VObject_Property_DateTime::LOCAL:
- $startdate = $dtstart->getDateTime()->format('d-m-Y');
- $starttime = $dtstart->getDateTime()->format('H:i');
- $enddate = $dtend->getDateTime()->format('d-m-Y');
- $endtime = $dtend->getDateTime()->format('H:i');
- $allday = false;
- break;
- case Sabre_VObject_Property_DateTime::DATE:
- $startdate = $dtstart->getDateTime()->format('d-m-Y');
- $starttime = '';
- $dtend->getDateTime()->modify('-1 day');
- $enddate = $dtend->getDateTime()->format('d-m-Y');
- $endtime = '';
- $allday = true;
- break;
-}
-
-$summary = $vevent->getAsString('SUMMARY');
-$location = $vevent->getAsString('LOCATION');
-$categories = $vevent->getAsString('CATEGORIES');
-$description = $vevent->getAsString('DESCRIPTION');
-$last_modified = $vevent->__get('LAST-MODIFIED');
-if ($last_modified){
- $lastmodified = $last_modified->getDateTime()->format('U');
-}else{
- $lastmodified = 0;
-}
-if($data['repeating'] == 1){
- $rrule = explode(';', $vevent->getAsString('RRULE'));
- $rrulearr = array();
- foreach($rrule as $rule){
- list($attr, $val) = explode('=', $rule);
- $rrulearr[$attr] = $val;
- }
- if(!isset($rrulearr['INTERVAL']) || $rrulearr['INTERVAL'] == ''){
- $rrulearr['INTERVAL'] = 1;
- }
- if(array_key_exists('BYDAY', $rrulearr)){
- if(substr_count($rrulearr['BYDAY'], ',') == 0){
- if(strlen($rrulearr['BYDAY']) == 2){
- $repeat['weekdays'] = array($rrulearr['BYDAY']);
- }elseif(strlen($rrulearr['BYDAY']) == 3){
- $repeat['weekofmonth'] = substr($rrulearr['BYDAY'], 0, 1);
- $repeat['weekdays'] = array(substr($rrulearr['BYDAY'], 1, 2));
- }elseif(strlen($rrulearr['BYDAY']) == 4){
- $repeat['weekofmonth'] = substr($rrulearr['BYDAY'], 0, 2);
- $repeat['weekdays'] = array(substr($rrulearr['BYDAY'], 2, 2));
- }
- }else{
- $byday_days = explode(',', $rrulearr['BYDAY']);
- foreach($byday_days as $byday_day){
- if(strlen($byday_day) == 2){
- $repeat['weekdays'][] = $byday_day;
- }elseif(strlen($byday_day) == 3){
- $repeat['weekofmonth'] = substr($byday_day , 0, 1);
- $repeat['weekdays'][] = substr($byday_day , 1, 2);
- }elseif(strlen($byday_day) == 4){
- $repeat['weekofmonth'] = substr($byday_day , 0, 2);
- $repeat['weekdays'][] = substr($byday_day , 2, 2);
- }
- }
- }
- }
- if(array_key_exists('BYMONTHDAY', $rrulearr)){
- if(substr_count($rrulearr['BYMONTHDAY'], ',') == 0){
- $repeat['bymonthday'][] = $rrulearr['BYMONTHDAY'];
- }else{
- $bymonthdays = explode(',', $rrulearr['BYMONTHDAY']);
- foreach($bymonthdays as $bymonthday){
- $repeat['bymonthday'][] = $bymonthday;
- }
- }
- }
- if(array_key_exists('BYYEARDAY', $rrulearr)){
- if(substr_count($rrulearr['BYYEARDAY'], ',') == 0){
- $repeat['byyearday'][] = $rrulearr['BYYEARDAY'];
- }else{
- $byyeardays = explode(',', $rrulearr['BYYEARDAY']);
- foreach($byyeardays as $yearday){
- $repeat['byyearday'][] = $yearday;
- }
- }
- }
- if(array_key_exists('BYWEEKNO', $rrulearr)){
- if(substr_count($rrulearr['BYWEEKNO'], ',') == 0){
- $repeat['byweekno'][] = (string) $rrulearr['BYWEEKNO'];
- }else{
- $byweekno = explode(',', $rrulearr['BYWEEKNO']);
- foreach($byweekno as $weekno){
- $repeat['byweekno'][] = (string) $weekno;
- }
- }
- }
- if(array_key_exists('BYMONTH', $rrulearr)){
- $months = OC_Calendar_App::getByMonthOptions();
- if(substr_count($rrulearr['BYMONTH'], ',') == 0){
- $repeat['bymonth'][] = $months[$month];
- }else{
- $bymonth = explode(',', $rrulearr['BYMONTH']);
- foreach($bymonth as $month){
- $repeat['bymonth'][] = $months[$month];
- }
- }
- }
- switch($rrulearr['FREQ']){
- case 'DAILY':
- $repeat['repeat'] = 'daily';
- break;
- case 'WEEKLY':
- if($rrulearr['INTERVAL'] % 2 == 0){
- $repeat['repeat'] = 'biweekly';
- $rrulearr['INTERVAL'] = $rrulearr['INTERVAL'] / 2;
- }elseif($rrulearr['BYDAY'] == 'MO,TU,WE,TH,FR'){
- $repeat['repeat'] = 'weekday';
- }else{
- $repeat['repeat'] = 'weekly';
- }
- break;
- case 'MONTHLY':
- $repeat['repeat'] = 'monthly';
- if(array_key_exists('BYDAY', $rrulearr)){
- $repeat['month'] = 'weekday';
- }else{
- $repeat['month'] = 'monthday';
- }
- break;
- case 'YEARLY':
- $repeat['repeat'] = 'yearly';
- if(array_key_exists('BYMONTH', $rrulearr)){
- $repeat['year'] = 'bydaymonth';
- }elseif(array_key_exists('BYWEEKNO', $rrulearr)){
- $repeat['year'] = 'byweekno';
- }else{
- $repeat['year'] = 'byyearday';
- }
- }
- $repeat['interval'] = $rrulearr['INTERVAL'];
- if(array_key_exists('COUNT', $rrulearr)){
- $repeat['end'] = 'count';
- $repeat['count'] = $rrulearr['COUNT'];
- }elseif(array_key_exists('UNTIL', $rrulearr)){
- $repeat['end'] = 'date';
- $endbydate_day = substr($rrulearr['UNTIL'], 6, 2);
- $endbydate_month = substr($rrulearr['UNTIL'], 4, 2);
- $endbydate_year = substr($rrulearr['UNTIL'], 0, 4);
- $repeat['date'] = $endbydate_day . '-' . $endbydate_month . '-' . $endbydate_year;
- }else{
- $repeat['end'] = 'never';
- }
- if(array_key_exists('weekdays', $repeat)){
- $repeat_weekdays_ = array();
- $days = OC_Calendar_App::getWeeklyOptions();
- foreach($repeat['weekdays'] as $weekday){
- $repeat_weekdays_[] = $days[$weekday];
- }
- $repeat['weekdays'] = $repeat_weekdays_;
- }
-}else{
- $repeat['repeat'] = 'doesnotrepeat';
-}
-if($access == 'owner'){
- $calendar_options = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-}else{
- $calendar_options = array(OC_Calendar_App::getCalendar($data['calendarid'], false));
-}
-$category_options = OC_Calendar_App::getCategoryOptions();
-$repeat_options = OC_Calendar_App::getRepeatOptions();
-$repeat_end_options = OC_Calendar_App::getEndOptions();
-$repeat_month_options = OC_Calendar_App::getMonthOptions();
-$repeat_year_options = OC_Calendar_App::getYearOptions();
-$repeat_weekly_options = OC_Calendar_App::getWeeklyOptions();
-$repeat_weekofmonth_options = OC_Calendar_App::getWeekofMonth();
-$repeat_byyearday_options = OC_Calendar_App::getByYearDayOptions();
-$repeat_bymonth_options = OC_Calendar_App::getByMonthOptions();
-$repeat_byweekno_options = OC_Calendar_App::getByWeekNoOptions();
-$repeat_bymonthday_options = OC_Calendar_App::getByMonthDayOptions();
-
-if($access == 'owner' || $access == 'rw'){
- $tmpl = new OCP\Template('calendar', 'part.editevent');
-}elseif($access == 'r'){
- $tmpl = new OCP\Template('calendar', 'part.showevent');
-}
-
-$tmpl->assign('eventid', $id);
-$tmpl->assign('access', $access);
-$tmpl->assign('lastmodified', $lastmodified);
-$tmpl->assign('calendar_options', $calendar_options);
-$tmpl->assign('repeat_options', $repeat_options);
-$tmpl->assign('repeat_month_options', $repeat_month_options);
-$tmpl->assign('repeat_weekly_options', $repeat_weekly_options);
-$tmpl->assign('repeat_end_options', $repeat_end_options);
-$tmpl->assign('repeat_year_options', $repeat_year_options);
-$tmpl->assign('repeat_byyearday_options', $repeat_byyearday_options);
-$tmpl->assign('repeat_bymonth_options', $repeat_bymonth_options);
-$tmpl->assign('repeat_byweekno_options', $repeat_byweekno_options);
-$tmpl->assign('repeat_bymonthday_options', $repeat_bymonthday_options);
-$tmpl->assign('repeat_weekofmonth_options', $repeat_weekofmonth_options);
-
-$tmpl->assign('title', $summary);
-$tmpl->assign('location', $location);
-$tmpl->assign('categories', $categories);
-$tmpl->assign('calendar', $data['calendarid']);
-$tmpl->assign('allday', $allday);
-$tmpl->assign('startdate', $startdate);
-$tmpl->assign('starttime', $starttime);
-$tmpl->assign('enddate', $enddate);
-$tmpl->assign('endtime', $endtime);
-$tmpl->assign('description', $description);
-
-$tmpl->assign('repeat', $repeat['repeat']);
-if($repeat['repeat'] != 'doesnotrepeat'){
- $tmpl->assign('repeat_month', $repeat['month']);
- $tmpl->assign('repeat_weekdays', $repeat['weekdays']);
- $tmpl->assign('repeat_interval', $repeat['interval']);
- $tmpl->assign('repeat_end', $repeat['end']);
- $tmpl->assign('repeat_count', $repeat['count']);
- $tmpl->assign('repeat_weekofmonth', $repeat['weekofmonth']);
- $tmpl->assign('repeat_date', $repeat['date']);
- $tmpl->assign('repeat_year', $repeat['year']);
- $tmpl->assign('repeat_byyearday', $repeat['byyearday']);
- $tmpl->assign('repeat_bymonthday', $repeat['bymonthday']);
- $tmpl->assign('repeat_bymonth', $repeat['bymonth']);
- $tmpl->assign('repeat_byweekno', $repeat['byweekno']);
-} else {
- $tmpl->assign('repeat_month', 'monthday');
- $tmpl->assign('repeat_weekdays', array());
- $tmpl->assign('repeat_interval', 1);
- $tmpl->assign('repeat_end', 'never');
- $tmpl->assign('repeat_count', '10');
- $tmpl->assign('repeat_weekofmonth', 'auto');
- $tmpl->assign('repeat_date', '');
- $tmpl->assign('repeat_year', 'bydate');
-}
-$tmpl->printpage();
diff --git a/apps/calendar/ajax/event/edit.php b/apps/calendar/ajax/event/edit.php
deleted file mode 100644
index db78bf6e5e0..00000000000
--- a/apps/calendar/ajax/event/edit.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$id = $_POST['id'];
-
-if(!array_key_exists('calendar', $_POST)){
- $cal = OC_Calendar_Object::getCalendarid($id);
- $_POST['calendar'] = $cal;
-}else{
- $cal = $_POST['calendar'];
-}
-
-$access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT);
-if($access != 'owner' && $access != 'rw'){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-
-$errarr = OC_Calendar_Object::validateRequest($_POST);
-if($errarr){
- //show validate errors
- OCP\JSON::error($errarr);
- exit;
-}else{
- $data = OC_Calendar_App::getEventObject($id, false, false);
- $vcalendar = OC_VObject::parse($data['calendardata']);
-
- OC_Calendar_App::isNotModified($vcalendar->VEVENT, $_POST['lastmodified']);
- OC_Calendar_Object::updateVCalendarFromRequest($_POST, $vcalendar);
-
- OC_Calendar_Object::edit($id, $vcalendar->serialize());
- if ($data['calendarid'] != $cal) {
- OC_Calendar_Object::moveToCalendar($id, $cal);
- }
- OCP\JSON::success();
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/event/move.php b/apps/calendar/ajax/event/move.php
deleted file mode 100644
index f4e2b36376d..00000000000
--- a/apps/calendar/ajax/event/move.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::callCheck();
-
-$id = $_POST['id'];
-$access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT);
-if($access != 'owner' && $access != 'rw'){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$vcalendar = OC_Calendar_App::getVCalendar($id, false, false);
-$vevent = $vcalendar->VEVENT;
-
-$allday = $_POST['allDay'];
-$delta = new DateInterval('P0D');
-$delta->d = $_POST['dayDelta'];
-$delta->i = $_POST['minuteDelta'];
-OC_Calendar_App::isNotModified($vevent, $_POST['lastmodified']);
-
-$dtstart = $vevent->DTSTART;
-$dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent);
-$start_type = $dtstart->getDateType();
-$end_type = $dtend->getDateType();
-if ($allday && $start_type != Sabre_VObject_Property_DateTime::DATE){
- $start_type = $end_type = Sabre_VObject_Property_DateTime::DATE;
- $dtend->setDateTime($dtend->getDateTime()->modify('+1 day'), $end_type);
-}
-if (!$allday && $start_type == Sabre_VObject_Property_DateTime::DATE){
- $start_type = $end_type = Sabre_VObject_Property_DateTime::LOCALTZ;
-}
-$dtstart->setDateTime($dtstart->getDateTime()->add($delta), $start_type);
-$dtend->setDateTime($dtend->getDateTime()->add($delta), $end_type);
-unset($vevent->DURATION);
-
-$vevent->setDateTime('LAST-MODIFIED', 'now', Sabre_VObject_Property_DateTime::UTC);
-$vevent->setDateTime('DTSTAMP', 'now', Sabre_VObject_Property_DateTime::UTC);
-
-$result = OC_Calendar_Object::edit($id, $vcalendar->serialize());
-$lastmodified = $vevent->__get('LAST-MODIFIED')->getDateTime();
-OCP\JSON::success(array('lastmodified'=>(int)$lastmodified->format('U'))); \ No newline at end of file
diff --git a/apps/calendar/ajax/event/new.form.php b/apps/calendar/ajax/event/new.form.php
deleted file mode 100644
index db04cdf2d49..00000000000
--- a/apps/calendar/ajax/event/new.form.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-
-if(!OCP\User::isLoggedIn()) {
- die('<script type="text/javascript">document.location = oc_webroot;</script>');
-}
-OCP\JSON::checkAppEnabled('calendar');
-
-if (!isset($_POST['start'])){
- OCP\JSON::error();
- die;
-}
-$start = $_POST['start'];
-$end = $_POST['end'];
-$allday = $_POST['allday'];
-
-if (!$end){
- $duration = OCP\Config::getUserValue( OCP\USER::getUser(), 'calendar', 'duration', '60');
- $end = $start + ($duration * 60);
-}
-$start = new DateTime('@'.$start);
-$end = new DateTime('@'.$end);
-$timezone = OC_Calendar_App::getTimezone();
-$start->setTimezone(new DateTimeZone($timezone));
-$end->setTimezone(new DateTimeZone($timezone));
-
-$calendar_options = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-$repeat_options = OC_Calendar_App::getRepeatOptions();
-$repeat_end_options = OC_Calendar_App::getEndOptions();
-$repeat_month_options = OC_Calendar_App::getMonthOptions();
-$repeat_year_options = OC_Calendar_App::getYearOptions();
-$repeat_weekly_options = OC_Calendar_App::getWeeklyOptions();
-$repeat_weekofmonth_options = OC_Calendar_App::getWeekofMonth();
-$repeat_byyearday_options = OC_Calendar_App::getByYearDayOptions();
-$repeat_bymonth_options = OC_Calendar_App::getByMonthOptions();
-$repeat_byweekno_options = OC_Calendar_App::getByWeekNoOptions();
-$repeat_bymonthday_options = OC_Calendar_App::getByMonthDayOptions();
-
-$tmpl = new OCP\Template('calendar', 'part.newevent');
-$tmpl->assign('access', 'owner');
-$tmpl->assign('calendar_options', $calendar_options);
-$tmpl->assign('repeat_options', $repeat_options);
-$tmpl->assign('repeat_month_options', $repeat_month_options);
-$tmpl->assign('repeat_weekly_options', $repeat_weekly_options);
-$tmpl->assign('repeat_end_options', $repeat_end_options);
-$tmpl->assign('repeat_year_options', $repeat_year_options);
-$tmpl->assign('repeat_byyearday_options', $repeat_byyearday_options);
-$tmpl->assign('repeat_bymonth_options', $repeat_bymonth_options);
-$tmpl->assign('repeat_byweekno_options', $repeat_byweekno_options);
-$tmpl->assign('repeat_bymonthday_options', $repeat_bymonthday_options);
-$tmpl->assign('repeat_weekofmonth_options', $repeat_weekofmonth_options);
-
-$tmpl->assign('eventid', 'new');
-$tmpl->assign('startdate', $start->format('d-m-Y'));
-$tmpl->assign('starttime', $start->format('H:i'));
-$tmpl->assign('enddate', $end->format('d-m-Y'));
-$tmpl->assign('endtime', $end->format('H:i'));
-$tmpl->assign('allday', $allday);
-$tmpl->assign('repeat', 'doesnotrepeat');
-$tmpl->assign('repeat_month', 'monthday');
-$tmpl->assign('repeat_weekdays', array());
-$tmpl->assign('repeat_interval', 1);
-$tmpl->assign('repeat_end', 'never');
-$tmpl->assign('repeat_count', '10');
-$tmpl->assign('repeat_weekofmonth', 'auto');
-$tmpl->assign('repeat_date', '');
-$tmpl->assign('repeat_year', 'bydate');
-$tmpl->printpage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/event/new.php b/apps/calendar/ajax/event/new.php
deleted file mode 100644
index bc0439cc315..00000000000
--- a/apps/calendar/ajax/event/new.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-$errarr = OC_Calendar_Object::validateRequest($_POST);
-if($errarr){
- //show validate errors
- OCP\JSON::error($errarr);
- exit;
-}else{
- $cal = $_POST['calendar'];
- $vcalendar = OC_Calendar_Object::createVCalendarFromRequest($_POST);
- $result = OC_Calendar_Object::add($cal, $vcalendar->serialize());
- OCP\JSON::success();
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/event/resize.php b/apps/calendar/ajax/event/resize.php
deleted file mode 100644
index 15b687b55da..00000000000
--- a/apps/calendar/ajax/event/resize.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::callCheck();
-
-$id = $_POST['id'];
-
-$access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT);
-if($access != 'owner' && $access != 'rw'){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-
-$vcalendar = OC_Calendar_App::getVCalendar($id, false, false);
-$vevent = $vcalendar->VEVENT;
-
-$delta = new DateInterval('P0D');
-$delta->d = $_POST['dayDelta'];
-$delta->i = $_POST['minuteDelta'];
-
-OC_Calendar_App::isNotModified($vevent, $_POST['lastmodified']);
-
-$dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent);
-$end_type = $dtend->getDateType();
-$dtend->setDateTime($dtend->getDateTime()->add($delta), $end_type);
-unset($vevent->DURATION);
-
-$vevent->setDateTime('LAST-MODIFIED', 'now', Sabre_VObject_Property_DateTime::UTC);
-$vevent->setDateTime('DTSTAMP', 'now', Sabre_VObject_Property_DateTime::UTC);
-
-OC_Calendar_Object::edit($id, $vcalendar->serialize());
-$lastmodified = $vevent->__get('LAST-MODIFIED')->getDateTime();
-OCP\JSON::success(array('lastmodified'=>(int)$lastmodified->format('U'))); \ No newline at end of file
diff --git a/apps/calendar/ajax/events.php b/apps/calendar/ajax/events.php
deleted file mode 100644
index ae55cbc02db..00000000000
--- a/apps/calendar/ajax/events.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-session_write_close();
-
-// Look for the calendar id
-$calendar_id = null;
-if (strval(intval($_GET['calendar_id'])) == strval($_GET['calendar_id'])) { // integer for sure.
- $id = intval($_GET['calendar_id']);
- $calendarrow = OC_Calendar_App::getCalendar($id, true, false); // Let's at least security check otherwise we might as well use OC_Calendar_Calendar::find()
- if($calendarrow !== false && is_int($calendar_id['userid']) && $id == $calendar_id['userid']) {
- $calendar_id = $id;
- }
-}
-$calendar_id = (is_null($calendar_id)?strip_tags($_GET['calendar_id']):$calendar_id);
-
-$start = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['start']):new DateTime('@' . $_GET['start']);
-$end = (version_compare(PHP_VERSION, '5.3.0', '>='))?DateTime::createFromFormat('U', $_GET['end']):new DateTime('@' . $_GET['end']);
-$events = OC_Calendar_App::getrequestedEvents($_GET['calendar_id'], $start, $end);
-$output = array();
-foreach($events as $event){
- $output = array_merge($output, OC_Calendar_App::generateEventOutput($event, $start, $end));
-}
-OCP\JSON::encodedPrint(OCP\Util::sanitizeHTML($output));
diff --git a/apps/calendar/ajax/import/calendarcheck.php b/apps/calendar/ajax/import/calendarcheck.php
deleted file mode 100644
index a91bab70573..00000000000
--- a/apps/calendar/ajax/import/calendarcheck.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-$calname = strip_tags($_POST['calname']);
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\User::getUser());
-foreach($calendars as $calendar){
- if($calendar['displayname'] == $calname){
- OCP\JSON::success(array('message'=>'exists'));
- exit;
- }
-}
-OCP\JSON::error(); \ No newline at end of file
diff --git a/apps/calendar/ajax/import/dialog.php b/apps/calendar/ajax/import/dialog.php
deleted file mode 100644
index 18fe226172c..00000000000
--- a/apps/calendar/ajax/import/dialog.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-$tmpl = new OCP\Template('calendar', 'part.import');
-$tmpl->assign('path', $_POST['path']);
-$tmpl->assign('filename', $_POST['filename']);
-$tmpl->printpage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/import/dropimport.php b/apps/calendar/ajax/import/dropimport.php
deleted file mode 100644
index f46e7314098..00000000000
--- a/apps/calendar/ajax/import/dropimport.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-$data = $_POST['data'];
-$data = explode(',', $data);
-$data = end($data);
-$data = base64_decode($data);
-OCP\JSON::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-$import = new OC_Calendar_Import($data);
-$import->setUserID(OCP\User::getUser());
-$import->setTimeZone(OC_Calendar_App::$tz);
-$import->disableProgressCache();
-if(!$import->isValid()){
- OCP\JSON::error();
- exit;
-}
-$newcalendarname = strip_tags($import->createCalendarName());
-$newid = OC_Calendar_Calendar::addCalendar(OCP\User::getUser(),$newcalendarname,'VEVENT,VTODO,VJOURNAL',null,0,$import->createCalendarColor());
-$import->setCalendarID($newid);
-$import->import();
-$count = $import->getCount();
-if($count == 0){
- OC_Calendar_Calendar::deleteCalendar($newid);
- OCP\JSON::error(array('message'=>OC_Calendar_App::$l10n->t('The file contained either no events or all events are already saved in your calendar.')));
-}else{
- OCP\JSON::success(array('message'=>$count . ' ' . OC_Calendar_App::$l10n->t('events has been saved in the new calendar') . ' ' . $newcalendarname, 'eventSource'=>OC_Calendar_Calendar::getEventSourceInfo(OC_Calendar_Calendar::find($newid))));
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/import/import.php b/apps/calendar/ajax/import/import.php
deleted file mode 100644
index b1dfc464d00..00000000000
--- a/apps/calendar/ajax/import/import.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\JSON::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-session_write_close();
-if (isset($_POST['progresskey']) && isset($_POST['getprogress'])) {
- echo OCP\JSON::success(array('percent'=>OC_Cache::get($_POST['progresskey'])));
- exit;
-}
-$file = OC_Filesystem::file_get_contents($_POST['path'] . '/' . $_POST['file']);
-if(!$file){
- OCP\JSON::error(array('error'=>'404'));
-}
-$import = new OC_Calendar_Import($file);
-$import->setUserID(OCP\User::getUser());
-$import->setTimeZone(OC_Calendar_App::$tz);
-$import->enableProgressCache();
-$import->setProgresskey($_POST['progresskey']);
-if(!$import->isValid()){
- OCP\JSON::error(array('error'=>'notvalid'));
- exit;
-}
-$newcal = false;
-if($_POST['method'] == 'new'){
- $calendars = OC_Calendar_Calendar::allCalendars(OCP\User::getUser());
- foreach($calendars as $calendar){
- if($calendar['displayname'] == $_POST['calname']){
- $id = $calendar['id'];
- $newcal = false;
- break;
- }
- $newcal = true;
- }
- if($newcal){
- $id = OC_Calendar_Calendar::addCalendar(OCP\USER::getUser(), strip_tags($_POST['calname']),'VEVENT,VTODO,VJOURNAL',null,0,strip_tags($_POST['calcolor']));
- OC_Calendar_Calendar::setCalendarActive($id, 1);
- }
-}else{
- $calendar = OC_Calendar_App::getCalendar($_POST['id']);
- if($calendar['userid'] != OCP\USER::getUser()){
- OCP\JSON::error(array('error'=>'missingcalendarrights'));
- exit();
- }
- $id = $_POST['id'];
-}
-$import->setCalendarID($id);
-try{
- $import->import();
-}catch (Exception $e) {
- OCP\JSON::error(array('message'=>OC_Calendar_App::$l10n->t('Import failed'), 'debug'=>$e->getMessage()));
- //write some log
-}
-$count = $import->getCount();
-if($count == 0){
- if($newcal){
- OC_Calendar_Calendar::deleteCalendar($id);
- }
- OCP\JSON::error(array('message'=>OC_Calendar_App::$l10n->t('The file contained either no events or all events are already saved in your calendar.')));
-}else{
- if($newcal){
- OCP\JSON::success(array('message'=>$count . ' ' . OC_Calendar_App::$l10n->t('events has been saved in the new calendar') . ' ' . strip_tags($_POST['calname'])));
- }else{
- OCP\JSON::success(array('message'=>$count . ' ' . OC_Calendar_App::$l10n->t('events has been saved in your calendar')));
- }
-}
-/* //////////////////////////// Attention: following code is quite painfull !!! ///////////////////////
-writeProgress('20');
-// normalize the newlines
-$file = str_replace(array("\r","\n\n"), array("\n","\n"), $file);
-$lines = explode("\n", $file);
-unset($file);
-writeProgress('30');
-// analyze the file, group components by uid, and keep refs to originating calendar object
-// $cals is array calendar objects, keys are 1st line# $cal, ie array( $cal => $caldata )
-// $caldata is array( 'first' => 1st component line#, 'last' => last comp line#, 'end' => end line# )
-// $caldata is used to create prefix/suffix strings when building import text
-// $uids is array of component arrays, keys are $uid, ie array( $uid => array( $beginlineno => $component ) )
-// $component is array( 'end' => end line#, 'cal'=> $cal )
-$comp=$uid=$cal=false;
-$cals=$uids=array();
-$i = 0;
-foreach($lines as $line) {
-
- if(strpos($line, ':')!==false) {
- list($attr, $val) = explode(':', strtoupper($line));
- if ($attr == 'BEGIN' && $val == 'VCALENDAR') {
- $cal = $i;
- $cals[$cal] = array('first'=>$i,'last'=>$i,'end'=>$i);
- } elseif ($attr =='BEGIN' && $cal!==false && isset($comps[$val])) {
- $comp = $val;
- $beginNo = $i;
- } elseif ($attr == 'END' && $cal!==false && $val == 'VCALENDAR') {
- if($comp!==false) {
- unset($cals[$cal]); // corrupt calendar, unset it
- } else {
- $cals[$cal]['end'] = $i;
- }
- $comp=$uid=$cal=false; // reset calendar
- } elseif ($attr == 'END' && $comp!==false && $val == $comp) {
- if(! $uid) {
- $uid = OC_Calendar_Object::createUID();
- }
- $uids[$uid][$beginNo] = array('end'=>$i, 'cal'=>$cal);
- if ($cals[$cal]['first'] == $cal) {
- $cals[$cal]['first'] = $beginNo;
- }
- $cals[$cal]['last'] = $i;
- $comp=$uid=false; // reset component
- } elseif ($attr =="UID" && $comp!==false) {
- list($attr, $uid) = explode(':', $line);
- }
- }
- $i++;
-}
-// import the calendar
-writeProgress('60');
-foreach($uids as $uid) {
- $prefix=$suffix=$content=array();
- foreach($uid as $begin=>$details) {
-
- $cal = $details['cal'];
- if(!isset($cals[$cal])) {
- continue; // from corrupt/incomplete calendar
- }
- $cdata = $cals[$cal];
- // if we have multiple components from different calendar objects,
- // we should really merge their elements (enhancement?) -- 1st one wins for now.
- if(! count($prefix)) {
- $prefix = array_slice($lines, $cal, $cdata['first'] - $cal);
- }
- if(! count($suffix)) {
- $suffix = array_slice($lines, $cdata['last']+1, $cdata['end'] - $cdata['last']);
- }
- $content = array_merge($content, array_slice($lines, $begin, $details['end'] - $begin + 1));
- }
- if(count($content)) {
- $import = join($nl, array_merge($prefix, $content, $suffix)) . $nl;
- OC_Calendar_Object::add($id, $import);
- }
-}
-// finished import
-writeProgress('100');
-sleep(3);
-OC_Cache::remove($progresskey);
-OCP\JSON::success();*/
diff --git a/apps/calendar/ajax/settings/getfirstday.php b/apps/calendar/ajax/settings/getfirstday.php
deleted file mode 100644
index bc995f7d6e8..00000000000
--- a/apps/calendar/ajax/settings/getfirstday.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-$firstday = OCP\Config::getUserValue( OCP\USER::getUser(), 'calendar', 'firstday', 'mo');
-OCP\JSON::encodedPrint(array('firstday' => $firstday)); \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/gettimezonedetection.php b/apps/calendar/ajax/settings/gettimezonedetection.php
deleted file mode 100644
index 6bc9a07a1e9..00000000000
--- a/apps/calendar/ajax/settings/gettimezonedetection.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::success(array('detection' => OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timezonedetection'))); \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/guesstimezone.php b/apps/calendar/ajax/settings/guesstimezone.php
deleted file mode 100644
index 6b6b8bef9c1..00000000000
--- a/apps/calendar/ajax/settings/guesstimezone.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-
-$l = OC_L10N::get('calendar');
-
-$lat = $_POST['lat'];
-$lng = $_POST['lng'];
-
-$timezone = OC_Geo::timezone($lat, $lng);
-
-if($timezone == OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timezone')){
- OCP\JSON::success();
- exit;
-}
-OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'timezone', $timezone);
-$message = array('message'=> $l->t('New Timezone:') . $timezone);
-OCP\JSON::success($message); \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/setfirstday.php b/apps/calendar/ajax/settings/setfirstday.php
deleted file mode 100644
index 73cf0c19b78..00000000000
--- a/apps/calendar/ajax/settings/setfirstday.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::callCheck();
-if(isset($_POST["firstday"])){
- OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'firstday', $_POST["firstday"]);
- OCP\JSON::success();
-}else{
- OCP\JSON::error();
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/settimeformat.php b/apps/calendar/ajax/settings/settimeformat.php
deleted file mode 100644
index 6136857e2fe..00000000000
--- a/apps/calendar/ajax/settings/settimeformat.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::callCheck();
-if(isset($_POST["timeformat"])){
- OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'timeformat', $_POST["timeformat"]);
- OCP\JSON::success();
-}else{
- OCP\JSON::error();
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/settimezone.php b/apps/calendar/ajax/settings/settimezone.php
deleted file mode 100644
index 06db66d578e..00000000000
--- a/apps/calendar/ajax/settings/settimezone.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-// Init owncloud
-
-
-$l=OC_L10N::get('calendar');
-
-// Check if we are a user
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-OCP\JSON::callCheck();
-
-// Get data
-if( isset( $_POST['timezone'] ) ){
- $timezone=$_POST['timezone'];
- OCP\Config::setUserValue( OCP\USER::getUser(), 'calendar', 'timezone', $timezone );
- OCP\JSON::success(array('data' => array( 'message' => $l->t('Timezone changed') )));
-}else{
- OCP\JSON::error(array('data' => array( 'message' => $l->t('Invalid request') )));
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/timeformat.php b/apps/calendar/ajax/settings/timeformat.php
deleted file mode 100644
index eebb687dfac..00000000000
--- a/apps/calendar/ajax/settings/timeformat.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-$timeformat = OCP\Config::getUserValue( OCP\USER::getUser(), 'calendar', 'timeformat', "24");
-OCP\JSON::encodedPrint(array("timeformat" => $timeformat)); \ No newline at end of file
diff --git a/apps/calendar/ajax/settings/timezonedetection.php b/apps/calendar/ajax/settings/timezonedetection.php
deleted file mode 100644
index 5f03f647b3a..00000000000
--- a/apps/calendar/ajax/settings/timezonedetection.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-if(array_key_exists('timezonedetection', $_POST) && $_POST['timezonedetection'] == 'on'){
- OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'timezonedetection', 'true');
-}else{
- OCP\Config::setUserValue(OCP\USER::getUser(), 'calendar', 'timezonedetection', 'false');
-}
-OCP\JSON::success(); \ No newline at end of file
diff --git a/apps/calendar/ajax/share/activation.php b/apps/calendar/ajax/share/activation.php
deleted file mode 100644
index bce8693577b..00000000000
--- a/apps/calendar/ajax/share/activation.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-$id = strip_tags($_POST['id']);
-$activation = strip_tags($_POST['activation']);
-OC_Calendar_Share::set_active(OCP\USER::getUser(), $id, $activation);
-OCP\JSON::success();
diff --git a/apps/calendar/ajax/share/changepermission.php b/apps/calendar/ajax/share/changepermission.php
deleted file mode 100644
index 5aff7666f79..00000000000
--- a/apps/calendar/ajax/share/changepermission.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::callCheck();
-
-$id = strip_tags($_POST['id']);
-$idtype = strip_tags($_POST['idtype']);
-$permission = (int) strip_tags($_POST['permission']);
-switch($idtype){
- case 'calendar':
- case 'event':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexspected parameter'));
- exit;
-}
-if($idtype == 'calendar' && !OC_Calendar_App::getCalendar($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-if($idtype == 'event' && !OC_Calendar_App::getEventObject($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$sharewith = $_POST['sharewith'];
-$sharetype = strip_tags($_POST['sharetype']);
-switch($sharetype){
- case 'user':
- case 'group':
- case 'public':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexspected parameter'));
- exit;
-}
-if($sharetype == 'user' && !OCP\User::userExists($sharewith)){
- OCP\JSON::error(array('message'=>'user not found'));
- exit;
-}
-if($sharetype == 'group' && !OC_Group::groupExists($sharewith)){
- OCP\JSON::error(array('message'=>'group not found'));
- exit;
-}
-$success = OC_Calendar_Share::changepermission($sharewith, $sharetype, $id, $permission, (($idtype=='calendar') ? OC_Calendar_Share::CALENDAR : OC_Calendar_Share::EVENT));
-OCP\JSON::success(); \ No newline at end of file
diff --git a/apps/calendar/ajax/share/dropdown.php b/apps/calendar/ajax/share/dropdown.php
deleted file mode 100644
index 86cf4ac090e..00000000000
--- a/apps/calendar/ajax/share/dropdown.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-$user = OCP\USER::getUser();
-$calid = $_POST['calid'];
-$calendar = OC_Calendar_Calendar::find($calid);
-if($calendar['userid'] != $user){
- OCP\JSON::error();
- exit;
-}
-$tmpl = new OCP\Template('calendar', 'share.dropdown');
-$tmpl->assign('calid', $calid);
-$tmpl->printPage(); \ No newline at end of file
diff --git a/apps/calendar/ajax/share/share.php b/apps/calendar/ajax/share/share.php
deleted file mode 100644
index 77e1ab9d657..00000000000
--- a/apps/calendar/ajax/share/share.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::callCheck();
-
-$id = strip_tags($_POST['id']);
-$idtype = strip_tags($_POST['idtype']);
-switch($idtype){
- case 'calendar':
- case 'event':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexpected parameter'));
- exit;
-}
-if($idtype == 'calendar' && !OC_Calendar_App::getCalendar($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-if($idtype == 'event' && !OC_Calendar_App::getEventObject($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$sharewith = $_POST['sharewith'];
-$sharetype = strip_tags($_POST['sharetype']);
-switch($sharetype){
- case 'user':
- case 'group':
- case 'public':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexpected parameter'));
- exit;
-}
-if($sharetype == 'user' && !OCP\User::userExists($sharewith)){
- OCP\JSON::error(array('message'=>'user not found'));
- exit;
-}
-if($sharetype == 'group' && !OC_Group::groupExists($sharewith)){
- OCP\JSON::error(array('message'=>'group not found'));
- exit;
-}
-if($sharetype == 'user' && OCP\USER::getUser() == $sharewith){
- OCP\JSON::error(array('message'=>'you can not share with yourself'));
-}
-$success = OC_Calendar_Share::share(OCP\USER::getUser(), $sharewith, $sharetype, $id, (($idtype=='calendar') ? OC_Calendar_Share::CALENDAR : OC_Calendar_Share::EVENT));
-if($success){
- if($sharetype == 'public'){
- OCP\JSON::success(array('message'=>$success));
- }else{
- OCP\JSON::success(array('message'=>'shared'));
- }
-}else{
- OCP\JSON::error(array('message'=>'can not share'));
- exit;
-} \ No newline at end of file
diff --git a/apps/calendar/ajax/share/unshare.php b/apps/calendar/ajax/share/unshare.php
deleted file mode 100644
index c7c06113189..00000000000
--- a/apps/calendar/ajax/share/unshare.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OCP\JSON::callCheck();
-
-$id = strip_tags($_POST['id']);
-$idtype = strip_tags($_POST['idtype']);
-switch($idtype){
- case 'calendar':
- case 'event':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexspected parameter'));
- exit;
-}
-if($idtype == 'calendar' && !OC_Calendar_App::getCalendar($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-if($idtype == 'event' && !OC_Calendar_App::getEventObject($id)){
- OCP\JSON::error(array('message'=>'permission denied'));
- exit;
-}
-$sharewith = $_POST['sharewith'];
-$sharetype = strip_tags($_POST['sharetype']);
-switch($sharetype){
- case 'user':
- case 'group':
- case 'public':
- break;
- default:
- OCP\JSON::error(array('message'=>'unexspected parameter'));
- exit;
-}
-if($sharetype == 'user' && !OCP\User::userExists($sharewith)){
- OCP\JSON::error(array('message'=>'user not found'));
- exit;
-}elseif($sharetype == 'group' && !OC_Group::groupExists($sharewith)){
- OCP\JSON::error(array('message'=>'group not found'));
- exit;
-}
-$success = OC_Calendar_Share::unshare(OCP\USER::getUser(), $sharewith, $sharetype, $id, (($idtype=='calendar') ? OC_Calendar_Share::CALENDAR : OC_Calendar_Share::EVENT));
-if($success){
- OCP\JSON::success();
-}else{
- OCP\JSON::error(array('message'=>'can not unshare'));
- exit;
-} \ No newline at end of file
diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php
deleted file mode 100644
index 00787055787..00000000000
--- a/apps/calendar/appinfo/app.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-$l=OC_L10N::get('calendar');
-OC::$CLASSPATH['OC_Calendar_App'] = 'apps/calendar/lib/app.php';
-OC::$CLASSPATH['OC_Calendar_Calendar'] = 'apps/calendar/lib/calendar.php';
-OC::$CLASSPATH['OC_Calendar_Object'] = 'apps/calendar/lib/object.php';
-OC::$CLASSPATH['OC_Calendar_Hooks'] = 'apps/calendar/lib/hooks.php';
-OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/sabre/backend.php';
-OC::$CLASSPATH['OC_Connector_Sabre_CalDAV_CalendarRoot'] = 'apps/calendar/lib/sabre/calendarroot.php';
-OC::$CLASSPATH['OC_Connector_Sabre_CalDAV_UserCalendars'] = 'apps/calendar/lib/sabre/usercalendars.php';
-OC::$CLASSPATH['OC_Connector_Sabre_CalDAV_Calendar'] = 'apps/calendar/lib/sabre/calendar.php';
-OC::$CLASSPATH['OC_Connector_Sabre_CalDAV_CalendarObject'] = 'apps/calendar/lib/sabre/object.php';
-OC::$CLASSPATH['OC_Calendar_Repeat'] = 'apps/calendar/lib/repeat.php';
-OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
-OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
-OC::$CLASSPATH['OC_Calendar_Export'] = 'apps/calendar/lib/export.php';
-OC::$CLASSPATH['OC_Calendar_Import'] = 'apps/calendar/lib/import.php';
-OC::$CLASSPATH['OC_Share_Backend_Calendar'] = 'apps/calendar/lib/share/calendar.php';
-OC::$CLASSPATH['OC_Share_Backend_Event'] = 'apps/calendar/lib/share/event.php';
-//General Hooks
-OCP\Util::connectHook('OC_User', 'post_createUser', 'OC_Calendar_Hooks', 'createUser');
-OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
-//Repeating Events Hooks
-OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
-OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
-OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
-OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
-OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
-//Sharing Hooks
-OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Share', 'post_eventdelete');
-OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'post_caldelete');
-OCP\Util::addscript('calendar','loader');
-OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
-OCP\Util::addStyle("3rdparty", "chosen/chosen");
-OCP\Util::addStyle('3rdparty/miniColors', 'jquery.miniColors');
-OCP\Util::addscript('3rdparty/miniColors', 'jquery.miniColors.min');
-OCP\App::addNavigationEntry( array(
- 'id' => 'calendar_index',
- 'order' => 10,
- 'href' => OCP\Util::linkTo( 'calendar', 'index.php' ),
- 'icon' => OCP\Util::imagePath( 'calendar', 'icon.svg' ),
- 'name' => $l->t('Calendar')));
-OC_Search::registerProvider('OC_Search_Provider_Calendar');
-OCP\Share::registerBackend('calendar', 'OC_Share_Backend_Calendar');
-OCP\Share::registerBackend('event', 'OC_Share_Backend_Event');
diff --git a/apps/calendar/appinfo/database.xml b/apps/calendar/appinfo/database.xml
deleted file mode 100644
index 16e10010d5a..00000000000
--- a/apps/calendar/appinfo/database.xml
+++ /dev/null
@@ -1,345 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<database>
-
- <name>*dbname*</name>
- <create>true</create>
- <overwrite>false</overwrite>
-
- <charset>utf8</charset>
-
- <table>
-
- <name>*dbprefix*calendar_objects</name>
-
- <declaration>
-
- <field>
- <name>id</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <autoincrement>1</autoincrement>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>calendarid</name>
- <type>integer</type>
- <default></default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>objecttype</name>
- <type>text</type>
- <default></default>
- <notnull>true</notnull>
- <length>40</length>
- </field>
-
- <field>
- <name>startdate</name>
- <type>timestamp</type>
- <default>CURRENT_TIMESTAMP</default>
- <notnull>false</notnull>
- </field>
-
- <field>
- <name>enddate</name>
- <type>timestamp</type>
- <default>CURRENT_TIMESTAMP</default>
- <notnull>false</notnull>
- </field>
-
- <field>
- <name>repeating</name>
- <type>integer</type>
- <default></default>
- <notnull>false</notnull>
- <length>4</length>
- </field>
-
- <field>
- <name>summary</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>calendardata</name>
- <type>text</type>
- <notnull>false</notnull>
- </field>
-
- <field>
- <name>uri</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>lastmodified</name>
- <type>integer</type>
- <default></default>
- <notnull>false</notnull>
- <length>4</length>
- </field>
-
- </declaration>
-
- </table>
-
- <table>
-
- <name>*dbprefix*calendar_calendars</name>
-
- <declaration>
-
- <field>
- <name>id</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <autoincrement>1</autoincrement>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>userid</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>displayname</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>100</length>
- </field>
-
- <field>
- <name>uri</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>active</name>
- <type>integer</type>
- <default>1</default>
- <notnull>true</notnull>
- <length>4</length>
- </field>
-
- <field>
- <name>ctag</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>calendarorder</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>calendarcolor</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>10</length>
- </field>
-
- <field>
- <name>timezone</name>
- <type>text</type>
- <notnull>false</notnull>
- </field>
-
- <field>
- <name>components</name>
- <type>text</type>
- <default></default>
- <notnull>false</notnull>
- <length>100</length>
- </field>
-
- </declaration>
-
- </table>
-
- <table>
-
- <name>*dbprefix*calendar_share_event</name>
-
- <declaration>
-
- <field>
- <name>owner</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>share</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>sharetype</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>6</length>
- </field>
-
- <field>
- <name>eventid</name>
- <type>integer</type>
- <default></default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>11</length>
- </field>
-
- <field>
- <name>permissions</name>
- <type>integer</type>
- <notnull>true</notnull>
- <length>1</length>
- </field>
-
- </declaration>
-
- </table>
-
- <table>
-
- <name>*dbprefix*calendar_share_calendar</name>
-
- <declaration>
-
- <field>
- <name>owner</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>share</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>255</length>
- </field>
-
- <field>
- <name>sharetype</name>
- <type>text</type>
- <notnull>true</notnull>
- <length>6</length>
- </field>
-
- <field>
- <name>calendarid</name>
- <type>integer</type>
- <default></default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>11</length>
- </field>
-
- <field>
- <name>permissions</name>
- <type>integer</type>
- <notnull>true</notnull>
- <length>1</length>
- </field>
-
- <field>
- <name>active</name>
- <type>integer</type>
- <default>1</default>
- <notnull>true</notnull>
- <length>4</length>
- </field>
-
- </declaration>
-
- </table>
-
- <table>
-
- <name>*dbprefix*calendar_repeat</name>
-
- <declaration>
-
- <field>
- <name>id</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <autoincrement>1</autoincrement>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>eventid</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>calid</name>
- <type>integer</type>
- <default>0</default>
- <notnull>true</notnull>
- <unsigned>true</unsigned>
- <length>4</length>
- </field>
-
- <field>
- <name>startdate</name>
- <type>timestamp</type>
- <default>0000-00-00 00:00:00</default>
- <notnull>false</notnull>
- </field>
-
- <field>
- <name>enddate</name>
- <type>timestamp</type>
- <default>0000-00-00 00:00:00</default>
- <notnull>false</notnull>
- </field>
-
- </declaration>
-
- </table>
-
-</database>
diff --git a/apps/calendar/appinfo/info.xml b/apps/calendar/appinfo/info.xml
deleted file mode 100644
index dde0260f071..00000000000
--- a/apps/calendar/appinfo/info.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<info>
- <id>calendar</id>
- <name>Calendar</name>
- <licence>AGPL</licence>
- <author>Georg Ehrke, Bart Visscher, Jakob Sack</author>
- <require>4</require>
- <shipped>true</shipped>
- <description>Calendar with CalDAV support</description>
- <default_enable/>
- <remote>
- <calendar>appinfo/remote.php</calendar>
- <caldav>appinfo/remote.php</caldav>
- </remote>
- <public>
- <calendar>share.php</calendar>
- <caldav>share.php</caldav>
- </public>
-</info>
diff --git a/apps/calendar/appinfo/remote.php b/apps/calendar/appinfo/remote.php
deleted file mode 100644
index f499d909666..00000000000
--- a/apps/calendar/appinfo/remote.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Jakob Sack <mail@jakobsack.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\App::checkAppEnabled('calendar');
-
-if(substr($_SERVER["REQUEST_URI"],0,strlen(OC_App::getAppWebPath('calendar').'/caldav.php')) == OC_App::getAppWebPath('calendar'). '/caldav.php'){
- $baseuri = OC_App::getAppWebPath('calendar').'/caldav.php';
-}
-
-// only need authentication apps
-$RUNTIME_APPTYPES=array('authentication');
-OC_App::loadApps($RUNTIME_APPTYPES);
-
-// Backends
-$authBackend = new OC_Connector_Sabre_Auth();
-$principalBackend = new OC_Connector_Sabre_Principal();
-$caldavBackend = new OC_Connector_Sabre_CalDAV();
-
-// Root nodes
-$Sabre_CalDAV_Principal_Collection = new Sabre_CalDAV_Principal_Collection($principalBackend);
-$Sabre_CalDAV_Principal_Collection->disableListing = true; // Disable listening
-
-$calendarRoot = new OC_Connector_Sabre_CalDAV_CalendarRoot($principalBackend, $caldavBackend);
-$calendarRoot->disableListing = true; // Disable listening
-
-$nodes = array(
- $Sabre_CalDAV_Principal_Collection,
- $calendarRoot,
- );
-
-// Fire up server
-$server = new Sabre_DAV_Server($nodes);
-$server->setBaseUri($baseuri);
-// Add plugins
-$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));
-$server->addPlugin(new Sabre_CalDAV_Plugin());
-$server->addPlugin(new Sabre_DAVACL_Plugin());
-$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
-$server->addPlugin(new Sabre_CalDAV_ICSExportPlugin());
-
-// And off we go!
-$server->exec();
diff --git a/apps/calendar/appinfo/update.php b/apps/calendar/appinfo/update.php
deleted file mode 100644
index 0e11c998841..00000000000
--- a/apps/calendar/appinfo/update.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-$installedVersion=OCP\Config::getAppValue('calendar', 'installed_version');
-if (version_compare($installedVersion, '0.2.1', '<')) {
- $stmt = OCP\DB::prepare( 'SELECT `id`, `calendarcolor` FROM `*PREFIX*calendar_calendars` WHERE `calendarcolor` IS NOT NULL' );
- $result = $stmt->execute();
- while( $row = $result->fetchRow()) {
- $id = $row['id'];
- $color = $row['calendarcolor'];
- if ($color[0] == '#' || strlen($color) < 6) {
- continue;
- }
- $color = '#' .$color;
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_calendars` SET `calendarcolor`=? WHERE `id`=?' );
- $r = $stmt->execute(array($color,$id));
- }
-}
-if (version_compare($installedVersion, '0.5', '<')) {
- $calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
- foreach($calendars as $calendar){
- OC_Calendar_Repeat::cleanCalendar($calendar['id']);
- OC_Calendar_Repeat::generateCalendar($calendar['id']);
- }
-} \ No newline at end of file
diff --git a/apps/calendar/appinfo/version b/apps/calendar/appinfo/version
deleted file mode 100644
index cb0c939a936..00000000000
--- a/apps/calendar/appinfo/version
+++ /dev/null
@@ -1 +0,0 @@
-0.5.2
diff --git a/apps/calendar/caldav.php b/apps/calendar/caldav.php
deleted file mode 100644
index 7b811d3cdf1..00000000000
--- a/apps/calendar/caldav.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-if(!file_exists('../../lib/base.php')){
- die('Please update the path to /lib/base.php in caldav.php or make use of /remote.php/caldav/');
-}
-require_once('../../lib/base.php');
-require_once('appinfo/remote.php'); \ No newline at end of file
diff --git a/apps/calendar/calendar.php b/apps/calendar/calendar.php
deleted file mode 100644
index 2c0bee9d233..00000000000
--- a/apps/calendar/calendar.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownClouddev at georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-$l10n = OC_L10N::get('calendar');
-OCP\JSON::checkLoggedIn();
-OCP\JSON::checkAppEnabled('calendar');
-$tmpl = new OCP\Template('calendar', 'part.choosecalendar');
-$tmpl->printpage(); \ No newline at end of file
diff --git a/apps/calendar/css/import.css b/apps/calendar/css/import.css
deleted file mode 100644
index fd82006072c..00000000000
--- a/apps/calendar/css/import.css
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-#calendar_import_newcalform, #calendar_import_mergewarning, #calendar_import_process, #calendar_import_done{display:none;}
-#calendar_import_process_message, #calendar_import_status, #calendar_import_form_message, #calendar_import_mergewarning{text-align:center;}
-#calendar_import_form_message{font-weight: bold;}
-#calendar_import_newcalendar{width:415px;float:right;}
-#calendar_import_mergewarning{clear: both;}
-#calendar_import_defaultcolors{clear:both;margin: 0 auto;text-align: center;}
-.calendar_import_warning{border-color: #fc3333;}
-.calendar-colorpicker-color{display:inline-block;width:20px;height:5px;margin: 0 auto;cursor:pointer;border:2px solid transparent;margin-top: 5px;} \ No newline at end of file
diff --git a/apps/calendar/css/style.css b/apps/calendar/css/style.css
deleted file mode 100644
index 64a779b9a9f..00000000000
--- a/apps/calendar/css/style.css
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-#view { float: left; font-size: 12px; height: 100%;}
-#datecontrol {text-align: center;}
-#datecontrol_left{font-size: 12px;}
-#datecontrol_right{font-size: 12px;}
-#datecontrol_date_label {margin: 0; padding: 0; font-size: 12px;}
-#choosecalendar {margin-right: 170px; float: right; font-size: 12px;}
-
-#choosecalendar_dialog {display: none;}
-#newentry_dialog {display: none;}
-#editentry_dialog {display: none;}
-#parsingfail_dialog{display: none;}
-
-#loading { display: none;margin: 0;padding:0;margin-top:5px;}
-
-#fullcalendar {position: relative;bottom: 0; right: 0; left: 0; top: 3em;}
-.fc-content{padding:2px 4px;}
-#listview {margin: 0; padding: 10px; background: #EEEEEE;}
-#listview #more_before, #listview #more_after {border: 1px solid #1a1a1a; width:25em;padding: 3px;text-align: center;}
-#listview #events {width:25em;padding: 4px;}
-#listview #events .day {width:auto;padding-left:10px;border-bottom: 2px solid #EEEEEE;text-align:left;}
-
-.actions {height: 33px; min-width: 800px;}
-.controls {min-width: 800px;}
-.center {text-align: center;}
-.dateinfo {height: 20px;width: 100%; overflow: hidden; margin-top: 0; padding: 0; font-size: 12px;background: #F7F7F7;}
-.events {width: 100%; margin: 0; padding: 0;min-height: 100px;}
-.calendar_row {height: 20px; text-align: center;background: #ffffff;}
-#oneweekview .calendar_row {width: 13.5%;}
-.calendar_time {height: 20px; width: 50px; text-align:right;background: #ffffff;}
-.day {text-align: center; background: #ffffff; margin: 0; padding: 0; vertical-align: top; width: 14%; height: 22%;}
-.weekend {background: #F3F3F3; }
-.weekend_thead, .weekend_row{height: 20px;text-align: center;text-align: center;background: #F3F3F3;}
-.thisday{background: #FFFABC;}
-.event {position:relative;}
-.event.colored {border-bottom: 1px solid white;}
-
-input[type="button"].active {color: #6193CF}
-#fromtime, #totime {
-color:#333;
-}
-#fromtime.disabled, #totime.disabled {
-color:#A9A9A9;
-}
-select#category{width:140px;}
-button.category{margin:0 3px;}
-
-.calendar-colorpicker-color{display:inline-block;width:20px;height:20px;margin-right:2px;cursor:pointer;border:2px solid transparent;}
-.calendar-colorpicker-color.active{border:2px solid black;}
-
-#event {padding: 0;margin: 0;margin-top:-5px}
-
-.calendar_share_dropdown{ display:block; position:absolute; z-index:100; width:16em; right:0; margin-right:7em; background:#F8F8F8; padding:1em;
--moz-box-shadow:0 1px 1px #777; -webkit-box-shadow:0 1px 1px #777; box-shadow:0 1px 1px #777;
--moz-border-radius:0 0 1em 1em; -webkit-border-radius:0 0 1em 1em; border-radius:0 0 1em 1em;}
-
-.fc-list-table
-{
- margin: 10px;
- border-style: hidden;
- border-width: 10px;
- padding: 10px;
- vertical-align: top;
- width: 100%;
-}
-.fc-list-table tr:hover
-{
- color: #0000FF;
- background-color: #CCFFCC;
-}
-
-
-.fc-list-date
-{
- margin: 16px;
- white-space: nowrap;
- text-align: left;
- width: 100%;
- background-color: #808080;
- color: #FFFFFF;
- font-weight: bold;
- font-family: Arial, Helvetica, sans-serif;
-}
-.fc-list-time
-{
- text-align: center;
- white-space: nowrap;
- width: 1%;
-}
-
-.fc-list-event
-{
- text-align: left;
-}
-
-.fc-list-event .fc-event-title
-{
- cursor: pointer;
-}
-.tipsy-event .tipsy-inner{
-background-color:#0098E4;
-border:2px solid #1d2d44;
-max-width:400px;
-padding:0;
-}
-.tipsy-event .tipsy-arrow-s{
-border-top-color:#1d2d44;
-}
-.tipsy-event .tipsy-arrow-n{
-border-bottom-color:#1d2d44;
-}
-.tipsy-event .summary,
-.tipsy-event .timespan,
-.tipsy-event .description{
-padding:0 8px;
-}
-.tipsy-event .summary{
-background-color:#1d2d44;
-font-size:1.2em;
-font-weight:bold;
-text-align:left;
-padding:0 8px 2px;
-}
-.tipsy-event .description{
-line-height:1.2;
-margin-bottom:4px;
-}
-
-#choosecalendar a.settings{
- margin-top: 25px;
- margin-right: 10px;
-}
-
-#fullcalendar{
- overflow: scroll;
-} \ No newline at end of file
diff --git a/apps/calendar/export.php b/apps/calendar/export.php
deleted file mode 100644
index 1374c49cc0d..00000000000
--- a/apps/calendar/export.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\User::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-$cal = isset($_GET['calid']) ? $_GET['calid'] : NULL;
-$event = isset($_GET['eventid']) ? $_GET['eventid'] : NULL;
-if(isset($cal)){
- $calendar = OC_Calendar_App::getCalendar($cal, true);
- if(!$calendar){
- header('HTTP/1.0 404 Not Found');
- exit;
- }
- header('Content-Type: text/Calendar');
- header('Content-Disposition: inline; filename=' . str_replace(' ', '-', $calendar['displayname']) . '.ics');
- echo OC_Calendar_Export::export($cal, OC_Calendar_Export::CALENDAR);
-}elseif(isset($event)){
- $data = OC_Calendar_App::getEventObject($_GET['eventid'], true);
- if(!$data){
- header('HTTP/1.0 404 Not Found');
- exit;
- }
- header('Content-Type: text/Calendar');
- header('Content-Disposition: inline; filename=' . str_replace(' ', '-', $data['summary']) . '.ics');
- echo OC_Calendar_Export::export($event, OC_Calendar_Export::EVENT);
-} \ No newline at end of file
diff --git a/apps/calendar/img/Icon License b/apps/calendar/img/Icon License
deleted file mode 100644
index b1b292ace66..00000000000
--- a/apps/calendar/img/Icon License
+++ /dev/null
@@ -1,2 +0,0 @@
-http://thenounproject.com/noun/calendar/#icon-No404
-Creative Commons BY 3.0 \ No newline at end of file
diff --git a/apps/calendar/img/icon.png b/apps/calendar/img/icon.png
deleted file mode 100644
index 267efd997f3..00000000000
--- a/apps/calendar/img/icon.png
+++ /dev/null
Binary files differ
diff --git a/apps/calendar/img/icon.svg b/apps/calendar/img/icon.svg
deleted file mode 100644
index 211f74df066..00000000000
--- a/apps/calendar/img/icon.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- id="Layer_1"
- x="0px"
- y="0px"
- width="14px"
- height="16px"
- viewBox="0 0 88 100"
- enable-background="new 0 0 88 100"
- xml:space="preserve"
- inkscape:version="0.48.1 r9760"
- sodipodi:docname="icon.svg"><metadata
- id="metadata11"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
- id="defs9" /><sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1680"
- inkscape:window-height="1004"
- id="namedview7"
- showgrid="false"
- inkscape:zoom="19.125"
- inkscape:cx="7"
- inkscape:cy="8"
- inkscape:window-x="-2"
- inkscape:window-y="23"
- inkscape:window-maximized="1"
- inkscape:current-layer="Layer_1" />
-<path
- d="M0,32v59.906C0,96.377,3.582,100,8,100h72c4.418,0,8-3.623,8-8.094V32H0z M22,94H6V78h16V94z M22,74H6V58h16V74z M22,54H6 V38h16V54z M42,94H26V78h16V94z M42,74H26V58h16V74z M42,54H26V38h16V54z M62,94H46V78h16V94z M62,74H46V58h16V74z M62,54H46V38h16 V54z M82,94H66V78h16V94z M82,74H66V58h16V74z M82,54H66V38h16V54z"
- id="path3"
- style="fill:#4d4d4d" />
-<path
- d="M80,12H67V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H27V3c0-1.657-1.344-3-3-3c-1.657,0-3,1.343-3,3v9H8 c-4.418,0-8,3.623-8,8.093V27v0v1h88v-1v0v-6.907C88,15.623,84.418,12,80,12z M24,26c-3.313,0-6-2.687-6-6 c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3v-5.191c1.792,1.038,3,2.972,3,5.191 C30,23.313,27.314,26,24,26z M64,26c-3.313,0-6-2.687-6-6c0-2.219,1.209-4.152,3-5.19V20c0,1.657,1.343,3,3,3c1.656,0,3-1.343,3-3 v-5.191c1.792,1.038,3,2.972,3,5.191C70,23.313,67.314,26,64,26z"
- id="path5"
- style="fill:#4d4d4d" />
-</svg> \ No newline at end of file
diff --git a/apps/calendar/index.php b/apps/calendar/index.php
deleted file mode 100644
index a8ad4ab3356..00000000000
--- a/apps/calendar/index.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-OCP\User::checkLoggedIn();
-OCP\App::checkAppEnabled('calendar');
-
-// Create default calendar ...
-$calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser(), false);
-if( count($calendars) == 0){
- OC_Calendar_Calendar::addCalendar(OCP\USER::getUser(),'Default calendar');
- $calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser(), true);
-}
-
-$eventSources = array();
-foreach($calendars as $calendar){
- if($calendar['active'] == 1) {
- $eventSources[] = OC_Calendar_Calendar::getEventSourceInfo($calendar);
- }
-}
-
-$events_baseURL = OCP\Util::linkTo('calendar', 'ajax/events.php');
-$eventSources[] = array('url' => $events_baseURL.'?calendar_id=shared_rw',
- 'backgroundColor' => '#1D2D44',
- 'borderColor' => '#888',
- 'textColor' => 'white',
- 'editable'=>'true');
-$eventSources[] = array('url' => $events_baseURL.'?calendar_id=shared_r',
- 'backgroundColor' => '#1D2D44',
- 'borderColor' => '#888',
- 'textColor' => 'white',
- 'editable' => 'false');
-
-OCP\Util::emitHook('OC_Calendar', 'getSources', array('sources' => &$eventSources));
-$categories = OC_Calendar_App::getCategoryOptions();
-
-//Fix currentview for fullcalendar
-if(OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'currentview', 'month') == "oneweekview"){
- OCP\Config::setUserValue(OCP\USER::getUser(), "calendar", "currentview", "agendaWeek");
-}
-if(OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'currentview', 'month') == "onemonthview"){
- OCP\Config::setUserValue(OCP\USER::getUser(), "calendar", "currentview", "month");
-}
-if(OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'currentview', 'month') == "listview"){
- OCP\Config::setUserValue(OCP\USER::getUser(), "calendar", "currentview", "list");
-}
-
-OCP\Util::addscript('3rdparty/fullcalendar', 'fullcalendar');
-OCP\Util::addStyle('3rdparty/fullcalendar', 'fullcalendar');
-OCP\Util::addscript('3rdparty/timepicker', 'jquery.ui.timepicker');
-OCP\Util::addStyle('3rdparty/timepicker', 'jquery.ui.timepicker');
-if(OCP\Config::getUserValue(OCP\USER::getUser(), "calendar", "timezone") == null || OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timezonedetection') == 'true'){
- OCP\Util::addscript('calendar', 'geo');
-}
-OCP\Util::addscript('calendar', 'calendar');
-OCP\Util::addStyle('calendar', 'style');
-OCP\Util::addscript('', 'jquery.multiselect');
-OCP\Util::addStyle('', 'jquery.multiselect');
-OCP\Util::addscript('contacts','jquery.multi-autocomplete');
-OCP\Util::addscript('','oc-vcategories');
-OCP\App::setActiveNavigationEntry('calendar_index');
-$tmpl = new OCP\Template('calendar', 'calendar', 'user');
-$tmpl->assign('eventSources', $eventSources,false);
-$tmpl->assign('categories', $categories);
-if(array_key_exists('showevent', $_GET)){
- $tmpl->assign('showevent', $_GET['showevent'], false);
-}
-$tmpl->printPage();
diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js
deleted file mode 100644
index 23846c89b84..00000000000
--- a/apps/calendar/js/calendar.js
+++ /dev/null
@@ -1,935 +0,0 @@
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-Calendar={
- UI:{
- loading: function(isLoading){
- if (isLoading){
- $('#loading').show();
- }else{
- $('#loading').hide();
- }
- },
- startEventDialog:function(){
- Calendar.UI.loading(false);
- $('.tipsy').remove();
- $('#fullcalendar').fullCalendar('unselect');
- Calendar.UI.lockTime();
- $( "#from" ).datepicker({
- dateFormat : 'dd-mm-yy'
- });
- $( "#to" ).datepicker({
- dateFormat : 'dd-mm-yy'
- });
- $('#fromtime').timepicker({
- showPeriodLabels: false
- });
- $('#totime').timepicker({
- showPeriodLabels: false
- });
- $('#category').multiple_autocomplete({source: categories});
- Calendar.UI.repeat('init');
- $('#end').change(function(){
- Calendar.UI.repeat('end');
- });
- $('#repeat').change(function(){
- Calendar.UI.repeat('repeat');
- });
- $('#advanced_year').change(function(){
- Calendar.UI.repeat('year');
- });
- $('#advanced_month').change(function(){
- Calendar.UI.repeat('month');
- });
- $( "#event" ).tabs({ selected: 0});
- $('#event').dialog({
- width : 500,
- height: 600,
- close : function(event, ui) {
- $(this).dialog('destroy').remove();
- }
- });
- },
- newEvent:function(start, end, allday){
- start = Math.round(start.getTime()/1000);
- if (end){
- end = Math.round(end.getTime()/1000);
- }
- if($('#event').dialog('isOpen') == true){
- // TODO: save event
- $('#event').dialog('destroy').remove();
- }else{
- Calendar.UI.loading(true);
- $('#dialog_holder').load(OC.filePath('calendar', 'ajax/event', 'new.form.php'), {start:start, end:end, allday:allday?1:0}, Calendar.UI.startEventDialog);
- }
- },
- editEvent:function(calEvent, jsEvent, view){
- if (calEvent.editable == false || calEvent.source.editable == false) {
- return;
- }
- var id = calEvent.id;
- if($('#event').dialog('isOpen') == true){
- // TODO: save event
- $('#event').dialog('destroy').remove();
- }else{
- Calendar.UI.loading(true);
- $('#dialog_holder').load(OC.filePath('calendar', 'ajax/event', 'edit.form.php'), {id: id}, Calendar.UI.startEventDialog);
- }
- },
- submitDeleteEventForm:function(url){
- var post = $( '#event_form' ).serialize();
- $('#errorbox').empty();
- Calendar.UI.loading(true);
- $.post(url, post, function(data){
- Calendar.UI.loading(false);
- if(data.status == 'success'){
- $('#fullcalendar').fullCalendar('removeEvents', $('#event_form input[name=id]').val());
- $('#event').dialog('destroy').remove();
- } else {
- $('#errorbox').html(t('calendar', 'Deletion failed'));
- }
-
- }, "json");
- },
- validateEventForm:function(url){
- var post = $( "#event_form" ).serialize();
- $("#errorbox").empty();
- Calendar.UI.loading(true);
- $.post(url, post,
- function(data){
- Calendar.UI.loading(false);
- if(data.status == "error"){
- var output = missing_field + ": <br />";
- if(data.title == "true"){
- output = output + missing_field_title + "<br />";
- }
- if(data.cal == "true"){
- output = output + missing_field_calendar + "<br />";
- }
- if(data.from == "true"){
- output = output + missing_field_fromdate + "<br />";
- }
- if(data.fromtime == "true"){
- output = output + missing_field_fromtime + "<br />";
- }
- if(data.to == "true"){
- output = output + missing_field_todate + "<br />";
- }
- if(data.totime == "true"){
- output = output + missing_field_totime + "<br />";
- }
- if(data.endbeforestart == "true"){
- output = output + missing_field_startsbeforeends + "!<br/>";
- }
- if(data.dberror == "true"){
- output = "There was a database fail!";
- }
- $("#errorbox").html(output);
- } else
- if(data.status == 'success'){
- $('#event').dialog('destroy').remove();
- $('#fullcalendar').fullCalendar('refetchEvents');
- }
- },"json");
- },
- moveEvent:function(event, dayDelta, minuteDelta, allDay, revertFunc){
- $('.tipsy').remove();
- Calendar.UI.loading(true);
- $.post(OC.filePath('calendar', 'ajax/event', 'move.php'), { id: event.id, dayDelta: dayDelta, minuteDelta: minuteDelta, allDay: allDay?1:0, lastmodified: event.lastmodified},
- function(data) {
- Calendar.UI.loading(false);
- if (data.status == 'success'){
- event.lastmodified = data.lastmodified;
- console.log("Event moved successfully");
- }else{
- revertFunc();
- $('#fullcalendar').fullCalendar('refetchEvents');
- }
- });
- },
- resizeEvent:function(event, dayDelta, minuteDelta, revertFunc){
- $('.tipsy').remove();
- Calendar.UI.loading(true);
- $.post(OC.filePath('calendar', 'ajax/event', 'resize.php'), { id: event.id, dayDelta: dayDelta, minuteDelta: minuteDelta, lastmodified: event.lastmodified},
- function(data) {
- Calendar.UI.loading(false);
- if (data.status == 'success'){
- event.lastmodified = data.lastmodified;
- console.log("Event resized successfully");
- }else{
- revertFunc();
- $('#fullcalendar').fullCalendar('refetchEvents');
- }
- });
- },
- showadvancedoptions:function(){
- $("#advanced_options").slideDown('slow');
- $("#advanced_options_button").css("display", "none");
- },
- showadvancedoptionsforrepeating:function(){
- if($("#advanced_options_repeating").is(":hidden")){
- $('#advanced_options_repeating').slideDown('slow');
- }else{
- $('#advanced_options_repeating').slideUp('slow');
- }
- },
- getEventPopupText:function(event){
- if (event.allDay){
- var timespan = $.fullCalendar.formatDates(event.start, event.end, 'ddd d MMMM[ yyyy]{ -[ddd d] MMMM yyyy}', {monthNamesShort: monthNamesShort, monthNames: monthNames, dayNames: dayNames, dayNamesShort: dayNamesShort}); //t('calendar', "ddd d MMMM[ yyyy]{ -[ddd d] MMMM yyyy}")
- }else{
- var timespan = $.fullCalendar.formatDates(event.start, event.end, 'ddd d MMMM[ yyyy] ' + defaulttime + '{ -[ ddd d MMMM yyyy]' + defaulttime + '}', {monthNamesShort: monthNamesShort, monthNames: monthNames, dayNames: dayNames, dayNamesShort: dayNamesShort}); //t('calendar', "ddd d MMMM[ yyyy] HH:mm{ -[ ddd d MMMM yyyy] HH:mm}")
- // Tue 18 October 2011 08:00 - 16:00
- }
- var html =
- '<div class="summary">' + event.title + '</div>' +
- '<div class="timespan">' + timespan + '</div>';
- if (event.description){
- html += '<div class="description">' + event.description + '</div>';
- }
- return html;
- },
- lockTime:function(){
- if($('#allday_checkbox').is(':checked')) {
- $("#fromtime").attr('disabled', true)
- .addClass('disabled');
- $("#totime").attr('disabled', true)
- .addClass('disabled');
- } else {
- $("#fromtime").attr('disabled', false)
- .removeClass('disabled');
- $("#totime").attr('disabled', false)
- .removeClass('disabled');
- }
- },
- showCalDAVUrl:function(username, calname){
- $('#caldav_url').val(totalurl + '/' + username + '/' + decodeURIComponent(calname));
- $('#caldav_url').show();
- $("#caldav_url_close").show();
- },
- initScroll:function(){
- if(window.addEventListener)
- document.addEventListener('DOMMouseScroll', Calendar.UI.scrollCalendar, false);
- //}else{
- document.onmousewheel = Calendar.UI.scrollCalendar;
- //}
- },
- scrollCalendar:function(event){
- $('.tipsy').remove();
- var direction;
- if(event.detail){
- if(event.detail < 0){
- direction = 'top';
- }else{
- direction = 'down';
- }
- }
- if (event.wheelDelta){
- if(event.wheelDelta > 0){
- direction = 'top';
- }else{
- direction = 'down';
- }
- }
- var scroll = $(document).scrollTop(),
- doc_height = $(document).height(),
- win_height = $(window).height();
- if(direction == 'down' && win_height == (doc_height - scroll)){
- $('#fullcalendar').fullCalendar('next');
- $(document).scrollTop(0);
- event.preventDefault();
- }else if (direction == 'top' && scroll == 0) {
- $('#fullcalendar').fullCalendar('prev');
- $(document).scrollTop(win_height);
- event.preventDefault();
- }
- },
- repeat:function(task){
- if(task=='init'){
- $('#byweekno').multiselect({
- header: false,
- noneSelectedText: $('#advanced_byweekno').attr('title'),
- selectedList: 2,
- minWidth:'auto'
- });
- $('#weeklyoptions').multiselect({
- header: false,
- noneSelectedText: $('#weeklyoptions').attr('title'),
- selectedList: 2,
- minWidth:'auto'
- });
- $('input[name="bydate"]').datepicker({
- dateFormat : 'dd-mm-yy'
- });
- $('#byyearday').multiselect({
- header: false,
- noneSelectedText: $('#byyearday').attr('title'),
- selectedList: 2,
- minWidth:'auto'
- });
- $('#bymonth').multiselect({
- header: false,
- noneSelectedText: $('#bymonth').attr('title'),
- selectedList: 2,
- minWidth:'auto'
- });
- $('#bymonthday').multiselect({
- header: false,
- noneSelectedText: $('#bymonthday').attr('title'),
- selectedList: 2,
- minWidth:'auto'
- });
- Calendar.UI.repeat('end');
- Calendar.UI.repeat('month');
- Calendar.UI.repeat('year');
- Calendar.UI.repeat('repeat');
- }
- if(task == 'end'){
- $('#byoccurrences').css('display', 'none');
- $('#bydate').css('display', 'none');
- if($('#end option:selected').val() == 'count'){
- $('#byoccurrences').css('display', 'block');
- }
- if($('#end option:selected').val() == 'date'){
- $('#bydate').css('display', 'block');
- }
- }
- if(task == 'repeat'){
- $('#advanced_month').css('display', 'none');
- $('#advanced_weekday').css('display', 'none');
- $('#advanced_weekofmonth').css('display', 'none');
- $('#advanced_byyearday').css('display', 'none');
- $('#advanced_bymonth').css('display', 'none');
- $('#advanced_byweekno').css('display', 'none');
- $('#advanced_year').css('display', 'none');
- $('#advanced_bymonthday').css('display', 'none');
- if($('#repeat option:selected').val() == 'monthly'){
- $('#advanced_month').css('display', 'block');
- Calendar.UI.repeat('month');
- }
- if($('#repeat option:selected').val() == 'weekly'){
- $('#advanced_weekday').css('display', 'block');
- }
- if($('#repeat option:selected').val() == 'yearly'){
- $('#advanced_year').css('display', 'block');
- Calendar.UI.repeat('year');
- }
- if($('#repeat option:selected').val() == 'doesnotrepeat'){
- $('#advanced_options_repeating').slideUp('slow');
- }
- }
- if(task == 'month'){
- $('#advanced_weekday').css('display', 'none');
- $('#advanced_weekofmonth').css('display', 'none');
- if($('#advanced_month_select option:selected').val() == 'weekday'){
- $('#advanced_weekday').css('display', 'block');
- $('#advanced_weekofmonth').css('display', 'block');
- }
- }
- if(task == 'year'){
- $('#advanced_weekday').css('display', 'none');
- $('#advanced_byyearday').css('display', 'none');
- $('#advanced_bymonth').css('display', 'none');
- $('#advanced_byweekno').css('display', 'none');
- $('#advanced_bymonthday').css('display', 'none');
- if($('#advanced_year_select option:selected').val() == 'byyearday'){
- //$('#advanced_byyearday').css('display', 'block');
- }
- if($('#advanced_year_select option:selected').val() == 'byweekno'){
- $('#advanced_byweekno').css('display', 'block');
- }
- if($('#advanced_year_select option:selected').val() == 'bydaymonth'){
- $('#advanced_bymonth').css('display', 'block');
- $('#advanced_bymonthday').css('display', 'block');
- $('#advanced_weekday').css('display', 'block');
- }
- }
-
- },
- setViewActive: function(view){
- $('#view input[type="button"]').removeClass('active');
- var id;
- switch (view) {
- case 'agendaWeek':
- id = 'oneweekview_radio';
- break;
- case 'month':
- id = 'onemonthview_radio';
- break;
- case 'list':
- id = 'listview_radio';
- break;
- }
- $('#'+id).addClass('active');
- },
- categoriesChanged:function(newcategories){
- categories = $.map(newcategories, function(v) {return v;});
- console.log('Calendar categories changed to: ' + categories);
- $('#category').multiple_autocomplete('option', 'source', categories);
- },
- Calendar:{
- overview:function(){
- if($('#choosecalendar_dialog').dialog('isOpen') == true){
- $('#choosecalendar_dialog').dialog('moveToTop');
- }else{
- Calendar.UI.loading(true);
- $('#dialog_holder').load(OC.filePath('calendar', 'ajax/calendar', 'overview.php'), function(){
- $('#choosecalendar_dialog').dialog({
- width : 600,
- height: 400,
- close : function(event, ui) {
- $(this).dialog('destroy').remove();
- }
- });
- Calendar.UI.loading(false);
- });
- }
- },
- activation:function(checkbox, calendarid)
- {
- Calendar.UI.loading(true);
- $.post(OC.filePath('calendar', 'ajax/calendar', 'activation.php'), { calendarid: calendarid, active: checkbox.checked?1:0 },
- function(data) {
- Calendar.UI.loading(false);
- if (data.status == 'success'){
- checkbox.checked = data.active == 1;
- if (data.active == 1){
- $('#fullcalendar').fullCalendar('addEventSource', data.eventSource);
- }else{
- $('#fullcalendar').fullCalendar('removeEventSource', data.eventSource.url);
- }
- }
- });
- },
- newCalendar:function(object){
- var tr = $(document.createElement('tr'))
- .load(OC.filePath('calendar', 'ajax/calendar', 'new.form.php'),
- function(){Calendar.UI.Calendar.colorPicker(this)});
- $(object).closest('tr').after(tr).hide();
- },
- edit:function(object, calendarid){
- var tr = $(document.createElement('tr'))
- .load(OC.filePath('calendar', 'ajax/calendar', 'edit.form.php'), {calendarid: calendarid},
- function(){Calendar.UI.Calendar.colorPicker(this)});
- $(object).closest('tr').after(tr).hide();
- },
- deleteCalendar:function(calid){
- var check = confirm("Do you really want to delete this calendar?");
- if(check == false){
- return false;
- }else{
- $.post(OC.filePath('calendar', 'ajax/calendar', 'delete.php'), { calendarid: calid},
- function(data) {
- if (data.status == 'success'){
- var url = 'ajax/events.php?calendar_id='+calid;
- $('#fullcalendar').fullCalendar('removeEventSource', url);
- $('#choosecalendar_dialog').dialog('destroy').remove();
- Calendar.UI.Calendar.overview();
- $('#fullcalendar').fullCalendar('refetchEvents');
- }
- });
- }
- },
- submit:function(button, calendarid){
- var displayname = $.trim($("#displayname_"+calendarid).val());
- var active = $("#edit_active_"+calendarid+":checked").length;
- var description = $("#description_"+calendarid).val();
- var calendarcolor = $("#calendarcolor_"+calendarid).val();
- if(displayname == ''){
- $("#displayname_"+calendarid).css('background-color', '#FF2626');
- $("#displayname_"+calendarid).focus(function(){
- $("#displayname_"+calendarid).css('background-color', '#F8F8F8');
- });
- }
-
- var url;
- if (calendarid == 'new'){
- url = OC.filePath('calendar', 'ajax/calendar', 'new.php');
- }else{
- url = OC.filePath('calendar', 'ajax/calendar', 'update.php');
- }
- $.post(url, { id: calendarid, name: displayname, active: active, description: description, color: calendarcolor },
- function(data){
- if(data.status == 'success'){
- $(button).closest('tr').prev().html(data.page).show().next().remove();
- $('#fullcalendar').fullCalendar('removeEventSource', data.eventSource.url);
- $('#fullcalendar').fullCalendar('addEventSource', data.eventSource);
- if (calendarid == 'new'){
- $('#choosecalendar_dialog > table:first').append('<tr><td colspan="6"><a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><input type="button" value="' + newcalendar + '"></a></td></tr>');
- }
- }else{
- $("#displayname_"+calendarid).css('background-color', '#FF2626');
- $("#displayname_"+calendarid).focus(function(){
- $("#displayname_"+calendarid).css('background-color', '#F8F8F8');
- });
- }
- }, 'json');
- },
- cancel:function(button, calendarid){
- $(button).closest('tr').prev().show().next().remove();
- },
- colorPicker:function(container){
- // based on jquery-colorpicker at jquery.webspirited.com
- var obj = $('.colorpicker', container);
- var picker = $('<div class="calendar-colorpicker"></div>');
- //build an array of colors
- var colors = {};
- $(obj).children('option').each(function(i, elm) {
- colors[i] = {};
- colors[i].color = $(elm).val();
- colors[i].label = $(elm).text();
- });
- for (var i in colors) {
- picker.append('<span class="calendar-colorpicker-color ' + (colors[i].color == $(obj).children(":selected").val() ? ' active' : '') + '" rel="' + colors[i].label + '" style="background-color: ' + colors[i].color + ';"></span>');
- }
- picker.delegate(".calendar-colorpicker-color", "click", function() {
- $(obj).val($(this).attr('rel'));
- $(obj).change();
- picker.children('.calendar-colorpicker-color.active').removeClass('active');
- $(this).addClass('active');
- });
- $(obj).after(picker);
- $(obj).css({
- position: 'absolute',
- left: -10000
- });
- }
- },
- Share:{
- currentid: 'false',
- idtype: '',
- activation:function(object,owner,id){
- $.post(OC.filePath('calendar', 'ajax/share', 'activation.php'),{id:id, idtype:'calendar', activation:object.checked?1:0});
- $('#fullcalendar').fullCalendar('refetchEvents');
- },
- dropdown:function(userid, calid){
- $('.calendar_share_dropdown').remove();
- var element = document.getElementById(userid+'_'+calid);
- $('<div class="calendar_share_dropdown"></div>').appendTo(element);
- $.post(OC.filePath('calendar', 'ajax/share', 'dropdown.php'), {calid: calid}, function(data){
- $('.calendar_share_dropdown').html(data);
- $('.calendar_share_dropdown').show('blind');
- $('#share_user').chosen();
- $('#share_group').chosen();
- });
- Calendar.UI.Share.currentid = calid;
- Calendar.UI.Share.idtype = 'calendar';
- },
- share:function(id, idtype, sharewith, sharetype){
- $.post(OC.filePath('calendar', 'ajax/share', 'share.php'),{id:id, idtype:idtype, sharewith:sharewith, sharetype:sharetype}, function(data){
- if(sharetype == 'public'){
- $('#public_token').val(parent.location.protocol+'//'+location.host+OC.linkTo('', 'public.php')+'?service=calendar&t='+data.message);
- $('#public_token').css('display', 'block');
- }
- });
- },
- unshare:function(id, idtype, sharewith, sharetype){
- $.post(OC.filePath('calendar', 'ajax/share', 'unshare.php'),{id:id, idtype:idtype, sharewith:sharewith, sharetype:sharetype}, function(){
- if(sharetype == 'public'){
- $('#public_token').val('');
- $('#public_token').css('display', 'none');
- }
- });
- },
- changepermission:function(id, idtype, sharewith, sharetype, permission){
- $.post(OC.filePath('calendar', 'ajax/share', 'changepermission.php'),{id:id, idtype:idtype, sharewith: sharewith, sharetype:sharetype, permission: (permission?1:0)});
- },
- init:function(){
- $('.calendar_share_dropdown').live('mouseleave', function(){
- $('.calendar_share_dropdown').hide('blind', function(){
- $('.calendar_share_dropdown').remove();
- });
- });
- $('#share_user').live('change', function(){
- if($('#sharewithuser_' + $('#share_user option:selected').text()).length == 0){
- Calendar.UI.Share.share(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $('#share_user option:selected').text(), 'user');
- var newitem = '<li id="sharewithuser_' + $('#share_user option:selected').text() +'"><input type="checkbox" width="12px" style="visibility:hidden;" title="' + $('#share_user option:selected').text() + '">' + $('#share_user option:selected').text() + '<img src="' + OC.imagePath('core', 'actions/delete.svg') + '" class="svg action" style="display:none;float:right;"></li>';
- $('#sharewithuser_list').append(newitem);
- $('#sharewithuser_' + $('#share_user option:selected').text() + ' > img').click(function(){
- $('#share_user option[value="' + $(this).parent().text() + '"]').removeAttr('disabled');
- Calendar.UI.Share.unshare(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $(this).parent().text(), 'user' );
- $("#share_user").trigger("liszt:updated");
- $(this).parent().remove();
- });
- $('#share_user option:selected').attr('disabled', 'disabled');
- $("#share_user").trigger("liszt:updated");
- }
- });
- $('#share_group').live('change', function(){
- if($('#sharewithgroup_' + $('#share_group option:selected').text()).length == 0){
- Calendar.UI.Share.share(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $('#share_group option:selected').text(), 'group');
- var newitem = '<li id="sharewithgroup_' + $('#share_group option:selected').text() +'"><input type="checkbox" width="12px" style="visibility:hidden;" title="' + $('#share_group option:selected').text() + '">' + $('#share_group option:selected').text() + '<img src="' + OC.imagePath('core', 'actions/delete.svg') + '" class="svg action" style="display:none;float:right;"></li>';
- $('#sharewithgroup_list').append(newitem);
- $('#sharewithgroup_' + $('#share_group option:selected').text() + ' > img').click(function(){
- $('#share_group option[value="' + $(this).parent().text() + '"]').removeAttr('disabled');
- Calendar.UI.Share.unshare(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $(this).parent().text(), 'group');
- $("#share_group").trigger("liszt:updated");
- $(this).parent().remove();
- });
- $('#share_group option:selected').attr('disabled', 'disabled');
- $("#share_group").trigger("liszt:updated");
- }
- });
- $('#sharewithuser_list > li > input:checkbox').live('change', function(){
- Calendar.UI.Share.changepermission(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $(this).parent().text(), 'user', this.checked);
- });
- $('#sharewithgroup_list > li > input:checkbox').live('change', function(){
- Calendar.UI.Share.changepermission(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, $(this).parent().text(), 'group', this.checked);
- });
- $('#publish').live('change', function(){
- if(this.checked == 1){
- Calendar.UI.Share.share(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, '', 'public');
- }else{
- Calendar.UI.Share.unshare(Calendar.UI.Share.currentid, Calendar.UI.Share.idtype, '', 'public');
- }
- });
- $('#sharewithuser_list').live('mouseenter', function(){
- $('#sharewithuser_list > li > img').css('display', 'block');
- $('#sharewithuser_list > li > input').css('visibility', 'visible');
- });
- $('#sharewithuser_list').live('mouseleave', function(){
- $('#sharewithuser_list > li > img').css('display', 'none');
- $('#sharewithuser_list > li > input').css('visibility', 'hidden');
- });
- $('#sharewithgroup_list').live('mouseenter', function(){
- $('#sharewithgroup_list > li > img').css('display', 'block');
- $('#sharewithgroup_list > li > input').css('visibility', 'visible');
- });
- $('#sharewithgroup_list').live('mouseleave', function(){
- $('#sharewithgroup_list > li > img').css('display', 'none');
- $('#sharewithgroup_list > li > input').css('visibility', 'hidden');
- });
- /*var permissions = (this.checked) ? 1 : 0;*/
- }
- },
- Drop:{
- init:function(){
- if (typeof window.FileReader === 'undefined') {
- console.log('The drop-import feature is not supported in your browser :(');
- return false;
- }
- droparea = document.getElementById('fullcalendar');
- droparea.ondrop = function(e){
- e.preventDefault();
- Calendar.UI.Drop.drop(e);
- }
- console.log('Drop initialized successfully');
- },
- drop:function(e){
- var files = e.dataTransfer.files;
- for(var i = 0;i < files.length;i++){
- var file = files[i];
- reader = new FileReader();
- reader.onload = function(event){
- Calendar.UI.Drop.import(event.target.result);
- $('#fullcalendar').fullCalendar('refetchEvents');
- }
- reader.readAsDataURL(file);
- }
- },
- import:function(data){
- $.post(OC.filePath('calendar', 'ajax/import', 'dropimport.php'), {'data':data},function(result) {
- if(result.status == 'success'){
- $('#fullcalendar').fullCalendar('addEventSource', result.eventSource);
- $('#notification').html(result.message);
- $('#notification').slideDown();
- window.setTimeout(function(){$('#notification').slideUp();}, 5000);
- return true;
- }else{
- $('#notification').html(result.message);
- $('#notification').slideDown();
- window.setTimeout(function(){$('#notification').slideUp();}, 5000);
- }
- });
- }
- }
- },
- Settings:{
- //
- },
-
-}
-$.fullCalendar.views.list = ListView;
-function ListView(element, calendar) {
- var t = this;
-
- // imports
- jQuery.fullCalendar.views.month.call(t, element, calendar);
- var opt = t.opt;
- var trigger = t.trigger;
- var eventElementHandlers = t.eventElementHandlers;
- var reportEventElement = t.reportEventElement;
- var formatDate = calendar.formatDate;
- var formatDates = calendar.formatDates;
- var addDays = $.fullCalendar.addDays;
- var cloneDate = $.fullCalendar.cloneDate;
- function skipWeekend(date, inc, excl) {
- inc = inc || 1;
- while (!date.getDay() || (excl && date.getDay()==1 || !excl && date.getDay()==6)) {
- addDays(date, inc);
- }
- return date;
- }
-
- // overrides
- t.name='list';
- t.render=render;
- t.renderEvents=renderEvents;
- t.setHeight=setHeight;
- t.setWidth=setWidth;
- t.clearEvents=clearEvents;
-
- function setHeight(height, dateChanged) {
- }
-
- function setWidth(width) {
- }
-
- function clearEvents() {
- this.reportEventClear();
- }
-
- // main
- function sortEvent(a, b) {
- return a.start - b.start;
- }
-
- function render(date, delta) {
- if (!t.start){
- t.start = addDays(cloneDate(date, true), -7);
- t.end = addDays(cloneDate(date, true), 7);
- }
- if (delta) {
- if (delta < 0){
- addDays(t.start, -7);
- addDays(t.end, -7);
- if (!opt('weekends')) {
- skipWeekend(t.start, delta < 0 ? -1 : 1);
- }
- }else{
- addDays(t.start, 7);
- addDays(t.end, 7);
- if (!opt('weekends')) {
- skipWeekend(t.end, delta < 0 ? -1 : 1);
- }
- }
- }
- t.title = formatDates(
- t.start,
- t.end,
- opt('titleFormat', 'week')
- );
- t.visStart = cloneDate(t.start);
- t.visEnd = cloneDate(t.end);
- }
-
- function eventsOfThisDay(events, theDate) {
- var start = cloneDate(theDate, true);
- var end = addDays(cloneDate(start), 1);
- var retArr = new Array();
- for (i in events) {
- var event_end = t.eventEnd(events[i]);
- if (events[i].start < end && event_end >= start) {
- retArr.push(events[i]);
- }
- }
- return retArr;
- }
-
- function renderEvent(event) {
- if (event.allDay) { //all day event
- var time = opt('allDayText');
- }
- else {
- var time = formatDates(event.start, event.end, opt('timeFormat', 'agenda'));
- }
- var classes = ['fc-event', 'fc-list-event'];
- classes = classes.concat(event.className);
- if (event.source) {
- classes = classes.concat(event.source.className || []);
- }
- var html = '<tr>' +
- '<td>&nbsp;</td>' +
- '<td class="fc-list-time">' +
- time +
- '</td>' +
- '<td>&nbsp;</td>' +
- '<td class="fc-list-event">' +
- '<span id="list' + event.id + '"' +
- ' class="' + classes.join(' ') + '"' +
- '>' +
- '<span class="fc-event-title">' +
- event.title +
- '</span>' +
- '</span>' +
- '</td>' +
- '</tr>';
- return html;
- }
-
- function renderDay(date, events) {
- var dayRows = $('<tr>' +
- '<td colspan="4" class="fc-list-date">' +
- '<span>' +
- formatDate(date, opt('titleFormat', 'day')) +
- '</span>' +
- '</td>' +
- '</tr>');
- for (i in events) {
- var event = events[i];
- var eventElement = $(renderEvent(event));
- triggerRes = trigger('eventRender', event, event, eventElement);
- if (triggerRes === false) {
- eventElement.remove();
- }else{
- if (triggerRes && triggerRes !== true) {
- eventElement.remove();
- eventElement = $(triggerRes);
- }
- $.merge(dayRows, eventElement);
- eventElementHandlers(event, eventElement);
- reportEventElement(event, eventElement);
- }
- }
- return dayRows;
- }
-
- function renderEvents(events, modifiedEventId) {
- events = events.sort(sortEvent);
-
- var table = $('<table class="fc-list-table"></table>');
- var total = events.length;
- if (total > 0) {
- var date = cloneDate(t.visStart);
- while (date <= t.visEnd) {
- var dayEvents = eventsOfThisDay(events, date);
- if (dayEvents.length > 0) {
- table.append(renderDay(date, dayEvents));
- }
- date=addDays(date, 1);
- }
- }
-
- this.element.html(table);
- }
-}
-$(document).ready(function(){
- Calendar.UI.initScroll();
- $('#fullcalendar').fullCalendar({
- header: false,
- firstDay: firstDay,
- editable: true,
- defaultView: defaultView,
- timeFormat: {
- agenda: agendatime,
- '': defaulttime
- },
- columnFormat: {
- month: t('calendar', 'ddd'), // Mon
- week: t('calendar', 'ddd M/d'), // Mon 9/7
- day: t('calendar', 'dddd M/d') // Monday 9/7
- },
- titleFormat: {
- month: t('calendar', 'MMMM yyyy'),
- // September 2009
- week: t('calendar', "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}"),
- // Sep 7 - 13 2009
- day: t('calendar', 'dddd, MMM d, yyyy'),
- // Tuesday, Sep 8, 2009
- },
- axisFormat: defaulttime,
- monthNames: monthNames,
- monthNamesShort: monthNamesShort,
- dayNames: dayNames,
- dayNamesShort: dayNamesShort,
- allDayText: allDayText,
- viewDisplay: function(view) {
- $('#datecontrol_date').val($('<p>').html(view.title).text());
- if (view.name != defaultView) {
- $.post(OC.filePath('calendar', 'ajax', 'changeview.php'), {v:view.name});
- defaultView = view.name;
- }
- Calendar.UI.setViewActive(view.name);
- if (view.name == 'agendaWeek') {
- $('#fullcalendar').fullCalendar('option', 'aspectRatio', 0.1);
- }
- else {
- $('#fullcalendar').fullCalendar('option', 'aspectRatio', 1.35);
- }
- },
- columnFormat: {
- week: 'ddd d. MMM'
- },
- selectable: true,
- selectHelper: true,
- select: Calendar.UI.newEvent,
- eventClick: Calendar.UI.editEvent,
- eventDrop: Calendar.UI.moveEvent,
- eventResize: Calendar.UI.resizeEvent,
- eventRender: function(event, element) {
- element.find('.fc-event-title').html(element.find('.fc-event-title').text());
- element.tipsy({
- className: 'tipsy-event',
- opacity: 0.9,
- gravity:$.fn.tipsy.autoBounds(150, 's'),
- fade:true,
- delayIn: 400,
- html:true,
- title:function() {
- return Calendar.UI.getEventPopupText(event);
- }
- });
- },
- loading: Calendar.UI.loading,
- eventSources: eventSources
- });
- $('#datecontrol_date').datepicker({
- changeMonth: true,
- changeYear: true,
- showButtonPanel: true,
- beforeShow: function(input, inst) {
- var calendar_holder = $('#fullcalendar');
- var date = calendar_holder.fullCalendar('getDate');
- inst.input.datepicker('setDate', date);
- inst.input.val(calendar_holder.fullCalendar('getView').title);
- return inst;
- },
- onSelect: function(value, inst) {
- var date = inst.input.datepicker('getDate');
- $('#fullcalendar').fullCalendar('gotoDate', date);
- }
- });
- fillWindow($('#content'));
- OCCategories.changed = Calendar.UI.categoriesChanged;
- OCCategories.app = 'calendar';
- $('#oneweekview_radio').click(function(){
- $('#fullcalendar').fullCalendar('changeView', 'agendaWeek');
- });
- $('#onemonthview_radio').click(function(){
- $('#fullcalendar').fullCalendar('changeView', 'month');
- });
- $('#listview_radio').click(function(){
- $('#fullcalendar').fullCalendar('changeView', 'list');
- });
- $('#today_input').click(function(){
- $('#fullcalendar').fullCalendar('today');
- });
- $('#datecontrol_left').click(function(){
- $('#fullcalendar').fullCalendar('prev');
- });
- $('#datecontrol_right').click(function(){
- $('#fullcalendar').fullCalendar('next');
- });
- Calendar.UI.Share.init();
- Calendar.UI.Drop.init();
- $('#choosecalendar .generalsettings').on('click keydown', function() {
- OC.appSettings({appid:'calendar', loadJS:true, cache:false});
- });
- $('#choosecalendar .calendarsettings').on('click keydown', function() {
- OC.appSettings({appid:'calendar', loadJS:true, cache:false, scriptName:'calendar.php'});
- });
-});
diff --git a/apps/calendar/js/geo.js b/apps/calendar/js/geo.js
deleted file mode 100644
index 99290d940e3..00000000000
--- a/apps/calendar/js/geo.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-if (navigator.geolocation) {
- navigator.geolocation.getCurrentPosition(function(position) {
- $.post(OC.filePath('calendar', 'ajax/settings', 'guesstimezone.php'), {lat: position.coords.latitude, lng: position.coords.longitude},
- function(data){
- if (data.status == 'success' && typeof(data.message) != 'undefined'){
- $('#notification').html(data.message);
- $('#notification').slideDown();
- window.setTimeout(function(){$('#notification').slideUp();}, 5000);
- }else{
- console.log('Can\'t set new timezone.');
- }
- });
- });
-} \ No newline at end of file
diff --git a/apps/calendar/js/loader.js b/apps/calendar/js/loader.js
deleted file mode 100644
index 253abafc427..00000000000
--- a/apps/calendar/js/loader.js
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-Calendar_Import={
- Store:{
- file: '',
- path: '',
- id: 0,
- method: '',
- calname: '',
- calcolor: '',
- progresskey: '',
- percentage: 0
- },
- Dialog:{
- open: function(filename){
- OC.addStyle('calendar', 'import');
- Calendar_Import.Store.file = filename;
- Calendar_Import.Store.path = $('#dir').val();
- $('body').append('<div id="calendar_import"></div>');
- $('#calendar_import').load(OC.filePath('calendar', 'ajax/import', 'dialog.php'), {filename:Calendar_Import.Store.file, path:Calendar_Import.Store.path},function(){
- Calendar_Import.Dialog.init();
- });
- },
- close: function(){
- Calendar_Import.reset();
- $(this).dialog('destroy').remove();
- $('#calendar_import_dialog').remove();
- },
- init: function(){
- //init dialog
- $('#calendar_import_dialog').dialog({
- width : 500,
- resizable: false,
- close : function() {
- Calendar_Import.Dialog.close();
- }
- });
- //init buttons
- $('#calendar_import_done').click(function(){
- Calendar_Import.Dialog.close();
- });
- $('#calendar_import_submit').click(function(){
- Calendar_Import.Core.process();
- });
- $('#calendar_import_mergewarning').click(function(){
- $('#calendar_import_newcalendar').attr('value', $('#calendar_import_availablename').val());
- Calendar_Import.Dialog.mergewarning($('#calendar_import_newcalendar').val());
- });
- $('#calendar_import_calendar').change(function(){
- if($('#calendar_import_calendar option:selected').val() == 'newcal'){
- $('#calendar_import_newcalform').slideDown('slow');
- Calendar_Import.Dialog.mergewarning($('#calendar_import_newcalendar').val());
- }else{
- $('#calendar_import_newcalform').slideUp('slow');
- $('#calendar_import_mergewarning').slideUp('slow');
- }
- });
- $('#calendar_import_newcalendar').keyup(function(){
- Calendar_Import.Dialog.mergewarning($.trim($('#calendar_import_newcalendar').val()));
- });
- $('#calendar_import_newcalendar_color').miniColors({
- letterCase: 'uppercase'
- });
- $('.calendar-colorpicker-color').click(function(){
- var str = $(this).attr('rel');
- str = str.substr(1);
- $('#calendar_import_newcalendar_color').attr('value', str);
- $(".color-picker").miniColors('value', '#' + str);
- });
- //init progressbar
- $('#calendar_import_progressbar').progressbar({value: Calendar_Import.Store.percentage});
- Calendar_Import.Store.progresskey = $('#calendar_import_progresskey').val();
- },
- mergewarning: function(newcalname){
- $.post(OC.filePath('calendar', 'ajax/import', 'calendarcheck.php'), {calname: newcalname}, function(data){
- if(data.message == 'exists'){
- $('#calendar_import_mergewarning').slideDown('slow');
- }else{
- $('#calendar_import_mergewarning').slideUp('slow');
- }
- });
- },
- update: function(){
- if(Calendar_Import.Store.percentage == 100){
- return false;
- }
- $.post(OC.filePath('calendar', 'ajax/import', 'import.php'), {progresskey: Calendar_Import.Store.progresskey, getprogress: true}, function(data){
- if(data.status == 'success'){
- if(data.percent == null){
- return false;
- }
- Calendar_Import.Store.percentage = parseInt(data.percent);
- $('#calendar_import_progressbar').progressbar('option', 'value', parseInt(data.percent));
- if(data.percent < 100 ){
- window.setTimeout('Calendar_Import.Dialog.update()', 250);
- }else{
- $('#calendar_import_done').css('display', 'block');
- }
- }else{
- $('#calendar_import_progressbar').progressbar('option', 'value', 100);
- $('#calendar_import_progressbar > div').css('background-color', '#FF2626');
- $('#calendar_import_status').html(data.message);
- }
- });
- return 0;
- },
- warning: function(selector){
- $(selector).addClass('calendar_import_warning');
- $(selector).focus(function(){
- $(selector).removeClass('calendar_import_warning');
- });
- }
- },
- Core:{
- process: function(){
- var validation = Calendar_Import.Core.prepare();
- if(validation){
- $('#calendar_import_form').css('display', 'none');
- $('#calendar_import_process').css('display', 'block');
- $('#calendar_import_newcalendar').attr('readonly', 'readonly');
- $('#calendar_import_calendar').attr('disabled', 'disabled');
- Calendar_Import.Core.send();
- window.setTimeout('Calendar_Import.Dialog.update()', 250);
- }
- },
- send: function(){
- $.post(OC.filePath('calendar', 'ajax/import', 'import.php'),
- {progresskey: Calendar_Import.Store.progresskey, method: String (Calendar_Import.Store.method), calname: String (Calendar_Import.Store.calname), path: String (Calendar_Import.Store.path), file: String (Calendar_Import.Store.file), id: String (Calendar_Import.Store.id), calcolor: String (Calendar_Import.Store.calcolor)}, function(data){
- if(data.status == 'success'){
- $('#calendar_import_progressbar').progressbar('option', 'value', 100);
- Calendar_Import.Store.percentage = 100;
- $('#calendar_import_done').css('display', 'block');
- $('#calendar_import_status').html(data.message);
- }else{
- $('#calendar_import_progressbar').progressbar('option', 'value', 100);
- $('#calendar_import_progressbar > div').css('background-color', '#FF2626');
- $('#calendar_import_status').html(data.message);
- }
- });
- },
- prepare: function(){
- Calendar_Import.Store.id = $('#calendar_import_calendar option:selected').val();
- if($('#calendar_import_calendar option:selected').val() == 'newcal'){
- Calendar_Import.Store.method = 'new';
- Calendar_Import.Store.calname = $.trim($('#calendar_import_newcalendar').val());
- if(Calendar_Import.Store.calname == ''){
- Calendar_Import.Dialog.warning('#calendar_import_newcalendar');
- return false;
- }
- Calendar_Import.Store.calcolor = $.trim($('#calendar_import_newcalendar_color').val());
- if(Calendar_Import.Store.calcolor == ''){
- Calendar_Import.Store.calcolor = $('.calendar-colorpicker-color:first').attr('rel');
- }
- }else{
- Calendar_Import.Store.method = 'old';
- }
- return true;
- }
- },
- reset: function(){
- Calendar_Import.Store.file = '';
- Calendar_Import.Store.path = '';
- Calendar_Import.Store.id = 0;
- Calendar_Import.Store.method = '';
- Calendar_Import.Store.calname = '';
- Calendar_Import.Store.progresskey = '';
- Calendar_Import.Store.percentage = 0;
- }
-}
-$(document).ready(function(){
- if(typeof FileActions !== 'undefined'){
- FileActions.register('text/calendar','importCalendar', FileActions.PERMISSION_READ, '', Calendar_Import.Dialog.open);
- FileActions.setDefault('text/calendar','importCalendar');
- };
-});
diff --git a/apps/calendar/js/settings.js b/apps/calendar/js/settings.js
deleted file mode 100644
index 20753a7b8fe..00000000000
--- a/apps/calendar/js/settings.js
+++ /dev/null
@@ -1,66 +0,0 @@
-$(document).ready(function(){
- $('#timezone').change( function(){
- var post = $( '#timezone' ).serialize();
- $.post( OC.filePath('calendar', 'ajax/settings', 'settimezone.php'), post, function(data){return;});
- return false;
- });
- $('#timezone').chosen();
- $('#timeformat').change( function(){
- var data = $('#timeformat').serialize();
- $.post( OC.filePath('calendar', 'ajax/settings', 'settimeformat.php'), data, function(data){
- if(data == 'error'){
- console.log('saving timeformat failed');
- }
- });
- });
- $('#firstday').change( function(){
- var data = $('#firstday').serialize();
- $.post( OC.filePath('calendar', 'ajax/settings', 'setfirstday.php'), data, function(data){
- if(data == 'error'){
- console.log('saving firstday failed');
- }
- });
- });
- $('#timezonedetection').change( function(){
- var post = $('#timezonedetection').serialize();
- $.post( OC.filePath('calendar', 'ajax/settings', 'timezonedetection.php'), post, function(data){
-
- });
- });
- $.getJSON(OC.filePath('calendar', 'ajax/settings', 'timeformat.php'), function(jsondata, status) {
- $('#' + jsondata.timeformat).attr('selected',true);
- $('#timeformat').chosen();
- $('#timeformat_chzn').css('width', '100px');
- });
- $.getJSON(OC.filePath('calendar', 'ajax/settings', 'gettimezonedetection.php'), function(jsondata, status){
- if(jsondata.detection == 'true'){
- $('#timezonedetection').attr('checked', 'checked');
- }
- });
- $.getJSON(OC.filePath('calendar', 'ajax/settings', 'getfirstday.php'), function(jsondata, status) {
- $('#' + jsondata.firstday).attr('selected',true);
- $('#firstday').chosen();
- $('#firstday_chzn').css('width', '100px');
- });
- $('#cleancalendarcache').click(function(){
- $.getJSON(OC.filePath('calendar', 'ajax/cache', 'rescan.php'), function(){
- calendarcachecheck();
- });
- });
- calendarcachecheck();
-
-});
-function calendarcachecheck(){
- $.getJSON(OC.filePath('calendar', 'ajax/cache', 'status.php'), function(jsondata, status) {
- $('#cleancalendarcache').attr('title', jsondata.l10n.text);
- if(jsondata.status == 'success'){
- $('#cleancalendarcache').css('background', '#F8F8F8');
- $('#cleancalendarcache').css('color', '#333');
- $('#cleancalendarcache').css('text-shadow', '#fff 0 1px 0');
- }else{
- $('#cleancalendarcache').css('background', '#DC143C');
- $('#cleancalendarcache').css('color', '#FFFFFF');
- $('#cleancalendarcache').css('text-shadow', '0px 0px 0px #fff, 0px 0px #fff');
- }
- });
-} \ No newline at end of file
diff --git a/apps/calendar/l10n/ar.php b/apps/calendar/l10n/ar.php
deleted file mode 100644
index 1ca5e0ead5d..00000000000
--- a/apps/calendar/l10n/ar.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "ليس جميع الجداول الزمنيه محفوضه مؤقة",
-"Everything seems to be completely cached" => "كل شيء محفوض مؤقة",
-"No calendars found." => "لم يتم العثور على جدول الزمني",
-"No events found." => "لم يتم العثور على احداث",
-"Wrong calendar" => "جدول زمني خاطئ",
-"New Timezone:" => "التوقيت الجديد",
-"Timezone changed" => "تم تغيير المنطقة الزمنية",
-"Invalid request" => "طلب غير مفهوم",
-"Calendar" => "الجدول الزمني",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "ddd M/d",
-"MMMM yyyy" => "ddd M/d",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "عيد ميلاد",
-"Business" => "عمل",
-"Call" => "إتصال",
-"Clients" => "الزبائن",
-"Deliverer" => "المرسل",
-"Holidays" => "عطلة",
-"Ideas" => "أفكار",
-"Journey" => "رحلة",
-"Jubilee" => "يوبيل",
-"Meeting" => "إجتماع",
-"Other" => "شيء آخر",
-"Personal" => "شخصي",
-"Projects" => "مشاريع",
-"Questions" => "اسئلة",
-"Work" => "العمل",
-"by" => "من قبل",
-"unnamed" => "غير مسمى",
-"New Calendar" => "جدول زمني جديد",
-"Does not repeat" => "لا يعاد",
-"Daily" => "يومي",
-"Weekly" => "أسبوعي",
-"Every Weekday" => "كل نهاية الأسبوع",
-"Bi-Weekly" => "كل اسبوعين",
-"Monthly" => "شهري",
-"Yearly" => "سنوي",
-"never" => "بتاتا",
-"by occurrences" => "حسب تسلسل الحدوث",
-"by date" => "حسب التاريخ",
-"by monthday" => "حسب يوم الشهر",
-"by weekday" => "حسب يوم الاسبوع",
-"Monday" => "الأثنين",
-"Tuesday" => "الثلاثاء",
-"Wednesday" => "الاربعاء",
-"Thursday" => "الخميس",
-"Friday" => "الجمعه",
-"Saturday" => "السبت",
-"Sunday" => "الاحد",
-"events week of month" => "الاحداث باسبوع الشهر",
-"first" => "أول",
-"second" => "ثاني",
-"third" => "ثالث",
-"fourth" => "رابع",
-"fifth" => "خامس",
-"last" => "أخير",
-"January" => "كانون الثاني",
-"February" => "شباط",
-"March" => "آذار",
-"April" => "نيسان",
-"May" => "أيار",
-"June" => "حزيران",
-"July" => "تموز",
-"August" => "آب",
-"September" => "أيلول",
-"October" => "تشرين الاول",
-"November" => "تشرين الثاني",
-"December" => "كانون الاول",
-"by events date" => "حسب تاريخ الحدث",
-"by yearday(s)" => "حسب يوم السنه",
-"by weeknumber(s)" => "حسب رقم الاسبوع",
-"by day and month" => "حسب اليوم و الشهر",
-"Date" => "تاريخ",
-"Cal." => "تقويم",
-"Sun." => "أحد",
-"Mon." => "أثن.",
-"Tue." => "ثلا.",
-"Wed." => "أرب.",
-"Thu." => "خمي.",
-"Fri." => "جمع.",
-"Sat." => "سبت",
-"Jan." => "ك2",
-"Feb." => "شبا.",
-"Mar." => "آذا.",
-"Apr." => "نيس.",
-"May." => "أيا.",
-"All day" => "كل النهار",
-"Missing fields" => "خانات خالية من المعلومات",
-"Title" => "عنوان",
-"From Date" => "من تاريخ",
-"From Time" => "إلى تاريخ",
-"To Date" => "إلى يوم",
-"To Time" => "إلى وقت",
-"The event ends before it starts" => "هذا الحدث ينتهي قبل أن يبدأ",
-"There was a database fail" => "خطأ في قاعدة البيانات",
-"Week" => "إسبوع",
-"Month" => "شهر",
-"List" => "قائمة",
-"Today" => "اليوم",
-"Your calendars" => "جداولك الزمنيه",
-"CalDav Link" => "وصلة CalDav",
-"Shared calendars" => "جداول زمنيه مشتركه",
-"No shared calendars" => "لا يوجد جداول زمنيه مشتركه",
-"Share Calendar" => "شارك الجدول الزمني",
-"Download" => "تحميل",
-"Edit" => "تعديل",
-"Delete" => "حذف",
-"shared with you by" => "مشاركه من قبل",
-"New calendar" => "جدول زمني جديد",
-"Edit calendar" => "عادل الجدول الزمني",
-"Displayname" => "الاسم المرئي",
-"Active" => "حالي",
-"Calendar color" => "لون الجدول الزمني",
-"Save" => "إحفظ",
-"Submit" => "أرسل",
-"Cancel" => "إلغاء",
-"Edit an event" => "عادل حدث",
-"Export" => "تصدير المعلومات",
-"Eventinfo" => "تفاصيل الحدث",
-"Repeating" => "يعاد",
-"Alarm" => "تنبيه",
-"Attendees" => "الحضور",
-"Share" => "شارك",
-"Title of the Event" => "عنوان الحدث",
-"Category" => "فئة",
-"Separate categories with commas" => "افصل الفئات بالفواصل",
-"Edit categories" => "عدل الفئات",
-"All Day Event" => "حدث في يوم كامل",
-"From" => "من",
-"To" => "إلى",
-"Advanced options" => "خيارات متقدمة",
-"Location" => "مكان",
-"Location of the Event" => "مكان الحدث",
-"Description" => "مواصفات",
-"Description of the Event" => "وصف الحدث",
-"Repeat" => "إعادة",
-"Advanced" => "تعديلات متقدمه",
-"Select weekdays" => "اختر ايام الاسبوع",
-"Select days" => "اختر الايام",
-"and the events day of year." => "و التواريخ حسب يوم السنه.",
-"and the events day of month." => "و الاحداث حسب يوم الشهر.",
-"Select months" => "اختر الاشهر",
-"Select weeks" => "اختر الاسابيع",
-"and the events week of year." => "و الاحداث حسب اسبوع السنه",
-"Interval" => "المده الفاصله",
-"End" => "نهايه",
-"occurrences" => "الاحداث",
-"create a new calendar" => "انشاء جدول زمني جديد",
-"Import a calendar file" => "أدخل ملف التقويم",
-"Name of new calendar" => "أسم الجدول الزمني الجديد",
-"Import" => "إدخال",
-"Close Dialog" => "أغلق الحوار",
-"Create a new event" => "إضافة حدث جديد",
-"View an event" => "شاهد الحدث",
-"No categories selected" => "لم يتم اختيار الفئات",
-"of" => "من",
-"at" => "في",
-"Timezone" => "المنطقة الزمنية",
-"24h" => "24 ساعة",
-"12h" => "12 ساعة",
-"Users" => "المستخدمين",
-"select users" => "اختر المستخدمين",
-"Editable" => "يمكن تعديله",
-"Groups" => "مجموعات",
-"select groups" => "اختر المجموعات",
-"make public" => "حدث عام"
-);
diff --git a/apps/calendar/l10n/bg_BG.php b/apps/calendar/l10n/bg_BG.php
deleted file mode 100644
index fc353ebef95..00000000000
--- a/apps/calendar/l10n/bg_BG.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Не са открити календари.",
-"No events found." => "Не са открити събития.",
-"Import failed" => "Грешка при внасяне",
-"New Timezone:" => "Нов часови пояс:",
-"Timezone changed" => "Часовата зона е сменена",
-"Invalid request" => "Невалидна заявка",
-"Calendar" => "Календар",
-"Birthday" => "Роджен ден",
-"Clients" => "Клиенти",
-"Holidays" => "Празници",
-"Ideas" => "Идеи",
-"Journey" => "Пътуване",
-"Meeting" => "Среща",
-"Other" => "Друго",
-"Personal" => "Лично",
-"Projects" => "Проекти",
-"Questions" => "Въпроси",
-"Work" => "Работа",
-"New Calendar" => "Нов календар",
-"Does not repeat" => "Не се повтаря",
-"Daily" => "Дневно",
-"Weekly" => "Седмично",
-"Every Weekday" => "Всеки делничен ден",
-"Bi-Weekly" => "Двуседмично",
-"Monthly" => "Месечно",
-"Yearly" => "Годишно",
-"never" => "никога",
-"Monday" => "Понеделник",
-"Tuesday" => "Вторник",
-"Wednesday" => "Сряда",
-"Thursday" => "Четвъртък",
-"Friday" => "Петък",
-"Saturday" => "Събота",
-"Sunday" => "Неделя",
-"All day" => "Всички дни",
-"Missing fields" => "Липсват полета",
-"Title" => "Заглавие",
-"Week" => "Седмица",
-"Month" => "Месец",
-"List" => "Списък",
-"Today" => "Днес",
-"Your calendars" => "Вашите календари",
-"Shared calendars" => "Споделени календари",
-"No shared calendars" => "Няма споделени календари",
-"Share Calendar" => "Споделяне на календар",
-"Download" => "Изтегляне",
-"Edit" => "Промяна",
-"Delete" => "Изтриване",
-"New calendar" => "Нов календар",
-"Edit calendar" => "Промени календар",
-"Displayname" => "Екранно име",
-"Active" => "Активен",
-"Calendar color" => "Цвят на календара",
-"Save" => "Запис",
-"Submit" => "Продължи",
-"Cancel" => "Отказ",
-"Edit an event" => "Промяна на събитие",
-"Export" => "Изнасяне",
-"Share" => "Споделяне",
-"Title of the Event" => "Наименование",
-"Category" => "Категория",
-"Separate categories with commas" => "Отделете категориите със запетаи",
-"Edit categories" => "Редактиране на категориите",
-"All Day Event" => "Целодневно събитие",
-"From" => "От",
-"To" => "До",
-"Advanced options" => "Разширени настройки",
-"Location" => "Локация",
-"Location of the Event" => "Локация",
-"Description" => "Описание",
-"Description of the Event" => "Описание",
-"Repeat" => "Повтори",
-"create a new calendar" => "създаване на нов календар",
-"Please choose a calendar" => "Изберете календар",
-"Name of new calendar" => "Име на новия календар",
-"Import" => "Внасяне",
-"Close Dialog" => "Затваряне на прозореца",
-"Create a new event" => "Ново събитие",
-"View an event" => "Преглед на събитие",
-"No categories selected" => "Няма избрани категории",
-"Timezone" => "Часова зона",
-"Groups" => "Групи"
-);
diff --git a/apps/calendar/l10n/ca.php b/apps/calendar/l10n/ca.php
deleted file mode 100644
index 9e267604e62..00000000000
--- a/apps/calendar/l10n/ca.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "No tots els calendaris estan en memòria",
-"Everything seems to be completely cached" => "Sembla que tot està en memòria",
-"No calendars found." => "No s'han trobat calendaris.",
-"No events found." => "No s'han trobat events.",
-"Wrong calendar" => "Calendari erroni",
-"The file contained either no events or all events are already saved in your calendar." => "El fitxer no contenia esdeveniments o aquests ja estaven desats en el vostre caledari",
-"events has been saved in the new calendar" => "els esdeveniments s'han desat en el calendari nou",
-"Import failed" => "Ha fallat la importació",
-"events has been saved in your calendar" => "els esdveniments s'han desat en el calendari",
-"New Timezone:" => "Nova zona horària:",
-"Timezone changed" => "La zona horària ha canviat",
-"Invalid request" => "Sol.licitud no vàlida",
-"Calendar" => "Calendari",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d/M",
-"dddd M/d" => "dddd d/M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d [MMM ][yyyy ]{'&#8212;' d MMM yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d MMM, yyyy",
-"Birthday" => "Aniversari",
-"Business" => "Feina",
-"Call" => "Trucada",
-"Clients" => "Clients",
-"Deliverer" => "Remitent",
-"Holidays" => "Vacances",
-"Ideas" => "Idees",
-"Journey" => "Viatge",
-"Jubilee" => "Sant",
-"Meeting" => "Reunió",
-"Other" => "Altres",
-"Personal" => "Personal",
-"Projects" => "Projectes",
-"Questions" => "Preguntes",
-"Work" => "Feina",
-"by" => "per",
-"unnamed" => "sense nom",
-"New Calendar" => "Calendari nou",
-"Does not repeat" => "No es repeteix",
-"Daily" => "Diari",
-"Weekly" => "Mensual",
-"Every Weekday" => "Cada setmana",
-"Bi-Weekly" => "Bisetmanalment",
-"Monthly" => "Mensualment",
-"Yearly" => "Cada any",
-"never" => "mai",
-"by occurrences" => "per aparicions",
-"by date" => "per data",
-"by monthday" => "per dia del mes",
-"by weekday" => "per dia de la setmana",
-"Monday" => "Dilluns",
-"Tuesday" => "Dimarts",
-"Wednesday" => "Dimecres",
-"Thursday" => "Dijous",
-"Friday" => "Divendres",
-"Saturday" => "Dissabte",
-"Sunday" => "Diumenge",
-"events week of month" => "esdeveniments la setmana del mes",
-"first" => "primer",
-"second" => "segon",
-"third" => "tercer",
-"fourth" => "quart",
-"fifth" => "cinquè",
-"last" => "últim",
-"January" => "Gener",
-"February" => "Febrer",
-"March" => "Març",
-"April" => "Abril",
-"May" => "Maig",
-"June" => "Juny",
-"July" => "Juliol",
-"August" => "Agost",
-"September" => "Setembre",
-"October" => "Octubre",
-"November" => "Novembre",
-"December" => "Desembre",
-"by events date" => "per data d'esdeveniments",
-"by yearday(s)" => "per ahir(s)",
-"by weeknumber(s)" => "per número(s) de la setmana",
-"by day and month" => "per dia del mes",
-"Date" => "Data",
-"Cal." => "Cal.",
-"Sun." => "Dg.",
-"Mon." => "Dl.",
-"Tue." => "Dm.",
-"Wed." => "Dc.",
-"Thu." => "Dj.",
-"Fri." => "Dv.",
-"Sat." => "Ds.",
-"Jan." => "Gen.",
-"Feb." => "Febr.",
-"Mar." => "Març",
-"Apr." => "Abr.",
-"May." => "Maig",
-"Jun." => "Juny",
-"Jul." => "Jul.",
-"Aug." => "Ag.",
-"Sep." => "Set.",
-"Oct." => "Oct.",
-"Nov." => "Nov.",
-"Dec." => "Des.",
-"All day" => "Tot el dia",
-"Missing fields" => "Els camps que falten",
-"Title" => "Títol",
-"From Date" => "Des de la data",
-"From Time" => "Des de l'hora",
-"To Date" => "Fins a la data",
-"To Time" => "Fins a l'hora",
-"The event ends before it starts" => "L'esdeveniment acaba abans que comenci",
-"There was a database fail" => "Hi ha un error de base de dades",
-"Week" => "Setmana",
-"Month" => "Mes",
-"List" => "Llista",
-"Today" => "Avui",
-"Settings" => "Configuració",
-"Your calendars" => "Els vostres calendaris",
-"CalDav Link" => "Enllaç CalDav",
-"Shared calendars" => "Calendaris compartits",
-"No shared calendars" => "No hi ha calendaris compartits",
-"Share Calendar" => "Comparteix el calendari",
-"Download" => "Baixa",
-"Edit" => "Edita",
-"Delete" => "Suprimeix",
-"shared with you by" => "compartit amb vós",
-"New calendar" => "Calendari nou",
-"Edit calendar" => "Edita el calendari",
-"Displayname" => "Mostra el nom",
-"Active" => "Actiu",
-"Calendar color" => "Color del calendari",
-"Save" => "Desa",
-"Submit" => "Envia",
-"Cancel" => "Cancel·la",
-"Edit an event" => "Edició d'un esdeveniment",
-"Export" => "Exporta",
-"Eventinfo" => "Eventinfo",
-"Repeating" => "Repetició",
-"Alarm" => "Alarma",
-"Attendees" => "Assistents",
-"Share" => "Comparteix",
-"Title of the Event" => "Títol de l'esdeveniment",
-"Category" => "Categoria",
-"Separate categories with commas" => "Separeu les categories amb comes",
-"Edit categories" => "Edita categories",
-"All Day Event" => "Esdeveniment de tot el dia",
-"From" => "Des de",
-"To" => "Fins a",
-"Advanced options" => "Opcions avançades",
-"Location" => "Ubicació",
-"Location of the Event" => "Ubicació de l'esdeveniment",
-"Description" => "Descripció",
-"Description of the Event" => "Descripció de l'esdeveniment",
-"Repeat" => "Repetició",
-"Advanced" => "Avançat",
-"Select weekdays" => "Dies de la setmana seleccionats",
-"Select days" => "Seleccionar dies",
-"and the events day of year." => "i dies d'esdeveniment de l'any.",
-"and the events day of month." => "i dies d'esdeveniment del mes.",
-"Select months" => "Seleccionar mesos",
-"Select weeks" => "Seleccionar setmanes",
-"and the events week of year." => "i setmanes d'esdeveniment de l'any.",
-"Interval" => "Interval",
-"End" => "Final",
-"occurrences" => "aparicions",
-"create a new calendar" => "crea un nou calendari",
-"Import a calendar file" => "Importa un fitxer de calendari",
-"Please choose a calendar" => "Escolliu un calendari",
-"Name of new calendar" => "Nom del nou calendari",
-"Take an available name!" => "Escolliu un nom disponible!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Ja hi ha un calendari amb aquest nom. Si continueu, els calendaris es combinaran.",
-"Import" => "Importa",
-"Close Dialog" => "Tanca el diàleg",
-"Create a new event" => "Crea un nou esdeveniment",
-"View an event" => "Mostra un event",
-"No categories selected" => "No hi ha categories seleccionades",
-"of" => "de",
-"at" => "a",
-"General" => "General",
-"Timezone" => "Zona horària",
-"Update timezone automatically" => "Actualitza la zona horària automàticament",
-"Time format" => "Format horari",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "Comença la setmana en ",
-"Cache" => "Memòria de cau",
-"Clear cache for repeating events" => "Neteja la memòria de cau pels esdeveniments amb repetició",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "Adreça de sincronització del calendari CalDAV",
-"more info" => "més informació",
-"Primary address (Kontact et al)" => "Adreça primària (Kontact et al)",
-"iOS/OS X" => "IOS/OS X",
-"Read only iCalendar link(s)" => "Enllaç(os) iCalendar només de lectura",
-"Users" => "Usuaris",
-"select users" => "seleccioneu usuaris",
-"Editable" => "Editable",
-"Groups" => "Grups",
-"select groups" => "seleccioneu grups",
-"make public" => "fes-ho public"
-);
diff --git a/apps/calendar/l10n/cs_CZ.php b/apps/calendar/l10n/cs_CZ.php
deleted file mode 100644
index ab76cc49d1e..00000000000
--- a/apps/calendar/l10n/cs_CZ.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "V paměti nejsou uloženy kompletně všechny kalendáře",
-"Everything seems to be completely cached" => "Zdá se, že vše je kompletně uloženo v paměti",
-"No calendars found." => "Žádné kalendáře nenalezeny.",
-"No events found." => "Žádné události nenalezeny.",
-"Wrong calendar" => "Nesprávný kalendář",
-"The file contained either no events or all events are already saved in your calendar." => "Soubor, obsahující všechny záznamy nebo je prázdný, je již uložen ve Vašem kalendáři.",
-"events has been saved in the new calendar" => "Záznam byl uložen v novém kalendáři",
-"Import failed" => "Import selhal",
-"events has been saved in your calendar" => "záznamů bylo uloženo ve Vašem kalendáři",
-"New Timezone:" => "Nová časová zóna:",
-"Timezone changed" => "Časová zóna byla změněna",
-"Invalid request" => "Chybný požadavek",
-"Calendar" => "Kalendář",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM rrrr",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d. MMM[ yyyy]{ '&#8212;' d.[ MMM] yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
-"Birthday" => "Narozeniny",
-"Business" => "Obchodní",
-"Call" => "Hovor",
-"Clients" => "Klienti",
-"Deliverer" => "Doručovatel",
-"Holidays" => "Prázdniny",
-"Ideas" => "Nápady",
-"Journey" => "Cesta",
-"Jubilee" => "Výročí",
-"Meeting" => "Schůzka",
-"Other" => "Další",
-"Personal" => "Osobní",
-"Projects" => "Projekty",
-"Questions" => "Dotazy",
-"Work" => "Pracovní",
-"by" => "od",
-"unnamed" => "nepojmenováno",
-"New Calendar" => "Nový kalendář",
-"Does not repeat" => "Neopakuje se",
-"Daily" => "Denně",
-"Weekly" => "Týdně",
-"Every Weekday" => "Každý všední den",
-"Bi-Weekly" => "Jednou za dva týdny",
-"Monthly" => "Měsíčně",
-"Yearly" => "Ročně",
-"never" => "nikdy",
-"by occurrences" => "podle výskytu",
-"by date" => "podle data",
-"by monthday" => "podle dne v měsíci",
-"by weekday" => "podle dne v týdnu",
-"Monday" => "Pondělí",
-"Tuesday" => "Úterý",
-"Wednesday" => "Středa",
-"Thursday" => "Čtvrtek",
-"Friday" => "Pátek",
-"Saturday" => "Sobota",
-"Sunday" => "Neděle",
-"events week of month" => "týdenní události v měsíci",
-"first" => "první",
-"second" => "druhý",
-"third" => "třetí",
-"fourth" => "čtvrtý",
-"fifth" => "pátý",
-"last" => "poslední",
-"January" => "Leden",
-"February" => "Únor",
-"March" => "Březen",
-"April" => "Duben",
-"May" => "Květen",
-"June" => "Červen",
-"July" => "Červenec",
-"August" => "Srpen",
-"September" => "Září",
-"October" => "Říjen",
-"November" => "Listopad",
-"December" => "Prosinec",
-"by events date" => "podle data události",
-"by yearday(s)" => "po dni (dnech)",
-"by weeknumber(s)" => "podle čísel týdnů",
-"by day and month" => "podle dne a měsíce",
-"Date" => "Datum",
-"Cal." => "Kal.",
-"Sun." => "Ne",
-"Mon." => "Po",
-"Tue." => "Út",
-"Wed." => "St",
-"Thu." => "Čt",
-"Fri." => "Pá",
-"Sat." => "So",
-"Jan." => "Ne",
-"Feb." => "únor",
-"Mar." => "březen",
-"Apr." => "duben",
-"May." => "květen",
-"Jun." => "červen",
-"Jul." => "červenec",
-"Aug." => "srpen",
-"Sep." => "září",
-"Oct." => "říjen",
-"Nov." => "listopad",
-"Dec." => "prosinec",
-"All day" => "Celý den",
-"Missing fields" => "Chybějící pole",
-"Title" => "Název",
-"From Date" => "Od data",
-"From Time" => "Od",
-"To Date" => "Do data",
-"To Time" => "Do",
-"The event ends before it starts" => "Akce končí před zahájením",
-"There was a database fail" => "Chyba v databázi",
-"Week" => "týden",
-"Month" => "měsíc",
-"List" => "Seznam",
-"Today" => "dnes",
-"Settings" => "Nastavení",
-"Your calendars" => "Vaše kalendáře",
-"CalDav Link" => "CalDav odkaz",
-"Shared calendars" => "Sdílené kalendáře",
-"No shared calendars" => "Žádné sdílené kalendáře",
-"Share Calendar" => "Sdílet kalendář",
-"Download" => "Stáhnout",
-"Edit" => "Editovat",
-"Delete" => "Odstranit",
-"shared with you by" => "sdíleno s vámi uživatelem",
-"New calendar" => "Nový kalendář",
-"Edit calendar" => "Editovat kalendář",
-"Displayname" => "Zobrazované jméno",
-"Active" => "Aktivní",
-"Calendar color" => "Barva kalendáře",
-"Save" => "Uložit",
-"Submit" => "Potvrdit",
-"Cancel" => "Storno",
-"Edit an event" => "Editovat událost",
-"Export" => "Export",
-"Eventinfo" => "Informace o události",
-"Repeating" => "Opakující se",
-"Alarm" => "Alarm",
-"Attendees" => "Účastníci",
-"Share" => "Sdílet",
-"Title of the Event" => "Název události",
-"Category" => "Kategorie",
-"Separate categories with commas" => "Kategorie oddělené čárkami",
-"Edit categories" => "Upravit kategorie",
-"All Day Event" => "Celodenní událost",
-"From" => "od",
-"To" => "do",
-"Advanced options" => "Pokročilé volby",
-"Location" => "Umístění",
-"Location of the Event" => "Místo konání události",
-"Description" => "Popis",
-"Description of the Event" => "Popis události",
-"Repeat" => "Opakování",
-"Advanced" => "Pokročilé",
-"Select weekdays" => "Vybrat dny v týdnu",
-"Select days" => "Vybrat dny",
-"and the events day of year." => "a denní události v roce",
-"and the events day of month." => "a denní události v měsíci",
-"Select months" => "Vybrat měsíce",
-"Select weeks" => "Vybrat týdny",
-"and the events week of year." => "a týden s událostmi v roce",
-"Interval" => "Interval",
-"End" => "Konec",
-"occurrences" => "výskyty",
-"create a new calendar" => "vytvořit nový kalendář",
-"Import a calendar file" => "Importovat soubor kalendáře",
-"Please choose a calendar" => "Vyberte prosím kalendář",
-"Name of new calendar" => "Název nového kalendáře",
-"Take an available name!" => "Použijte volné jméno!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Kalendář s trímto názvem již existuje. Pokud název použijete, stejnojmenné kalendáře budou sloučeny.",
-"Import" => "Import",
-"Close Dialog" => "Zavřít dialog",
-"Create a new event" => "Vytvořit novou událost",
-"View an event" => "Zobrazit událost",
-"No categories selected" => "Žádné kategorie nevybrány",
-"of" => "z",
-"at" => "v",
-"General" => "Hlavní",
-"Timezone" => "Časové pásmo",
-"Update timezone automatically" => "Obnovit auronaricky časovou zónu.",
-"Time format" => "Formát času",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "Týden začína v",
-"Cache" => "Paměť",
-"Clear cache for repeating events" => "Vymazat paměť pro opakuijísí se záznamy",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "Kalendář CalDAV synchronizuje adresy",
-"more info" => "podrobnosti",
-"Primary address (Kontact et al)" => "Primární adresa (veřejná)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Odkaz(y) kalendáře pouze pro čtení",
-"Users" => "Uživatelé",
-"select users" => "vybrat uživatele",
-"Editable" => "Upravovatelné",
-"Groups" => "Skupiny",
-"select groups" => "vybrat skupiny",
-"make public" => "zveřejnit"
-);
diff --git a/apps/calendar/l10n/da.php b/apps/calendar/l10n/da.php
deleted file mode 100644
index ea07fadb737..00000000000
--- a/apps/calendar/l10n/da.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Ikke alle kalendere er fuldstændig cached",
-"No calendars found." => "Der blev ikke fundet nogen kalendere.",
-"No events found." => "Der blev ikke fundet nogen begivenheder.",
-"Wrong calendar" => "Forkert kalender",
-"The file contained either no events or all events are already saved in your calendar." => "Filen indeholdt enten ingen begivenheder eller alle begivenheder er allerede gemt i din kalender.",
-"events has been saved in the new calendar" => "begivenheder er gemt i den nye kalender",
-"Import failed" => "import mislykkedes",
-"events has been saved in your calendar" => "begivenheder er gemt i din kalender",
-"New Timezone:" => "Ny tidszone:",
-"Timezone changed" => "Tidszone ændret",
-"Invalid request" => "Ugyldig forespørgsel",
-"Calendar" => "Kalender",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM åååå",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ åååå]{ '&#8212;'[ MMM] d åååå}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, åååå",
-"Birthday" => "Fødselsdag",
-"Business" => "Forretning",
-"Call" => "Ring",
-"Clients" => "Kunder",
-"Deliverer" => "Leverance",
-"Holidays" => "Helligdage",
-"Ideas" => "Ideér",
-"Journey" => "Rejse",
-"Jubilee" => "Jubilæum",
-"Meeting" => "Møde",
-"Other" => "Andet",
-"Personal" => "Privat",
-"Projects" => "Projekter",
-"Questions" => "Spørgsmål",
-"Work" => "Arbejde",
-"by" => "af",
-"unnamed" => "unavngivet",
-"New Calendar" => "Ny Kalender",
-"Does not repeat" => "Gentages ikke",
-"Daily" => "Daglig",
-"Weekly" => "Ugentlig",
-"Every Weekday" => "Alle hverdage",
-"Bi-Weekly" => "Hver anden uge",
-"Monthly" => "Månedlig",
-"Yearly" => "Årlig",
-"never" => "aldrig",
-"by occurrences" => "efter forekomster",
-"by date" => "efter dato",
-"by monthday" => "efter dag i måneden",
-"by weekday" => "efter ugedag",
-"Monday" => "Mandag",
-"Tuesday" => "Tirsdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lørdag",
-"Sunday" => "øndag",
-"events week of month" => "begivenhedens uge i måneden",
-"first" => "første",
-"second" => "anden",
-"third" => "tredje",
-"fourth" => "fjerde",
-"fifth" => "femte",
-"last" => "sidste",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Marts",
-"April" => "April",
-"May" => "Maj",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "December",
-"by events date" => "efter begivenheders dato",
-"by yearday(s)" => "efter dag(e) i året",
-"by weeknumber(s)" => "efter ugenummer/-numre",
-"by day and month" => "efter dag og måned",
-"Date" => "Dato",
-"Cal." => "Kal.",
-"Sun." => "Søn.",
-"Mon." => "Man.",
-"Tue." => "Tir.",
-"Wed." => "Ons.",
-"Thu." => "Tor.",
-"Fri." => "Fre.",
-"Sat." => "Lør.",
-"Jan." => "Jan.",
-"Feb." => "Feb.",
-"Mar." => "Mar.",
-"Apr." => "Apr.",
-"May." => "Maj",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Aug.",
-"Sep." => "Sep.",
-"Oct." => "Okt.",
-"Nov." => "Nov.",
-"Dec." => "Dec.",
-"All day" => "Hele dagen",
-"Missing fields" => "Manglende felter",
-"Title" => "Titel",
-"From Date" => "Fra dato",
-"From Time" => "Fra tidspunkt",
-"To Date" => "Til dato",
-"To Time" => "Til tidspunkt",
-"The event ends before it starts" => "Begivenheden slutter, inden den begynder",
-"There was a database fail" => "Der var en fejl i databasen",
-"Week" => "Uge",
-"Month" => "Måned",
-"List" => "Liste",
-"Today" => "I dag",
-"Settings" => "Indstillinger",
-"Your calendars" => "Dine kalendere",
-"CalDav Link" => "CalDav-link",
-"Shared calendars" => "Delte kalendere",
-"No shared calendars" => "Ingen delte kalendere",
-"Share Calendar" => "Del kalender",
-"Download" => "Hent",
-"Edit" => "Rediger",
-"Delete" => "Slet",
-"shared with you by" => "delt af dig",
-"New calendar" => "Ny kalender",
-"Edit calendar" => "Rediger kalender",
-"Displayname" => "Vist navn",
-"Active" => "Aktiv",
-"Calendar color" => "Kalenderfarve",
-"Save" => "Gem",
-"Submit" => "Send",
-"Cancel" => "Annuller",
-"Edit an event" => "Redigér en begivenhed",
-"Export" => "Eksporter",
-"Eventinfo" => "Begivenhedsinfo",
-"Repeating" => "Gentagende",
-"Alarm" => "Alarm",
-"Attendees" => "Deltagere",
-"Share" => "Del",
-"Title of the Event" => "Titel på begivenheden",
-"Category" => "Kategori",
-"Separate categories with commas" => "Opdel kategorier med kommaer",
-"Edit categories" => "Rediger kategorier",
-"All Day Event" => "Heldagsarrangement",
-"From" => "Fra",
-"To" => "Til",
-"Advanced options" => "Avancerede indstillinger",
-"Location" => "Sted",
-"Location of the Event" => "Placering af begivenheden",
-"Description" => "Beskrivelse",
-"Description of the Event" => "Beskrivelse af begivenheden",
-"Repeat" => "Gentag",
-"Advanced" => "Avanceret",
-"Select weekdays" => "Vælg ugedage",
-"Select days" => "Vælg dage",
-"and the events day of year." => "og begivenhedens dag i året.",
-"and the events day of month." => "og begivenhedens sag på måneden",
-"Select months" => "Vælg måneder",
-"Select weeks" => "Vælg uger",
-"and the events week of year." => "og begivenhedens uge i året.",
-"Interval" => "Interval",
-"End" => "Afslutning",
-"occurrences" => "forekomster",
-"create a new calendar" => "opret en ny kalender",
-"Import a calendar file" => "Importer en kalenderfil",
-"Please choose a calendar" => "Vælg en kalender",
-"Name of new calendar" => "Navn på ny kalender",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "En kalender med dette navn findes allerede. Hvis du fortsætter alligevel, vil disse kalendere blive sammenlagt.",
-"Import" => "Importer",
-"Close Dialog" => "Luk dialog",
-"Create a new event" => "Opret en ny begivenhed",
-"View an event" => "Vis en begivenhed",
-"No categories selected" => "Ingen categorier valgt",
-"of" => "fra",
-"at" => "kl.",
-"General" => "Generel",
-"Timezone" => "Tidszone",
-"Update timezone automatically" => "Opdater tidszone automatisk",
-"24h" => "24T",
-"12h" => "12T",
-"more info" => "flere oplysninger",
-"iOS/OS X" => "iOS/OS X",
-"Users" => "Brugere",
-"select users" => "Vælg brugere",
-"Editable" => "Redigerbar",
-"Groups" => "Grupper",
-"select groups" => "Vælg grupper",
-"make public" => "Offentliggør"
-);
diff --git a/apps/calendar/l10n/de.php b/apps/calendar/l10n/de.php
deleted file mode 100644
index 223e80effb0..00000000000
--- a/apps/calendar/l10n/de.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Noch sind nicht alle Kalender zwischengespeichert.",
-"Everything seems to be completely cached" => "Es sieht so aus, als wäre alles vollständig zwischengespeichert.",
-"No calendars found." => "Keine Kalender gefunden.",
-"No events found." => "Keine Termine gefunden.",
-"Wrong calendar" => "Falscher Kalender",
-"The file contained either no events or all events are already saved in your calendar." => "Entweder enthielt die Datei keine Termine oder alle Termine waren bereits im Kalender gespeichert.",
-"events has been saved in the new calendar" => "Der Termin wurde im neuen Kalender gespeichert.",
-"Import failed" => "Import fehlgeschlagen",
-"events has been saved in your calendar" => "Der Termin wurde im Kalender gespeichert.",
-"New Timezone:" => "Neue Zeitzone:",
-"Timezone changed" => "Zeitzone geändert",
-"Invalid request" => "Fehlerhafte Anfrage",
-"Calendar" => "Kalender",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d.M",
-"dddd M/d" => "dddd d.M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d. MMM yyyy",
-"Birthday" => "Geburtstag",
-"Business" => "Geschäftlich",
-"Call" => "Anruf",
-"Clients" => "Kunden",
-"Deliverer" => "Lieferant",
-"Holidays" => "Urlaub",
-"Ideas" => "Ideen",
-"Journey" => "Reise",
-"Jubilee" => "Jubiläum",
-"Meeting" => "Treffen",
-"Other" => "Anderes",
-"Personal" => "Persönlich",
-"Projects" => "Projekte",
-"Questions" => "Fragen",
-"Work" => "Arbeit",
-"by" => "von",
-"unnamed" => "unbenannt",
-"New Calendar" => "Neuer Kalender",
-"Does not repeat" => "einmalig",
-"Daily" => "täglich",
-"Weekly" => "wöchentlich",
-"Every Weekday" => "jeden Wochentag",
-"Bi-Weekly" => "jede zweite Woche",
-"Monthly" => "monatlich",
-"Yearly" => "jährlich",
-"never" => "niemals",
-"by occurrences" => "nach Terminen",
-"by date" => "nach Datum",
-"by monthday" => "an einem Monatstag",
-"by weekday" => "an einem Wochentag",
-"Monday" => "Montag",
-"Tuesday" => "Dienstag",
-"Wednesday" => "Mittwoch",
-"Thursday" => "Donnerstag",
-"Friday" => "Freitag",
-"Saturday" => "Samstag",
-"Sunday" => "Sonntag",
-"events week of month" => "Woche des Monats vom Termin",
-"first" => "erste",
-"second" => "zweite",
-"third" => "dritte",
-"fourth" => "vierte",
-"fifth" => "fünfte",
-"last" => "letzte",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "März",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Dezember",
-"by events date" => "nach Tag des Termins",
-"by yearday(s)" => "nach Tag des Jahres",
-"by weeknumber(s)" => "nach Wochennummer",
-"by day and month" => "nach Tag und Monat",
-"Date" => "Datum",
-"Cal." => "Kal.",
-"Sun." => "So",
-"Mon." => "Mo",
-"Tue." => "Di",
-"Wed." => "Mi",
-"Thu." => "Do",
-"Fri." => "Fr",
-"Sat." => "Sa",
-"Jan." => "Jan.",
-"Feb." => "Feb.",
-"Mar." => "Mär.",
-"Apr." => "Apr.",
-"May." => "Mai",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Aug.",
-"Sep." => "Sep.",
-"Oct." => "Okt.",
-"Nov." => "Nov.",
-"Dec." => "Dez.",
-"All day" => "Ganztags",
-"Missing fields" => "fehlende Felder",
-"Title" => "Titel",
-"From Date" => "Startdatum",
-"From Time" => "Startzeit",
-"To Date" => "Enddatum",
-"To Time" => "Endzeit",
-"The event ends before it starts" => "Der Termin hört auf, bevor er angefangen hat.",
-"There was a database fail" => "Datenbankfehler",
-"Week" => "Woche",
-"Month" => "Monat",
-"List" => "Liste",
-"Today" => "Heute",
-"Settings" => "Einstellungen",
-"Your calendars" => "Deine Kalender",
-"CalDav Link" => "CalDAV-Link",
-"Shared calendars" => "Geteilte Kalender",
-"No shared calendars" => "Keine geteilten Kalender",
-"Share Calendar" => "Kalender teilen",
-"Download" => "Herunterladen",
-"Edit" => "Bearbeiten",
-"Delete" => "Löschen",
-"shared with you by" => "Geteilt mit dir von",
-"New calendar" => "Neuer Kalender",
-"Edit calendar" => "Kalender bearbeiten",
-"Displayname" => "Anzeigename",
-"Active" => "Aktiv",
-"Calendar color" => "Kalenderfarbe",
-"Save" => "Speichern",
-"Submit" => "Bestätigen",
-"Cancel" => "Abbrechen",
-"Edit an event" => "Ereignis bearbeiten",
-"Export" => "Exportieren",
-"Eventinfo" => "Termininfo",
-"Repeating" => "Wiederholen",
-"Alarm" => "Alarm",
-"Attendees" => "Teilnehmer",
-"Share" => "Teilen",
-"Title of the Event" => "Name",
-"Category" => "Kategorie",
-"Separate categories with commas" => "Kategorien mit Kommas trennen",
-"Edit categories" => "Kategorien ändern",
-"All Day Event" => "Ganztägiges Ereignis",
-"From" => "von",
-"To" => "bis",
-"Advanced options" => "Erweiterte Optionen",
-"Location" => "Ort",
-"Location of the Event" => "Ort",
-"Description" => "Beschreibung",
-"Description of the Event" => "Beschreibung",
-"Repeat" => "wiederholen",
-"Advanced" => "Erweitert",
-"Select weekdays" => "Wochentage auswählen",
-"Select days" => "Tage auswählen",
-"and the events day of year." => "und den Tag des Jahres vom Termin",
-"and the events day of month." => "und den Tag des Monats vom Termin",
-"Select months" => "Monate auswählen",
-"Select weeks" => "Wochen auswählen",
-"and the events week of year." => "und den Tag des Jahres vom Termin",
-"Interval" => "Intervall",
-"End" => "Ende",
-"occurrences" => "Termine",
-"create a new calendar" => "Neuen Kalender anlegen",
-"Import a calendar file" => "Kalenderdatei importieren",
-"Please choose a calendar" => "Wählen Sie bitte einen Kalender.",
-"Name of new calendar" => "Kalendername",
-"Take an available name!" => "Wählen Sie einen verfügbaren Namen.",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Ein Kalender mit diesem Namen existiert bereits. Sollten Sie fortfahren, werden die beiden Kalender zusammengeführt.",
-"Import" => "Importieren",
-"Close Dialog" => "Dialog schließen",
-"Create a new event" => "Neues Ereignis",
-"View an event" => "Termin öffnen",
-"No categories selected" => "Keine Kategorie ausgewählt",
-"of" => "von",
-"at" => "um",
-"General" => "Allgemein",
-"Timezone" => "Zeitzone",
-"Update timezone automatically" => "Zeitzone automatisch aktualisieren",
-"Time format" => "Zeitformat",
-"24h" => "24 Stunden",
-"12h" => "12 Stunden",
-"Start week on" => "Erster Wochentag",
-"Cache" => "Zwischenspeicher",
-"Clear cache for repeating events" => "Lösche den Zwischenspeicher für wiederholende Veranstaltungen",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "CalDAV-Kalender gleicht Adressen ab",
-"more info" => "weitere Informationen",
-"Primary address (Kontact et al)" => "Primäre Adresse (Kontakt u.a.)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Nur lesende(r) iCalender-Link(s)",
-"Users" => "Benutzer",
-"select users" => "Benutzer auswählen",
-"Editable" => "editierbar",
-"Groups" => "Gruppen",
-"select groups" => "Gruppen auswählen",
-"make public" => "Veröffentlichen"
-);
diff --git a/apps/calendar/l10n/el.php b/apps/calendar/l10n/el.php
deleted file mode 100644
index ad07d7b5855..00000000000
--- a/apps/calendar/l10n/el.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Δεν έχει δημιουργηθεί λανθάνουσα μνήμη για όλα τα ημερολόγια",
-"Everything seems to be completely cached" => "Όλα έχουν αποθηκευτεί στη cache",
-"No calendars found." => "Δε βρέθηκαν ημερολόγια.",
-"No events found." => "Δε βρέθηκαν γεγονότα.",
-"Wrong calendar" => "Λάθος ημερολόγιο",
-"The file contained either no events or all events are already saved in your calendar." => "Το αρχείο που περιέχει είτε κανένα γεγονός είτε όλα τα γεγονότα έχουν ήδη αποθηκευτεί στο ημερολόγιό σας.",
-"events has been saved in the new calendar" => "τα συμβάντα αποθηκεύτηκαν σε ένα νέο ημερολόγιο",
-"Import failed" => "Η εισαγωγή απέτυχε",
-"events has been saved in your calendar" => "το συμβάν αποθηκεύτηκε στο ημερολογιό σου",
-"New Timezone:" => "Νέα ζώνη ώρας:",
-"Timezone changed" => "Η ζώνη ώρας άλλαξε",
-"Invalid request" => "Μη έγκυρο αίτημα",
-"Calendar" => "Ημερολόγιο",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Γενέθλια",
-"Business" => "Επιχείρηση",
-"Call" => "Κλήση",
-"Clients" => "Πελάτες",
-"Deliverer" => "Προμηθευτής",
-"Holidays" => "Διακοπές",
-"Ideas" => "Ιδέες",
-"Journey" => "Ταξίδι",
-"Jubilee" => "Γιορτή",
-"Meeting" => "Συνάντηση",
-"Other" => "Άλλο",
-"Personal" => "Προσωπικό",
-"Projects" => "Έργα",
-"Questions" => "Ερωτήσεις",
-"Work" => "Εργασία",
-"by" => "από",
-"unnamed" => "ανώνυμο",
-"New Calendar" => "Νέα Ημερολόγιο",
-"Does not repeat" => "Μη επαναλαμβανόμενο",
-"Daily" => "Καθημερινά",
-"Weekly" => "Εβδομαδιαία",
-"Every Weekday" => "Κάθε μέρα",
-"Bi-Weekly" => "Δύο φορές την εβδομάδα",
-"Monthly" => "Μηνιαία",
-"Yearly" => "Ετήσια",
-"never" => "ποτέ",
-"by occurrences" => "κατά συχνότητα πρόσβασης",
-"by date" => "κατά ημερομηνία",
-"by monthday" => "κατά ημέρα",
-"by weekday" => "κατά εβδομάδα",
-"Monday" => "Δευτέρα",
-"Tuesday" => "Τρίτη",
-"Wednesday" => "Τετάρτη",
-"Thursday" => "Πέμπτη",
-"Friday" => "Παρασκευή",
-"Saturday" => "Σάββατο",
-"Sunday" => "Κυριακή",
-"events week of month" => "συμβάντα της εβδομάδας του μήνα",
-"first" => "πρώτο",
-"second" => "δεύτερο",
-"third" => "τρίτο",
-"fourth" => "τέταρτο",
-"fifth" => "πέμπτο",
-"last" => "τελευταίο",
-"January" => "Ιανουάριος",
-"February" => "Φεβρουάριος",
-"March" => "Μάρτιος",
-"April" => "Απρίλιος",
-"May" => "Μάϊος",
-"June" => "Ιούνιος",
-"July" => "Ιούλιος",
-"August" => "Αύγουστος",
-"September" => "Σεπτέμβριος",
-"October" => "Οκτώβριος",
-"November" => "Νοέμβριος",
-"December" => "Δεκέμβριος",
-"by events date" => "κατά ημερομηνία συμβάντων",
-"by yearday(s)" => "κατά ημέρα(ες) του έτους",
-"by weeknumber(s)" => "κατά εβδομάδα(ες)",
-"by day and month" => "κατά ημέρα και μήνα",
-"Date" => "Ημερομηνία",
-"Cal." => "Ημερ.",
-"Sun." => "Κυρ.",
-"Mon." => "Δευ.",
-"Tue." => "Τρί.",
-"Wed." => "Τετ.",
-"Thu." => "Πέμ.",
-"Fri." => "Παρ.",
-"Sat." => "Σάβ.",
-"Jan." => "Ιαν.",
-"Feb." => "Φεβ.",
-"Mar." => "Μάρ.",
-"Apr." => "Απρ.",
-"May." => "Μαΐ.",
-"Jun." => "Ιούν.",
-"Jul." => "Ιούλ.",
-"Aug." => "Αύγ.",
-"Sep." => "Σεπ.",
-"Oct." => "Οκτ.",
-"Nov." => "Νοέ.",
-"Dec." => "Δεκ.",
-"All day" => "Ολοήμερο",
-"Missing fields" => "Πεδία που λείπουν",
-"Title" => "Τίτλος",
-"From Date" => "Από Ημερομηνία",
-"From Time" => "Από Ώρα",
-"To Date" => "Έως Ημερομηνία",
-"To Time" => "Έως Ώρα",
-"The event ends before it starts" => "Το συμβάν ολοκληρώνεται πριν από την έναρξή του",
-"There was a database fail" => "Υπήρξε σφάλμα στη βάση δεδομένων",
-"Week" => "Εβδομάδα",
-"Month" => "Μήνας",
-"List" => "Λίστα",
-"Today" => "Σήμερα",
-"Your calendars" => "Τα ημερολόγια σου",
-"CalDav Link" => "Σύνδεση CalDAV",
-"Shared calendars" => "Κοινόχρηστα ημερολόγια",
-"No shared calendars" => "Δεν υπάρχουν κοινόχρηστα ημερολόγια",
-"Share Calendar" => "Διαμοίρασε ένα ημερολόγιο",
-"Download" => "Λήψη",
-"Edit" => "Επεξεργασία",
-"Delete" => "Διαγραφή",
-"shared with you by" => "μοιράστηκε μαζί σας από ",
-"New calendar" => "Νέο ημερολόγιο",
-"Edit calendar" => "Επεξεργασία ημερολογίου",
-"Displayname" => "Προβολή ονόματος",
-"Active" => "Ενεργό",
-"Calendar color" => "Χρώμα ημερολογίου",
-"Save" => "Αποθήκευση",
-"Submit" => "Υποβολή",
-"Cancel" => "Ακύρωση",
-"Edit an event" => "Επεξεργασία ενός γεγονότος",
-"Export" => "Εξαγωγή",
-"Eventinfo" => "Πληροφορίες γεγονότος",
-"Repeating" => "Επαναλαμβανόμενο",
-"Alarm" => "Ειδοποίηση",
-"Attendees" => "Συμμετέχοντες",
-"Share" => "Διαμοίρασε",
-"Title of the Event" => "Τίτλος συμβάντος",
-"Category" => "Κατηγορία",
-"Separate categories with commas" => "Διαχώρισε τις κατηγορίες με κόμμα",
-"Edit categories" => "Επεξεργασία κατηγοριών",
-"All Day Event" => "Ολοήμερο συμβάν",
-"From" => "Από",
-"To" => "Έως",
-"Advanced options" => "Επιλογές για προχωρημένους",
-"Location" => "Τοποθεσία",
-"Location of the Event" => "Τοποθεσία συμβάντος",
-"Description" => "Περιγραφή",
-"Description of the Event" => "Περιγραφή του συμβάντος",
-"Repeat" => "Επαναλαμβανόμενο",
-"Advanced" => "Για προχωρημένους",
-"Select weekdays" => "Επιλογή ημερών εβδομάδας",
-"Select days" => "Επιλογή ημερών",
-"and the events day of year." => "και των ημερών του χρόνου που υπάρχουν συμβάντα.",
-"and the events day of month." => "και των ημερών του μήνα που υπάρχουν συμβάντα.",
-"Select months" => "Επιλογή μηνών",
-"Select weeks" => "Επιλογή εβδομάδων",
-"and the events week of year." => "και των εβδομάδων του χρόνου που υπάρουν συμβάντα.",
-"Interval" => "Διάστημα",
-"End" => "Τέλος",
-"occurrences" => "περιστατικά",
-"create a new calendar" => "δημιουργία νέου ημερολογίου",
-"Import a calendar file" => "Εισαγωγή αρχείου ημερολογίου",
-"Please choose a calendar" => "Παρακαλώ επέλεξε ένα ημερολόγιο",
-"Name of new calendar" => "Όνομα νέου ημερολογίου",
-"Take an available name!" => "Επέλεξε ένα διαθέσιμο όνομα!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Ένα ημερολόγιο με αυτό το όνομα υπάρχει ήδη. Εάν θέλετε να συνεχίσετε, αυτά τα 2 ημερολόγια θα συγχωνευθούν.",
-"Import" => "Εισαγωγή",
-"Close Dialog" => "Κλείσιμο Διαλόγου",
-"Create a new event" => "Δημιουργήστε ένα νέο συμβάν",
-"View an event" => "Εμφάνισε ένα γεγονός",
-"No categories selected" => "Δεν επελέγησαν κατηγορίες",
-"of" => "του",
-"at" => "στο",
-"Timezone" => "Ζώνη ώρας",
-"24h" => "24ω",
-"12h" => "12ω",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Εκκαθάριση λανθάνουσας μνήμης για επανάληψη γεγονότων",
-"Calendar CalDAV syncing addresses" => "Διευθύνσεις συγχρονισμού ημερολογίου CalDAV",
-"more info" => "περισσότερες πλροφορίες",
-"Primary address (Kontact et al)" => "Κύρια Διεύθυνση(Επαφή και άλλα)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => " iCalendar link(s) μόνο για ανάγνωση",
-"Users" => "Χρήστες",
-"select users" => "επέλεξε χρήστες",
-"Editable" => "Επεξεργάσιμο",
-"Groups" => "Ομάδες",
-"select groups" => "Επέλεξε ομάδες",
-"make public" => "κάνε το δημόσιο"
-);
diff --git a/apps/calendar/l10n/eo.php b/apps/calendar/l10n/eo.php
deleted file mode 100644
index be3db9bfaeb..00000000000
--- a/apps/calendar/l10n/eo.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Ne ĉiuj kalendaroj estas tute kaŝmemorigitaj",
-"Everything seems to be completely cached" => "Ĉio ŝajnas tute kaŝmemorigita",
-"No calendars found." => "Neniu kalendaro troviĝis.",
-"No events found." => "Neniu okazaĵo troviĝis.",
-"Wrong calendar" => "Malĝusta kalendaro",
-"The file contained either no events or all events are already saved in your calendar." => "Aŭ la dosiero enhavas neniun okazaĵon aŭ ĉiuj okazaĵoj jam estas konservitaj en via kalendaro.",
-"events has been saved in the new calendar" => "okazaĵoj estas konservitaj en la nova kalendaro",
-"Import failed" => "Enporto malsukcesis",
-"events has been saved in your calendar" => "okazaĵoj estas konservitaj en via kalendaro",
-"New Timezone:" => "Nova horozono:",
-"Timezone changed" => "La horozono estas ŝanĝita",
-"Invalid request" => "Nevalida peto",
-"Calendar" => "Kalendaro",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d/M",
-"dddd M/d" => "dddd d/M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM[ yyyy]{ '&#8212;'d[ MMM] yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d-a de MMM yyyy",
-"Birthday" => "Naskiĝotago",
-"Business" => "Negoco",
-"Call" => "Voko",
-"Clients" => "Klientoj",
-"Deliverer" => "Livero",
-"Holidays" => "Ferioj",
-"Ideas" => "Ideoj",
-"Journey" => "Vojaĝo",
-"Jubilee" => "Jubileo",
-"Meeting" => "Rendevuo",
-"Other" => "Alia",
-"Personal" => "Persona",
-"Projects" => "Projektoj",
-"Questions" => "Demandoj",
-"Work" => "Laboro",
-"by" => "de",
-"unnamed" => "nenomita",
-"New Calendar" => "Nova kalendaro",
-"Does not repeat" => "Ĉi tio ne ripetiĝas",
-"Daily" => "Tage",
-"Weekly" => "Semajne",
-"Every Weekday" => "Labortage",
-"Bi-Weekly" => "Semajnduope",
-"Monthly" => "Monate",
-"Yearly" => "Jare",
-"never" => "neniam",
-"by occurrences" => "laŭ aperoj",
-"by date" => "laŭ dato",
-"by monthday" => "laŭ monattago",
-"by weekday" => "laŭ semajntago",
-"Monday" => "lundo",
-"Tuesday" => "mardo",
-"Wednesday" => "merkredo",
-"Thursday" => "ĵaŭdo",
-"Friday" => "vendredo",
-"Saturday" => "sabato",
-"Sunday" => "dimanĉo",
-"events week of month" => "la monatsemajno de la okazaĵo",
-"first" => "unua",
-"second" => "dua",
-"third" => "tria",
-"fourth" => "kvara",
-"fifth" => "kvina",
-"last" => "lasta",
-"January" => "Januaro",
-"February" => "Februaro",
-"March" => "Marto",
-"April" => "Aprilo",
-"May" => "Majo",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Aŭgusto",
-"September" => "Septembro",
-"October" => "Oktobro",
-"November" => "Novembro",
-"December" => "Decembro",
-"by events date" => "laŭ okazaĵdato",
-"by yearday(s)" => "laŭ jartago(j)",
-"by weeknumber(s)" => "laŭ semajnnumero(j)",
-"by day and month" => "laŭ tago kaj monato",
-"Date" => "Dato",
-"Cal." => "Kal.",
-"Sun." => "dim.",
-"Mon." => "lun.",
-"Tue." => "mar.",
-"Wed." => "mer.",
-"Thu." => "ĵaŭ.",
-"Fri." => "ven.",
-"Sat." => "sab.",
-"Jan." => "Jan.",
-"Feb." => "Feb.",
-"Mar." => "Mar.",
-"Apr." => "Apr.",
-"May." => "Maj.",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Aŭg.",
-"Sep." => "Sep.",
-"Oct." => "Okt.",
-"Nov." => "Nov.",
-"Dec." => "Dec.",
-"All day" => "La tuta tago",
-"Missing fields" => "Mankas iuj kampoj",
-"Title" => "Titolo",
-"From Date" => "ekde la dato",
-"From Time" => "ekde la horo",
-"To Date" => "ĝis la dato",
-"To Time" => "ĝis la horo",
-"The event ends before it starts" => "La okazaĵo finas antaŭ komenci",
-"There was a database fail" => "Datumbaza malsukceso okazis",
-"Week" => "Semajno",
-"Month" => "Monato",
-"List" => "Listo",
-"Today" => "Hodiaŭ",
-"Settings" => "Agordo",
-"Your calendars" => "Viaj kalendaroj",
-"CalDav Link" => "CalDav-a ligilo",
-"Shared calendars" => "Kunhavigitaj kalendaroj",
-"No shared calendars" => "Neniu kunhavigita kalendaro",
-"Share Calendar" => "Kunhavigi kalendaron",
-"Download" => "Elŝuti",
-"Edit" => "Redakti",
-"Delete" => "Forigi",
-"shared with you by" => "kunhavigita kun vi fare de",
-"New calendar" => "Nova kalendaro",
-"Edit calendar" => "Redakti la kalendaron",
-"Displayname" => "Montrota nomo",
-"Active" => "Aktiva",
-"Calendar color" => "Kalendarokoloro",
-"Save" => "Konservi",
-"Submit" => "Sendi",
-"Cancel" => "Nuligi",
-"Edit an event" => "Redakti okazaĵon",
-"Export" => "Elporti",
-"Eventinfo" => "Informo de okazaĵo",
-"Repeating" => "Ripetata",
-"Alarm" => "Alarmo",
-"Attendees" => "Ĉeestontoj",
-"Share" => "Kunhavigi",
-"Title of the Event" => "Okazaĵotitolo",
-"Category" => "Kategorio",
-"Separate categories with commas" => "Disigi kategoriojn per komoj",
-"Edit categories" => "Redakti kategoriojn",
-"All Day Event" => "La tuta tago",
-"From" => "Ekde",
-"To" => "Ĝis",
-"Advanced options" => "Altnivela agordo",
-"Location" => "Loko",
-"Location of the Event" => "Loko de okazaĵo",
-"Description" => "Priskribo",
-"Description of the Event" => "Okazaĵopriskribo",
-"Repeat" => "Ripeti",
-"Advanced" => "Altnivelo",
-"Select weekdays" => "Elekti semajntagojn",
-"Select days" => "Elekti tagojn",
-"and the events day of year." => "kaj la jartago de la okazaĵo.",
-"and the events day of month." => "kaj la monattago de la okazaĵo.",
-"Select months" => "Elekti monatojn",
-"Select weeks" => "Elekti semajnojn",
-"and the events week of year." => "kaj la jarsemajno de la okazaĵo.",
-"Interval" => "Intervalo",
-"End" => "Fino",
-"occurrences" => "aperoj",
-"create a new calendar" => "Krei novan kalendaron",
-"Import a calendar file" => "Enporti kalendarodosieron",
-"Please choose a calendar" => "Bonvolu elekti kalendaron",
-"Name of new calendar" => "Nomo de la nova kalendaro",
-"Take an available name!" => "Prenu haveblan nomon!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Kalendaro kun ĉi tiu nomo jam ekzastas. Se vi malgraŭe daŭros, ĉi tiuj kalendaroj kunfandiĝos.",
-"Import" => "Enporti",
-"Close Dialog" => "Fermi la dialogon",
-"Create a new event" => "Krei okazaĵon",
-"View an event" => "Vidi okazaĵon",
-"No categories selected" => "Neniu kategorio elektita",
-"of" => "de",
-"at" => "ĉe",
-"General" => "Ĝenerala",
-"Timezone" => "Horozono",
-"Update timezone automatically" => "Aŭtomate ĝisdatigi la horozonon",
-"Time format" => "Horoformo",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "Komenci semajnon je",
-"Cache" => "Kaŝmemoro",
-"Clear cache for repeating events" => "Forviŝi kaŝmemoron por ripeto de okazaĵoj",
-"URLs" => "URL-oj",
-"Calendar CalDAV syncing addresses" => "sinkronigaj adresoj por CalDAV-kalendaroj",
-"more info" => "pli da informo",
-"Primary address (Kontact et al)" => "Ĉefa adreso (Kontact kaj aliaj)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Nurlegebla(j) iCalendar-ligilo(j)",
-"Users" => "Uzantoj",
-"select users" => "elekti uzantojn",
-"Editable" => "Redaktebla",
-"Groups" => "Grupoj",
-"select groups" => "elekti grupojn",
-"make public" => "publikigi"
-);
diff --git a/apps/calendar/l10n/es.php b/apps/calendar/l10n/es.php
deleted file mode 100644
index 3ebcd2e9430..00000000000
--- a/apps/calendar/l10n/es.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Aún no se han guardado en caché todos los calendarios",
-"Everything seems to be completely cached" => "Parece que se ha guardado todo en caché",
-"No calendars found." => "No se encontraron calendarios.",
-"No events found." => "No se encontraron eventos.",
-"Wrong calendar" => "Calendario incorrecto",
-"The file contained either no events or all events are already saved in your calendar." => "El archivo no contiene eventos o ya existen en tu calendario.",
-"events has been saved in the new calendar" => "Los eventos han sido guardados en el nuevo calendario",
-"Import failed" => "Fallo en la importación",
-"events has been saved in your calendar" => "eventos se han guardado en tu calendario",
-"New Timezone:" => "Nueva zona horaria:",
-"Timezone changed" => "Zona horaria cambiada",
-"Invalid request" => "Petición no válida",
-"Calendar" => "Calendario",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Cumpleaños",
-"Business" => "Negocios",
-"Call" => "Llamada",
-"Clients" => "Clientes",
-"Deliverer" => "Entrega",
-"Holidays" => "Festivos",
-"Ideas" => "Ideas",
-"Journey" => "Viaje",
-"Jubilee" => "Aniversario",
-"Meeting" => "Reunión",
-"Other" => "Otro",
-"Personal" => "Personal",
-"Projects" => "Proyectos",
-"Questions" => "Preguntas",
-"Work" => "Trabajo",
-"by" => "por",
-"unnamed" => "Sin nombre",
-"New Calendar" => "Nuevo calendario",
-"Does not repeat" => "No se repite",
-"Daily" => "Diariamente",
-"Weekly" => "Semanalmente",
-"Every Weekday" => "Días de semana laboral",
-"Bi-Weekly" => "Cada 2 semanas",
-"Monthly" => "Mensualmente",
-"Yearly" => "Anualmente",
-"never" => "nunca",
-"by occurrences" => "por ocurrencias",
-"by date" => "por fecha",
-"by monthday" => "por día del mes",
-"by weekday" => "por día de la semana",
-"Monday" => "Lunes",
-"Tuesday" => "Martes",
-"Wednesday" => "Miércoles",
-"Thursday" => "Jueves",
-"Friday" => "Viernes",
-"Saturday" => "Sábado",
-"Sunday" => "Domingo",
-"events week of month" => "eventos de la semana del mes",
-"first" => "primer",
-"second" => "segundo",
-"third" => "tercer",
-"fourth" => "cuarto",
-"fifth" => "quinto",
-"last" => "último",
-"January" => "Enero",
-"February" => "Febrero",
-"March" => "Marzo",
-"April" => "Abril",
-"May" => "Mayo",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Agosto",
-"September" => "Septiembre",
-"October" => "Octubre",
-"November" => "Noviembre",
-"December" => "Diciembre",
-"by events date" => "por fecha de los eventos",
-"by yearday(s)" => "por día(s) del año",
-"by weeknumber(s)" => "por número(s) de semana",
-"by day and month" => "por día y mes",
-"Date" => "Fecha",
-"Cal." => "Cal.",
-"Sun." => "Dom.",
-"Mon." => "Lun.",
-"Tue." => "Mar.",
-"Wed." => "Mier.",
-"Thu." => "Jue.",
-"Fri." => "Vie.",
-"Sat." => "Sab.",
-"Jan." => "Ene.",
-"Feb." => "Feb.",
-"Mar." => "Mar.",
-"Apr." => "Abr.",
-"May." => "May.",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Ago.",
-"Sep." => "Sep.",
-"Oct." => "Oct.",
-"Nov." => "Nov.",
-"Dec." => "Dic.",
-"All day" => "Todo el día",
-"Missing fields" => "Los campos que faltan",
-"Title" => "Título",
-"From Date" => "Desde la fecha",
-"From Time" => "Desde la hora",
-"To Date" => "Hasta la fecha",
-"To Time" => "Hasta la hora",
-"The event ends before it starts" => "El evento termina antes de que comience",
-"There was a database fail" => "Se ha producido un error en la base de datos",
-"Week" => "Semana",
-"Month" => "Mes",
-"List" => "Lista",
-"Today" => "Hoy",
-"Your calendars" => "Tus calendarios",
-"CalDav Link" => "Enlace a CalDav",
-"Shared calendars" => "Calendarios compartidos",
-"No shared calendars" => "Calendarios no compartidos",
-"Share Calendar" => "Compartir calendario",
-"Download" => "Descargar",
-"Edit" => "Editar",
-"Delete" => "Eliminar",
-"shared with you by" => "compartido contigo por",
-"New calendar" => "Nuevo calendario",
-"Edit calendar" => "Editar calendario",
-"Displayname" => "Nombre",
-"Active" => "Activo",
-"Calendar color" => "Color del calendario",
-"Save" => "Guardar",
-"Submit" => "Guardar",
-"Cancel" => "Cancelar",
-"Edit an event" => "Editar un evento",
-"Export" => "Exportar",
-"Eventinfo" => "Información del evento",
-"Repeating" => "Repetición",
-"Alarm" => "Alarma",
-"Attendees" => "Asistentes",
-"Share" => "Compartir",
-"Title of the Event" => "Título del evento",
-"Category" => "Categoría",
-"Separate categories with commas" => "Separar categorías con comas",
-"Edit categories" => "Editar categorías",
-"All Day Event" => "Todo el día",
-"From" => "Desde",
-"To" => "Hasta",
-"Advanced options" => "Opciones avanzadas",
-"Location" => "Lugar",
-"Location of the Event" => "Lugar del evento",
-"Description" => "Descripción",
-"Description of the Event" => "Descripción del evento",
-"Repeat" => "Repetir",
-"Advanced" => "Avanzado",
-"Select weekdays" => "Seleccionar días de la semana",
-"Select days" => "Seleccionar días",
-"and the events day of year." => "y el día del año de los eventos.",
-"and the events day of month." => "y el día del mes de los eventos.",
-"Select months" => "Seleccionar meses",
-"Select weeks" => "Seleccionar semanas",
-"and the events week of year." => "y la semana del año de los eventos.",
-"Interval" => "Intervalo",
-"End" => "Fin",
-"occurrences" => "ocurrencias",
-"create a new calendar" => "Crear un nuevo calendario",
-"Import a calendar file" => "Importar un archivo de calendario",
-"Please choose a calendar" => "Por favor, escoge un calendario",
-"Name of new calendar" => "Nombre del nuevo calendario",
-"Take an available name!" => "¡Elige un nombre disponible!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Ya existe un calendario con este nombre. Si continúas, se combinarán los calendarios.",
-"Import" => "Importar",
-"Close Dialog" => "Cerrar diálogo",
-"Create a new event" => "Crear un nuevo evento",
-"View an event" => "Ver un evento",
-"No categories selected" => "Ninguna categoría seleccionada",
-"of" => "de",
-"at" => "a las",
-"Timezone" => "Zona horaria",
-"24h" => "24h",
-"12h" => "12h",
-"Cache" => "Caché",
-"Clear cache for repeating events" => "Limpiar caché de eventos recurrentes",
-"Calendar CalDAV syncing addresses" => "Direcciones de sincronización de calendario CalDAV:",
-"more info" => "Más información",
-"Primary address (Kontact et al)" => "Dirección principal (Kontact y otros)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Enlace(s) iCalendar de sólo lectura",
-"Users" => "Usuarios",
-"select users" => "seleccionar usuarios",
-"Editable" => "Editable",
-"Groups" => "Grupos",
-"select groups" => "seleccionar grupos",
-"make public" => "hacerlo público"
-);
diff --git a/apps/calendar/l10n/et_EE.php b/apps/calendar/l10n/et_EE.php
deleted file mode 100644
index 59f494f8ab9..00000000000
--- a/apps/calendar/l10n/et_EE.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Kalendreid ei leitud.",
-"No events found." => "Üritusi ei leitud.",
-"Wrong calendar" => "Vale kalender",
-"New Timezone:" => "Uus ajavöönd:",
-"Timezone changed" => "Ajavöönd on muudetud",
-"Invalid request" => "Vigane päring",
-"Calendar" => "Kalender",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Sünnipäev",
-"Business" => "Äri",
-"Call" => "Helista",
-"Clients" => "Kliendid",
-"Deliverer" => "Kohaletoimetaja",
-"Holidays" => "Pühad",
-"Ideas" => "Ideed",
-"Journey" => "Reis",
-"Jubilee" => "Juubel",
-"Meeting" => "Kohtumine",
-"Other" => "Muu",
-"Personal" => "Isiklik",
-"Projects" => "Projektid",
-"Questions" => "Küsimused",
-"Work" => "Töö",
-"unnamed" => "nimetu",
-"New Calendar" => "Uus kalender",
-"Does not repeat" => "Ei kordu",
-"Daily" => "Iga päev",
-"Weekly" => "Iga nädal",
-"Every Weekday" => "Igal nädalapäeval",
-"Bi-Weekly" => "Üle nädala",
-"Monthly" => "Igal kuul",
-"Yearly" => "Igal aastal",
-"never" => "mitte kunagi",
-"by occurrences" => "toimumiskordade järgi",
-"by date" => "kuupäeva järgi",
-"by monthday" => "kuu päeva järgi",
-"by weekday" => "nädalapäeva järgi",
-"Monday" => "Esmaspäev",
-"Tuesday" => "Teisipäev",
-"Wednesday" => "Kolmapäev",
-"Thursday" => "Neljapäev",
-"Friday" => "Reede",
-"Saturday" => "Laupäev",
-"Sunday" => "Pühapäev",
-"events week of month" => "ürituse kuu nädal",
-"first" => "esimene",
-"second" => "teine",
-"third" => "kolmas",
-"fourth" => "neljas",
-"fifth" => "viies",
-"last" => "viimane",
-"January" => "Jaanuar",
-"February" => "Veebruar",
-"March" => "Märts",
-"April" => "Aprill",
-"May" => "Mai",
-"June" => "Juuni",
-"July" => "Juuli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktoober",
-"November" => "November",
-"December" => "Detsember",
-"by events date" => "ürituste kuupäeva järgi",
-"by yearday(s)" => "aasta päeva(de) järgi",
-"by weeknumber(s)" => "nädala numbri(te) järgi",
-"by day and month" => "kuu ja päeva järgi",
-"Date" => "Kuupäev",
-"Cal." => "Kal.",
-"All day" => "Kogu päev",
-"Missing fields" => "Puuduvad väljad",
-"Title" => "Pealkiri",
-"From Date" => "Alates kuupäevast",
-"From Time" => "Alates kellaajast",
-"To Date" => "Kuni kuupäevani",
-"To Time" => "Kuni kellaajani",
-"The event ends before it starts" => "Üritus lõpeb enne, kui see algab",
-"There was a database fail" => "Tekkis andmebaasi viga",
-"Week" => "Nädal",
-"Month" => "Kuu",
-"List" => "Nimekiri",
-"Today" => "Täna",
-"Your calendars" => "Sinu kalendrid",
-"CalDav Link" => "CalDav Link",
-"Shared calendars" => "Jagatud kalendrid",
-"No shared calendars" => "Jagatud kalendreid pole",
-"Share Calendar" => "Jaga kalendrit",
-"Download" => "Lae alla",
-"Edit" => "Muuda",
-"Delete" => "Kustuta",
-"shared with you by" => "jagas sinuga",
-"New calendar" => "Uus kalender",
-"Edit calendar" => "Muuda kalendrit",
-"Displayname" => "Näidatav nimi",
-"Active" => "Aktiivne",
-"Calendar color" => "Kalendri värv",
-"Save" => "Salvesta",
-"Submit" => "OK",
-"Cancel" => "Loobu",
-"Edit an event" => "Muuda sündmust",
-"Export" => "Ekspordi",
-"Eventinfo" => "Ürituse info",
-"Repeating" => "Kordamine",
-"Alarm" => "Alarm",
-"Attendees" => "Osalejad",
-"Share" => "Jaga",
-"Title of the Event" => "Sündmuse pealkiri",
-"Category" => "Kategooria",
-"Separate categories with commas" => "Eralda kategooriad komadega",
-"Edit categories" => "Muuda kategooriaid",
-"All Day Event" => "Kogu päeva sündmus",
-"From" => "Alates",
-"To" => "Kuni",
-"Advanced options" => "Lisavalikud",
-"Location" => "Asukoht",
-"Location of the Event" => "Sündmuse toimumiskoht",
-"Description" => "Kirjeldus",
-"Description of the Event" => "Sündmuse kirjeldus",
-"Repeat" => "Korda",
-"Advanced" => "Täpsem",
-"Select weekdays" => "Vali nädalapäevad",
-"Select days" => "Vali päevad",
-"and the events day of year." => "ja ürituse päev aastas.",
-"and the events day of month." => "ja ürituse päev kuus.",
-"Select months" => "Vali kuud",
-"Select weeks" => "Vali nädalad",
-"and the events week of year." => "ja ürituse nädal aastas.",
-"Interval" => "Intervall",
-"End" => "Lõpp",
-"occurrences" => "toimumiskordi",
-"create a new calendar" => "loo uus kalender",
-"Import a calendar file" => "Impordi kalendrifail",
-"Name of new calendar" => "Uue kalendri nimi",
-"Import" => "Impordi",
-"Close Dialog" => "Sulge dialoogiaken",
-"Create a new event" => "Loo sündmus",
-"View an event" => "Vaata üritust",
-"No categories selected" => "Ühtegi kategooriat pole valitud",
-"of" => "/",
-"at" => "kell",
-"Timezone" => "Ajavöönd",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Kasutajad",
-"select users" => "valitud kasutajad",
-"Editable" => "Muudetav",
-"Groups" => "Grupid",
-"select groups" => "valitud grupid",
-"make public" => "tee avalikuks"
-);
diff --git a/apps/calendar/l10n/eu.php b/apps/calendar/l10n/eu.php
deleted file mode 100644
index 5ebce09c58b..00000000000
--- a/apps/calendar/l10n/eu.php
+++ /dev/null
@@ -1,183 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Egutegi guztiak ez daude guztiz cacheatuta",
-"Everything seems to be completely cached" => "Dena guztiz cacheatuta dagoela dirudi",
-"No calendars found." => "Ez da egutegirik aurkitu.",
-"No events found." => "Ez da gertaerarik aurkitu.",
-"Wrong calendar" => "Egutegi okerra",
-"The file contained either no events or all events are already saved in your calendar." => "Fitxategiak ez zuen gertaerarik edo gertaera guztiak dagoeneko egutegian gordeta zeuden.",
-"events has been saved in the new calendar" => "gertaerak egutegi berrian gorde dira",
-"Import failed" => "Inportazioak huts egin du",
-"events has been saved in your calendar" => "gertaerak zure egutegian gorde dira",
-"New Timezone:" => "Ordu-zonalde berria",
-"Timezone changed" => "Ordu-zonaldea aldatuta",
-"Invalid request" => "Baliogabeko eskaera",
-"Calendar" => "Egutegia",
-"MMMM yyyy" => "yyyy MMMM",
-"Birthday" => "Jaioteguna",
-"Business" => "Negozioa",
-"Call" => "Deia",
-"Clients" => "Bezeroak",
-"Deliverer" => "Banatzailea",
-"Holidays" => "Oporrak",
-"Ideas" => "Ideiak",
-"Journey" => "Bidaia",
-"Jubilee" => "Urteurrena",
-"Meeting" => "Bilera",
-"Other" => "Bestelakoa",
-"Personal" => "Pertsonala",
-"Projects" => "Proiektuak",
-"Questions" => "Galderak",
-"Work" => "Lana",
-"unnamed" => "izengabea",
-"New Calendar" => "Egutegi berria",
-"Does not repeat" => "Ez da errepikatzen",
-"Daily" => "Egunero",
-"Weekly" => "Astero",
-"Every Weekday" => "Asteko egun guztietan",
-"Bi-Weekly" => "Bi-Astero",
-"Monthly" => "Hilabetero",
-"Yearly" => "Urtero",
-"never" => "inoiz",
-"by occurrences" => "errepikapen kopuruagatik",
-"by date" => "dataren arabera",
-"by monthday" => "hileko egunaren arabera",
-"by weekday" => "asteko egunaren arabera",
-"Monday" => "Astelehena",
-"Tuesday" => "Asteartea",
-"Wednesday" => "Asteazkena",
-"Thursday" => "Osteguna",
-"Friday" => "Ostirala",
-"Saturday" => "Larunbata",
-"Sunday" => "Igandea",
-"events week of month" => "gertaeraren hilabeteko astea",
-"first" => "lehenengoa",
-"second" => "bigarrean",
-"third" => "hirugarrena",
-"fourth" => "laugarrena",
-"fifth" => "bostgarrena",
-"last" => "azkena",
-"January" => "Urtarrila",
-"February" => "Otsaila",
-"March" => "Martxoa",
-"April" => "Apirila",
-"May" => "Maiatza",
-"June" => "Ekaina",
-"July" => "Uztaila",
-"August" => "Abuztua",
-"September" => "Iraila",
-"October" => "Urria",
-"November" => "Azaroa",
-"December" => "Abendua",
-"by events date" => "gertaeren dataren arabera",
-"by yearday(s)" => "urteko egunaren arabera",
-"by weeknumber(s)" => "aste zenbaki(ar)en arabera",
-"by day and month" => "eguna eta hilabetearen arabera",
-"Date" => "Data",
-"Cal." => "Eg.",
-"Sun." => "ig.",
-"Mon." => "al.",
-"Tue." => "ar.",
-"Wed." => "az.",
-"Thu." => "og.",
-"Fri." => "ol.",
-"Sat." => "lr.",
-"Jan." => "urt.",
-"Feb." => "ots.",
-"Mar." => "mar.",
-"Apr." => "api.",
-"May." => "mai.",
-"Jun." => "eka.",
-"Jul." => "uzt.",
-"Aug." => "abu.",
-"Sep." => "ira.",
-"Oct." => "urr.",
-"Nov." => "aza.",
-"Dec." => "abe.",
-"All day" => "Egun guztia",
-"Missing fields" => "Eremuak faltan",
-"Title" => "Izenburua",
-"From Date" => "Hasierako Data",
-"From Time" => "Hasierako Ordua",
-"To Date" => "Bukaerako Data",
-"To Time" => "Bukaerako Ordua",
-"The event ends before it starts" => "Gertaera hasi baino lehen bukatzen da",
-"There was a database fail" => "Datu-baseak huts egin du",
-"Week" => "Astea",
-"Month" => "Hilabetea",
-"List" => "Zerrenda",
-"Today" => "Gaur",
-"Your calendars" => "Zure egutegiak",
-"CalDav Link" => "CalDav lotura",
-"Shared calendars" => "Elkarbanatutako egutegiak",
-"No shared calendars" => "Ez dago elkarbanatutako egutegirik",
-"Share Calendar" => "Elkarbanatu egutegia",
-"Download" => "Deskargatu",
-"Edit" => "Editatu",
-"Delete" => "Ezabatu",
-"shared with you by" => "honek zurekin elkarbanatu du",
-"New calendar" => "Egutegi berria",
-"Edit calendar" => "Editatu egutegia",
-"Displayname" => "Bistaratzeko izena",
-"Active" => "Aktiboa",
-"Calendar color" => "Egutegiaren kolorea",
-"Save" => "Gorde",
-"Submit" => "Bidali",
-"Cancel" => "Ezeztatu",
-"Edit an event" => "Editatu gertaera",
-"Export" => "Exportatu",
-"Eventinfo" => "Gertaeraren informazioa",
-"Repeating" => "Errepikapena",
-"Alarm" => "Alarma",
-"Attendees" => "Partaideak",
-"Share" => "Elkarbanatu",
-"Title of the Event" => "Gertaeraren izenburua",
-"Category" => "Kategoria",
-"Separate categories with commas" => "Banatu kategoriak komekin",
-"Edit categories" => "Editatu kategoriak",
-"All Day Event" => "Egun osoko gertaera",
-"From" => "Hasiera",
-"To" => "Bukaera",
-"Advanced options" => "Aukera aurreratuak",
-"Location" => "Kokalekua",
-"Location of the Event" => "Gertaeraren kokalekua",
-"Description" => "Deskribapena",
-"Description of the Event" => "Gertaeraren deskribapena",
-"Repeat" => "Errepikatu",
-"Advanced" => "Aurreratua",
-"Select weekdays" => "Hautatu asteko egunak",
-"Select days" => "Hautatu egunak",
-"and the events day of year." => "eta gertaeraren urteko eguna.",
-"and the events day of month." => "eta gertaeraren hilabeteko eguna.",
-"Select months" => "Hautatu hilabeteak",
-"Select weeks" => "Hautatu asteak",
-"and the events week of year." => "eta gertaeraren urteko astea.",
-"Interval" => "Tartea",
-"End" => "Amaiera",
-"occurrences" => "errepikapenak",
-"create a new calendar" => "sortu egutegi berria",
-"Import a calendar file" => "Inportatu egutegi fitxategi bat",
-"Please choose a calendar" => "Mesedez aukeratu egutegi bat.",
-"Name of new calendar" => "Egutegi berriaren izena",
-"Take an available name!" => "Hartu eskuragarri dagoen izen bat!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Izen hau duen egutegi bat dagoeneko existitzen da. Hala ere jarraitzen baduzu, egutegi hauek elkartuko dira.",
-"Import" => "Importatu",
-"Close Dialog" => "Itxi lehioa",
-"Create a new event" => "Sortu gertaera berria",
-"View an event" => "Ikusi gertaera bat",
-"No categories selected" => "Ez da kategoriarik hautatu",
-"Timezone" => "Ordu-zonaldea",
-"24h" => "24h",
-"12h" => "12h",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Ezabatu gertaera errepikakorren cachea",
-"Calendar CalDAV syncing addresses" => "Egutegiaren CalDAV sinkronizazio helbideak",
-"more info" => "informazio gehiago",
-"Primary address (Kontact et al)" => "Helbide nagusia",
-"iOS/OS X" => "iOS/OS X",
-"Users" => "Erabiltzaileak",
-"select users" => "hautatutako erabiltzaileak",
-"Editable" => "Editagarria",
-"Groups" => "Taldeak",
-"select groups" => "hautatutako taldeak",
-"make public" => "publikoa egin"
-);
diff --git a/apps/calendar/l10n/fa.php b/apps/calendar/l10n/fa.php
deleted file mode 100644
index 9235460834b..00000000000
--- a/apps/calendar/l10n/fa.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "هیچ تقویمی پیدا نشد",
-"No events found." => "هیچ رویدادی پیدا نشد",
-"Wrong calendar" => "تقویم اشتباه",
-"New Timezone:" => "زمان محلی جدید",
-"Timezone changed" => "زمان محلی تغییر یافت",
-"Invalid request" => "درخواست نامعتبر",
-"Calendar" => "تقویم",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "DDD m[ yyyy]{ '&#8212;'[ DDD] m yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "روزتولد",
-"Business" => "تجارت",
-"Call" => "تماس گرفتن",
-"Clients" => "مشتریان",
-"Deliverer" => "نجات",
-"Holidays" => "روزهای تعطیل",
-"Ideas" => "ایده ها",
-"Journey" => "سفر",
-"Jubilee" => "سالگرد",
-"Meeting" => "ملاقات",
-"Other" => "دیگر",
-"Personal" => "شخصی",
-"Projects" => "پروژه ها",
-"Questions" => "سوالات",
-"Work" => "کار",
-"unnamed" => "نام گذاری نشده",
-"New Calendar" => "تقویم جدید",
-"Does not repeat" => "تکرار نکنید",
-"Daily" => "روزانه",
-"Weekly" => "هفتهگی",
-"Every Weekday" => "هرروز هفته",
-"Bi-Weekly" => "دوهفته",
-"Monthly" => "ماهانه",
-"Yearly" => "سالانه",
-"never" => "هرگز",
-"by occurrences" => "به وسیله ظهور",
-"by date" => "به وسیله تاریخ",
-"by monthday" => "به وسیله روزهای ماه",
-"by weekday" => "به وسیله روز های هفته",
-"Monday" => "دوشنبه",
-"Tuesday" => "سه شنبه",
-"Wednesday" => "چهارشنبه",
-"Thursday" => "پنجشنبه",
-"Friday" => "جمعه",
-"Saturday" => "شنبه",
-"Sunday" => "یکشنبه",
-"events week of month" => "رویداد های هفته هایی از ماه",
-"first" => "اولین",
-"second" => "دومین",
-"third" => "سومین",
-"fourth" => "چهارمین",
-"fifth" => "پنجمین",
-"last" => "آخرین",
-"January" => "ژانویه",
-"February" => "فبریه",
-"March" => "مارس",
-"April" => "آوریل",
-"May" => "می",
-"June" => "ژوءن",
-"July" => "جولای",
-"August" => "آگوست",
-"September" => "سپتامبر",
-"October" => "اکتبر",
-"November" => "نوامبر",
-"December" => "دسامبر",
-"by events date" => "به وسیله رویداد های روزانه",
-"by yearday(s)" => "به وسیله روز های سال(ها)",
-"by weeknumber(s)" => "به وسیله شماره هفته(ها)",
-"by day and month" => "به وسیله روز و ماه",
-"Date" => "تاریخ",
-"Cal." => "تقویم.",
-"All day" => "هرروز",
-"Missing fields" => "فیلد های گم شده",
-"Title" => "عنوان",
-"From Date" => "از تاریخ",
-"From Time" => "از ساعت",
-"To Date" => "به تاریخ",
-"To Time" => "به ساعت",
-"The event ends before it starts" => "رویداد قبل از شروع شدن تمام شده!",
-"There was a database fail" => "یک پایگاه داده فرو مانده است",
-"Week" => "هفته",
-"Month" => "ماه",
-"List" => "فهرست",
-"Today" => "امروز",
-"Your calendars" => "تقویم های شما",
-"CalDav Link" => "CalDav Link",
-"Shared calendars" => "تقویمهای به اشترک گذاری شده",
-"No shared calendars" => "هیچ تقویمی به اشتراک گذارده نشده",
-"Share Calendar" => "تقویم را به اشتراک بگذارید",
-"Download" => "بارگیری",
-"Edit" => "ویرایش",
-"Delete" => "پاک کردن",
-"shared with you by" => "به اشتراک گذارده شده به وسیله",
-"New calendar" => "تقویم جدید",
-"Edit calendar" => "ویرایش تقویم",
-"Displayname" => "نام برای نمایش",
-"Active" => "فعال",
-"Calendar color" => "رنگ تقویم",
-"Save" => "ذخیره سازی",
-"Submit" => "ارسال",
-"Cancel" => "انصراف",
-"Edit an event" => "ویرایش رویداد",
-"Export" => "خروجی گرفتن",
-"Eventinfo" => "اطلاعات رویداد",
-"Repeating" => "در حال تکرار کردن",
-"Alarm" => "هشدار",
-"Attendees" => "شرکت کنندگان",
-"Share" => "به اشتراک گذاردن",
-"Title of the Event" => "عنوان رویداد",
-"Category" => "نوع",
-"Separate categories with commas" => "گروه ها را به وسیله درنگ نما از هم جدا کنید",
-"Edit categories" => "ویرایش گروه",
-"All Day Event" => "رویداد های روزانه",
-"From" => "از",
-"To" => "به",
-"Advanced options" => "تنظیمات حرفه ای",
-"Location" => "منطقه",
-"Location of the Event" => "منطقه رویداد",
-"Description" => "توضیحات",
-"Description of the Event" => "توضیحات درباره رویداد",
-"Repeat" => "تکرار",
-"Advanced" => "پیشرفته",
-"Select weekdays" => "انتخاب روز های هفته ",
-"Select days" => "انتخاب روز ها",
-"and the events day of year." => "و رویداد های روز از سال",
-"and the events day of month." => "و رویداد های روز از ماه",
-"Select months" => "انتخاب ماه ها",
-"Select weeks" => "انتخاب هفته ها",
-"and the events week of year." => "و رویداد هفته ها از سال",
-"Interval" => "فاصله",
-"End" => "پایان",
-"occurrences" => "ظهور",
-"create a new calendar" => "یک تقویم جدید ایجاد کنید",
-"Import a calendar file" => "یک پرونده حاوی تقویم وارد کنید",
-"Name of new calendar" => "نام تقویم جدید",
-"Import" => "ورودی دادن",
-"Close Dialog" => "بستن دیالوگ",
-"Create a new event" => "یک رویداد ایجاد کنید",
-"View an event" => "دیدن یک رویداد",
-"No categories selected" => "هیچ گروهی انتخاب نشده",
-"of" => "از",
-"at" => "در",
-"Timezone" => "زمان محلی",
-"24h" => "24 ساعت",
-"12h" => "12 ساعت",
-"Users" => "کاربرها",
-"select users" => "انتخاب شناسه ها",
-"Editable" => "قابل ویرایش",
-"Groups" => "گروه ها",
-"select groups" => "انتخاب گروه ها",
-"make public" => "عمومی سازی"
-);
diff --git a/apps/calendar/l10n/fi_FI.php b/apps/calendar/l10n/fi_FI.php
deleted file mode 100644
index c4c9df3588a..00000000000
--- a/apps/calendar/l10n/fi_FI.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Kalentereita ei löytynyt",
-"No events found." => "Tapahtumia ei löytynyt.",
-"Wrong calendar" => "Väärä kalenteri",
-"The file contained either no events or all events are already saved in your calendar." => "Tiedosto ei joko sisältänyt tapahtumia tai vaihtoehtoisesti kaikki tapahtumat on jo tallennettu kalenteriisi.",
-"Import failed" => "Tuonti epäonnistui",
-"events has been saved in your calendar" => "tapahtumaa on tallennettu kalenteriisi",
-"New Timezone:" => "Uusi aikavyöhyke:",
-"Timezone changed" => "Aikavyöhyke vaihdettu",
-"Invalid request" => "Virheellinen pyyntö",
-"Calendar" => "Kalenteri",
-"Birthday" => "Syntymäpäivä",
-"Call" => "Ota yhteyttä",
-"Clients" => "Asiakkaat",
-"Deliverer" => "Toimittaja",
-"Holidays" => "Vapaapäivät",
-"Ideas" => "Ideat",
-"Journey" => "Matkustus",
-"Jubilee" => "Vuosipäivät",
-"Meeting" => "Tapaamiset",
-"Other" => "Muut",
-"Personal" => "Henkilökohtainen",
-"Projects" => "Projektit",
-"Questions" => "Kysymykset",
-"Work" => "Työ",
-"unnamed" => "nimetön",
-"New Calendar" => "Uusi kalenteri",
-"Does not repeat" => "Ei toistoa",
-"Daily" => "Päivittäin",
-"Weekly" => "Viikottain",
-"Every Weekday" => "Arkipäivisin",
-"Bi-Weekly" => "Joka toinen viikko",
-"Monthly" => "Kuukausittain",
-"Yearly" => "Vuosittain",
-"never" => "Ei koskaan",
-"Monday" => "Maanantai",
-"Tuesday" => "Tiistai",
-"Wednesday" => "Keskiviikko",
-"Thursday" => "Torstai",
-"Friday" => "Perjantai",
-"Saturday" => "Lauantai",
-"Sunday" => "Sunnuntai",
-"first" => "ensimmäinen",
-"second" => "toinen",
-"third" => "kolmas",
-"fourth" => "neljäs",
-"fifth" => "viides",
-"last" => "viimeinen",
-"January" => "Tammikuu",
-"February" => "Helmikuu",
-"March" => "Maaliskuu",
-"April" => "Huhtikuu",
-"May" => "Toukokuu",
-"June" => "Kesäkuu",
-"July" => "Heinäkuu",
-"August" => "Elokuu",
-"September" => "Syyskuu",
-"October" => "Lokakuu",
-"November" => "Marraskuu",
-"December" => "Joulukuu",
-"Date" => "Päivämäärä",
-"Sun." => "Su",
-"Mon." => "Ma",
-"Tue." => "Ti",
-"Wed." => "Ke",
-"Thu." => "To",
-"Fri." => "Pe",
-"Sat." => "La",
-"Jan." => "Tammi",
-"Feb." => "Helmi",
-"Mar." => "Maalis",
-"Apr." => "Huhti",
-"May." => "Touko",
-"Jun." => "Kesä",
-"Jul." => "Heinä",
-"Aug." => "Elo",
-"Sep." => "Syys",
-"Oct." => "Loka",
-"Nov." => "Marras",
-"Dec." => "Joulu",
-"All day" => "Koko päivä",
-"Missing fields" => "Puuttuvat kentät",
-"Title" => "Otsikko",
-"The event ends before it starts" => "Tapahtuma päättyy ennen alkamistaan",
-"There was a database fail" => "Tapahtui tietokantavirhe",
-"Week" => "Viikko",
-"Month" => "Kuukausi",
-"List" => "Lista",
-"Today" => "Tänään",
-"Settings" => "Asetukset",
-"Your calendars" => "Omat kalenterisi",
-"CalDav Link" => "CalDav-linkki",
-"Shared calendars" => "Jaetut kalenterit",
-"No shared calendars" => "Ei jaettuja kalentereita",
-"Share Calendar" => "Jaa kalenteri",
-"Download" => "Lataa",
-"Edit" => "Muokkaa",
-"Delete" => "Poista",
-"shared with you by" => "kanssasi jaettu",
-"New calendar" => "Uusi kalenteri",
-"Edit calendar" => "Muokkaa kalenteria",
-"Displayname" => "Kalenterin nimi",
-"Active" => "Aktiivinen",
-"Calendar color" => "Kalenterin väri",
-"Save" => "Tallenna",
-"Submit" => "Talleta",
-"Cancel" => "Peru",
-"Edit an event" => "Muokkaa tapahtumaa",
-"Export" => "Vie",
-"Eventinfo" => "Tapahtumatiedot",
-"Repeating" => "Toisto",
-"Alarm" => "Hälytys",
-"Attendees" => "Osallistujat",
-"Share" => "Jaa",
-"Title of the Event" => "Tapahtuman otsikko",
-"Category" => "Luokka",
-"Separate categories with commas" => "Erota luokat pilkuilla",
-"Edit categories" => "Muokkaa luokkia",
-"All Day Event" => "Koko päivän tapahtuma",
-"From" => "Alkaa",
-"To" => "Päättyy",
-"Advanced options" => "Tarkemmat asetukset",
-"Location" => "Sijainti",
-"Location of the Event" => "Tapahtuman sijainti",
-"Description" => "Kuvaus",
-"Description of the Event" => "Tapahtuman kuvaus",
-"Repeat" => "Toisto",
-"Select weekdays" => "Valitse viikonpäivät",
-"Select days" => "Valitse päivät",
-"Select months" => "Valitse kuukaudet",
-"Select weeks" => "Valitse viikot",
-"Interval" => "Intervalli",
-"create a new calendar" => "luo uusi kalenteri",
-"Import a calendar file" => "Tuo kalenteritiedosto",
-"Please choose a calendar" => "Valitse kalenteri",
-"Name of new calendar" => "Uuden kalenterin nimi",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Samalla nimellä on jo olemassa kalenteri. Jos jatkat kaikesta huolimatta, kalenterit yhdistetään.",
-"Import" => "Tuo",
-"Close Dialog" => "Sulje ikkuna",
-"Create a new event" => "Luo uusi tapahtuma",
-"View an event" => "Avaa tapahtuma",
-"No categories selected" => "Luokkia ei ole valittu",
-"General" => "Yleiset",
-"Timezone" => "Aikavyöhyke",
-"Update timezone automatically" => "Päivitä aikavyöhykkeet automaattisesti",
-"Time format" => "Ajan näyttömuoto",
-"24h" => "24 tuntia",
-"12h" => "12 tuntia",
-"Start week on" => "Viikon alkamispäivä",
-"Calendar CalDAV syncing addresses" => "Kalenterin CalDAV-synkronointiosoitteet",
-"Primary address (Kontact et al)" => "Ensisijainen osoite (Kontact ja muut vastaavat)",
-"iOS/OS X" => "iOS/OS X",
-"Users" => "Käyttäjät",
-"select users" => "valitse käyttäjät",
-"Editable" => "Muoktattava",
-"Groups" => "Ryhmät",
-"select groups" => "valitse ryhmät",
-"make public" => "aseta julkiseksi"
-);
diff --git a/apps/calendar/l10n/fr.php b/apps/calendar/l10n/fr.php
deleted file mode 100644
index 90ba903b876..00000000000
--- a/apps/calendar/l10n/fr.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Tous les calendriers ne sont pas mis en cache",
-"Everything seems to be completely cached" => "Tout semble être en cache",
-"No calendars found." => "Aucun calendrier n'a été trouvé.",
-"No events found." => "Aucun événement n'a été trouvé.",
-"Wrong calendar" => "Mauvais calendrier",
-"The file contained either no events or all events are already saved in your calendar." => "Soit le fichier ne contient aucun événement soit tous les événements sont déjà enregistrés dans votre calendrier.",
-"events has been saved in the new calendar" => "Les événements ont été enregistrés dans le nouveau calendrier",
-"Import failed" => "Échec de l'import",
-"events has been saved in your calendar" => "Les événements ont été enregistrés dans votre calendrier",
-"New Timezone:" => "Nouveau fuseau horaire :",
-"Timezone changed" => "Fuseau horaire modifié",
-"Invalid request" => "Requête invalide",
-"Calendar" => "Calendrier",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d/M",
-"dddd M/d" => "dddd d/M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d MMM, yyyy",
-"Birthday" => "Anniversaire",
-"Business" => "Professionnel",
-"Call" => "Appel",
-"Clients" => "Clientèle",
-"Deliverer" => "Livraison",
-"Holidays" => "Vacances",
-"Ideas" => "Idées",
-"Journey" => "Déplacement",
-"Jubilee" => "Jubilé",
-"Meeting" => "Meeting",
-"Other" => "Autre",
-"Personal" => "Personnel",
-"Projects" => "Projets",
-"Questions" => "Questions",
-"Work" => "Travail",
-"by" => "par",
-"unnamed" => "sans-nom",
-"New Calendar" => "Nouveau Calendrier",
-"Does not repeat" => "Pas de répétition",
-"Daily" => "Tous les jours",
-"Weekly" => "Hebdomadaire",
-"Every Weekday" => "Quotidien",
-"Bi-Weekly" => "Bi-hebdomadaire",
-"Monthly" => "Mensuel",
-"Yearly" => "Annuel",
-"never" => "jamais",
-"by occurrences" => "par occurrences",
-"by date" => "par date",
-"by monthday" => "par jour du mois",
-"by weekday" => "par jour de la semaine",
-"Monday" => "Lundi",
-"Tuesday" => "Mardi",
-"Wednesday" => "Mercredi",
-"Thursday" => "Jeudi",
-"Friday" => "Vendredi",
-"Saturday" => "Samedi",
-"Sunday" => "Dimanche",
-"events week of month" => "événements du mois par semaine",
-"first" => "premier",
-"second" => "deuxième",
-"third" => "troisième",
-"fourth" => "quatrième",
-"fifth" => "cinquième",
-"last" => "dernier",
-"January" => "Janvier",
-"February" => "Février",
-"March" => "Mars",
-"April" => "Avril",
-"May" => "Mai",
-"June" => "Juin",
-"July" => "Juillet",
-"August" => "Août",
-"September" => "Septembre",
-"October" => "Octobre",
-"November" => "Novembre",
-"December" => "Décembre",
-"by events date" => "par date d’événements",
-"by yearday(s)" => "par jour(s) de l'année",
-"by weeknumber(s)" => "par numéro de semaine(s)",
-"by day and month" => "par jour et mois",
-"Date" => "Date",
-"Cal." => "Cal.",
-"Sun." => "Dim.",
-"Mon." => "Lun.",
-"Tue." => "Mar.",
-"Wed." => "Mer.",
-"Thu." => "Jeu",
-"Fri." => "Ven.",
-"Sat." => "Sam.",
-"Jan." => "Jan.",
-"Feb." => "Fév.",
-"Mar." => "Mars",
-"Apr." => "Avr.",
-"May." => "Mai",
-"Jun." => "Juin",
-"Jul." => "Juil.",
-"Aug." => "Août",
-"Sep." => "Sep.",
-"Oct." => "Oct.",
-"Nov." => "Nov.",
-"Dec." => "Déc.",
-"All day" => "Journée entière",
-"Missing fields" => "Champs manquants",
-"Title" => "Titre",
-"From Date" => "De la date",
-"From Time" => "De l'heure",
-"To Date" => "A la date",
-"To Time" => "A l'heure",
-"The event ends before it starts" => "L'évènement s'est terminé avant qu'il ne commence",
-"There was a database fail" => "Il y a eu un échec dans la base de donnée",
-"Week" => "Semaine",
-"Month" => "Mois",
-"List" => "Liste",
-"Today" => "Aujourd'hui",
-"Your calendars" => "Vos calendriers",
-"CalDav Link" => "Lien CalDav",
-"Shared calendars" => "Calendriers partagés",
-"No shared calendars" => "Aucun calendrier partagé",
-"Share Calendar" => "Partager le calendrier",
-"Download" => "Télécharger",
-"Edit" => "Éditer",
-"Delete" => "Supprimer",
-"shared with you by" => "partagé avec vous par",
-"New calendar" => "Nouveau calendrier",
-"Edit calendar" => "Éditer le calendrier",
-"Displayname" => "Nom d'affichage",
-"Active" => "Actif",
-"Calendar color" => "Couleur du calendrier",
-"Save" => "Sauvegarder",
-"Submit" => "Soumettre",
-"Cancel" => "Annuler",
-"Edit an event" => "Éditer un événement",
-"Export" => "Exporter",
-"Eventinfo" => "Événement",
-"Repeating" => "Occurences",
-"Alarm" => "Alarmes",
-"Attendees" => "Participants",
-"Share" => "Partage",
-"Title of the Event" => "Titre de l'événement",
-"Category" => "Catégorie",
-"Separate categories with commas" => "Séparer les catégories par des virgules",
-"Edit categories" => "Modifier les catégories",
-"All Day Event" => "Journée entière",
-"From" => "De",
-"To" => "À",
-"Advanced options" => "Options avancées",
-"Location" => "Emplacement",
-"Location of the Event" => "Emplacement de l'événement",
-"Description" => "Description",
-"Description of the Event" => "Description de l'événement",
-"Repeat" => "Répétition",
-"Advanced" => "Avancé",
-"Select weekdays" => "Sélection des jours de la semaine",
-"Select days" => "Sélection des jours",
-"and the events day of year." => "et les événements de l'année par jour.",
-"and the events day of month." => "et les événements du mois par jour.",
-"Select months" => "Sélection des mois",
-"Select weeks" => "Sélection des semaines",
-"and the events week of year." => "et les événements de l'année par semaine.",
-"Interval" => "Intervalle",
-"End" => "Fin",
-"occurrences" => "occurrences",
-"create a new calendar" => "Créer un nouveau calendrier",
-"Import a calendar file" => "Importer un fichier de calendriers",
-"Please choose a calendar" => "Veuillez sélectionner un calendrier",
-"Name of new calendar" => "Nom pour le nouveau calendrier",
-"Take an available name!" => "Choisissez un nom disponible !",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Un calendrier de ce nom existe déjà. Si vous choisissez de continuer les calendriers seront fusionnés.",
-"Import" => "Importer",
-"Close Dialog" => "Fermer la fenêtre",
-"Create a new event" => "Créer un nouvel événement",
-"View an event" => "Voir un événement",
-"No categories selected" => "Aucune catégorie sélectionnée",
-"of" => "de",
-"at" => "à",
-"Timezone" => "Fuseau horaire",
-"24h" => "24h",
-"12h" => "12h",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Nettoyer le cache des événements répétitifs",
-"Calendar CalDAV syncing addresses" => "Adresses de synchronisation des calendriers CalDAV",
-"more info" => "plus d'infos",
-"Primary address (Kontact et al)" => "Adresses principales (Kontact et assimilés)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "lien(s) iCalendar en lecture seule",
-"Users" => "Utilisateurs",
-"select users" => "sélectionner les utilisateurs",
-"Editable" => "Modifiable",
-"Groups" => "Groupes",
-"select groups" => "sélectionner les groupes",
-"make public" => "rendre public"
-);
diff --git a/apps/calendar/l10n/gl.php b/apps/calendar/l10n/gl.php
deleted file mode 100644
index ff7e4833ad1..00000000000
--- a/apps/calendar/l10n/gl.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Non se atoparon calendarios.",
-"No events found." => "Non se atoparon eventos.",
-"Wrong calendar" => "Calendario equivocado",
-"New Timezone:" => "Novo fuso horario:",
-"Timezone changed" => "Fuso horario trocado",
-"Invalid request" => "Petición non válida",
-"Calendar" => "Calendario",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM[ yyyy]{ '&#8212;'d [ MMM] yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d,yyyy",
-"Birthday" => "Aniversario",
-"Business" => "Traballo",
-"Call" => "Chamada",
-"Clients" => "Clientes",
-"Deliverer" => "Remitente",
-"Holidays" => "Vacacións",
-"Ideas" => "Ideas",
-"Journey" => "Viaxe",
-"Jubilee" => "Aniversario especial",
-"Meeting" => "Reunión",
-"Other" => "Outro",
-"Personal" => "Persoal",
-"Projects" => "Proxectos",
-"Questions" => "Preguntas",
-"Work" => "Traballo",
-"unnamed" => "sen nome",
-"New Calendar" => "Novo calendario",
-"Does not repeat" => "Non se repite",
-"Daily" => "A diario",
-"Weekly" => "Semanalmente",
-"Every Weekday" => "Todas as semanas",
-"Bi-Weekly" => "Cada dúas semanas",
-"Monthly" => "Mensual",
-"Yearly" => "Anual",
-"never" => "nunca",
-"by occurrences" => "por acontecementos",
-"by date" => "por data",
-"by monthday" => "por día do mes",
-"by weekday" => "por día da semana",
-"Monday" => "Luns",
-"Tuesday" => "Martes",
-"Wednesday" => "Mércores",
-"Thursday" => "Xoves",
-"Friday" => "Venres",
-"Saturday" => "Sábado",
-"Sunday" => "Domingo",
-"events week of month" => "semana dos eventos no mes",
-"first" => "primeiro",
-"second" => "segundo",
-"third" => "terceiro",
-"fourth" => "cuarto",
-"fifth" => "quinto",
-"last" => "último",
-"January" => "Xaneiro",
-"February" => "Febreiro",
-"March" => "Marzo",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Xuño",
-"July" => "Xullo",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Decembro",
-"by events date" => "por data dos eventos",
-"by yearday(s)" => "por dia(s) do ano",
-"by weeknumber(s)" => "por número(s) de semana",
-"by day and month" => "por día e mes",
-"Date" => "Data",
-"Cal." => "Cal.",
-"All day" => "Todo o dia",
-"Missing fields" => "Faltan campos",
-"Title" => "Título",
-"From Date" => "Desde a data",
-"From Time" => "Desde a hora",
-"To Date" => "á data",
-"To Time" => "á hora",
-"The event ends before it starts" => "O evento remata antes de iniciarse",
-"There was a database fail" => "Produciuse un erro na base de datos",
-"Week" => "Semana",
-"Month" => "Mes",
-"List" => "Lista",
-"Today" => "Hoxe",
-"Your calendars" => "Os seus calendarios",
-"CalDav Link" => "Ligazón CalDav",
-"Shared calendars" => "Calendarios compartidos",
-"No shared calendars" => "Sen calendarios compartidos",
-"Share Calendar" => "Compartir calendario",
-"Download" => "Descargar",
-"Edit" => "Editar",
-"Delete" => "Borrar",
-"shared with you by" => "compartido con vostede por",
-"New calendar" => "Novo calendario",
-"Edit calendar" => "Editar calendario",
-"Displayname" => "Mostrar nome",
-"Active" => "Activo",
-"Calendar color" => "Cor do calendario",
-"Save" => "Gardar",
-"Submit" => "Enviar",
-"Cancel" => "Cancelar",
-"Edit an event" => "Editar un evento",
-"Export" => "Exportar",
-"Eventinfo" => "Info do evento",
-"Repeating" => "Repetido",
-"Alarm" => "Alarma",
-"Attendees" => "Participantes",
-"Share" => "Compartir",
-"Title of the Event" => "Título do evento",
-"Category" => "Categoría",
-"Separate categories with commas" => "Separe as categorías con comas",
-"Edit categories" => "Editar categorías",
-"All Day Event" => "Eventos do día",
-"From" => "Desde",
-"To" => "a",
-"Advanced options" => "Opcións avanzadas",
-"Location" => "Localización",
-"Location of the Event" => "Localización do evento",
-"Description" => "Descrición",
-"Description of the Event" => "Descrición do evento",
-"Repeat" => "Repetir",
-"Advanced" => "Avanzado",
-"Select weekdays" => "Seleccionar días da semana",
-"Select days" => "Seleccionar días",
-"and the events day of year." => "e día dos eventos no ano.",
-"and the events day of month." => "e día dos eventos no mes.",
-"Select months" => "Seleccione meses",
-"Select weeks" => "Seleccionar semanas",
-"and the events week of year." => "e semana dos eventos no ano.",
-"Interval" => "Intervalo",
-"End" => "Fin",
-"occurrences" => "acontecementos",
-"create a new calendar" => "crear un novo calendario",
-"Import a calendar file" => "Importar un ficheiro de calendario",
-"Name of new calendar" => "Nome do novo calendario",
-"Import" => "Importar",
-"Close Dialog" => "Pechar diálogo",
-"Create a new event" => "Crear un novo evento",
-"View an event" => "Ver un evento",
-"No categories selected" => "Non seleccionou as categorías",
-"of" => "de",
-"at" => "a",
-"Timezone" => "Fuso horario",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Usuarios",
-"select users" => "escoller usuarios",
-"Editable" => "Editable",
-"Groups" => "Grupos",
-"select groups" => "escoller grupos",
-"make public" => "facer público"
-);
diff --git a/apps/calendar/l10n/he.php b/apps/calendar/l10n/he.php
deleted file mode 100644
index d5c0b2b2e53..00000000000
--- a/apps/calendar/l10n/he.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "לא נמצאו לוחות שנה.",
-"No events found." => "לא נמצאו אירועים.",
-"Wrong calendar" => "לוח שנה לא נכון",
-"New Timezone:" => "אזור זמן חדש:",
-"Timezone changed" => "אזור זמן השתנה",
-"Invalid request" => "בקשה לא חוקית",
-"Calendar" => "ח שנה",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM [ yyyy]{ '&#8212;'d[ MMM] yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "יום הולדת",
-"Business" => "עסקים",
-"Call" => "שיחה",
-"Clients" => "לקוחות",
-"Deliverer" => "משלוח",
-"Holidays" => "חגים",
-"Ideas" => "רעיונות",
-"Journey" => "מסע",
-"Jubilee" => "יובל",
-"Meeting" => "פגישה",
-"Other" => "אחר",
-"Personal" => "אישי",
-"Projects" => "פרוייקטים",
-"Questions" => "שאלות",
-"Work" => "עבודה",
-"unnamed" => "ללא שם",
-"New Calendar" => "לוח שנה חדש",
-"Does not repeat" => "ללא חזרה",
-"Daily" => "יומי",
-"Weekly" => "שבועי",
-"Every Weekday" => "כל יום עבודה",
-"Bi-Weekly" => "דו שבועי",
-"Monthly" => "חודשי",
-"Yearly" => "שנתי",
-"never" => "לעולם לא",
-"by occurrences" => "לפי מופעים",
-"by date" => "לפי תאריך",
-"by monthday" => "לפי היום בחודש",
-"by weekday" => "לפי היום בשבוע",
-"Monday" => "יום שני",
-"Tuesday" => "יום שלישי",
-"Wednesday" => "יום רביעי",
-"Thursday" => "יום חמישי",
-"Friday" => "יום שישי",
-"Saturday" => "שבת",
-"Sunday" => "יום ראשון",
-"events week of month" => "שבוע בחודש לציון הפעילות",
-"first" => "ראשון",
-"second" => "שני",
-"third" => "שלישי",
-"fourth" => "רביעי",
-"fifth" => "חמישי",
-"last" => "אחרון",
-"January" => "ינואר",
-"February" => "פברואר",
-"March" => "מרץ",
-"April" => "אפריל",
-"May" => "מאי",
-"June" => "יוני",
-"July" => "יולי",
-"August" => "אוגוסט",
-"September" => "ספטמבר",
-"October" => "אוקטובר",
-"November" => "נובמבר",
-"December" => "דצמבר",
-"by events date" => "לפי תאריכי האירועים",
-"by yearday(s)" => "לפי ימים בשנה",
-"by weeknumber(s)" => "לפי מספרי השבועות",
-"by day and month" => "לפי יום וחודש",
-"Date" => "תאריך",
-"Cal." => "לוח שנה",
-"All day" => "היום",
-"Missing fields" => "שדות חסרים",
-"Title" => "כותרת",
-"From Date" => "מתאריך",
-"From Time" => "משעה",
-"To Date" => "עד תאריך",
-"To Time" => "עד שעה",
-"The event ends before it starts" => "האירוע מסתיים עוד לפני שהתחיל",
-"There was a database fail" => "אירע כשל במסד הנתונים",
-"Week" => "שבוע",
-"Month" => "חודש",
-"List" => "רשימה",
-"Today" => "היום",
-"Your calendars" => "לוחות השנה שלך",
-"CalDav Link" => "קישור CalDav",
-"Shared calendars" => "לוחות שנה מושתפים",
-"No shared calendars" => "אין לוחות שנה משותפים",
-"Share Calendar" => "שיתוף לוח שנה",
-"Download" => "הורדה",
-"Edit" => "עריכה",
-"Delete" => "מחיקה",
-"shared with you by" => "שותף אתך על ידי",
-"New calendar" => "לוח שנה חדש",
-"Edit calendar" => "עריכת לוח שנה",
-"Displayname" => "שם תצוגה",
-"Active" => "פעיל",
-"Calendar color" => "צבע לוח שנה",
-"Save" => "שמירה",
-"Submit" => "שליחה",
-"Cancel" => "ביטול",
-"Edit an event" => "עריכת אירוע",
-"Export" => "יצוא",
-"Eventinfo" => "פרטי האירוע",
-"Repeating" => "חוזר",
-"Alarm" => "תזכורת",
-"Attendees" => "משתתפים",
-"Share" => "שיתוף",
-"Title of the Event" => "כותרת האירוע",
-"Category" => "קטגוריה",
-"Separate categories with commas" => "הפרדת קטגוריות בפסיק",
-"Edit categories" => "עריכת קטגוריות",
-"All Day Event" => "אירוע של כל היום",
-"From" => "מאת",
-"To" => "עבור",
-"Advanced options" => "אפשרויות מתקדמות",
-"Location" => "מיקום",
-"Location of the Event" => "מיקום האירוע",
-"Description" => "תיאור",
-"Description of the Event" => "תיאור האירוע",
-"Repeat" => "חזרה",
-"Advanced" => "מתקדם",
-"Select weekdays" => "יש לבחור ימים בשבוע",
-"Select days" => "יש לבחור בימים",
-"and the events day of year." => "ויום האירוע בשנה.",
-"and the events day of month." => "ויום האירוע בחודש.",
-"Select months" => "יש לבחור בחודשים",
-"Select weeks" => "יש לבחור בשבועות",
-"and the events week of year." => "ומספור השבוע הפעיל בשנה.",
-"Interval" => "משך",
-"End" => "סיום",
-"occurrences" => "מופעים",
-"create a new calendar" => "יצירת לוח שנה חדש",
-"Import a calendar file" => "יבוא קובץ לוח שנה",
-"Name of new calendar" => "שם לוח השנה החדש",
-"Import" => "יבוא",
-"Close Dialog" => "סגירת הדו־שיח",
-"Create a new event" => "יצירת אירוע חדש",
-"View an event" => "צפייה באירוע",
-"No categories selected" => "לא נבחרו קטגוריות",
-"of" => "מתוך",
-"at" => "בשנה",
-"Timezone" => "אזור זמן",
-"24h" => "24 שעות",
-"12h" => "12 שעות",
-"Users" => "משתמשים",
-"select users" => "נא לבחור במשתמשים",
-"Editable" => "ניתן לעריכה",
-"Groups" => "קבוצות",
-"select groups" => "בחירת קבוצות",
-"make public" => "הפיכה לציבורי"
-);
diff --git a/apps/calendar/l10n/hr.php b/apps/calendar/l10n/hr.php
deleted file mode 100644
index 4ab5b955186..00000000000
--- a/apps/calendar/l10n/hr.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Nisu pronađeni kalendari",
-"No events found." => "Događaj nije pronađen.",
-"Wrong calendar" => "Pogrešan kalendar",
-"New Timezone:" => "Nova vremenska zona:",
-"Timezone changed" => "Vremenska zona promijenjena",
-"Invalid request" => "Neispravan zahtjev",
-"Calendar" => "Kalendar",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"Birthday" => "Rođendan",
-"Business" => "Poslovno",
-"Call" => "Poziv",
-"Clients" => "Klijenti",
-"Deliverer" => "Dostavljač",
-"Holidays" => "Praznici",
-"Ideas" => "Ideje",
-"Journey" => "Putovanje",
-"Jubilee" => "Obljetnica",
-"Meeting" => "Sastanak",
-"Other" => "Ostalo",
-"Personal" => "Osobno",
-"Projects" => "Projekti",
-"Questions" => "Pitanja",
-"Work" => "Posao",
-"unnamed" => "bezimeno",
-"New Calendar" => "Novi kalendar",
-"Does not repeat" => "Ne ponavlja se",
-"Daily" => "Dnevno",
-"Weekly" => "Tjedno",
-"Every Weekday" => "Svakog radnog dana",
-"Bi-Weekly" => "Dvotjedno",
-"Monthly" => "Mjesečno",
-"Yearly" => "Godišnje",
-"never" => "nikad",
-"by occurrences" => "po pojavama",
-"by date" => "po datum",
-"by monthday" => "po dana mjeseca",
-"by weekday" => "po tjednu",
-"Monday" => "ponedeljak",
-"Tuesday" => "utorak",
-"Wednesday" => "srijeda",
-"Thursday" => "četvrtak",
-"Friday" => "petak",
-"Saturday" => "subota",
-"Sunday" => "nedelja",
-"first" => "prvi",
-"second" => "drugi",
-"third" => "treći",
-"fourth" => "četvrti",
-"fifth" => "peti",
-"last" => "zadnji",
-"January" => "siječanj",
-"February" => "veljača",
-"March" => "ožujak",
-"April" => "travanj",
-"May" => "svibanj",
-"June" => "lipanj",
-"July" => "srpanj",
-"August" => "kolovoz",
-"September" => "rujan",
-"October" => "listopad",
-"November" => "studeni",
-"December" => "prosinac",
-"by events date" => "po datumu događaja",
-"by yearday(s)" => "po godini(-nama)",
-"by weeknumber(s)" => "po broju tjedna(-ana)",
-"by day and month" => "po danu i mjeseca",
-"Date" => "datum",
-"Cal." => "Kal.",
-"All day" => "Cijeli dan",
-"Missing fields" => "Nedostaju polja",
-"Title" => "Naslov",
-"From Date" => "Datum od",
-"From Time" => "Vrijeme od",
-"To Date" => "Datum do",
-"To Time" => "Vrijeme do",
-"The event ends before it starts" => "Događaj završava prije nego počinje",
-"There was a database fail" => "Pogreška u bazi podataka",
-"Week" => "Tjedan",
-"Month" => "Mjesec",
-"List" => "Lista",
-"Today" => "Danas",
-"Your calendars" => "Vaši kalendari",
-"CalDav Link" => "CalDav poveznica",
-"Shared calendars" => "Podijeljeni kalendari",
-"No shared calendars" => "Nema zajedničkih kalendara",
-"Share Calendar" => "Podjeli kalendar",
-"Download" => "Spremi lokalno",
-"Edit" => "Uredi",
-"Delete" => "Briši",
-"shared with you by" => "podijeljeno s vama od ",
-"New calendar" => "Novi kalendar",
-"Edit calendar" => "Uredi kalendar",
-"Displayname" => "Naziv",
-"Active" => "Aktivan",
-"Calendar color" => "Boja kalendara",
-"Save" => "Spremi",
-"Submit" => "Potvrdi",
-"Cancel" => "Odustani",
-"Edit an event" => "Uredi događaj",
-"Export" => "Izvoz",
-"Eventinfo" => "Informacije o događaju",
-"Repeating" => "Ponavljanje",
-"Alarm" => "Alarm",
-"Attendees" => "Polaznici",
-"Share" => "Podijeli",
-"Title of the Event" => "Naslov događaja",
-"Category" => "Kategorija",
-"Separate categories with commas" => "Odvoji kategorije zarezima",
-"Edit categories" => "Uredi kategorije",
-"All Day Event" => "Cjelodnevni događaj",
-"From" => "Od",
-"To" => "Za",
-"Advanced options" => "Napredne mogućnosti",
-"Location" => "Lokacija",
-"Location of the Event" => "Lokacija događaja",
-"Description" => "Opis",
-"Description of the Event" => "Opis događaja",
-"Repeat" => "Ponavljanje",
-"Advanced" => "Napredno",
-"Select weekdays" => "Odaberi dane u tjednu",
-"Select days" => "Odaberi dane",
-"Select months" => "Odaberi mjesece",
-"Select weeks" => "Odaberi tjedne",
-"Interval" => "Interval",
-"End" => "Kraj",
-"occurrences" => "pojave",
-"create a new calendar" => "stvori novi kalendar",
-"Import a calendar file" => "Uvozite datoteku kalendara",
-"Name of new calendar" => "Ime novog kalendara",
-"Import" => "Uvoz",
-"Close Dialog" => "Zatvori dijalog",
-"Create a new event" => "Unesi novi događaj",
-"View an event" => "Vidjeti događaj",
-"No categories selected" => "Nema odabranih kategorija",
-"of" => "od",
-"at" => "na",
-"Timezone" => "Vremenska zona",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Korisnici",
-"select users" => "odaberi korisnike",
-"Editable" => "Može se uređivati",
-"Groups" => "Grupe",
-"select groups" => "izaberite grupe",
-"make public" => "podjeli s javnošću"
-);
diff --git a/apps/calendar/l10n/hu_HU.php b/apps/calendar/l10n/hu_HU.php
deleted file mode 100644
index 3ef4b9675be..00000000000
--- a/apps/calendar/l10n/hu_HU.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Nem található naptár",
-"No events found." => "Nem található esemény",
-"Wrong calendar" => "Hibás naptár",
-"New Timezone:" => "Új időzóna",
-"Timezone changed" => "Időzóna megváltozott",
-"Invalid request" => "Érvénytelen kérés",
-"Calendar" => "Naptár",
-"ddd" => "nnn",
-"ddd M/d" => "nnn H/n",
-"dddd M/d" => "nnnn H/n",
-"MMMM yyyy" => "HHHH éééé",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "nnnn, HHH n, éééé",
-"Birthday" => "Születésap",
-"Business" => "Üzlet",
-"Call" => "Hívás",
-"Clients" => "Kliensek",
-"Deliverer" => "Szállító",
-"Holidays" => "Ünnepek",
-"Ideas" => "Ötletek",
-"Journey" => "Utazás",
-"Jubilee" => "Évforduló",
-"Meeting" => "Találkozó",
-"Other" => "Egyéb",
-"Personal" => "Személyes",
-"Projects" => "Projektek",
-"Questions" => "Kérdések",
-"Work" => "Munka",
-"unnamed" => "névtelen",
-"New Calendar" => "Új naptár",
-"Does not repeat" => "Nem ismétlődik",
-"Daily" => "Napi",
-"Weekly" => "Heti",
-"Every Weekday" => "Minden hétköznap",
-"Bi-Weekly" => "Kéthetente",
-"Monthly" => "Havi",
-"Yearly" => "Évi",
-"never" => "soha",
-"by occurrences" => "előfordulás szerint",
-"by date" => "dátum szerint",
-"by monthday" => "hónap napja szerint",
-"by weekday" => "hét napja szerint",
-"Monday" => "Hétfő",
-"Tuesday" => "Kedd",
-"Wednesday" => "Szerda",
-"Thursday" => "Csütörtök",
-"Friday" => "Péntek",
-"Saturday" => "Szombat",
-"Sunday" => "Vasárnap",
-"events week of month" => "hónap heteinek sorszáma",
-"first" => "első",
-"second" => "második",
-"third" => "harmadik",
-"fourth" => "negyedik",
-"fifth" => "ötödik",
-"last" => "utolsó",
-"January" => "Január",
-"February" => "Február",
-"March" => "Március",
-"April" => "Április",
-"May" => "Május",
-"June" => "Június",
-"July" => "Július",
-"August" => "Augusztus",
-"September" => "Szeptember",
-"October" => "Október",
-"November" => "November",
-"December" => "December",
-"by events date" => "az esemény napja szerint",
-"by yearday(s)" => "az év napja(i) szerint",
-"by weeknumber(s)" => "a hét sorszáma szerint",
-"by day and month" => "nap és hónap szerint",
-"Date" => "Dátum",
-"Cal." => "Naptár",
-"All day" => "Egész nap",
-"Missing fields" => "Hiányzó mezők",
-"Title" => "Cím",
-"From Date" => "Napjától",
-"From Time" => "Időtől",
-"To Date" => "Napig",
-"To Time" => "Ideig",
-"The event ends before it starts" => "Az esemény véget ér a kezdés előtt.",
-"There was a database fail" => "Adatbázis hiba történt",
-"Week" => "Hét",
-"Month" => "Hónap",
-"List" => "Lista",
-"Today" => "Ma",
-"Your calendars" => "Naptárjaid",
-"CalDav Link" => "CalDAV link",
-"Shared calendars" => "Megosztott naptárak",
-"No shared calendars" => "Nincs megosztott naptár",
-"Share Calendar" => "Naptármegosztás",
-"Download" => "Letöltés",
-"Edit" => "Szerkesztés",
-"Delete" => "Törlés",
-"shared with you by" => "megosztotta veled: ",
-"New calendar" => "Új naptár",
-"Edit calendar" => "Naptár szerkesztése",
-"Displayname" => "Megjelenítési név",
-"Active" => "Aktív",
-"Calendar color" => "Naptár szín",
-"Save" => "Mentés",
-"Submit" => "Beküldés",
-"Cancel" => "Mégse",
-"Edit an event" => "Esemény szerkesztése",
-"Export" => "Export",
-"Eventinfo" => "Eseményinfó",
-"Repeating" => "Ismétlődő",
-"Alarm" => "Riasztás",
-"Attendees" => "Résztvevők",
-"Share" => "Megosztás",
-"Title of the Event" => "Az esemény címe",
-"Category" => "Kategória",
-"Separate categories with commas" => "Vesszővel válaszd el a kategóriákat",
-"Edit categories" => "Kategóriák szerkesztése",
-"All Day Event" => "Egész napos esemény",
-"From" => "Ettől",
-"To" => "Eddig",
-"Advanced options" => "Haladó beállítások",
-"Location" => "Hely",
-"Location of the Event" => "Az esemény helyszíne",
-"Description" => "Leírás",
-"Description of the Event" => "Az esemény leírása",
-"Repeat" => "Ismétlés",
-"Advanced" => "Haladó",
-"Select weekdays" => "Hétköznapok kiválasztása",
-"Select days" => "Napok kiválasztása",
-"and the events day of year." => "és az éves esemény napja.",
-"and the events day of month." => "és a havi esemény napja.",
-"Select months" => "Hónapok kiválasztása",
-"Select weeks" => "Hetek kiválasztása",
-"and the events week of year." => "és az heti esemény napja.",
-"Interval" => "Időköz",
-"End" => "Vége",
-"occurrences" => "előfordulások",
-"create a new calendar" => "új naptár létrehozása",
-"Import a calendar file" => "Naptár-fájl importálása",
-"Name of new calendar" => "Új naptár neve",
-"Import" => "Importálás",
-"Close Dialog" => "Párbeszédablak bezárása",
-"Create a new event" => "Új esemény létrehozása",
-"View an event" => "Esemény megtekintése",
-"No categories selected" => "Nincs kiválasztott kategória",
-"of" => ", tulaj ",
-"at" => ", ",
-"Timezone" => "Időzóna",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Felhasználók",
-"select users" => "válassz felhasználókat",
-"Editable" => "Szerkeszthető",
-"Groups" => "Csoportok",
-"select groups" => "válassz csoportokat",
-"make public" => "nyilvánossá tétel"
-);
diff --git a/apps/calendar/l10n/hy.php b/apps/calendar/l10n/hy.php
deleted file mode 100644
index 3b675693b0f..00000000000
--- a/apps/calendar/l10n/hy.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Calendar" => "Օրացույց",
-"Other" => "Այլ",
-"Month" => "Ամիս",
-"Today" => "Այսօր",
-"Download" => "Բեռնել",
-"Delete" => "Ջնջել",
-"Save" => "Պահպանել",
-"Submit" => "Հաստատել",
-"Description" => "Նկարագրություն"
-);
diff --git a/apps/calendar/l10n/ia.php b/apps/calendar/l10n/ia.php
deleted file mode 100644
index 84c36536b95..00000000000
--- a/apps/calendar/l10n/ia.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Necun calendarios trovate.",
-"No events found." => "Nulle eventos trovate.",
-"New Timezone:" => "Nove fuso horari",
-"Invalid request" => "Requesta invalide.",
-"Calendar" => "Calendario",
-"Birthday" => "Anniversario de nativitate",
-"Business" => "Affaires",
-"Call" => "Appello",
-"Clients" => "Clientes",
-"Holidays" => "Dies feriate",
-"Meeting" => "Incontro",
-"Other" => "Altere",
-"Personal" => "Personal",
-"Projects" => "Projectos",
-"Questions" => "Demandas",
-"Work" => "Travalio",
-"unnamed" => "sin nomine",
-"New Calendar" => "Nove calendario",
-"Does not repeat" => "Non repite",
-"Daily" => "Quotidian",
-"Weekly" => "Septimanal",
-"Every Weekday" => "Cata die",
-"Monthly" => "Mensual",
-"Yearly" => "Cata anno",
-"never" => "nunquam",
-"by date" => "per data",
-"Monday" => "Lunedi",
-"Tuesday" => "Martedi",
-"Wednesday" => "Mercuridi",
-"Thursday" => "Jovedi",
-"Friday" => "Venerdi",
-"Saturday" => "Sabbato",
-"Sunday" => "Dominica",
-"first" => "prime",
-"second" => "secunde",
-"third" => "tertie",
-"last" => "ultime",
-"January" => "januario",
-"February" => "Februario",
-"March" => "Martio",
-"April" => "April",
-"May" => "Mai",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Augusto",
-"September" => "Septembre",
-"October" => "Octobre",
-"November" => "Novembre",
-"December" => "Decembre",
-"by events date" => "per data de eventos",
-"by day and month" => "per dia e mense",
-"Date" => "Data",
-"All day" => "Omne die",
-"Missing fields" => "Campos incomplete",
-"Title" => "Titulo",
-"From Date" => "Data de initio",
-"From Time" => "Hora de initio",
-"To Date" => "Data de fin",
-"To Time" => "Hora de fin",
-"Week" => "Septimana",
-"Month" => "Mense",
-"List" => "Lista",
-"Today" => "Hodie",
-"Your calendars" => "Tu calendarios",
-"Download" => "Discarga",
-"Edit" => "Modificar",
-"Delete" => "Deler",
-"New calendar" => "Nove calendario",
-"Edit calendar" => "Modificar calendario",
-"Active" => "Active",
-"Calendar color" => "Color de calendario",
-"Save" => "Salveguardar",
-"Submit" => "Inviar",
-"Cancel" => "Cancellar",
-"Edit an event" => "Modificar evento",
-"Export" => "Exportar",
-"Share" => "Compartir",
-"Title of the Event" => "Titulo del evento.",
-"Category" => "Categoria",
-"Edit categories" => "Modificar categorias",
-"From" => "Ab",
-"To" => "A",
-"Advanced options" => "Optiones avantiate",
-"Location" => "Loco",
-"Location of the Event" => "Loco del evento.",
-"Description" => "Description",
-"Description of the Event" => "Description del evento",
-"Repeat" => "Repeter",
-"Advanced" => "Avantiate",
-"Select weekdays" => "Seliger dies del septimana",
-"Select days" => "Seliger dies",
-"Select months" => "Seliger menses",
-"Select weeks" => "Seliger septimanas",
-"Interval" => "Intervallo",
-"End" => "Fin",
-"create a new calendar" => "crear un nove calendario",
-"Import a calendar file" => "Importar un file de calendario",
-"Name of new calendar" => "Nomine del calendario",
-"Import" => "Importar",
-"Close Dialog" => "Clauder dialogo",
-"Create a new event" => "Crear un nove evento",
-"View an event" => "Vide un evento",
-"No categories selected" => "Nulle categorias seligite",
-"of" => "de",
-"at" => "in",
-"Timezone" => "Fuso horari",
-"Users" => "Usatores",
-"Groups" => "Gruppos"
-);
diff --git a/apps/calendar/l10n/id.php b/apps/calendar/l10n/id.php
deleted file mode 100644
index 865c2118fac..00000000000
--- a/apps/calendar/l10n/id.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Timezone changed" => "Zona waktu telah diubah",
-"Invalid request" => "Permintaan tidak sah",
-"Calendar" => "Kalender",
-"Does not repeat" => "Tidak akan mengulangi",
-"Daily" => "Harian",
-"Weekly" => "Mingguan",
-"Every Weekday" => "Setiap Hari Minggu",
-"Bi-Weekly" => "Dwi-mingguan",
-"Monthly" => "Bulanan",
-"Yearly" => "Tahunan",
-"All day" => "Semua Hari",
-"Title" => "Judul",
-"Week" => "Minggu",
-"Month" => "Bulan",
-"Today" => "Hari ini",
-"Download" => "Unduh",
-"Edit" => "Sunting",
-"Edit calendar" => "Sunting kalender",
-"Displayname" => "Namatampilan",
-"Active" => "Aktif",
-"Calendar color" => "Warna kalender",
-"Submit" => "Sampaikan",
-"Edit an event" => "Sunting agenda",
-"Title of the Event" => "Judul Agenda",
-"Category" => "Kategori",
-"All Day Event" => "Agenda di Semua Hari",
-"From" => "Dari",
-"To" => "Ke",
-"Location" => "Lokasi",
-"Location of the Event" => "Lokasi Agenda",
-"Description" => "Deskripsi",
-"Description of the Event" => "Deskripsi dari Agenda",
-"Repeat" => "Ulangi",
-"Create a new event" => "Buat agenda baru",
-"Timezone" => "Zonawaktu"
-);
diff --git a/apps/calendar/l10n/it.php b/apps/calendar/l10n/it.php
deleted file mode 100644
index 04e10b582bf..00000000000
--- a/apps/calendar/l10n/it.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Non tutti i calendari sono mantenuti completamente in cache",
-"Everything seems to be completely cached" => "Tutto sembra essere mantenuto completamente in cache",
-"No calendars found." => "Nessun calendario trovato.",
-"No events found." => "Nessun evento trovato.",
-"Wrong calendar" => "Calendario sbagliato",
-"The file contained either no events or all events are already saved in your calendar." => "Il file non conteneva alcun evento o tutti gli eventi erano già salvati nel tuo calendario.",
-"events has been saved in the new calendar" => "gli eventi sono stati salvati nel nuovo calendario",
-"Import failed" => "Importazione non riuscita",
-"events has been saved in your calendar" => "gli eventi sono stati salvati nel tuo calendario",
-"New Timezone:" => "Nuovo fuso orario:",
-"Timezone changed" => "Fuso orario cambiato",
-"Invalid request" => "Richiesta non valida",
-"Calendar" => "Calendario",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d/M",
-"dddd M/d" => "dddd d/M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d MMM yyyy",
-"Birthday" => "Compleanno",
-"Business" => "Azienda",
-"Call" => "Chiama",
-"Clients" => "Clienti",
-"Deliverer" => "Consegna",
-"Holidays" => "Vacanze",
-"Ideas" => "Idee",
-"Journey" => "Viaggio",
-"Jubilee" => "Anniversario",
-"Meeting" => "Riunione",
-"Other" => "Altro",
-"Personal" => "Personale",
-"Projects" => "Progetti",
-"Questions" => "Domande",
-"Work" => "Lavoro",
-"by" => "da",
-"unnamed" => "senza nome",
-"New Calendar" => "Nuovo calendario",
-"Does not repeat" => "Non ripetere",
-"Daily" => "Giornaliero",
-"Weekly" => "Settimanale",
-"Every Weekday" => "Ogni giorno della settimana",
-"Bi-Weekly" => "Ogni due settimane",
-"Monthly" => "Mensile",
-"Yearly" => "Annuale",
-"never" => "mai",
-"by occurrences" => "per occorrenze",
-"by date" => "per data",
-"by monthday" => "per giorno del mese",
-"by weekday" => "per giorno della settimana",
-"Monday" => "Lunedì",
-"Tuesday" => "Martedì",
-"Wednesday" => "Mercoledì",
-"Thursday" => "Giovedì",
-"Friday" => "Venerdì",
-"Saturday" => "Sabato",
-"Sunday" => "Domenica",
-"events week of month" => "settimana del mese degli eventi",
-"first" => "primo",
-"second" => "secondo",
-"third" => "terzo",
-"fourth" => "quarto",
-"fifth" => "quinto",
-"last" => "ultimo",
-"January" => "Gennaio",
-"February" => "Febbraio",
-"March" => "Marzo",
-"April" => "Aprile",
-"May" => "Maggio",
-"June" => "Giugno",
-"July" => "Luglio",
-"August" => "Agosto",
-"September" => "Settembre",
-"October" => "Ottobre",
-"November" => "Novembre",
-"December" => "Dicembre",
-"by events date" => "per data evento",
-"by yearday(s)" => "per giorno/i dell'anno",
-"by weeknumber(s)" => "per numero/i settimana",
-"by day and month" => "per giorno e mese",
-"Date" => "Data",
-"Cal." => "Cal.",
-"Sun." => "Dom.",
-"Mon." => "Lun.",
-"Tue." => "Mar.",
-"Wed." => "Mer.",
-"Thu." => "Gio.",
-"Fri." => "Ven.",
-"Sat." => "Sab.",
-"Jan." => "Gen.",
-"Feb." => "Feb.",
-"Mar." => "Mar.",
-"Apr." => "Apr.",
-"May." => "Mag.",
-"Jun." => "Giu.",
-"Jul." => "Lug.",
-"Aug." => "Ago.",
-"Sep." => "Set.",
-"Oct." => "Ott.",
-"Nov." => "Nov.",
-"Dec." => "Dic.",
-"All day" => "Tutti il giorno",
-"Missing fields" => "Campi mancanti",
-"Title" => "Titolo",
-"From Date" => "Dal giorno",
-"From Time" => "Ora iniziale",
-"To Date" => "Al giorno",
-"To Time" => "Ora finale",
-"The event ends before it starts" => "L'evento finisce prima d'iniziare",
-"There was a database fail" => "Si è verificato un errore del database",
-"Week" => "Settimana",
-"Month" => "Mese",
-"List" => "Elenco",
-"Today" => "Oggi",
-"Settings" => "Impostazioni",
-"Your calendars" => "I tuoi calendari",
-"CalDav Link" => "Collegamento CalDav",
-"Shared calendars" => "Calendari condivisi",
-"No shared calendars" => "Nessun calendario condiviso",
-"Share Calendar" => "Condividi calendario",
-"Download" => "Scarica",
-"Edit" => "Modifica",
-"Delete" => "Elimina",
-"shared with you by" => "condiviso con te da",
-"New calendar" => "Nuovo calendario",
-"Edit calendar" => "Modifica calendario",
-"Displayname" => "Nome visualizzato",
-"Active" => "Attivo",
-"Calendar color" => "Colore calendario",
-"Save" => "Salva",
-"Submit" => "Invia",
-"Cancel" => "Annulla",
-"Edit an event" => "Modifica un evento",
-"Export" => "Esporta",
-"Eventinfo" => "Informazioni evento",
-"Repeating" => "Ripetizione",
-"Alarm" => "Avviso",
-"Attendees" => "Partecipanti",
-"Share" => "Condividi",
-"Title of the Event" => "Titolo dell'evento",
-"Category" => "Categoria",
-"Separate categories with commas" => "Categorie separate da virgole",
-"Edit categories" => "Modifica le categorie",
-"All Day Event" => "Evento che occupa tutta la giornata",
-"From" => "Da",
-"To" => "A",
-"Advanced options" => "Opzioni avanzate",
-"Location" => "Luogo",
-"Location of the Event" => "Luogo dell'evento",
-"Description" => "Descrizione",
-"Description of the Event" => "Descrizione dell'evento",
-"Repeat" => "Ripeti",
-"Advanced" => "Avanzato",
-"Select weekdays" => "Seleziona i giorni della settimana",
-"Select days" => "Seleziona i giorni",
-"and the events day of year." => "e il giorno dell'anno degli eventi.",
-"and the events day of month." => "e il giorno del mese degli eventi.",
-"Select months" => "Seleziona i mesi",
-"Select weeks" => "Seleziona le settimane",
-"and the events week of year." => "e la settimana dell'anno degli eventi.",
-"Interval" => "Intervallo",
-"End" => "Fine",
-"occurrences" => "occorrenze",
-"create a new calendar" => "Crea un nuovo calendario",
-"Import a calendar file" => "Importa un file di calendario",
-"Please choose a calendar" => "Scegli un calendario",
-"Name of new calendar" => "Nome del nuovo calendario",
-"Take an available name!" => "Usa un nome disponibile!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Un calendario con questo nome esiste già. Se continui, i due calendari saranno uniti.",
-"Import" => "Importa",
-"Close Dialog" => "Chiudi la finestra di dialogo",
-"Create a new event" => "Crea un nuovo evento",
-"View an event" => "Visualizza un evento",
-"No categories selected" => "Nessuna categoria selezionata",
-"of" => "di",
-"at" => "alle",
-"General" => "Generale",
-"Timezone" => "Fuso orario",
-"Update timezone automatically" => "Aggiorna automaticamente il fuso orario",
-"Time format" => "Formato orario",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "La settimana inizia il",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Cancella gli eventi che si ripetono dalla cache",
-"URLs" => "URL",
-"Calendar CalDAV syncing addresses" => "Indirizzi di sincronizzazione calendari CalDAV",
-"more info" => "ulteriori informazioni",
-"Primary address (Kontact et al)" => "Indirizzo principale (Kontact e altri)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Collegamento(i) iCalendar sola lettura",
-"Users" => "Utenti",
-"select users" => "seleziona utenti",
-"Editable" => "Modificabile",
-"Groups" => "Gruppi",
-"select groups" => "seleziona gruppi",
-"make public" => "rendi pubblico"
-);
diff --git a/apps/calendar/l10n/ja_JP.php b/apps/calendar/l10n/ja_JP.php
deleted file mode 100644
index 3c7793a8508..00000000000
--- a/apps/calendar/l10n/ja_JP.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "すべてのカレンダーは完全にキャッシュされていません",
-"Everything seems to be completely cached" => "すべて完全にキャッシュされていると思われます",
-"No calendars found." => "カレンダーが見つかりませんでした。",
-"No events found." => "イベントが見つかりませんでした。",
-"Wrong calendar" => "誤ったカレンダーです",
-"The file contained either no events or all events are already saved in your calendar." => "イベントの無いもしくはすべてのイベントを含むファイルは既にあなたのカレンダーに保存されています。",
-"events has been saved in the new calendar" => "イベントは新しいカレンダーに保存されました",
-"Import failed" => "インポートに失敗",
-"events has been saved in your calendar" => "イベントはあなたのカレンダーに保存されました",
-"New Timezone:" => "新しいタイムゾーン:",
-"Timezone changed" => "タイムゾーンが変更されました",
-"Invalid request" => "無効なリクエストです",
-"Calendar" => "カレンダー",
-"ddd" => "dddd",
-"ddd M/d" => "M月d日 (dddd)",
-"dddd M/d" => "M月d日 (dddd)",
-"MMMM yyyy" => "yyyy年M月",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "yyyy年M月d日{ '~' [yyyy年][M月]d日}",
-"dddd, MMM d, yyyy" => "yyyy年M月d日 (dddd)",
-"Birthday" => "誕生日",
-"Business" => "ビジネス",
-"Call" => "電話をかける",
-"Clients" => "顧客",
-"Deliverer" => "運送会社",
-"Holidays" => "休日",
-"Ideas" => "アイデア",
-"Journey" => "旅行",
-"Jubilee" => "記念祭",
-"Meeting" => "ミーティング",
-"Other" => "その他",
-"Personal" => "個人",
-"Projects" => "プロジェクト",
-"Questions" => "質問事項",
-"Work" => "週の始まり",
-"by" => "による",
-"unnamed" => "無名",
-"New Calendar" => "新しくカレンダーを作成",
-"Does not repeat" => "繰り返さない",
-"Daily" => "毎日",
-"Weekly" => "毎週",
-"Every Weekday" => "毎平日",
-"Bi-Weekly" => "2週間ごと",
-"Monthly" => "毎月",
-"Yearly" => "毎年",
-"never" => "無し",
-"by occurrences" => "回数で指定",
-"by date" => "日付で指定",
-"by monthday" => "日にちで指定",
-"by weekday" => "曜日で指定",
-"Monday" => "月",
-"Tuesday" => "火",
-"Wednesday" => "水",
-"Thursday" => "木",
-"Friday" => "金",
-"Saturday" => "土",
-"Sunday" => "日",
-"events week of month" => "予定のある週を指定",
-"first" => "1週目",
-"second" => "2週目",
-"third" => "3週目",
-"fourth" => "4週目",
-"fifth" => "5週目",
-"last" => "最終週",
-"January" => "1月",
-"February" => "2月",
-"March" => "3月",
-"April" => "4月",
-"May" => "5月",
-"June" => "6月",
-"July" => "7月",
-"August" => "8月",
-"September" => "9月",
-"October" => "10月",
-"November" => "11月",
-"December" => "12月",
-"by events date" => "日付で指定",
-"by yearday(s)" => "日番号で指定",
-"by weeknumber(s)" => "週番号で指定",
-"by day and month" => "月と日で指定",
-"Date" => "日付",
-"Cal." => "カレンダー",
-"Sun." => "日",
-"Mon." => "月",
-"Tue." => "火",
-"Wed." => "水",
-"Thu." => "木",
-"Fri." => "金",
-"Sat." => "土",
-"Jan." => "1月",
-"Feb." => "2月",
-"Mar." => "3月",
-"Apr." => "4月",
-"May." => "5月",
-"Jun." => "6月",
-"Jul." => "7月",
-"Aug." => "8月",
-"Sep." => "9月",
-"Oct." => "10月",
-"Nov." => "11月",
-"Dec." => "12月",
-"All day" => "終日",
-"Missing fields" => "項目がありません",
-"Title" => "タイトル",
-"From Date" => "開始日",
-"From Time" => "開始時間",
-"To Date" => "終了日",
-"To Time" => "終了時間",
-"The event ends before it starts" => "イベント終了時間が開始時間より先です",
-"There was a database fail" => "データベースのエラーがありました",
-"Week" => "週",
-"Month" => "月",
-"List" => "予定リスト",
-"Today" => "今日",
-"Settings" => "設定",
-"Your calendars" => "あなたのカレンダー",
-"CalDav Link" => "CalDavへのリンク",
-"Shared calendars" => "共有カレンダー",
-"No shared calendars" => "共有カレンダーはありません",
-"Share Calendar" => "カレンダーを共有する",
-"Download" => "ダウンロード",
-"Edit" => "編集",
-"Delete" => "削除",
-"shared with you by" => "共有者",
-"New calendar" => "新しいカレンダー",
-"Edit calendar" => "カレンダーを編集",
-"Displayname" => "表示名",
-"Active" => "アクティブ",
-"Calendar color" => "カレンダーの色",
-"Save" => "保存",
-"Submit" => "完了",
-"Cancel" => "キャンセル",
-"Edit an event" => "イベントを編集",
-"Export" => "エクスポート",
-"Eventinfo" => "イベント情報",
-"Repeating" => "繰り返し",
-"Alarm" => "アラーム",
-"Attendees" => "参加者",
-"Share" => "共有",
-"Title of the Event" => "イベントのタイトル",
-"Category" => "カテゴリー",
-"Separate categories with commas" => "カテゴリをコンマで区切る",
-"Edit categories" => "カテゴリを編集",
-"All Day Event" => "終日イベント",
-"From" => "開始",
-"To" => "終了",
-"Advanced options" => "詳細設定",
-"Location" => "場所",
-"Location of the Event" => "イベントの場所",
-"Description" => "メモ",
-"Description of the Event" => "イベントの説明",
-"Repeat" => "繰り返し",
-"Advanced" => "詳細設定",
-"Select weekdays" => "曜日を指定",
-"Select days" => "日付を指定",
-"and the events day of year." => "対象の年を選択する。",
-"and the events day of month." => "対象の月を選択する。",
-"Select months" => "月を指定する",
-"Select weeks" => "週を指定する",
-"and the events week of year." => "対象の週を選択する。",
-"Interval" => "間隔",
-"End" => "繰り返す期間",
-"occurrences" => "回繰り返す",
-"create a new calendar" => "新規カレンダーの作成",
-"Import a calendar file" => "カレンダーファイルをインポート",
-"Please choose a calendar" => "カレンダーを選択してください",
-"Name of new calendar" => "新規カレンダーの名称",
-"Take an available name!" => "利用可能な名前を指定してください!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "このカレンダー名はすでに使われています。もし続行する場合は、これらのカレンダーはマージされます。",
-"Import" => "インポート",
-"Close Dialog" => "ダイアログを閉じる",
-"Create a new event" => "新しいイベントを作成",
-"View an event" => "イベントを閲覧",
-"No categories selected" => "カテゴリが選択されていません",
-"of" => "of",
-"at" => "at",
-"General" => "一般",
-"Timezone" => "タイムゾーン",
-"Update timezone automatically" => "自動的にタイムゾーンを更新",
-"Time format" => "時刻の表示形式",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "1週間の初めの曜日",
-"Cache" => "キャッシュ",
-"Clear cache for repeating events" => "繰り返しイベントのキャッシュをクリア",
-"URLs" => "URL",
-"Calendar CalDAV syncing addresses" => "CalDAVカレンダーの同期用アドレス",
-"more info" => "さらに",
-"Primary address (Kontact et al)" => "プライマリアドレス(コンタクト等)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "読み取り専用のiCalendarリンク",
-"Users" => "ユーザ",
-"select users" => "ユーザを選択",
-"Editable" => "編集可能",
-"Groups" => "グループ",
-"select groups" => "グループを選択",
-"make public" => "公開する"
-);
diff --git a/apps/calendar/l10n/ko.php b/apps/calendar/l10n/ko.php
deleted file mode 100644
index 77e421d4aab..00000000000
--- a/apps/calendar/l10n/ko.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "달력이 없습니다",
-"No events found." => "일정이 없습니다",
-"Wrong calendar" => "잘못된 달력",
-"New Timezone:" => "새로운 시간대 설정",
-"Timezone changed" => "시간대 변경됨",
-"Invalid request" => "잘못된 요청",
-"Calendar" => "달력",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "생일",
-"Business" => "사업",
-"Call" => "통화",
-"Clients" => "클라이언트",
-"Deliverer" => "배송",
-"Holidays" => "공휴일",
-"Ideas" => "생각",
-"Journey" => "여행",
-"Jubilee" => "기념일",
-"Meeting" => "미팅",
-"Other" => "기타",
-"Personal" => "개인",
-"Projects" => "프로젝트",
-"Questions" => "질문",
-"Work" => "작업",
-"unnamed" => "익명의",
-"New Calendar" => "새로운 달력",
-"Does not repeat" => "반복 없음",
-"Daily" => "매일",
-"Weekly" => "매주",
-"Every Weekday" => "매주 특정 요일",
-"Bi-Weekly" => "2주마다",
-"Monthly" => "매월",
-"Yearly" => "매년",
-"never" => "전혀",
-"by occurrences" => "번 이후",
-"by date" => "날짜",
-"by monthday" => "월",
-"by weekday" => "주",
-"Monday" => "월요일",
-"Tuesday" => "화요일",
-"Wednesday" => "수요일",
-"Thursday" => "목요일",
-"Friday" => "금요일",
-"Saturday" => "토요일",
-"Sunday" => "일요일",
-"events week of month" => "이달의 한 주 일정",
-"first" => "첫번째",
-"second" => "두번째",
-"third" => "세번째",
-"fourth" => "네번째",
-"fifth" => "다섯번째",
-"last" => "마지막",
-"January" => "1월",
-"February" => "2월",
-"March" => "3월",
-"April" => "4월",
-"May" => "5월",
-"June" => "6월",
-"July" => "7월",
-"August" => "8월",
-"September" => "9월",
-"October" => "10월",
-"November" => "11월",
-"December" => "12월",
-"by events date" => "이벤트 날짜 순",
-"by yearday(s)" => "날짜 번호 순",
-"by weeknumber(s)" => "주 번호 순",
-"by day and month" => "날짜 순",
-"Date" => "날짜",
-"Cal." => "달력",
-"All day" => "매일",
-"Missing fields" => "기입란이 비어있습니다",
-"Title" => "제목",
-"From Date" => "시작날짜",
-"From Time" => "시작시간",
-"To Date" => "마침 날짜",
-"To Time" => "마침 시간",
-"The event ends before it starts" => "마침일정이 시작일정 보다 빠릅니다. ",
-"There was a database fail" => "데이터베이스 에러입니다.",
-"Week" => "주",
-"Month" => "달",
-"List" => "목록",
-"Today" => "오늘",
-"Your calendars" => "내 달력",
-"CalDav Link" => "CalDav 링크",
-"Shared calendars" => "공유 달력",
-"No shared calendars" => "달력 공유하지 않음",
-"Share Calendar" => "달력 공유",
-"Download" => "다운로드",
-"Edit" => "편집",
-"Delete" => "삭제",
-"shared with you by" => "로 인해 당신과 함께 공유",
-"New calendar" => "새로운 달력",
-"Edit calendar" => "달력 편집",
-"Displayname" => "표시 이름",
-"Active" => "활성",
-"Calendar color" => "달력 색상",
-"Save" => "저장",
-"Submit" => "보내기",
-"Cancel" => "취소",
-"Edit an event" => "이벤트 편집",
-"Export" => "출력",
-"Eventinfo" => "일정 정보",
-"Repeating" => "반복",
-"Alarm" => "알람",
-"Attendees" => "참석자",
-"Share" => "공유",
-"Title of the Event" => "이벤트 제목",
-"Category" => "분류",
-"Separate categories with commas" => "쉼표로 카테고리 구분",
-"Edit categories" => "카테고리 수정",
-"All Day Event" => "종일 이벤트",
-"From" => "시작",
-"To" => "끝",
-"Advanced options" => "고급 설정",
-"Location" => "위치",
-"Location of the Event" => "이벤트 위치",
-"Description" => "설명",
-"Description of the Event" => "이벤트 설명",
-"Repeat" => "반복",
-"Advanced" => "고급",
-"Select weekdays" => "요일 선택",
-"Select days" => "날짜 선택",
-"and the events day of year." => "그리고 이 해의 일정",
-"and the events day of month." => "그리고 이 달의 일정",
-"Select months" => "달 선택",
-"Select weeks" => "주 선택",
-"and the events week of year." => "그리고 이 해의 주간 일정",
-"Interval" => "간격",
-"End" => "끝",
-"occurrences" => "번 이후",
-"create a new calendar" => "새 달력 만들기",
-"Import a calendar file" => "달력 파일 가져오기",
-"Name of new calendar" => "새 달력 이름",
-"Import" => "입력",
-"Close Dialog" => "대화 마침",
-"Create a new event" => "새 이벤트 만들기",
-"View an event" => "일정 보기",
-"No categories selected" => "선택된 카테고리 없음",
-"of" => "의",
-"at" => "에서",
-"Timezone" => "시간대",
-"24h" => "24시간",
-"12h" => "12시간",
-"Users" => "사용자",
-"select users" => "사용자 선택",
-"Editable" => "편집 가능",
-"Groups" => "그룹",
-"select groups" => "선택 그룹",
-"make public" => "공개"
-);
diff --git a/apps/calendar/l10n/lb.php b/apps/calendar/l10n/lb.php
deleted file mode 100644
index 1ef05b048c0..00000000000
--- a/apps/calendar/l10n/lb.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Keng Kalenner fonnt.",
-"No events found." => "Keng Evenementer fonnt.",
-"Wrong calendar" => "Falschen Kalenner",
-"New Timezone:" => "Nei Zäitzone:",
-"Timezone changed" => "Zäitzon geännert",
-"Invalid request" => "Ongülteg Requête",
-"Calendar" => "Kalenner",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"Birthday" => "Gebuertsdag",
-"Business" => "Geschäftlech",
-"Call" => "Uruff",
-"Clients" => "Clienten",
-"Deliverer" => "Liwwerant",
-"Holidays" => "Vakanzen",
-"Ideas" => "Ideeën",
-"Journey" => "Dag",
-"Jubilee" => "Jubiläum",
-"Meeting" => "Meeting",
-"Other" => "Aner",
-"Personal" => "Perséinlech",
-"Projects" => "Projeten",
-"Questions" => "Froen",
-"Work" => "Aarbecht",
-"New Calendar" => "Neien Kalenner",
-"Does not repeat" => "Widderhëlt sech net",
-"Daily" => "Deeglech",
-"Weekly" => "All Woch",
-"Every Weekday" => "All Wochendag",
-"Bi-Weekly" => "All zweet Woch",
-"Monthly" => "All Mount",
-"Yearly" => "All Joer",
-"never" => "ni",
-"by occurrences" => "no Virkommes",
-"by date" => "no Datum",
-"by monthday" => "no Mount-Dag",
-"by weekday" => "no Wochendag",
-"Monday" => "Méindes",
-"Tuesday" => "Dënschdes",
-"Wednesday" => "Mëttwoch",
-"Thursday" => "Donneschdes",
-"Friday" => "Freides",
-"Saturday" => "Samschdes",
-"Sunday" => "Sonndes",
-"first" => "éischt",
-"second" => "Sekonn",
-"third" => "Drëtt",
-"fourth" => "Féiert",
-"fifth" => "Fënneft",
-"last" => "Läscht",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mäerz",
-"April" => "Abrëll",
-"May" => "Mee",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Dezember",
-"Date" => "Datum",
-"Cal." => "Cal.",
-"All day" => "All Dag",
-"Missing fields" => "Felder déi feelen",
-"Title" => "Titel",
-"From Date" => "Vun Datum",
-"From Time" => "Vun Zäit",
-"To Date" => "Bis Datum",
-"To Time" => "Bis Zäit",
-"The event ends before it starts" => "D'Evenement hält op ier et ufänkt",
-"There was a database fail" => "En Datebank Feeler ass opgetrueden",
-"Week" => "Woch",
-"Month" => "Mount",
-"List" => "Lescht",
-"Today" => "Haut",
-"Your calendars" => "Deng Kalenneren",
-"CalDav Link" => "CalDav Link",
-"Shared calendars" => "Gedeelte Kalenneren",
-"No shared calendars" => "Keng gedeelten Kalenneren",
-"Download" => "Eroflueden",
-"Edit" => "Editéieren",
-"Delete" => "Läschen",
-"New calendar" => "Neien Kalenner",
-"Edit calendar" => "Kalenner editéieren",
-"Displayname" => "Numm",
-"Active" => "Aktiv",
-"Calendar color" => "Fuerf vum Kalenner",
-"Save" => "Späicheren",
-"Submit" => "Fortschécken",
-"Cancel" => "Ofbriechen",
-"Edit an event" => "Evenement editéieren",
-"Export" => "Export",
-"Title of the Event" => "Titel vum Evenement",
-"Category" => "Kategorie",
-"All Day Event" => "Ganz-Dag Evenement",
-"From" => "Vun",
-"To" => "Fir",
-"Advanced options" => "Avancéiert Optiounen",
-"Location" => "Uert",
-"Location of the Event" => "Uert vum Evenement",
-"Description" => "Beschreiwung",
-"Description of the Event" => "Beschreiwung vum Evenement",
-"Repeat" => "Widderhuelen",
-"Advanced" => "Erweidert",
-"Select weekdays" => "Wochendeeg auswielen",
-"Select days" => "Deeg auswielen",
-"Select months" => "Méint auswielen",
-"Select weeks" => "Wochen auswielen",
-"Interval" => "Intervall",
-"End" => "Enn",
-"occurrences" => "Virkommes",
-"create a new calendar" => "E neie Kalenner uleeën",
-"Import a calendar file" => "E Kalenner Fichier importéieren",
-"Name of new calendar" => "Numm vum neie Kalenner",
-"Import" => "Import",
-"Close Dialog" => "Dialog zoumaachen",
-"Create a new event" => "En Evenement maachen",
-"Timezone" => "Zäitzon",
-"24h" => "24h",
-"12h" => "12h"
-);
diff --git a/apps/calendar/l10n/lt_LT.php b/apps/calendar/l10n/lt_LT.php
deleted file mode 100644
index feb8618897c..00000000000
--- a/apps/calendar/l10n/lt_LT.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Kalendorių nerasta.",
-"No events found." => "Įvykių nerasta.",
-"Wrong calendar" => "Ne tas kalendorius",
-"New Timezone:" => "Nauja laiko juosta:",
-"Timezone changed" => "Laiko zona pakeista",
-"Invalid request" => "Klaidinga užklausa",
-"Calendar" => "Kalendorius",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"Birthday" => "Gimtadienis",
-"Business" => "Verslas",
-"Call" => "Skambučiai",
-"Clients" => "Klientai",
-"Deliverer" => "Vykdytojas",
-"Holidays" => "Išeiginės",
-"Ideas" => "Idėjos",
-"Journey" => "Kelionė",
-"Jubilee" => "Jubiliejus",
-"Meeting" => "Susitikimas",
-"Other" => "Kiti",
-"Personal" => "Asmeniniai",
-"Projects" => "Projektai",
-"Questions" => "Klausimai",
-"Work" => "Darbas",
-"unnamed" => "be pavadinimo",
-"New Calendar" => "Naujas kalendorius",
-"Does not repeat" => "Nekartoti",
-"Daily" => "Kasdien",
-"Weekly" => "Kiekvieną savaitę",
-"Every Weekday" => "Kiekvieną savaitės dieną",
-"Bi-Weekly" => "Kas dvi savaites",
-"Monthly" => "Kiekvieną mėnesį",
-"Yearly" => "Kiekvienais metais",
-"never" => "niekada",
-"by date" => "pagal datą",
-"by monthday" => "pagal mėnesio dieną",
-"by weekday" => "pagal savaitės dieną",
-"Monday" => "Pirmadienis",
-"Tuesday" => "Antradienis",
-"Wednesday" => "Trečiadienis",
-"Thursday" => "Ketvirtadienis",
-"Friday" => "Penktadienis",
-"Saturday" => "Šeštadienis",
-"Sunday" => "Sekmadienis",
-"January" => "Sausis",
-"February" => "Vasaris",
-"March" => "Kovas",
-"April" => "Balandis",
-"May" => "Gegužė",
-"June" => "Birželis",
-"July" => "Liepa",
-"August" => "Rugpjūtis",
-"September" => "Rugsėjis",
-"October" => "Spalis",
-"November" => "Lapkritis",
-"December" => "Gruodis",
-"Date" => "Data",
-"Cal." => "Kal.",
-"All day" => "Visa diena",
-"Missing fields" => "Trūkstami laukai",
-"Title" => "Pavadinimas",
-"From Date" => "Nuo datos",
-"From Time" => "Nuo laiko",
-"To Date" => "Iki datos",
-"To Time" => "Iki laiko",
-"The event ends before it starts" => "Įvykis baigiasi anksčiau nei jis prasideda",
-"There was a database fail" => "Įvyko duomenų bazės klaida",
-"Week" => "Savaitė",
-"Month" => "Mėnuo",
-"List" => "Sąrašas",
-"Today" => "Šiandien",
-"Your calendars" => "Jūsų kalendoriai",
-"CalDav Link" => "CalDav adresas",
-"Shared calendars" => "Bendri kalendoriai",
-"No shared calendars" => "Bendrų kalendorių nėra",
-"Share Calendar" => "Dalintis kalendoriumi",
-"Download" => "Atsisiųsti",
-"Edit" => "Keisti",
-"Delete" => "Trinti",
-"New calendar" => "Naujas kalendorius",
-"Edit calendar" => "Taisyti kalendorių",
-"Displayname" => "Pavadinimas",
-"Active" => "Naudojamas",
-"Calendar color" => "Kalendoriaus spalva",
-"Save" => "Išsaugoti",
-"Submit" => "Išsaugoti",
-"Cancel" => "Atšaukti",
-"Edit an event" => "Taisyti įvykį",
-"Export" => "Eksportuoti",
-"Eventinfo" => "Informacija",
-"Repeating" => "Pasikartojantis",
-"Alarm" => "Priminimas",
-"Attendees" => "Dalyviai",
-"Share" => "Dalintis",
-"Title of the Event" => "Įvykio pavadinimas",
-"Category" => "Kategorija",
-"Separate categories with commas" => "Atskirkite kategorijas kableliais",
-"Edit categories" => "Redaguoti kategorijas",
-"All Day Event" => "Visos dienos įvykis",
-"From" => "Nuo",
-"To" => "Iki",
-"Advanced options" => "Papildomi nustatymai",
-"Location" => "Vieta",
-"Location of the Event" => "Įvykio vieta",
-"Description" => "Aprašymas",
-"Description of the Event" => "Įvykio aprašymas",
-"Repeat" => "Kartoti",
-"Select weekdays" => "Pasirinkite savaitės dienas",
-"Select days" => "Pasirinkite dienas",
-"Select months" => "Pasirinkite mėnesius",
-"Select weeks" => "Pasirinkite savaites",
-"Interval" => "Intervalas",
-"End" => "Pabaiga",
-"create a new calendar" => "sukurti naują kalendorių",
-"Import a calendar file" => "Importuoti kalendoriaus failą",
-"Name of new calendar" => "Naujo kalendoriaus pavadinimas",
-"Import" => "Importuoti",
-"Close Dialog" => "Uždaryti",
-"Create a new event" => "Sukurti naują įvykį",
-"View an event" => "Peržiūrėti įvykį",
-"No categories selected" => "Nepasirinktos jokios katagorijos",
-"Timezone" => "Laiko juosta",
-"24h" => "24val",
-"12h" => "12val",
-"Users" => "Vartotojai",
-"select users" => "pasirinkti vartotojus",
-"Editable" => "Redaguojamas",
-"Groups" => "Grupės",
-"select groups" => "pasirinkti grupes",
-"make public" => "viešinti"
-);
diff --git a/apps/calendar/l10n/mk.php b/apps/calendar/l10n/mk.php
deleted file mode 100644
index 1a03101fe51..00000000000
--- a/apps/calendar/l10n/mk.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Не се најдени календари.",
-"No events found." => "Не се најдени настани.",
-"Wrong calendar" => "Погрешен календар",
-"New Timezone:" => "Нова временска зона:",
-"Timezone changed" => "Временската зона е променета",
-"Invalid request" => "Неправилно барање",
-"Calendar" => "Календар",
-"ddd" => "ддд",
-"ddd M/d" => "ддд М/д",
-"dddd M/d" => "дддд М/д",
-"MMMM yyyy" => "ММММ гггг",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "дддд, МММ д, гггг",
-"Birthday" => "Роденден",
-"Business" => "Деловно",
-"Call" => "Повикај",
-"Clients" => "Клиенти",
-"Deliverer" => "Доставувач",
-"Holidays" => "Празници",
-"Ideas" => "Идеи",
-"Journey" => "Патување",
-"Jubilee" => "Јубилеј",
-"Meeting" => "Состанок",
-"Other" => "Останато",
-"Personal" => "Лично",
-"Projects" => "Проекти",
-"Questions" => "Прашања",
-"Work" => "Работа",
-"unnamed" => "неименувано",
-"New Calendar" => "Нов календар",
-"Does not repeat" => "Не се повторува",
-"Daily" => "Дневно",
-"Weekly" => "Седмично",
-"Every Weekday" => "Секој работен ден",
-"Bi-Weekly" => "Дво-седмично",
-"Monthly" => "Месечно",
-"Yearly" => "Годишно",
-"never" => "никогаш",
-"by occurrences" => "по настан",
-"by date" => "по датум",
-"by monthday" => "по ден во месецот",
-"by weekday" => "по работен ден",
-"Monday" => "Понеделник",
-"Tuesday" => "Вторник",
-"Wednesday" => "Среда",
-"Thursday" => "Четврток",
-"Friday" => "Петок",
-"Saturday" => "Сабота",
-"Sunday" => "Недела",
-"events week of month" => "седмични настани од месец",
-"first" => "прв",
-"second" => "втор",
-"third" => "трет",
-"fourth" => "четврт",
-"fifth" => "пет",
-"last" => "последен",
-"January" => "Јануари",
-"February" => "Февруари",
-"March" => "Март",
-"April" => "Април",
-"May" => "Мај",
-"June" => "Јуни",
-"July" => "Јули",
-"August" => "Август",
-"September" => "Септември",
-"October" => "Октомври",
-"November" => "Ноември",
-"December" => "Декември",
-"by events date" => "по датумот на настанот",
-"by yearday(s)" => "по вчерашните",
-"by weeknumber(s)" => "по број на седмицата",
-"by day and month" => "по ден и месец",
-"Date" => "Датум",
-"Cal." => "Кал.",
-"All day" => "Цел ден",
-"Missing fields" => "Полиња кои недостасуваат",
-"Title" => "Наслов",
-"From Date" => "Од датум",
-"From Time" => "Од време",
-"To Date" => "До датум",
-"To Time" => "До време",
-"The event ends before it starts" => "Овој настан завршува пред за почне",
-"There was a database fail" => "Имаше проблем со базата",
-"Week" => "Седмица",
-"Month" => "Месец",
-"List" => "Листа",
-"Today" => "Денеска",
-"Your calendars" => "Ваши календари",
-"CalDav Link" => "Врска за CalDav",
-"Shared calendars" => "Споделени календари",
-"No shared calendars" => "Нема споделени календари",
-"Share Calendar" => "Сподели календар",
-"Download" => "Преземи",
-"Edit" => "Уреди",
-"Delete" => "Избриши",
-"shared with you by" => "Споделен со вас од",
-"New calendar" => "Нов календар",
-"Edit calendar" => "Уреди календар",
-"Displayname" => "Име за приказ",
-"Active" => "Активен",
-"Calendar color" => "Боја на календарот",
-"Save" => "Сними",
-"Submit" => "Прати",
-"Cancel" => "Откажи",
-"Edit an event" => "Уреди настан",
-"Export" => "Извези",
-"Eventinfo" => "Инфо за настан",
-"Repeating" => "Повторување",
-"Alarm" => "Аларм",
-"Attendees" => "Присутни",
-"Share" => "Сподели",
-"Title of the Event" => "Наслов на настанот",
-"Category" => "Категорија",
-"Separate categories with commas" => "Одвоете ги категориите со запирка",
-"Edit categories" => "Уреди категории",
-"All Day Event" => "Целодневен настан",
-"From" => "Од",
-"To" => "До",
-"Advanced options" => "Напредни опции",
-"Location" => "Локација",
-"Location of the Event" => "Локација на настанот",
-"Description" => "Опис",
-"Description of the Event" => "Опис на настанот",
-"Repeat" => "Повтори",
-"Advanced" => "Напредно",
-"Select weekdays" => "Избери работни денови",
-"Select days" => "Избери денови",
-"and the events day of year." => "и настаните ден од година.",
-"and the events day of month." => "и настаните ден од месец.",
-"Select months" => "Избери месеци",
-"Select weeks" => "Избери седмици",
-"and the events week of year." => "и настаните седмица од година.",
-"Interval" => "интервал",
-"End" => "Крај",
-"occurrences" => "повторувања",
-"create a new calendar" => "создади нов календар",
-"Import a calendar file" => "Внеси календар од датотека ",
-"Name of new calendar" => "Име на новиот календар",
-"Import" => "Увези",
-"Close Dialog" => "Затвори дијалог",
-"Create a new event" => "Создади нов настан",
-"View an event" => "Погледај настан",
-"No categories selected" => "Нема избрано категории",
-"of" => "од",
-"at" => "на",
-"Timezone" => "Временска зона",
-"24h" => "24ч",
-"12h" => "12ч",
-"Users" => "Корисници",
-"select users" => "избери корисници",
-"Editable" => "Изменливо",
-"Groups" => "Групи",
-"select groups" => "избери групи",
-"make public" => "направи јавно"
-);
diff --git a/apps/calendar/l10n/ms_MY.php b/apps/calendar/l10n/ms_MY.php
deleted file mode 100644
index 4be91a40194..00000000000
--- a/apps/calendar/l10n/ms_MY.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Tiada kalendar dijumpai.",
-"No events found." => "Tiada agenda dijumpai.",
-"Wrong calendar" => "Silap kalendar",
-"New Timezone:" => "Timezone Baru",
-"Timezone changed" => "Zon waktu diubah",
-"Invalid request" => "Permintaan tidak sah",
-"Calendar" => "Kalendar",
-"ddd" => "ddd",
-"ddd M/d" => "dd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyy",
-"Birthday" => "Hari lahir",
-"Business" => "Perniagaan",
-"Call" => "Panggilan",
-"Clients" => "Klien",
-"Deliverer" => "Penghantar",
-"Holidays" => "Cuti",
-"Ideas" => "Idea",
-"Journey" => "Perjalanan",
-"Jubilee" => "Jubli",
-"Meeting" => "Perjumpaan",
-"Other" => "Lain",
-"Personal" => "Peribadi",
-"Projects" => "Projek",
-"Questions" => "Soalan",
-"Work" => "Kerja",
-"unnamed" => "tiada nama",
-"New Calendar" => "Kalendar baru",
-"Does not repeat" => "Tidak berulang",
-"Daily" => "Harian",
-"Weekly" => "Mingguan",
-"Every Weekday" => "Setiap hari minggu",
-"Bi-Weekly" => "Dua kali seminggu",
-"Monthly" => "Bulanan",
-"Yearly" => "Tahunan",
-"never" => "jangan",
-"by occurrences" => "dari kekerapan",
-"by date" => "dari tarikh",
-"by monthday" => "dari haribulan",
-"by weekday" => "dari hari minggu",
-"Monday" => "Isnin",
-"Tuesday" => "Selasa",
-"Wednesday" => "Rabu",
-"Thursday" => "Khamis",
-"Friday" => "Jumaat",
-"Saturday" => "Sabtu",
-"Sunday" => "Ahad",
-"events week of month" => "event minggu dari bulan",
-"first" => "pertama",
-"second" => "kedua",
-"third" => "ketiga",
-"fourth" => "keempat",
-"fifth" => "kelima",
-"last" => "akhir",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Mac",
-"April" => "April",
-"May" => "Mei",
-"June" => "Jun",
-"July" => "Julai",
-"August" => "Ogos",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Disember",
-"by events date" => "dari tarikh event",
-"by yearday(s)" => "dari tahun",
-"by weeknumber(s)" => "dari nombor minggu",
-"by day and month" => "dari hari dan bulan",
-"Date" => "Tarikh",
-"Cal." => "Kalendar",
-"All day" => "Sepanjang hari",
-"Missing fields" => "Ruangan tertinggal",
-"Title" => "Tajuk",
-"From Date" => "Dari tarikh",
-"From Time" => "Masa Dari",
-"To Date" => "Sehingga kini",
-"To Time" => "Semasa",
-"The event ends before it starts" => "Peristiwa berakhir sebelum bermula",
-"There was a database fail" => "Terdapat kegagalan pada pengkalan data",
-"Week" => "Minggu",
-"Month" => "Bulan",
-"List" => "Senarai",
-"Today" => "Hari ini",
-"Your calendars" => "Kalendar anda",
-"CalDav Link" => "Pautan CalDav",
-"Shared calendars" => "Kalendar Kongsian",
-"No shared calendars" => "Tiada kalendar kongsian",
-"Share Calendar" => "Kongsi Kalendar",
-"Download" => "Muat turun",
-"Edit" => "Edit",
-"Delete" => "Hapus",
-"shared with you by" => "dikongsi dengan kamu oleh",
-"New calendar" => "Kalendar baru",
-"Edit calendar" => "Edit kalendar",
-"Displayname" => "Paparan nama",
-"Active" => "Aktif",
-"Calendar color" => "Warna kalendar",
-"Save" => "Simpan",
-"Submit" => "Hantar",
-"Cancel" => "Batal",
-"Edit an event" => "Edit agenda",
-"Export" => "Export",
-"Eventinfo" => "Maklumat agenda",
-"Repeating" => "Pengulangan",
-"Alarm" => "Penggera",
-"Attendees" => "Jemputan",
-"Share" => "Berkongsi",
-"Title of the Event" => "Tajuk agenda",
-"Category" => "kategori",
-"Separate categories with commas" => "Asingkan kategori dengan koma",
-"Edit categories" => "Sunting Kategori",
-"All Day Event" => "Agenda di sepanjang hari ",
-"From" => "Dari",
-"To" => "ke",
-"Advanced options" => "Pilihan maju",
-"Location" => "Lokasi",
-"Location of the Event" => "Lokasi agenda",
-"Description" => "Huraian",
-"Description of the Event" => "Huraian agenda",
-"Repeat" => "Ulang",
-"Advanced" => "Maju",
-"Select weekdays" => "Pilih hari minggu",
-"Select days" => "Pilih hari",
-"and the events day of year." => "dan hari event dalam tahun.",
-"and the events day of month." => "dan hari event dalam bulan.",
-"Select months" => "Pilih bulan",
-"Select weeks" => "Pilih minggu",
-"and the events week of year." => "dan event mingguan dalam setahun.",
-"Interval" => "Tempoh",
-"End" => "Tamat",
-"occurrences" => "Peristiwa",
-"create a new calendar" => "Cipta kalendar baru",
-"Import a calendar file" => "Import fail kalendar",
-"Name of new calendar" => "Nama kalendar baru",
-"Import" => "Import",
-"Close Dialog" => "Tutup dialog",
-"Create a new event" => "Buat agenda baru",
-"View an event" => "Papar peristiwa",
-"No categories selected" => "Tiada kategori dipilih",
-"of" => "dari",
-"at" => "di",
-"Timezone" => "Zon waktu",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Pengguna",
-"select users" => "Pilih pengguna",
-"Editable" => "Boleh disunting",
-"Groups" => "Kumpulan-kumpulan",
-"select groups" => "pilih kumpulan-kumpulan",
-"make public" => "jadikan tontonan awam"
-);
diff --git a/apps/calendar/l10n/nb_NO.php b/apps/calendar/l10n/nb_NO.php
deleted file mode 100644
index e4b859c7378..00000000000
--- a/apps/calendar/l10n/nb_NO.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Ingen kalendere funnet",
-"No events found." => "Ingen hendelser funnet",
-"Wrong calendar" => "Feil kalender",
-"New Timezone:" => "Ny tidssone:",
-"Timezone changed" => "Tidssone endret",
-"Invalid request" => "Ugyldig forespørsel",
-"Calendar" => "Kalender",
-"Birthday" => "Bursdag",
-"Business" => "Forretninger",
-"Call" => "Ring",
-"Clients" => "Kunder",
-"Holidays" => "Ferie",
-"Ideas" => "Ideér",
-"Journey" => "Reise",
-"Jubilee" => "Jubileum",
-"Meeting" => "Møte",
-"Other" => "Annet",
-"Personal" => "ersonlig",
-"Projects" => "Prosjekter",
-"Questions" => "Spørsmål",
-"Work" => "Arbeid",
-"unnamed" => "uten navn",
-"New Calendar" => "Ny kalender",
-"Does not repeat" => "Gjentas ikke",
-"Daily" => "Daglig",
-"Weekly" => "Ukentlig",
-"Every Weekday" => "Hver ukedag",
-"Bi-Weekly" => "Annenhver uke",
-"Monthly" => "Månedlig",
-"Yearly" => "Årlig",
-"never" => "aldri",
-"by occurrences" => "etter hyppighet",
-"by date" => "etter dato",
-"by monthday" => "etter dag i måned",
-"by weekday" => "etter ukedag",
-"Monday" => "Mandag",
-"Tuesday" => "Tirsdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lørdag",
-"Sunday" => "Søndag",
-"events week of month" => "begivenhetens uke denne måneden",
-"first" => "første",
-"second" => "andre",
-"third" => "tredje",
-"fourth" => "fjerde",
-"fifth" => "femte",
-"last" => "siste",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mars",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Desember",
-"by events date" => "etter hendelsenes dato",
-"by yearday(s)" => "etter dag i året",
-"by weeknumber(s)" => "etter ukenummer/-numre",
-"by day and month" => "etter dag og måned",
-"Date" => "Dato",
-"Cal." => "Kal.",
-"All day" => "Hele dagen ",
-"Missing fields" => "Manglende felt",
-"Title" => "Tittel",
-"From Date" => "Fra dato",
-"From Time" => "Fra tidspunkt",
-"To Date" => "Til dato",
-"To Time" => "Til tidspunkt",
-"The event ends before it starts" => "En hendelse kan ikke slutte før den har begynt.",
-"There was a database fail" => "Det oppstod en databasefeil.",
-"Week" => "Uke",
-"Month" => "ned",
-"List" => "Liste",
-"Today" => "I dag",
-"Your calendars" => "Dine kalendere",
-"CalDav Link" => "CalDav-lenke",
-"Shared calendars" => "Delte kalendere",
-"No shared calendars" => "Ingen delte kalendere",
-"Share Calendar" => "Del Kalender",
-"Download" => "Last ned",
-"Edit" => "Endre",
-"Delete" => "Slett",
-"shared with you by" => "delt med deg",
-"New calendar" => "Ny kalender",
-"Edit calendar" => "Rediger kalender",
-"Displayname" => "Visningsnavn",
-"Active" => "Aktiv",
-"Calendar color" => "Kalenderfarge",
-"Save" => "Lagre",
-"Submit" => "Lagre",
-"Cancel" => "Avbryt",
-"Edit an event" => "Rediger en hendelse",
-"Export" => "Eksporter",
-"Eventinfo" => "Hendelsesinformasjon",
-"Repeating" => "Gjentas",
-"Alarm" => "Alarm",
-"Attendees" => "Deltakere",
-"Share" => "Del",
-"Title of the Event" => "Hendelsestittel",
-"Category" => "Kategori",
-"Separate categories with commas" => "Separer kategorier med komma",
-"Edit categories" => "Rediger kategorier",
-"All Day Event" => "Hele dagen-hendelse",
-"From" => "Fra",
-"To" => "Til",
-"Advanced options" => "Avanserte innstillinger",
-"Location" => "Sted",
-"Location of the Event" => "Hendelsessted",
-"Description" => "Beskrivelse",
-"Description of the Event" => "Hendelesebeskrivelse",
-"Repeat" => "Gjenta",
-"Advanced" => "Avansert",
-"Select weekdays" => "Velg ukedager",
-"Select days" => "Velg dager",
-"and the events day of year." => "og hendelsenes dag i året.",
-"and the events day of month." => "og hendelsenes dag i måneden.",
-"Select months" => "Velg måneder",
-"Select weeks" => "Velg uker",
-"and the events week of year." => "og hendelsenes uke i året.",
-"Interval" => "Intervall",
-"End" => "Slutt",
-"occurrences" => "forekomster",
-"create a new calendar" => "Lag en ny kalender",
-"Import a calendar file" => "Importer en kalenderfil",
-"Name of new calendar" => "Navn på ny kalender:",
-"Import" => "Importer",
-"Close Dialog" => "Lukk dialog",
-"Create a new event" => "Opprett en ny hendelse",
-"View an event" => "Se på hendelse",
-"No categories selected" => "Ingen kategorier valgt",
-"Timezone" => "Tidssone",
-"24h" => "24 t",
-"12h" => "12 t",
-"Users" => "Brukere",
-"select users" => "valgte brukere",
-"Editable" => "Redigerbar",
-"Groups" => "Grupper",
-"select groups" => "velg grupper",
-"make public" => "gjør offentlig"
-);
diff --git a/apps/calendar/l10n/nl.php b/apps/calendar/l10n/nl.php
deleted file mode 100644
index bc0954abe29..00000000000
--- a/apps/calendar/l10n/nl.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Niet alle agenda's zijn volledig gecached",
-"Everything seems to be completely cached" => "Alles lijkt volledig gecached te zijn",
-"No calendars found." => "Geen kalenders gevonden.",
-"No events found." => "Geen gebeurtenissen gevonden.",
-"Wrong calendar" => "Verkeerde kalender",
-"The file contained either no events or all events are already saved in your calendar." => "Het bestand bevat geen gebeurtenissen of alle gebeurtenissen worden al in uw agenda bewaard.",
-"events has been saved in the new calendar" => "De gebeurtenissen worden in de nieuwe agenda bewaard",
-"Import failed" => "import is gefaald",
-"events has been saved in your calendar" => "de gebeurtenissen zijn in uw agenda opgeslagen ",
-"New Timezone:" => "Nieuwe tijdszone:",
-"Timezone changed" => "Tijdzone is veranderd",
-"Invalid request" => "Ongeldige aanvraag",
-"Calendar" => "Kalender",
-"ddd" => "ddd",
-"ddd M/d" => "ddd d.M",
-"dddd M/d" => "dddd d.M",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d[ MMM][ yyyy]{ '&#8212;' d MMM yyyy}",
-"dddd, MMM d, yyyy" => "dddd, d. MMM yyyy",
-"Birthday" => "Verjaardag",
-"Business" => "Zakelijk",
-"Call" => "Bellen",
-"Clients" => "Klanten",
-"Deliverer" => "Leverancier",
-"Holidays" => "Vakantie",
-"Ideas" => "Ideeën",
-"Journey" => "Reis",
-"Jubilee" => "Jubileum",
-"Meeting" => "Vergadering",
-"Other" => "Ander",
-"Personal" => "Persoonlijk",
-"Projects" => "Projecten",
-"Questions" => "Vragen",
-"Work" => "Werk",
-"by" => "door",
-"unnamed" => "onbekend",
-"New Calendar" => "Nieuwe Kalender",
-"Does not repeat" => "Wordt niet herhaald",
-"Daily" => "Dagelijks",
-"Weekly" => "Wekelijks",
-"Every Weekday" => "Elke weekdag",
-"Bi-Weekly" => "Tweewekelijks",
-"Monthly" => "Maandelijks",
-"Yearly" => "Jaarlijks",
-"never" => "nooit meer",
-"by occurrences" => "volgens gebeurtenissen",
-"by date" => "op datum",
-"by monthday" => "per dag van de maand",
-"by weekday" => "op weekdag",
-"Monday" => "Maandag",
-"Tuesday" => "Dinsdag",
-"Wednesday" => "Woensdag",
-"Thursday" => "Donderdag",
-"Friday" => "Vrijdag",
-"Saturday" => "Zaterdag",
-"Sunday" => "Zondag",
-"events week of month" => "gebeurtenissen week van maand",
-"first" => "eerste",
-"second" => "tweede",
-"third" => "derde",
-"fourth" => "vierde",
-"fifth" => "vijfde",
-"last" => "laatste",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Maart",
-"April" => "April",
-"May" => "Mei",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "Augustus",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "December",
-"by events date" => "volgens evenementsdatum",
-"by yearday(s)" => "volgens jaardag(en)",
-"by weeknumber(s)" => "volgens weeknummer(s)",
-"by day and month" => "per dag en maand",
-"Date" => "Datum",
-"Cal." => "Cal.",
-"Sun." => "Zon.",
-"Mon." => "Maa.",
-"Tue." => "Din.",
-"Wed." => "Woe.",
-"Thu." => "Don.",
-"Fri." => "Vrij.",
-"Sat." => "Zat.",
-"Jan." => "Jan.",
-"Feb." => "Feb.",
-"Mar." => "Maa.",
-"Apr." => "Apr.",
-"May." => "Mei.",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Aug.",
-"Sep." => "Sep.",
-"Oct." => "Okt.",
-"Nov." => "Nov.",
-"Dec." => "Dec.",
-"All day" => "Hele dag",
-"Missing fields" => "missende velden",
-"Title" => "Titel",
-"From Date" => "Begindatum",
-"From Time" => "Begintijd",
-"To Date" => "Einddatum",
-"To Time" => "Eindtijd",
-"The event ends before it starts" => "Het evenement eindigt voordat het begint",
-"There was a database fail" => "Er was een databasefout",
-"Week" => "Week",
-"Month" => "Maand",
-"List" => "Lijst",
-"Today" => "Vandaag",
-"Settings" => "Instellingen",
-"Your calendars" => "Je kalenders",
-"CalDav Link" => "CalDav Link",
-"Shared calendars" => "Gedeelde kalenders",
-"No shared calendars" => "Geen gedeelde kalenders",
-"Share Calendar" => "Deel kalender",
-"Download" => "Download",
-"Edit" => "Bewerken",
-"Delete" => "Verwijderen",
-"shared with you by" => "gedeeld met jou door",
-"New calendar" => "Nieuwe kalender",
-"Edit calendar" => "Bewerk kalender",
-"Displayname" => "Weergavenaam",
-"Active" => "Actief",
-"Calendar color" => "Kalender kleur",
-"Save" => "Opslaan",
-"Submit" => "Opslaan",
-"Cancel" => "Annuleren",
-"Edit an event" => "Bewerken van een afspraak",
-"Export" => "Exporteren",
-"Eventinfo" => "Geberurtenisinformatie",
-"Repeating" => "Herhalend",
-"Alarm" => "Alarm",
-"Attendees" => "Deelnemers",
-"Share" => "Delen",
-"Title of the Event" => "Titel van de afspraak",
-"Category" => "Categorie",
-"Separate categories with commas" => "Gescheiden door komma's",
-"Edit categories" => "Wijzig categorieën",
-"All Day Event" => "Hele dag",
-"From" => "Van",
-"To" => "Aan",
-"Advanced options" => "Geavanceerde opties",
-"Location" => "Locatie",
-"Location of the Event" => "Locatie van de afspraak",
-"Description" => "Beschrijving",
-"Description of the Event" => "Beschrijving van het evenement",
-"Repeat" => "Herhalen",
-"Advanced" => "Geavanceerd",
-"Select weekdays" => "Selecteer weekdagen",
-"Select days" => "Selecteer dagen",
-"and the events day of year." => "en de gebeurtenissen dag van het jaar",
-"and the events day of month." => "en de gebeurtenissen dag van de maand",
-"Select months" => "Selecteer maanden",
-"Select weeks" => "Selecteer weken",
-"and the events week of year." => "en de gebeurtenissen week van het jaar",
-"Interval" => "Interval",
-"End" => "Einde",
-"occurrences" => "gebeurtenissen",
-"create a new calendar" => "Maak een nieuw agenda",
-"Import a calendar file" => "Importeer een agenda bestand",
-"Please choose a calendar" => "Kies een agenda",
-"Name of new calendar" => "Naam van de nieuwe agenda",
-"Take an available name!" => "Kies een beschikbare naam!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Een agenda met deze naam bestaat al. Als u doorgaat, worden deze agenda's samengevoegd",
-"Import" => "Importeer",
-"Close Dialog" => "Sluit venster",
-"Create a new event" => "Maak een nieuwe afspraak",
-"View an event" => "Bekijk een gebeurtenis",
-"No categories selected" => "Geen categorieën geselecteerd",
-"of" => "van",
-"at" => "op",
-"General" => "Algemeen",
-"Timezone" => "Tijdzone",
-"Update timezone automatically" => "Werk de tijdzone automatisch bij",
-"Time format" => "Tijd formaat",
-"24h" => "24uur",
-"12h" => "12uur",
-"Start week on" => "Begin de week op",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Leeg cache voor repeterende gebeurtenissen",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "Agenda CalDAV synchronisatie adres",
-"more info" => "meer informatie",
-"Primary address (Kontact et al)" => "Primary adres (voor Kontact en dergelijke)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Alleen lezen iCalendar link(en)",
-"Users" => "Gebruikers",
-"select users" => "kies gebruikers",
-"Editable" => "Te wijzigen",
-"Groups" => "Groepen",
-"select groups" => "kies groep",
-"make public" => "maak publiek"
-);
diff --git a/apps/calendar/l10n/nn_NO.php b/apps/calendar/l10n/nn_NO.php
deleted file mode 100644
index 3330cc562bc..00000000000
--- a/apps/calendar/l10n/nn_NO.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Wrong calendar" => "Feil kalender",
-"New Timezone:" => "Ny tidssone:",
-"Timezone changed" => "Endra tidssone",
-"Invalid request" => "Ugyldig førespurnad",
-"Calendar" => "Kalender",
-"Birthday" => "Bursdag",
-"Business" => "Forretning",
-"Call" => "Telefonsamtale",
-"Clients" => "Klientar",
-"Deliverer" => "Forsending",
-"Holidays" => "Høgtid",
-"Ideas" => "Idear",
-"Journey" => "Reise",
-"Jubilee" => "Jubileum",
-"Meeting" => "Møte",
-"Other" => "Anna",
-"Personal" => "Personleg",
-"Projects" => "Prosjekt",
-"Questions" => "Spørsmål",
-"Work" => "Arbeid",
-"New Calendar" => "Ny kalender",
-"Does not repeat" => "Ikkje gjenta",
-"Daily" => "Kvar dag",
-"Weekly" => "Kvar veke",
-"Every Weekday" => "Kvar vekedag",
-"Bi-Weekly" => "Annakvar veke",
-"Monthly" => "Kvar månad",
-"Yearly" => "Kvart år",
-"never" => "aldri",
-"by occurrences" => "av førekomstar",
-"by date" => "av dato",
-"by monthday" => "av månadsdag",
-"by weekday" => "av vekedag",
-"Monday" => "Måndag",
-"Tuesday" => "Tysdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Laurdag",
-"Sunday" => "Søndag",
-"events week of month" => "hendingas veke av månad",
-"first" => "første",
-"second" => "andre",
-"third" => "tredje",
-"fourth" => "fjerde",
-"fifth" => "femte",
-"last" => "siste",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mars",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Desember",
-"by events date" => "av hendingsdato",
-"by yearday(s)" => "av årsdag(ar)",
-"by weeknumber(s)" => "av vekenummer",
-"by day and month" => "av dag og månad",
-"Date" => "Dato",
-"Cal." => "Kal.",
-"All day" => "Heile dagen",
-"Missing fields" => "Manglande felt",
-"Title" => "Tittel",
-"From Date" => "Frå dato",
-"From Time" => "Frå tid",
-"To Date" => "Til dato",
-"To Time" => "Til tid",
-"The event ends before it starts" => "Hendinga endar før den startar",
-"There was a database fail" => "Det oppstod ein databasefeil",
-"Week" => "Veke",
-"Month" => "Månad",
-"List" => "Liste",
-"Today" => "I dag",
-"CalDav Link" => "CalDav-lenkje",
-"Download" => "Last ned",
-"Edit" => "Endra",
-"Delete" => "Slett",
-"New calendar" => "Ny kalender",
-"Edit calendar" => "Endra kalendarar",
-"Displayname" => "Visingsnamn",
-"Active" => "Aktiv",
-"Calendar color" => "Kalenderfarge",
-"Save" => "Lagra",
-"Submit" => "Lagra",
-"Cancel" => "Avbryt",
-"Edit an event" => "Endra ein hending",
-"Export" => "Eksporter",
-"Title of the Event" => "Tittel på hendinga",
-"Category" => "Kategori",
-"All Day Event" => "Heildagshending",
-"From" => "Frå",
-"To" => "Til",
-"Advanced options" => "Avanserte alternativ",
-"Location" => "Stad",
-"Location of the Event" => "Stad for hendinga",
-"Description" => "Skildring",
-"Description of the Event" => "Skildring av hendinga",
-"Repeat" => "Gjenta",
-"Advanced" => "Avansert",
-"Select weekdays" => "Vel vekedagar",
-"Select days" => "Vel dagar",
-"and the events day of year." => "og hendingane dag for år.",
-"and the events day of month." => "og hendingane dag for månad.",
-"Select months" => "Vel månedar",
-"Select weeks" => "Vel veker",
-"and the events week of year." => "og hendingane veke av året.",
-"Interval" => "Intervall",
-"End" => "Ende",
-"occurrences" => "førekomstar",
-"create a new calendar" => "Lag ny kalender",
-"Import a calendar file" => "Importer ei kalenderfil",
-"Name of new calendar" => "Namn for ny kalender",
-"Import" => "Importer",
-"Close Dialog" => "Steng dialog",
-"Create a new event" => "Opprett ei ny hending",
-"Timezone" => "Tidssone",
-"24h" => "24t",
-"12h" => "12t"
-);
diff --git a/apps/calendar/l10n/pl.php b/apps/calendar/l10n/pl.php
deleted file mode 100644
index 8fd1c3c2b4b..00000000000
--- a/apps/calendar/l10n/pl.php
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Brak kalendarzy",
-"No events found." => "Brak wydzarzeń",
-"Wrong calendar" => "Nieprawidłowy kalendarz",
-"Import failed" => "Import nieudany",
-"events has been saved in your calendar" => "zdarzenie zostało zapisane w twoim kalendarzu",
-"New Timezone:" => "Nowa strefa czasowa:",
-"Timezone changed" => "Zmieniono strefę czasową",
-"Invalid request" => "Nieprawidłowe żądanie",
-"Calendar" => "Kalendarz",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM rrrr",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
-"Birthday" => "Urodziny",
-"Business" => "Interesy",
-"Call" => "Rozmowy",
-"Clients" => "Klienci",
-"Deliverer" => "Dostawcy",
-"Holidays" => "Święta",
-"Ideas" => "Pomysły",
-"Journey" => "Podróże",
-"Jubilee" => "Jubileusze",
-"Meeting" => "Spotkania",
-"Other" => "Inne",
-"Personal" => "Osobiste",
-"Projects" => "Projekty",
-"Questions" => "Pytania",
-"Work" => "Zawodowe",
-"by" => "przez",
-"unnamed" => "nienazwany",
-"New Calendar" => "Nowy kalendarz",
-"Does not repeat" => "Brak",
-"Daily" => "Codziennie",
-"Weekly" => "Tygodniowo",
-"Every Weekday" => "Każdego dnia tygodnia",
-"Bi-Weekly" => "Dwa razy w tygodniu",
-"Monthly" => "Miesięcznie",
-"Yearly" => "Rocznie",
-"never" => "nigdy",
-"by occurrences" => "przez wydarzenia",
-"by date" => "po dacie",
-"by monthday" => "miesięcznie",
-"by weekday" => "tygodniowo",
-"Monday" => "Poniedziałek",
-"Tuesday" => "Wtorek",
-"Wednesday" => "Środa",
-"Thursday" => "Czwartek",
-"Friday" => "Piątek",
-"Saturday" => "Sobota",
-"Sunday" => "Niedziela",
-"events week of month" => "wydarzenia miesiąca",
-"first" => "pierwszy",
-"second" => "drugi",
-"third" => "trzeci",
-"fourth" => "czwarty",
-"fifth" => "piąty",
-"last" => "ostatni",
-"January" => "Styczeń",
-"February" => "Luty",
-"March" => "Marzec",
-"April" => "Kwiecień",
-"May" => "Maj",
-"June" => "Czerwiec",
-"July" => "Lipiec",
-"August" => "Sierpień",
-"September" => "Wrzesień",
-"October" => "Październik",
-"November" => "Listopad",
-"December" => "Grudzień",
-"by events date" => "po datach wydarzeń",
-"by yearday(s)" => "po dniach roku",
-"by weeknumber(s)" => "po tygodniach",
-"by day and month" => "przez dzień i miesiąc",
-"Date" => "Data",
-"Cal." => "Kal.",
-"Sun." => "N.",
-"Mon." => "Pn.",
-"Tue." => "Wt.",
-"Wed." => "Śr.",
-"Thu." => "Cz.",
-"Fri." => "Pt.",
-"Sat." => "S.",
-"Jan." => "Sty.",
-"Feb." => "Lut.",
-"Mar." => "Mar.",
-"Apr." => "Kwi.",
-"May." => "Maj.",
-"Jun." => "Cze.",
-"Jul." => "Lip.",
-"Aug." => "Sie.",
-"Sep." => "Wrz.",
-"Oct." => "Paź.",
-"Nov." => "Lis.",
-"Dec." => "Gru.",
-"All day" => "Cały dzień",
-"Missing fields" => "Brakujące pola",
-"Title" => "Nazwa",
-"From Date" => "Od daty",
-"From Time" => "Od czasu",
-"To Date" => "Do daty",
-"To Time" => "Do czasu",
-"The event ends before it starts" => "Wydarzenie kończy się przed rozpoczęciem",
-"There was a database fail" => "Awaria bazy danych",
-"Week" => "Tydzień",
-"Month" => "Miesiąc",
-"List" => "Lista",
-"Today" => "Dzisiaj",
-"Your calendars" => "Twoje kalendarze",
-"CalDav Link" => "Wyświetla odnośnik CalDAV",
-"Shared calendars" => "Współdzielone kalendarze",
-"No shared calendars" => "Brak współdzielonych kalendarzy",
-"Share Calendar" => "Współdziel kalendarz",
-"Download" => "Pobiera kalendarz",
-"Edit" => "Edytuje kalendarz",
-"Delete" => "Usuwa kalendarz",
-"shared with you by" => "współdzielisz z",
-"New calendar" => "Nowy kalendarz",
-"Edit calendar" => "Edytowanie kalendarza",
-"Displayname" => "Wyświetlana nazwa",
-"Active" => "Aktywny",
-"Calendar color" => "Kolor",
-"Save" => "Zapisz",
-"Submit" => "Prześlij",
-"Cancel" => "Anuluj",
-"Edit an event" => "Edytowanie wydarzenia",
-"Export" => "Wyeksportuj",
-"Eventinfo" => "Informacja o wydarzeniach",
-"Repeating" => "Powtarzanie",
-"Alarm" => "Alarm",
-"Attendees" => "Uczestnicy",
-"Share" => "Współdziel",
-"Title of the Event" => "Nazwa wydarzenia",
-"Category" => "Kategoria",
-"Separate categories with commas" => "Oddziel kategorie przecinkami",
-"Edit categories" => "Edytuj kategorie",
-"All Day Event" => "Wydarzenie całodniowe",
-"From" => "Od",
-"To" => "Do",
-"Advanced options" => "Opcje zaawansowane",
-"Location" => "Lokalizacja",
-"Location of the Event" => "Lokalizacja wydarzenia",
-"Description" => "Opis",
-"Description of the Event" => "Opis wydarzenia",
-"Repeat" => "Powtarzanie",
-"Advanced" => "Zaawansowane",
-"Select weekdays" => "Wybierz dni powszechne",
-"Select days" => "Wybierz dni",
-"and the events day of year." => "oraz wydarzenia roku",
-"and the events day of month." => "oraz wydarzenia miesiąca",
-"Select months" => "Wybierz miesiące",
-"Select weeks" => "Wybierz tygodnie",
-"and the events week of year." => "oraz wydarzenia roku.",
-"Interval" => "Interwał",
-"End" => "Koniec",
-"occurrences" => "wystąpienia",
-"create a new calendar" => "stwórz nowy kalendarz",
-"Import a calendar file" => "Zaimportuj plik kalendarza",
-"Please choose a calendar" => "Proszę wybierz kalendarz",
-"Name of new calendar" => "Nazwa kalendarza",
-"Import" => "Import",
-"Close Dialog" => "Zamknij okno",
-"Create a new event" => "Tworzenie nowego wydarzenia",
-"View an event" => "Zobacz wydarzenie",
-"No categories selected" => "nie zaznaczono kategorii",
-"of" => "z",
-"at" => "w",
-"Timezone" => "Strefa czasowa",
-"24h" => "24h",
-"12h" => "12h",
-"more info" => "więcej informacji",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Odczytać tylko linki iCalendar",
-"Users" => "Użytkownicy",
-"select users" => "wybierz użytkowników",
-"Editable" => "Edytowalne",
-"Groups" => "Grupy",
-"select groups" => "wybierz grupy",
-"make public" => "uczyń publicznym"
-);
diff --git a/apps/calendar/l10n/pt_BR.php b/apps/calendar/l10n/pt_BR.php
deleted file mode 100644
index b636c19bfe7..00000000000
--- a/apps/calendar/l10n/pt_BR.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Nenhum calendário encontrado.",
-"No events found." => "Nenhum evento encontrado.",
-"Wrong calendar" => "Calendário incorreto",
-"New Timezone:" => "Novo fuso horário",
-"Timezone changed" => "Fuso horário alterado",
-"Invalid request" => "Pedido inválido",
-"Calendar" => "Calendário",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Aniversário",
-"Business" => "Negócio",
-"Call" => "Chamada",
-"Clients" => "Clientes",
-"Deliverer" => "Entrega",
-"Holidays" => "Feriados",
-"Ideas" => "Idéias",
-"Journey" => "Jornada",
-"Jubilee" => "Jubileu",
-"Meeting" => "Reunião",
-"Other" => "Outros",
-"Personal" => "Pessoal",
-"Projects" => "Projetos",
-"Questions" => "Perguntas",
-"Work" => "Trabalho",
-"unnamed" => "sem nome",
-"New Calendar" => "Novo Calendário",
-"Does not repeat" => "Não repetir",
-"Daily" => "Diariamente",
-"Weekly" => "Semanal",
-"Every Weekday" => "Cada dia da semana",
-"Bi-Weekly" => "De duas em duas semanas",
-"Monthly" => "Mensal",
-"Yearly" => "Anual",
-"never" => "nunca",
-"by occurrences" => "por ocorrências",
-"by date" => "por data",
-"by monthday" => "por dia do mês",
-"by weekday" => "por dia da semana",
-"Monday" => "Segunda-feira",
-"Tuesday" => "Terça-feira",
-"Wednesday" => "Quarta-feira",
-"Thursday" => "Quinta-feira",
-"Friday" => "Sexta-feira",
-"Saturday" => "Sábado",
-"Sunday" => "Domingo",
-"events week of month" => "semana do evento no mês",
-"first" => "primeiro",
-"second" => "segundo",
-"third" => "terceiro",
-"fourth" => "quarto",
-"fifth" => "quinto",
-"last" => "último",
-"January" => "Janeiro",
-"February" => "Fevereiro",
-"March" => "Março",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Junho",
-"July" => "Julho",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Dezembro",
-"by events date" => "eventos por data",
-"by yearday(s)" => "por dia(s) do ano",
-"by weeknumber(s)" => "por número(s) da semana",
-"by day and month" => "por dia e mês",
-"Date" => "Data",
-"Cal." => "Cal.",
-"All day" => "Todo o dia",
-"Missing fields" => "Campos incompletos",
-"Title" => "Título",
-"From Date" => "Desde a Data",
-"From Time" => "Desde a Hora",
-"To Date" => "Até a Data",
-"To Time" => "Até a Hora",
-"The event ends before it starts" => "O evento termina antes de começar",
-"There was a database fail" => "Houve uma falha de banco de dados",
-"Week" => "Semana",
-"Month" => "Mês",
-"List" => "Lista",
-"Today" => "Hoje",
-"Your calendars" => "Meus Calendários",
-"CalDav Link" => "Link para CalDav",
-"Shared calendars" => "Calendários Compartilhados",
-"No shared calendars" => "Nenhum Calendário Compartilhado",
-"Share Calendar" => "Compartilhar Calendário",
-"Download" => "Baixar",
-"Edit" => "Editar",
-"Delete" => "Excluir",
-"shared with you by" => "compartilhado com você por",
-"New calendar" => "Novo calendário",
-"Edit calendar" => "Editar calendário",
-"Displayname" => "Mostrar Nome",
-"Active" => "Ativo",
-"Calendar color" => "Cor do Calendário",
-"Save" => "Salvar",
-"Submit" => "Submeter",
-"Cancel" => "Cancelar",
-"Edit an event" => "Editar um evento",
-"Export" => "Exportar",
-"Eventinfo" => "Info de Evento",
-"Repeating" => "Repetindo",
-"Alarm" => "Alarme",
-"Attendees" => "Participantes",
-"Share" => "Compartilhar",
-"Title of the Event" => "Título do evento",
-"Category" => "Categoria",
-"Separate categories with commas" => "Separe as categorias por vírgulas",
-"Edit categories" => "Editar categorias",
-"All Day Event" => "Evento de dia inteiro",
-"From" => "De",
-"To" => "Para",
-"Advanced options" => "Opções avançadas",
-"Location" => "Local",
-"Location of the Event" => "Local do evento",
-"Description" => "Descrição",
-"Description of the Event" => "Descrição do Evento",
-"Repeat" => "Repetir",
-"Advanced" => "Avançado",
-"Select weekdays" => "Selecionar dias da semana",
-"Select days" => "Selecionar dias",
-"and the events day of year." => "e o dia do evento no ano.",
-"and the events day of month." => "e o dia do evento no mês.",
-"Select months" => "Selecionar meses",
-"Select weeks" => "Selecionar semanas",
-"and the events week of year." => "e a semana do evento no ano.",
-"Interval" => "Intervalo",
-"End" => "Final",
-"occurrences" => "ocorrências",
-"create a new calendar" => "criar um novo calendário",
-"Import a calendar file" => "Importar um arquivo de calendário",
-"Name of new calendar" => "Nome do novo calendário",
-"Import" => "Importar",
-"Close Dialog" => "Fechar caixa de diálogo",
-"Create a new event" => "Criar um novo evento",
-"View an event" => "Visualizar evento",
-"No categories selected" => "Nenhuma categoria selecionada",
-"of" => "de",
-"at" => "para",
-"Timezone" => "Fuso horário",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Usuários",
-"select users" => "Selecione usuários",
-"Editable" => "Editável",
-"Groups" => "Grupos",
-"select groups" => "Selecione grupos",
-"make public" => "Tornar público"
-);
diff --git a/apps/calendar/l10n/pt_PT.php b/apps/calendar/l10n/pt_PT.php
deleted file mode 100644
index d5ead9fd43f..00000000000
--- a/apps/calendar/l10n/pt_PT.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Nem todos os calendários estão completamente pré-carregados",
-"Everything seems to be completely cached" => "Parece que tudo está completamente pré-carregado",
-"No calendars found." => "Nenhum calendário encontrado.",
-"No events found." => "Nenhum evento encontrado.",
-"Wrong calendar" => "Calendário errado",
-"The file contained either no events or all events are already saved in your calendar." => "O ficheiro não continha nenhuns eventos ou então todos os eventos já estavam carregados no seu calendário",
-"events has been saved in the new calendar" => "Os eventos foram guardados no novo calendário",
-"Import failed" => "Falha na importação",
-"events has been saved in your calendar" => "Os eventos foram guardados no seu calendário",
-"New Timezone:" => "Nova zona horária",
-"Timezone changed" => "Zona horária alterada",
-"Invalid request" => "Pedido inválido",
-"Calendar" => "Calendário",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM aaaa",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, aaaa",
-"Birthday" => "Dia de anos",
-"Business" => "Negócio",
-"Call" => "Telefonar",
-"Clients" => "Clientes",
-"Deliverer" => "Entregar",
-"Holidays" => "Férias",
-"Ideas" => "Ideias",
-"Journey" => "Jornada",
-"Jubilee" => "Jublieu",
-"Meeting" => "Encontro",
-"Other" => "Outro",
-"Personal" => "Pessoal",
-"Projects" => "Projetos",
-"Questions" => "Perguntas",
-"Work" => "Trabalho",
-"by" => "por",
-"unnamed" => "não definido",
-"New Calendar" => "Novo calendário",
-"Does not repeat" => "Não repete",
-"Daily" => "Diário",
-"Weekly" => "Semanal",
-"Every Weekday" => "Todos os dias da semana",
-"Bi-Weekly" => "Bi-semanal",
-"Monthly" => "Mensal",
-"Yearly" => "Anual",
-"never" => "nunca",
-"by occurrences" => "por ocorrências",
-"by date" => "por data",
-"by monthday" => "por dia do mês",
-"by weekday" => "por dia da semana",
-"Monday" => "Segunda",
-"Tuesday" => "Terça",
-"Wednesday" => "Quarta",
-"Thursday" => "Quinta",
-"Friday" => "Sexta",
-"Saturday" => "Sábado",
-"Sunday" => "Domingo",
-"events week of month" => "Eventos da semana do mês",
-"first" => "primeiro",
-"second" => "segundo",
-"third" => "terçeiro",
-"fourth" => "quarto",
-"fifth" => "quinto",
-"last" => "último",
-"January" => "Janeiro",
-"February" => "Fevereiro",
-"March" => "Março",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Junho",
-"July" => "Julho",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Dezembro",
-"by events date" => "por data de evento",
-"by yearday(s)" => "por dia(s) do ano",
-"by weeknumber(s)" => "por número(s) da semana",
-"by day and month" => "por dia e mês",
-"Date" => "Data",
-"Cal." => "Cal.",
-"Sun." => "Dom.",
-"Mon." => "Seg.",
-"Tue." => "ter.",
-"Wed." => "Qua.",
-"Thu." => "Qui.",
-"Fri." => "Sex.",
-"Sat." => "Sáb.",
-"Jan." => "Jan.",
-"Feb." => "Fev,",
-"Mar." => "Mar.",
-"Apr." => "Abr.",
-"May." => "Mai.",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Ago.",
-"Sep." => "Set.",
-"Oct." => "Out.",
-"Nov." => "Nov.",
-"Dec." => "Dez.",
-"All day" => "Todo o dia",
-"Missing fields" => "Falta campos",
-"Title" => "Título",
-"From Date" => "Da data",
-"From Time" => "Da hora",
-"To Date" => "Para data",
-"To Time" => "Para hora",
-"The event ends before it starts" => "O evento acaba antes de começar",
-"There was a database fail" => "Houve uma falha de base de dados",
-"Week" => "Semana",
-"Month" => "Mês",
-"List" => "Lista",
-"Today" => "Hoje",
-"Settings" => "Configurações",
-"Your calendars" => "Os seus calendários",
-"CalDav Link" => "Endereço CalDav",
-"Shared calendars" => "Calendários partilhados",
-"No shared calendars" => "Nenhum calendário partilhado",
-"Share Calendar" => "Partilhar calendário",
-"Download" => "Transferir",
-"Edit" => "Editar",
-"Delete" => "Apagar",
-"shared with you by" => "Partilhado consigo por",
-"New calendar" => "Novo calendário",
-"Edit calendar" => "Editar calendário",
-"Displayname" => "Nome de exibição",
-"Active" => "Ativo",
-"Calendar color" => "Cor do calendário",
-"Save" => "Guardar",
-"Submit" => "Submeter",
-"Cancel" => "Cancelar",
-"Edit an event" => "Editar um evento",
-"Export" => "Exportar",
-"Eventinfo" => "Informação do evento",
-"Repeating" => "Repetição",
-"Alarm" => "Alarme",
-"Attendees" => "Participantes",
-"Share" => "Partilhar",
-"Title of the Event" => "Título do evento",
-"Category" => "Categoria",
-"Separate categories with commas" => "Separe categorias por virgulas",
-"Edit categories" => "Editar categorias",
-"All Day Event" => "Evento de dia inteiro",
-"From" => "De",
-"To" => "Para",
-"Advanced options" => "Opções avançadas",
-"Location" => "Localização",
-"Location of the Event" => "Localização do evento",
-"Description" => "Descrição",
-"Description of the Event" => "Descrição do evento",
-"Repeat" => "Repetir",
-"Advanced" => "Avançado",
-"Select weekdays" => "Seleciona os dias da semana",
-"Select days" => "Seleciona os dias",
-"and the events day of year." => "e o dia de eventos do ano.",
-"and the events day of month." => "e o dia de eventos do mês.",
-"Select months" => "Seleciona os meses",
-"Select weeks" => "Seleciona as semanas",
-"and the events week of year." => "e a semana de eventos do ano.",
-"Interval" => "Intervalo",
-"End" => "Fim",
-"occurrences" => "ocorrências",
-"create a new calendar" => "criar novo calendário",
-"Import a calendar file" => "Importar um ficheiro de calendário",
-"Please choose a calendar" => "Escolha um calendário por favor",
-"Name of new calendar" => "Nome do novo calendário",
-"Take an available name!" => "Escolha um nome disponível!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Já existe um Calendário com esse nome. Se mesmo assim continuar, esses calendários serão fundidos.",
-"Import" => "Importar",
-"Close Dialog" => "Fechar diálogo",
-"Create a new event" => "Criar novo evento",
-"View an event" => "Ver um evento",
-"No categories selected" => "Nenhuma categoria seleccionada",
-"of" => "de",
-"at" => "em",
-"General" => "Geral",
-"Timezone" => "Zona horária",
-"Update timezone automatically" => "Actualizar automaticamente o fuso horário",
-"Time format" => "Formato da hora",
-"24h" => "24h",
-"12h" => "12h",
-"Start week on" => "Começar semana em",
-"Cache" => "Memória de pré-carregamento",
-"Clear cache for repeating events" => "Limpar a memória de pré carregamento para eventos recorrentes",
-"URLs" => "Endereço(s) web",
-"Calendar CalDAV syncing addresses" => "Endereços de sincronização de calendários CalDAV",
-"more info" => "mais informação",
-"Primary address (Kontact et al)" => "Endereço principal (contactos et al.)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Ligaç(ão/ões) só de leitura do iCalendar",
-"Users" => "Utilizadores",
-"select users" => "Selecione utilizadores",
-"Editable" => "Editavel",
-"Groups" => "Grupos",
-"select groups" => "Selecione grupos",
-"make public" => "Tornar público"
-);
diff --git a/apps/calendar/l10n/ro.php b/apps/calendar/l10n/ro.php
deleted file mode 100644
index 528d9ae108f..00000000000
--- a/apps/calendar/l10n/ro.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Nici un calendar găsit.",
-"No events found." => "Nici un eveniment găsit.",
-"Wrong calendar" => "Calendar greșit",
-"New Timezone:" => "Fus orar nou:",
-"Timezone changed" => "Fus orar schimbat",
-"Invalid request" => "Cerere eronată",
-"Calendar" => "Calendar",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "LLL z[aaaa]{'&#8212;'[LLL] z aaaa}",
-"Birthday" => "Zi de naștere",
-"Business" => "Afaceri",
-"Call" => "Sună",
-"Clients" => "Clienți",
-"Deliverer" => "Curier",
-"Holidays" => "Sărbători",
-"Ideas" => "Idei",
-"Journey" => "Călătorie",
-"Jubilee" => "Aniversare",
-"Meeting" => "Întâlnire",
-"Other" => "Altele",
-"Personal" => "Personal",
-"Projects" => "Proiecte",
-"Questions" => "Întrebări",
-"Work" => "Servici",
-"unnamed" => "fără nume",
-"New Calendar" => "Calendar nou",
-"Does not repeat" => "Nerepetabil",
-"Daily" => "Zilnic",
-"Weekly" => "Săptămânal",
-"Every Weekday" => "În fiecare zii a săptămânii",
-"Bi-Weekly" => "La fiecare două săptămâni",
-"Monthly" => "Lunar",
-"Yearly" => "Anual",
-"never" => "niciodată",
-"by occurrences" => "după repetiție",
-"by date" => "după dată",
-"by monthday" => "după ziua lunii",
-"by weekday" => "după ziua săptămânii",
-"Monday" => "Luni",
-"Tuesday" => "Marți",
-"Wednesday" => "Miercuri",
-"Thursday" => "Joi",
-"Friday" => "Vineri",
-"Saturday" => "Sâmbătă",
-"Sunday" => "Duminică",
-"events week of month" => "evenimentele săptămânii din luna",
-"first" => "primul",
-"second" => "al doilea",
-"third" => "al treilea",
-"fourth" => "al patrulea",
-"fifth" => "al cincilea",
-"last" => "ultimul",
-"January" => "Ianuarie",
-"February" => "Februarie",
-"March" => "Martie",
-"April" => "Aprilie",
-"May" => "Mai",
-"June" => "Iunie",
-"July" => "Iulie",
-"August" => "August",
-"September" => "Septembrie",
-"October" => "Octombrie",
-"November" => "Noiembrie",
-"December" => "Decembrie",
-"by events date" => "după data evenimentului",
-"by yearday(s)" => "după ziua(zilele) anului",
-"by weeknumber(s)" => "după numărul săptămânii",
-"by day and month" => "după zi și lună",
-"Date" => "Data",
-"Cal." => "Cal.",
-"All day" => "Toată ziua",
-"Missing fields" => "Câmpuri lipsă",
-"Title" => "Titlu",
-"From Date" => "Începând cu",
-"From Time" => "De la",
-"To Date" => "Până pe",
-"To Time" => "La",
-"The event ends before it starts" => "Evenimentul se termină înainte să înceapă",
-"There was a database fail" => "A avut loc o eroare a bazei de date",
-"Week" => "Săptămâna",
-"Month" => "Luna",
-"List" => "Listă",
-"Today" => "Astăzi",
-"Your calendars" => "Calendarele tale",
-"CalDav Link" => "Legătură CalDav",
-"Shared calendars" => "Calendare partajate",
-"No shared calendars" => "Nici un calendar partajat",
-"Share Calendar" => "Partajați calendarul",
-"Download" => "Descarcă",
-"Edit" => "Modifică",
-"Delete" => "Șterge",
-"shared with you by" => "Partajat cu tine de",
-"New calendar" => "Calendar nou",
-"Edit calendar" => "Modifică calendarul",
-"Displayname" => "Nume afișat",
-"Active" => "Activ",
-"Calendar color" => "Culoarea calendarului",
-"Save" => "Salveză",
-"Submit" => "Trimite",
-"Cancel" => "Anulează",
-"Edit an event" => "Modifică un eveniment",
-"Export" => "Exportă",
-"Eventinfo" => "Informații despre eveniment",
-"Repeating" => "Ciclic",
-"Alarm" => "Alarmă",
-"Attendees" => "Participanți",
-"Share" => "Partajează",
-"Title of the Event" => "Numele evenimentului",
-"Category" => "Categorie",
-"Separate categories with commas" => "Separă categoriile prin virgule",
-"Edit categories" => "Editează categorii",
-"All Day Event" => "Toată ziua",
-"From" => "De la",
-"To" => "Către",
-"Advanced options" => "Opțiuni avansate",
-"Location" => "Locație",
-"Location of the Event" => "Locația evenimentului",
-"Description" => "Descriere",
-"Description of the Event" => "Descrierea evenimentului",
-"Repeat" => "Repetă",
-"Advanced" => "Avansat",
-"Select weekdays" => "Selectează zilele săptămânii",
-"Select days" => "Selectează zilele",
-"and the events day of year." => "și evenimentele de zi cu zi ale anului.",
-"and the events day of month." => "și evenimentele de zi cu zi ale lunii.",
-"Select months" => "Selectează lunile",
-"Select weeks" => "Selectează săptămânile",
-"and the events week of year." => "și evenimentele săptămânale ale anului.",
-"Interval" => "Interval",
-"End" => "Sfârșit",
-"occurrences" => "repetiții",
-"create a new calendar" => "crează un calendar nou",
-"Import a calendar file" => "Importă un calendar",
-"Name of new calendar" => "Numele noului calendar",
-"Import" => "Importă",
-"Close Dialog" => "Închide",
-"Create a new event" => "Crează un eveniment nou",
-"View an event" => "Vizualizează un eveniment",
-"No categories selected" => "Nici o categorie selectată",
-"of" => "din",
-"at" => "la",
-"Timezone" => "Fus orar",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Utilizatori",
-"select users" => "utilizatori selectați",
-"Editable" => "Editabil",
-"Groups" => "Grupuri",
-"select groups" => "grupuri selectate",
-"make public" => "fă public"
-);
diff --git a/apps/calendar/l10n/ru.php b/apps/calendar/l10n/ru.php
deleted file mode 100644
index 7535a2868bc..00000000000
--- a/apps/calendar/l10n/ru.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Не все календари полностью кешированы",
-"Everything seems to be completely cached" => "Все, вроде бы, закешировано",
-"No calendars found." => "Календари не найдены.",
-"No events found." => "События не найдены.",
-"Wrong calendar" => "Неверный календарь",
-"The file contained either no events or all events are already saved in your calendar." => "Файл либо не собержит событий, либо все события уже есть в календаре",
-"events has been saved in the new calendar" => "события были сохранены в новый календарь",
-"Import failed" => "Ошибка импорта",
-"events has been saved in your calendar" => "события были сохранены в вашем календаре",
-"New Timezone:" => "Новый часовой пояс:",
-"Timezone changed" => "Часовой пояс изменён",
-"Invalid request" => "Неверный запрос",
-"Calendar" => "Календарь",
-"ddd" => "ддд",
-"ddd M/d" => "ддд М/д",
-"dddd M/d" => "дддд М/д",
-"MMMM yyyy" => "ММММ гггг",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "дддд, МММ д, гггг",
-"Birthday" => "День рождения",
-"Business" => "Бизнес",
-"Call" => "Звонить",
-"Clients" => "Клиенты",
-"Deliverer" => "Посыльный",
-"Holidays" => "Праздники",
-"Ideas" => "Идеи",
-"Journey" => "Поездка",
-"Jubilee" => "Юбилей",
-"Meeting" => "Встреча",
-"Other" => "Другое",
-"Personal" => "Личное",
-"Projects" => "Проекты",
-"Questions" => "Вопросы",
-"Work" => "Работа",
-"by" => "до свидания",
-"unnamed" => "без имени",
-"New Calendar" => "Новый Календарь",
-"Does not repeat" => "Не повторяется",
-"Daily" => "Ежедневно",
-"Weekly" => "Еженедельно",
-"Every Weekday" => "По будням",
-"Bi-Weekly" => "Каждые две недели",
-"Monthly" => "Каждый месяц",
-"Yearly" => "Каждый год",
-"never" => "никогда",
-"by occurrences" => "по числу повторений",
-"by date" => "по дате",
-"by monthday" => "по дню месяца",
-"by weekday" => "по дню недели",
-"Monday" => "Понедельник",
-"Tuesday" => "Вторник",
-"Wednesday" => "Среда",
-"Thursday" => "Четверг",
-"Friday" => "Пятница",
-"Saturday" => "Суббота",
-"Sunday" => "Воскресенье",
-"events week of month" => "неделя месяца",
-"first" => "первая",
-"second" => "вторая",
-"third" => "третья",
-"fourth" => "червётрая",
-"fifth" => "пятая",
-"last" => "последняя",
-"January" => "Январь",
-"February" => "Февраль",
-"March" => "Март",
-"April" => "Апрель",
-"May" => "Май",
-"June" => "Июнь",
-"July" => "Июль",
-"August" => "Август",
-"September" => "Сентябрь",
-"October" => "Октябрь",
-"November" => "Ноябрь",
-"December" => "Декабрь",
-"by events date" => "по дате событий",
-"by yearday(s)" => "по дням недели",
-"by weeknumber(s)" => "по номерам недели",
-"by day and month" => "по дню и месяцу",
-"Date" => "Дата",
-"Cal." => "Кал.",
-"Sun." => "Вс.",
-"Mon." => "Пн.",
-"Tue." => "Вт.",
-"Wed." => "Ср.",
-"Thu." => "Чт.",
-"Fri." => "Пт.",
-"Sat." => "Сб.",
-"Jan." => "Янв.",
-"Feb." => "Фев.",
-"Mar." => "Мар.",
-"Apr." => "Апр.",
-"May." => "Май.",
-"Jun." => "Июн.",
-"Jul." => "Июл.",
-"Aug." => "Авг.",
-"Sep." => "Сен.",
-"Oct." => "Окт.",
-"Nov." => "Ноя.",
-"Dec." => "Дек.",
-"All day" => "Весь день",
-"Missing fields" => "Незаполненные поля",
-"Title" => "Название",
-"From Date" => "Дата начала",
-"From Time" => "Время начала",
-"To Date" => "Дата окончания",
-"To Time" => "Время окончания",
-"The event ends before it starts" => "Окончание события раньше, чем его начало",
-"There was a database fail" => "Ошибка базы данных",
-"Week" => "Неделя",
-"Month" => "Месяц",
-"List" => "Список",
-"Today" => "Сегодня",
-"Settings" => "Параметры",
-"Your calendars" => "Ваши календари",
-"CalDav Link" => "Ссылка для CalDav",
-"Shared calendars" => "Опубликованные",
-"No shared calendars" => "Нет опубликованных календарей",
-"Share Calendar" => "Опубликовать",
-"Download" => "Скачать",
-"Edit" => "Редактировать",
-"Delete" => "Удалить",
-"shared with you by" => "опубликовал для вас",
-"New calendar" => "Новый календарь",
-"Edit calendar" => "Редактировать календарь",
-"Displayname" => "Отображаемое имя",
-"Active" => "Активен",
-"Calendar color" => "Цвет календаря",
-"Save" => "Сохранить",
-"Submit" => "Отправить",
-"Cancel" => "Отмена",
-"Edit an event" => "Редактировать событие",
-"Export" => "Экспортировать",
-"Eventinfo" => "Информация о событии",
-"Repeating" => "Повторение",
-"Alarm" => "Сигнал",
-"Attendees" => "Участники",
-"Share" => "Опубликовать",
-"Title of the Event" => "Название событие",
-"Category" => "Категория",
-"Separate categories with commas" => "Разделяйте категории запятыми",
-"Edit categories" => "Редактировать категории",
-"All Day Event" => "Событие на весь день",
-"From" => "От",
-"To" => "До",
-"Advanced options" => "Дополнительные параметры",
-"Location" => "Место",
-"Location of the Event" => "Место события",
-"Description" => "Описание",
-"Description of the Event" => "Описание события",
-"Repeat" => "Повтор",
-"Advanced" => "Дополнительно",
-"Select weekdays" => "Выбрать дни недели",
-"Select days" => "Выбрать дни",
-"and the events day of year." => "и день года события",
-"and the events day of month." => "и день месяца события",
-"Select months" => "Выбрать месяцы",
-"Select weeks" => "Выбрать недели",
-"and the events week of year." => "и номер недели события",
-"Interval" => "Интервал",
-"End" => "Окончание",
-"occurrences" => "повторений",
-"create a new calendar" => "Создать новый календарь",
-"Import a calendar file" => "Импортировать календарь из файла",
-"Please choose a calendar" => "Пожалуйста, выберите календарь",
-"Name of new calendar" => "Название нового календаря",
-"Take an available name!" => "Возьмите разрешенное имя!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Календарь с таким именем уже существует. Если вы продолжите, одноименный календарь будет удален.",
-"Import" => "Импортировать",
-"Close Dialog" => "Закрыть Сообщение",
-"Create a new event" => "Создать новое событие",
-"View an event" => "Показать событие",
-"No categories selected" => "Категории не выбраны",
-"of" => "из",
-"at" => "на",
-"General" => "Основные",
-"Timezone" => "Часовой пояс",
-"Update timezone automatically" => "Автоматическое обновление временной зоны",
-"Time format" => "Формат времени",
-"24h" => "24ч",
-"12h" => "12ч",
-"Start week on" => "Начало недели",
-"Cache" => "Кэш",
-"Clear cache for repeating events" => "Очистить кэш повторяющихся событий",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "Адрес синхронизации CalDAV",
-"more info" => "подробнее",
-"Primary address (Kontact et al)" => "Основной адрес (Контакта)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Читать только ссылки iCalendar",
-"Users" => "Пользователи",
-"select users" => "выбрать пользователей",
-"Editable" => "Редактируемо",
-"Groups" => "Группы",
-"select groups" => "выбрать группы",
-"make public" => "селать публичным"
-);
diff --git a/apps/calendar/l10n/sk_SK.php b/apps/calendar/l10n/sk_SK.php
deleted file mode 100644
index 65400c496d7..00000000000
--- a/apps/calendar/l10n/sk_SK.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Nenašiel sa žiadny kalendár.",
-"No events found." => "Nenašla sa žiadna udalosť.",
-"Wrong calendar" => "Zlý kalendár",
-"New Timezone:" => "Nová časová zóna:",
-"Timezone changed" => "Časové pásmo zmenené",
-"Invalid request" => "Neplatná požiadavka",
-"Calendar" => "Kalendár",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM rrrr",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d. MMM[ yyyy]{ '&#8212;' d.[ MMM] yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
-"Birthday" => "Narodeniny",
-"Business" => "Podnikanie",
-"Call" => "Hovor",
-"Clients" => "Klienti",
-"Deliverer" => "Doručovateľ",
-"Holidays" => "Prázdniny",
-"Ideas" => "Nápady",
-"Journey" => "Cesta",
-"Jubilee" => "Jubileá",
-"Meeting" => "Stretnutia",
-"Other" => "Ostatné",
-"Personal" => "Osobné",
-"Projects" => "Projekty",
-"Questions" => "Otázky",
-"Work" => "Práca",
-"unnamed" => "nepomenovaný",
-"New Calendar" => "Nový kalendár",
-"Does not repeat" => "Neopakovať",
-"Daily" => "Denne",
-"Weekly" => "Týždenne",
-"Every Weekday" => "Každý deň v týždni",
-"Bi-Weekly" => "Každý druhý týždeň",
-"Monthly" => "Mesačne",
-"Yearly" => "Ročne",
-"never" => "nikdy",
-"by occurrences" => "podľa výskytu",
-"by date" => "podľa dátumu",
-"by monthday" => "podľa dňa v mesiaci",
-"by weekday" => "podľa dňa v týždni",
-"Monday" => "Pondelok",
-"Tuesday" => "Utorok",
-"Wednesday" => "Streda",
-"Thursday" => "Štvrtok",
-"Friday" => "Piatok",
-"Saturday" => "Sobota",
-"Sunday" => "Nedeľa",
-"events week of month" => "týždenné udalosti v mesiaci",
-"first" => "prvý",
-"second" => "druhý",
-"third" => "tretí",
-"fourth" => "štvrtý",
-"fifth" => "piaty",
-"last" => "posledný",
-"January" => "Január",
-"February" => "Február",
-"March" => "Marec",
-"April" => "Apríl",
-"May" => "Máj",
-"June" => "Jún",
-"July" => "Júl",
-"August" => "August",
-"September" => "September",
-"October" => "Október",
-"November" => "November",
-"December" => "December",
-"by events date" => "podľa dátumu udalosti",
-"by yearday(s)" => "po dňoch",
-"by weeknumber(s)" => "podľa čísel týždňov",
-"by day and month" => "podľa dňa a mesiaca",
-"Date" => "Dátum",
-"Cal." => "Kal.",
-"All day" => "Celý deň",
-"Missing fields" => "Nevyplnené položky",
-"Title" => "Nadpis",
-"From Date" => "Od dátumu",
-"From Time" => "Od času",
-"To Date" => "Do dátumu",
-"To Time" => "Do času",
-"The event ends before it starts" => "Udalosť končí ešte pred tým než začne",
-"There was a database fail" => "Nastala chyba databázy",
-"Week" => "Týždeň",
-"Month" => "Mesiac",
-"List" => "Zoznam",
-"Today" => "Dnes",
-"Your calendars" => "Vaše kalendáre",
-"CalDav Link" => "CalDav odkaz",
-"Shared calendars" => "Zdielané kalendáre",
-"No shared calendars" => "Žiadne zdielané kalendáre",
-"Share Calendar" => "Zdielať kalendár",
-"Download" => "Stiahnuť",
-"Edit" => "Upraviť",
-"Delete" => "Odstrániť",
-"shared with you by" => "zdielané s vami používateľom",
-"New calendar" => "Nový kalendár",
-"Edit calendar" => "Upraviť kalendár",
-"Displayname" => "Zobrazené meno",
-"Active" => "Aktívne",
-"Calendar color" => "Farba kalendáru",
-"Save" => "Uložiť",
-"Submit" => "Odoslať",
-"Cancel" => "Zrušiť",
-"Edit an event" => "Upraviť udalosť",
-"Export" => "Exportovať",
-"Eventinfo" => "Informácie o udalosti",
-"Repeating" => "Opakovanie",
-"Alarm" => "Alarm",
-"Attendees" => "Účastníci",
-"Share" => "Zdielať",
-"Title of the Event" => "Nadpis udalosti",
-"Category" => "Kategória",
-"Separate categories with commas" => "Kategórie oddelené čiarkami",
-"Edit categories" => "Úprava kategórií",
-"All Day Event" => "Celodenná udalosť",
-"From" => "Od",
-"To" => "Do",
-"Advanced options" => "Pokročilé možnosti",
-"Location" => "Poloha",
-"Location of the Event" => "Poloha udalosti",
-"Description" => "Popis",
-"Description of the Event" => "Popis udalosti",
-"Repeat" => "Opakovať",
-"Advanced" => "Pokročilé",
-"Select weekdays" => "Do času",
-"Select days" => "Vybrať dni",
-"and the events day of year." => "a denné udalosti v roku.",
-"and the events day of month." => "a denné udalosti v mesiaci.",
-"Select months" => "Vybrať mesiace",
-"Select weeks" => "Vybrať týždne",
-"and the events week of year." => "a týždenné udalosti v roku.",
-"Interval" => "Interval",
-"End" => "Koniec",
-"occurrences" => "výskyty",
-"create a new calendar" => "vytvoriť nový kalendár",
-"Import a calendar file" => "Importovať súbor kalendára",
-"Name of new calendar" => "Meno nového kalendára",
-"Import" => "Importovať",
-"Close Dialog" => "Zatvoriť dialóg",
-"Create a new event" => "Vytvoriť udalosť",
-"View an event" => "Zobraziť udalosť",
-"No categories selected" => "Žiadne vybraté kategórie",
-"of" => "z",
-"at" => "v",
-"Timezone" => "Časová zóna",
-"24h" => "24h",
-"12h" => "12h",
-"Users" => "Používatelia",
-"select users" => "vybrať používateľov",
-"Editable" => "Upravovateľné",
-"Groups" => "Skupiny",
-"select groups" => "vybrať skupiny",
-"make public" => "zverejniť"
-);
diff --git a/apps/calendar/l10n/sl.php b/apps/calendar/l10n/sl.php
deleted file mode 100644
index 585132314bb..00000000000
--- a/apps/calendar/l10n/sl.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Vsi koledarji niso povsem predpomnjeni",
-"Everything seems to be completely cached" => "Izgleda, da je vse v predpomnilniku",
-"No calendars found." => "Ni bilo najdenih koledarjev.",
-"No events found." => "Ni bilo najdenih dogodkov.",
-"Wrong calendar" => "Napačen koledar",
-"The file contained either no events or all events are already saved in your calendar." => "Datoteka ni vsebovala dogodkov ali pa so vsi dogodki že shranjeni v koledarju.",
-"events has been saved in the new calendar" => "dogodki so bili shranjeni v nov koledar",
-"Import failed" => "Uvoz je spodletel",
-"events has been saved in your calendar" => "dogodki so bili shranjeni v vaš koledar",
-"New Timezone:" => "Nov časovni pas:",
-"Timezone changed" => "Časovni pas je bil spremenjen",
-"Invalid request" => "Neveljaven zahtevek",
-"Calendar" => "Koledar",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Rojstni dan",
-"Business" => "Poslovno",
-"Call" => "Pokliči",
-"Clients" => "Stranke",
-"Deliverer" => "Dobavitelj",
-"Holidays" => "Dopust",
-"Ideas" => "Ideje",
-"Journey" => "Potovanje",
-"Jubilee" => "Obletnica",
-"Meeting" => "Sestanek",
-"Other" => "Ostalo",
-"Personal" => "Osebno",
-"Projects" => "Projekt",
-"Questions" => "Vprašanja",
-"Work" => "Delo",
-"by" => "od",
-"unnamed" => "neimenovan",
-"New Calendar" => "Nov koledar",
-"Does not repeat" => "Se ne ponavlja",
-"Daily" => "Dnevno",
-"Weekly" => "Tedensko",
-"Every Weekday" => "Vsak dan v tednu",
-"Bi-Weekly" => "Dvakrat tedensko",
-"Monthly" => "Mesečno",
-"Yearly" => "Letno",
-"never" => "nikoli",
-"by occurrences" => "po številu dogodkov",
-"by date" => "po datumu",
-"by monthday" => "po dnevu v mesecu",
-"by weekday" => "po dnevu v tednu",
-"Monday" => "ponedeljek",
-"Tuesday" => "torek",
-"Wednesday" => "sreda",
-"Thursday" => "četrtek",
-"Friday" => "petek",
-"Saturday" => "sobota",
-"Sunday" => "nedelja",
-"events week of month" => "dogodki tedna v mesecu",
-"first" => "prvi",
-"second" => "drugi",
-"third" => "tretji",
-"fourth" => "četrti",
-"fifth" => "peti",
-"last" => "zadnji",
-"January" => "januar",
-"February" => "februar",
-"March" => "marec",
-"April" => "april",
-"May" => "maj",
-"June" => "junij",
-"July" => "julij",
-"August" => "avgust",
-"September" => "september",
-"October" => "oktober",
-"November" => "november",
-"December" => "december",
-"by events date" => "po datumu dogodka",
-"by yearday(s)" => "po številu let",
-"by weeknumber(s)" => "po tednu v letu",
-"by day and month" => "po dnevu in mesecu",
-"Date" => "Datum",
-"Cal." => "Kol.",
-"Sun." => "ned.",
-"Mon." => "pon.",
-"Tue." => "tor.",
-"Wed." => "sre.",
-"Thu." => "čet.",
-"Fri." => "pet.",
-"Sat." => "sob.",
-"Jan." => "jan.",
-"Feb." => "feb.",
-"Mar." => "mar.",
-"Apr." => "apr.",
-"May." => "maj",
-"Jun." => "jun.",
-"Jul." => "jul.",
-"Aug." => "avg.",
-"Sep." => "sep.",
-"Oct." => "okt.",
-"Nov." => "nov.",
-"Dec." => "dec.",
-"All day" => "Cel dan",
-"Missing fields" => "Mankajoča polja",
-"Title" => "Naslov",
-"From Date" => "od Datum",
-"From Time" => "od Čas",
-"To Date" => "do Datum",
-"To Time" => "do Čas",
-"The event ends before it starts" => "Dogodek se konča preden se začne",
-"There was a database fail" => "Napaka v podatkovni zbirki",
-"Week" => "Teden",
-"Month" => "Mesec",
-"List" => "Seznam",
-"Today" => "Danes",
-"Settings" => "Nastavitve",
-"Your calendars" => "Vaši koledarji",
-"CalDav Link" => "CalDav povezava",
-"Shared calendars" => "Koledarji v souporabi",
-"No shared calendars" => "Ni koledarjev v souporabi",
-"Share Calendar" => "Daj koledar v souporabo",
-"Download" => "Prenesi",
-"Edit" => "Uredi",
-"Delete" => "Izbriši",
-"shared with you by" => "z vami souporablja",
-"New calendar" => "Nov koledar",
-"Edit calendar" => "Uredi koledar",
-"Displayname" => "Ime za prikaz",
-"Active" => "Aktivno",
-"Calendar color" => "Barva koledarja",
-"Save" => "Shrani",
-"Submit" => "Potrdi",
-"Cancel" => "Prekliči",
-"Edit an event" => "Uredi dogodek",
-"Export" => "Izvozi",
-"Eventinfo" => "Informacije od dogodku",
-"Repeating" => "Ponavljanja",
-"Alarm" => "Alarm",
-"Attendees" => "Udeleženci",
-"Share" => "Souporaba",
-"Title of the Event" => "Naslov dogodka",
-"Category" => "Kategorija",
-"Separate categories with commas" => "Kategorije ločite z vejico",
-"Edit categories" => "Uredi kategorije",
-"All Day Event" => "Celodnevni dogodek",
-"From" => "Od",
-"To" => "Do",
-"Advanced options" => "Napredne možnosti",
-"Location" => "Kraj",
-"Location of the Event" => "Kraj dogodka",
-"Description" => "Opis",
-"Description of the Event" => "Opis dogodka",
-"Repeat" => "Ponovi",
-"Advanced" => "Napredno",
-"Select weekdays" => "Izberite dneve v tednu",
-"Select days" => "Izberite dneve",
-"and the events day of year." => "in dnevu dogodka v letu.",
-"and the events day of month." => "in dnevu dogodka v mesecu.",
-"Select months" => "Izberite mesece",
-"Select weeks" => "Izberite tedne",
-"and the events week of year." => "in tednu dogodka v letu.",
-"Interval" => "Časovni razmik",
-"End" => "Konec",
-"occurrences" => "ponovitev",
-"create a new calendar" => "Ustvari nov koledar",
-"Import a calendar file" => "Uvozi datoteko koledarja",
-"Please choose a calendar" => "Prosimo, če izberete koledar",
-"Name of new calendar" => "Ime novega koledarja",
-"Take an available name!" => "Izberite prosto ime!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Koledar s tem imenom že obstaja. Če nadaljujete, bosta koledarja združena.",
-"Import" => "Uvozi",
-"Close Dialog" => "Zapri dialog",
-"Create a new event" => "Ustvari nov dogodek",
-"View an event" => "Poglej dogodek",
-"No categories selected" => "Nobena kategorija ni izbrana",
-"of" => "od",
-"at" => "pri",
-"General" => "Splošno",
-"Timezone" => "Časovni pas",
-"Update timezone automatically" => "Samodejno posodobi časovni pas",
-"Time format" => "Oblika zapisa časa",
-"24h" => "24ur",
-"12h" => "12ur",
-"Start week on" => "Začni teden z",
-"Cache" => "Predpomnilnik",
-"Clear cache for repeating events" => "Počisti predpomnilnik za ponavljajoče dogodke",
-"URLs" => "URLji",
-"Calendar CalDAV syncing addresses" => "CalDAV naslov za usklajevanje koledarjev",
-"more info" => "dodatne informacije",
-"Primary address (Kontact et al)" => "Glavni naslov (Kontakt et al)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "iCalendar povezava/e samo za branje",
-"Users" => "Uporabniki",
-"select users" => "izberite uporabnike",
-"Editable" => "Možno urejanje",
-"Groups" => "Skupine",
-"select groups" => "izberite skupine",
-"make public" => "objavi"
-);
diff --git a/apps/calendar/l10n/sr.php b/apps/calendar/l10n/sr.php
deleted file mode 100644
index 4ec60e20cbe..00000000000
--- a/apps/calendar/l10n/sr.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Wrong calendar" => "Погрешан календар",
-"Timezone changed" => "Временска зона је промењена",
-"Invalid request" => "Неисправан захтев",
-"Calendar" => "Календар",
-"Birthday" => "Рођендан",
-"Business" => "Посао",
-"Call" => "Позив",
-"Clients" => "Клијенти",
-"Deliverer" => "Достављач",
-"Holidays" => "Празници",
-"Ideas" => "Идеје",
-"Journey" => "путовање",
-"Jubilee" => "јубилеј",
-"Meeting" => "Састанак",
-"Other" => "Друго",
-"Personal" => "Лично",
-"Projects" => "Пројекти",
-"Questions" => "Питања",
-"Work" => "Посао",
-"New Calendar" => "Нови календар",
-"Does not repeat" => "Не понавља се",
-"Daily" => "дневно",
-"Weekly" => "недељно",
-"Every Weekday" => "сваког дана у недељи",
-"Bi-Weekly" => "двонедељно",
-"Monthly" => "месечно",
-"Yearly" => "годишње",
-"All day" => "Цео дан",
-"Title" => "Наслов",
-"Week" => "Недеља",
-"Month" => "Месец",
-"List" => "Списак",
-"Today" => "Данас",
-"CalDav Link" => "КалДав веза",
-"Download" => "Преузми",
-"Edit" => "Уреди",
-"Delete" => "Обриши",
-"New calendar" => "Нови календар",
-"Edit calendar" => "Уреди календар",
-"Displayname" => "Приказаноиме",
-"Active" => "Активан",
-"Calendar color" => "Боја календара",
-"Save" => "Сними",
-"Submit" => "Пошаљи",
-"Cancel" => "Откажи",
-"Edit an event" => "Уреди догађај",
-"Title of the Event" => "Наслов догађаја",
-"Category" => "Категорија",
-"All Day Event" => "Целодневни догађај",
-"From" => "Од",
-"To" => "До",
-"Location" => "Локација",
-"Location of the Event" => "Локација догађаја",
-"Description" => "Опис",
-"Description of the Event" => "Опис догађаја",
-"Repeat" => "Понављај",
-"Create a new event" => "Направи нови догађај",
-"Timezone" => "Временска зона"
-);
diff --git a/apps/calendar/l10n/sr@latin.php b/apps/calendar/l10n/sr@latin.php
deleted file mode 100644
index 4ceabcbae59..00000000000
--- a/apps/calendar/l10n/sr@latin.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Wrong calendar" => "Pogrešan kalendar",
-"Timezone changed" => "Vremenska zona je promenjena",
-"Invalid request" => "Neispravan zahtev",
-"Calendar" => "Kalendar",
-"Birthday" => "Rođendan",
-"Business" => "Posao",
-"Call" => "Poziv",
-"Clients" => "Klijenti",
-"Deliverer" => "Dostavljač",
-"Holidays" => "Praznici",
-"Ideas" => "Ideje",
-"Journey" => "putovanje",
-"Jubilee" => "jubilej",
-"Meeting" => "Sastanak",
-"Other" => "Drugo",
-"Personal" => "Lično",
-"Projects" => "Projekti",
-"Questions" => "Pitanja",
-"Work" => "Posao",
-"New Calendar" => "Novi kalendar",
-"Does not repeat" => "Ne ponavlja se",
-"Daily" => "dnevno",
-"Weekly" => "nedeljno",
-"Every Weekday" => "svakog dana u nedelji",
-"Bi-Weekly" => "dvonedeljno",
-"Monthly" => "mesečno",
-"Yearly" => "godišnje",
-"All day" => "Ceo dan",
-"Title" => "Naslov",
-"Week" => "Nedelja",
-"Month" => "Mesec",
-"List" => "Spisak",
-"Today" => "Danas",
-"CalDav Link" => "KalDav veza",
-"Download" => "Preuzmi",
-"Edit" => "Uredi",
-"Delete" => "Obriši",
-"New calendar" => "Novi kalendar",
-"Edit calendar" => "Uredi kalendar",
-"Displayname" => "Prikazanoime",
-"Active" => "Aktivan",
-"Calendar color" => "Boja kalendara",
-"Save" => "Snimi",
-"Submit" => "Pošalji",
-"Cancel" => "Otkaži",
-"Edit an event" => "Uredi događaj",
-"Title of the Event" => "Naslov događaja",
-"Category" => "Kategorija",
-"All Day Event" => "Celodnevni događaj",
-"From" => "Od",
-"To" => "Do",
-"Location" => "Lokacija",
-"Location of the Event" => "Lokacija događaja",
-"Description" => "Opis",
-"Description of the Event" => "Opis događaja",
-"Repeat" => "Ponavljaj",
-"Create a new event" => "Napravi novi događaj",
-"Timezone" => "Vremenska zona"
-);
diff --git a/apps/calendar/l10n/sv.php b/apps/calendar/l10n/sv.php
deleted file mode 100644
index 7baa0309a64..00000000000
--- a/apps/calendar/l10n/sv.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Alla kalendrar är inte fullständigt sparade i cache",
-"Everything seems to be completely cached" => "Allt verkar vara fullständigt sparat i cache",
-"No calendars found." => "Inga kalendrar funna",
-"No events found." => "Inga händelser funna.",
-"Wrong calendar" => "Fel kalender",
-"The file contained either no events or all events are already saved in your calendar." => "Filen innehöll inga händelser eller så är alla händelser redan sparade i kalendern.",
-"events has been saved in the new calendar" => "händelser har sparats i den nya kalendern",
-"Import failed" => "Misslyckad import",
-"events has been saved in your calendar" => "händelse har sparats i din kalender",
-"New Timezone:" => "Ny tidszon:",
-"Timezone changed" => "Tidszon ändrad",
-"Invalid request" => "Ogiltig begäran",
-"Calendar" => "Kalender",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM åååå",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "ddd, MMM d, åååå",
-"Birthday" => "Födelsedag",
-"Business" => "Företag",
-"Call" => "Ringa",
-"Clients" => "Klienter",
-"Deliverer" => "Leverantör",
-"Holidays" => "Semester",
-"Ideas" => "Idéer",
-"Journey" => "Resa",
-"Jubilee" => "Jubileum",
-"Meeting" => "Möte",
-"Other" => "Annat",
-"Personal" => "Personlig",
-"Projects" => "Projekt",
-"Questions" => "Frågor",
-"Work" => "Arbetet",
-"by" => "av",
-"unnamed" => "Namn saknas",
-"New Calendar" => "Ny kalender",
-"Does not repeat" => "Upprepas inte",
-"Daily" => "Dagligen",
-"Weekly" => "Varje vecka",
-"Every Weekday" => "Varje vardag",
-"Bi-Weekly" => "Varannan vecka",
-"Monthly" => "Varje månad",
-"Yearly" => "Årligen",
-"never" => "aldrig",
-"by occurrences" => "efter händelser",
-"by date" => "efter datum",
-"by monthday" => "efter dag i månaden",
-"by weekday" => "efter veckodag",
-"Monday" => "Måndag",
-"Tuesday" => "Tisdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lördag",
-"Sunday" => "Söndag",
-"events week of month" => "händelse vecka av månad",
-"first" => "första",
-"second" => "andra",
-"third" => "tredje",
-"fourth" => "fjärde",
-"fifth" => "femte",
-"last" => "sist",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Mars",
-"April" => "April",
-"May" => "Maj",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "Augusti",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "December",
-"by events date" => "efter händelsedatum",
-"by yearday(s)" => "efter årsdag(ar)",
-"by weeknumber(s)" => "efter veckonummer",
-"by day and month" => "efter dag och månad",
-"Date" => "Datum",
-"Cal." => "Kal.",
-"Sun." => "Sön.",
-"Mon." => "Mån.",
-"Tue." => "Tis.",
-"Wed." => "Ons.",
-"Thu." => "Tor.",
-"Fri." => "Fre.",
-"Sat." => "Lör.",
-"Jan." => "Jan.",
-"Feb." => "Feb.",
-"Mar." => "Mar.",
-"Apr." => "Apr.",
-"May." => "Maj.",
-"Jun." => "Jun.",
-"Jul." => "Jul.",
-"Aug." => "Aug.",
-"Sep." => "Sep.",
-"Oct." => "Okt.",
-"Nov." => "Nov.",
-"Dec." => "Dec.",
-"All day" => "Hela dagen",
-"Missing fields" => "Saknade fält",
-"Title" => "Rubrik",
-"From Date" => "Från datum",
-"From Time" => "Från tid",
-"To Date" => "Till datum",
-"To Time" => "Till tid",
-"The event ends before it starts" => "Händelsen slutar innan den börjar",
-"There was a database fail" => "Det blev ett databasfel",
-"Week" => "Vecka",
-"Month" => "Månad",
-"List" => "Lista",
-"Today" => "Idag",
-"Your calendars" => "Dina kalendrar",
-"CalDav Link" => "CalDAV-länk",
-"Shared calendars" => "Delade kalendrar",
-"No shared calendars" => "Inga delade kalendrar",
-"Share Calendar" => "Dela kalender",
-"Download" => "Ladda ner",
-"Edit" => "Redigera",
-"Delete" => "Radera",
-"shared with you by" => "delad med dig av",
-"New calendar" => "Nya kalender",
-"Edit calendar" => "Redigera kalender",
-"Displayname" => "Visningsnamn",
-"Active" => "Aktiv",
-"Calendar color" => "Kalender-färg",
-"Save" => "Spara",
-"Submit" => "Lägg till",
-"Cancel" => "Avbryt",
-"Edit an event" => "Redigera en händelse",
-"Export" => "Exportera",
-"Eventinfo" => "Händelseinfo",
-"Repeating" => "Repetera",
-"Alarm" => "Alarm",
-"Attendees" => "Deltagare",
-"Share" => "Dela",
-"Title of the Event" => "Rubrik för händelsen",
-"Category" => "Kategori",
-"Separate categories with commas" => "Separera kategorier med komman",
-"Edit categories" => "Redigera kategorier",
-"All Day Event" => "Hela dagen",
-"From" => "Från",
-"To" => "Till",
-"Advanced options" => "Avancerade alternativ",
-"Location" => "Plats",
-"Location of the Event" => "Platsen för händelsen",
-"Description" => "Beskrivning",
-"Description of the Event" => "Beskrivning av händelse",
-"Repeat" => "Upprepa",
-"Advanced" => "Avancerad",
-"Select weekdays" => "Välj veckodagar",
-"Select days" => "Välj dagar",
-"and the events day of year." => "och händelsedagen för året.",
-"and the events day of month." => "och händelsedagen för månaden.",
-"Select months" => "Välj månader",
-"Select weeks" => "Välj veckor",
-"and the events week of year." => "och händelsevecka för året.",
-"Interval" => "Hur ofta",
-"End" => "Slut",
-"occurrences" => "Händelser",
-"create a new calendar" => "skapa en ny kalender",
-"Import a calendar file" => "Importera en kalenderfil",
-"Please choose a calendar" => "Välj en kalender",
-"Name of new calendar" => "Namn på ny kalender",
-"Take an available name!" => "Ta ett ledigt namn!",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "En kalender med detta namn finns redan. Om du fortsätter ändå så kommer dessa kalendrar att slås samman.",
-"Import" => "Importera",
-"Close Dialog" => "Stäng ",
-"Create a new event" => "Skapa en ny händelse",
-"View an event" => "Visa en händelse",
-"No categories selected" => "Inga kategorier valda",
-"of" => "av",
-"at" => "på",
-"Timezone" => "Tidszon",
-"24h" => "24h",
-"12h" => "12h",
-"Cache" => "Cache",
-"Clear cache for repeating events" => "Töm cache för upprepade händelser",
-"Calendar CalDAV syncing addresses" => "Kalender CalDAV synkroniserar adresser",
-"more info" => "mer info",
-"Primary address (Kontact et al)" => "Primary address (Kontact et al)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Read only iCalendar link(s)",
-"Users" => "Användare",
-"select users" => "välj användare",
-"Editable" => "Redigerbar",
-"Groups" => "Grupper",
-"select groups" => "Välj grupper",
-"make public" => "Gör offentlig"
-);
diff --git a/apps/calendar/l10n/th_TH.php b/apps/calendar/l10n/th_TH.php
deleted file mode 100644
index 0b92a623d40..00000000000
--- a/apps/calendar/l10n/th_TH.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "ไม่ใช่ปฏิทินทั้งหมดที่จะถูกจัดเก็บข้อมูลไว้ในหน่วยความจำแคชอย่างสมบูรณ์",
-"Everything seems to be completely cached" => "ทุกสิ่งทุกอย่างได้ถูกเก็บเข้าไปไว้ในหน่วยความจำแคชอย่างสมบูรณ์แล้ว",
-"No calendars found." => "ไม่พบปฏิทินที่ต้องการ",
-"No events found." => "ไม่พบกิจกรรมที่ต้องการ",
-"Wrong calendar" => "ปฏิทินไม่ถูกต้อง",
-"The file contained either no events or all events are already saved in your calendar." => "ไฟล์ดังกล่าวบรรจุข้อมูลกิจกรรมที่มีอยู่แล้วในปฏิทินของคุณ",
-"events has been saved in the new calendar" => "กิจกรรมได้ถูกบันทึกไปไว้ในปฏิทินที่สร้างขึ้นใหม่แล้ว",
-"Import failed" => "การนำเข้าข้อมูลล้มเหลว",
-"events has been saved in your calendar" => "กิจกรรมได้ถูกบันทึกเข้าไปไว้ในปฏิทินของคุณแล้ว",
-"New Timezone:" => "สร้างโซนเวลาใหม่:",
-"Timezone changed" => "โซนเวลาถูกเปลี่ยนแล้ว",
-"Invalid request" => "คำร้องขอไม่ถูกต้อง",
-"Calendar" => "ปฏิทิน",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "วันเกิด",
-"Business" => "ธุรกิจ",
-"Call" => "โทรติดต่อ",
-"Clients" => "ลูกค้า",
-"Deliverer" => "จัดส่ง",
-"Holidays" => "วันหยุด",
-"Ideas" => "ไอเดีย",
-"Journey" => "การเดินทาง",
-"Jubilee" => "งานเลี้ยง",
-"Meeting" => "นัดประชุม",
-"Other" => "อื่นๆ",
-"Personal" => "ส่วนตัว",
-"Projects" => "โครงการ",
-"Questions" => "คำถาม",
-"Work" => "งาน",
-"by" => "โดย",
-"unnamed" => "ไม่มีชื่อ",
-"New Calendar" => "สร้างปฏิทินใหม่",
-"Does not repeat" => "ไม่ต้องทำซ้ำ",
-"Daily" => "รายวัน",
-"Weekly" => "รายสัปดาห์",
-"Every Weekday" => "ทุกวันหยุด",
-"Bi-Weekly" => "รายปักษ์",
-"Monthly" => "รายเดือน",
-"Yearly" => "รายปี",
-"never" => "ไม่ต้องเลย",
-"by occurrences" => "ตามจำนวนที่ปรากฏ",
-"by date" => "ตามวันที่",
-"by monthday" => "จากเดือน",
-"by weekday" => "จากสัปดาห์",
-"Monday" => "วันจันทร์",
-"Tuesday" => "วันอังคาร",
-"Wednesday" => "วันพุธ",
-"Thursday" => "วันพฤหัสบดี",
-"Friday" => "วันศุกร์",
-"Saturday" => "วันเสาร์",
-"Sunday" => "วันอาทิตย์",
-"events week of month" => "สัปดาห์ที่มีกิจกรรมของเดือน",
-"first" => "ลำดับแรก",
-"second" => "ลำดับที่สอง",
-"third" => "ลำดับที่สาม",
-"fourth" => "ลำดับที่สี่",
-"fifth" => "ลำดับที่ห้า",
-"last" => "ลำดับสุดท้าย",
-"January" => "มกราคม",
-"February" => "กุมภาพันธ์",
-"March" => "มีนาคม",
-"April" => "เมษายน",
-"May" => "พฤษภาคม",
-"June" => "มิถุนายน",
-"July" => "กรกฏาคม",
-"August" => "สิงหาคม",
-"September" => "กันยายน",
-"October" => "ตุลาคม",
-"November" => "พฤศจิกายน",
-"December" => "ธันวาคม",
-"by events date" => "ตามวันที่จัดกิจกรรม",
-"by yearday(s)" => "ของเมื่อวานนี้",
-"by weeknumber(s)" => "จากหมายเลขของสัปดาห์",
-"by day and month" => "ตามวันและเดือน",
-"Date" => "วันที่",
-"Cal." => "คำนวณ",
-"Sun." => "อา.",
-"Mon." => "จ.",
-"Tue." => "อ.",
-"Wed." => "พ.",
-"Thu." => "พฤ.",
-"Fri." => "ศ.",
-"Sat." => "ส.",
-"Jan." => "ม.ค.",
-"Feb." => "ก.พ.",
-"Mar." => "มี.ค.",
-"Apr." => "เม.ย.",
-"May." => "พ.ค.",
-"Jun." => "มิ.ย.",
-"Jul." => "ก.ค.",
-"Aug." => "ส.ค.",
-"Sep." => "ก.ย.",
-"Oct." => "ต.ค.",
-"Nov." => "พ.ย.",
-"Dec." => "ธ.ค.",
-"All day" => "ทั้งวัน",
-"Missing fields" => "ช่องฟิลด์เกิดการสูญหาย",
-"Title" => "ชื่อกิจกรรม",
-"From Date" => "จากวันที่",
-"From Time" => "ตั้งแต่เวลา",
-"To Date" => "ถึงวันที่",
-"To Time" => "ถึงเวลา",
-"The event ends before it starts" => "วันที่สิ้นสุดกิจกรรมดังกล่าวอยู่ก่อนวันเริ่มต้น",
-"There was a database fail" => "เกิดความล้มเหลวกับฐานข้อมูล",
-"Week" => "สัปดาห์",
-"Month" => "เดือน",
-"List" => "รายการ",
-"Today" => "วันนี้",
-"Settings" => "ตั้งค่า",
-"Your calendars" => "ปฏิทินของคุณ",
-"CalDav Link" => "ลิงค์ CalDav",
-"Shared calendars" => "ปฏิทินที่เปิดแชร์",
-"No shared calendars" => "ไม่มีปฏิทินที่เปิดแชร์ไว้",
-"Share Calendar" => "เปิดแชร์ปฏิทิน",
-"Download" => "ดาวน์โหลด",
-"Edit" => "แก้ไข",
-"Delete" => "ลบ",
-"shared with you by" => "แชร์ให้คุณโดย",
-"New calendar" => "สร้างปฏิทินใหม่",
-"Edit calendar" => "แก้ไขปฏิทิน",
-"Displayname" => "ชื่อที่ต้องการให้แสดง",
-"Active" => "ใช้งาน",
-"Calendar color" => "สีของปฏิทิน",
-"Save" => "บันทึก",
-"Submit" => "ส่งข้อมูล",
-"Cancel" => "ยกเลิก",
-"Edit an event" => "แก้ไขกิจกรรม",
-"Export" => "ส่งออกข้อมูล",
-"Eventinfo" => "ข้อมูลเกี่ยวกับกิจกรรม",
-"Repeating" => "ทำซ้ำ",
-"Alarm" => "แจ้งเตือน",
-"Attendees" => "ผู้เข้าร่วมกิจกรรม",
-"Share" => "แชร์",
-"Title of the Event" => "ชื่อของกิจกรรม",
-"Category" => "หมวดหมู่",
-"Separate categories with commas" => "คั่นระหว่างรายการหมวดหมู่ด้วยเครื่องหมายจุลภาคหรือคอมม่า",
-"Edit categories" => "แก้ไขหมวดหมู่",
-"All Day Event" => "เป็นกิจกรรมตลอดทั้งวัน",
-"From" => "จาก",
-"To" => "ถึง",
-"Advanced options" => "ตัวเลือกขั้นสูง",
-"Location" => "สถานที่",
-"Location of the Event" => "สถานที่จัดกิจกรรม",
-"Description" => "คำอธิบาย",
-"Description of the Event" => "คำอธิบายเกี่ยวกับกิจกรรม",
-"Repeat" => "ทำซ้ำ",
-"Advanced" => "ขั้นสูง",
-"Select weekdays" => "เลือกสัปดาห์",
-"Select days" => "เลือกวัน",
-"and the events day of year." => "และวันที่มีเหตุการณ์เกิดขึ้นในปี",
-"and the events day of month." => "และวันที่มีเหตุการณ์เกิดขึ้นในเดือน",
-"Select months" => "เลือกเดือน",
-"Select weeks" => "เลือกสัปดาห์",
-"and the events week of year." => "และสัปดาห์ที่มีเหตุการณ์เกิดขึ้นในปี",
-"Interval" => "ช่วงเวลา",
-"End" => "สิ้นสุด",
-"occurrences" => "จำนวนที่ปรากฏ",
-"create a new calendar" => "สร้างปฏิทินใหม่",
-"Import a calendar file" => "นำเข้าไฟล์ปฏิทิน",
-"Please choose a calendar" => "กรุณาเลือกปฏิทิน",
-"Name of new calendar" => "ชื่อของปฏิทิน",
-"Take an available name!" => "เลือกชื่อที่ต้องการ",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "ปฏิทินชื่อดังกล่าวถูกใช้งานไปแล้ว หากคุณยังดำเนินการต่อไป ปฏิทินดังกล่าวนี้จะถูกผสานข้อมูลเข้าด้วยกัน",
-"Import" => "นำเข้าข้อมูล",
-"Close Dialog" => "ปิดกล่องข้อความโต้ตอบ",
-"Create a new event" => "สร้างกิจกรรมใหม่",
-"View an event" => "ดูกิจกรรม",
-"No categories selected" => "ยังไม่ได้เลือกหมวดหมู่",
-"of" => "ของ",
-"at" => "ที่",
-"General" => "ทั่วไป",
-"Timezone" => "โซนเวลา",
-"Update timezone automatically" => "อัพเดทโซนเวลาอัตโนมัติ",
-"Time format" => "รูปแบบเวลา",
-"24h" => "24 ช.ม.",
-"12h" => "12 ช.ม.",
-"Start week on" => "เริ่มต้นสัปดาห์ด้วย",
-"Cache" => "หน่วยความจำแคช",
-"Clear cache for repeating events" => "ล้างข้อมูลในหน่วยความจำแคชสำหรับกิจกรรมที่ซ้ำซ้อน",
-"URLs" => "URLs",
-"Calendar CalDAV syncing addresses" => "ที่อยู่ที่ใช้สำหรับเชื่อมข้อมูลปฏิทิน CalDAV",
-"more info" => "ข้อมูลเพิ่มเติม",
-"Primary address (Kontact et al)" => "ที่อยู่หลัก (Kontact et al)",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "อ่านเฉพาะลิงก์ iCalendar เท่านั้น",
-"Users" => "ผู้ใช้งาน",
-"select users" => "เลือกผู้ใช้งาน",
-"Editable" => "สามารถแก้ไขได้",
-"Groups" => "กลุ่ม",
-"select groups" => "เลือกกลุ่ม",
-"make public" => "กำหนดเป็นสาธารณะ"
-);
diff --git a/apps/calendar/l10n/tr.php b/apps/calendar/l10n/tr.php
deleted file mode 100644
index b9256eb619e..00000000000
--- a/apps/calendar/l10n/tr.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Not all calendars are completely cached" => "Bütün takvimler tamamen ön belleğe alınmadı",
-"Everything seems to be completely cached" => "Bütün herşey tamamen ön belleğe alınmış görünüyor",
-"No calendars found." => "Takvim yok.",
-"No events found." => "Etkinlik yok.",
-"Wrong calendar" => "Yanlış takvim",
-"The file contained either no events or all events are already saved in your calendar." => "Dosya ya hiçbir etkinlik içermiyor veya bütün etkinlikler takviminizde zaten saklı.",
-"events has been saved in the new calendar" => "Etkinlikler yeni takvimde saklandı",
-"Import failed" => "İçeri aktarma başarısız oldu.",
-"events has been saved in your calendar" => "Etkinlikler takviminizde saklandı",
-"New Timezone:" => "Yeni Zamandilimi:",
-"Timezone changed" => "Zaman dilimi değiştirildi",
-"Invalid request" => "Geçersiz istek",
-"Calendar" => "Takvim",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "AAA g[ yyyy]{ '&#8212;'[ AAA] g yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Doğum günü",
-"Business" => "İş",
-"Call" => "Arama",
-"Clients" => "Müşteriler",
-"Deliverer" => "Teslimatçı",
-"Holidays" => "Tatil günleri",
-"Ideas" => "Fikirler",
-"Journey" => "Seyahat",
-"Jubilee" => "Yıl dönümü",
-"Meeting" => "Toplantı",
-"Other" => "Diğer",
-"Personal" => "Kişisel",
-"Projects" => "Projeler",
-"Questions" => "Sorular",
-"Work" => "İş",
-"by" => "hazırlayan",
-"unnamed" => "isimsiz",
-"New Calendar" => "Yeni Takvim",
-"Does not repeat" => "Tekrar etmiyor",
-"Daily" => "Günlük",
-"Weekly" => "Haftalı",
-"Every Weekday" => "Haftaiçi Her gün",
-"Bi-Weekly" => "İki haftada bir",
-"Monthly" => "Aylık",
-"Yearly" => "Yıllı",
-"never" => "asla",
-"by occurrences" => "sıklığa göre",
-"by date" => "tarihe göre",
-"by monthday" => "ay günlerine göre",
-"by weekday" => "hafta günlerine göre",
-"Monday" => "Pazartesi",
-"Tuesday" => "Salı",
-"Wednesday" => "Çarşamba",
-"Thursday" => "Perşembe",
-"Friday" => "Cuma",
-"Saturday" => "Cumartesi",
-"Sunday" => "Pazar",
-"events week of month" => "ayın etkinlikler haftası",
-"first" => "birinci",
-"second" => "ikinci",
-"third" => "üçüncü",
-"fourth" => "dördüncü",
-"fifth" => "beşinci",
-"last" => "sonuncu",
-"January" => "Ocak",
-"February" => "Şubat",
-"March" => "Mart",
-"April" => "Nisan",
-"May" => "Mayıs",
-"June" => "Haziran",
-"July" => "Temmuz",
-"August" => "Ağustos",
-"September" => "Eylül",
-"October" => "Ekim",
-"November" => "Kasım",
-"December" => "Aralık",
-"by events date" => "olay tarihine göre",
-"by yearday(s)" => "yıl gün(ler)ine göre",
-"by weeknumber(s)" => "hafta sayı(lar)ına göre",
-"by day and month" => "gün ve aya göre",
-"Date" => "Tarih",
-"Cal." => "Takv.",
-"Sun." => "Paz.",
-"Mon." => "Pzt.",
-"Tue." => "Sal.",
-"Wed." => "Çar.",
-"Thu." => "Per.",
-"Fri." => "Cum.",
-"Sat." => "Cmt.",
-"Jan." => "Oca.",
-"Feb." => "Şbt.",
-"Mar." => "Mar.",
-"Apr." => "Nis",
-"May." => "May.",
-"Jun." => "Haz.",
-"Jul." => "Tem.",
-"Aug." => "Agu.",
-"Sep." => "Eyl.",
-"Oct." => "Eki.",
-"Nov." => "Kas.",
-"Dec." => "Ara.",
-"All day" => "Tüm gün",
-"Missing fields" => "Eksik alanlar",
-"Title" => "Başlık",
-"From Date" => "Bu Tarihten",
-"From Time" => "Bu Saatten",
-"To Date" => "Bu Tarihe",
-"To Time" => "Bu Saate",
-"The event ends before it starts" => "Olay başlamadan önce bitiyor",
-"There was a database fail" => "Bir veritabanı başarısızlığı oluştu",
-"Week" => "Hafta",
-"Month" => "Ay",
-"List" => "Liste",
-"Today" => "Bugün",
-"Your calendars" => "Takvimleriniz",
-"CalDav Link" => "CalDav Bağlantısı",
-"Shared calendars" => "Paylaşılan",
-"No shared calendars" => "Paylaşılan takvim yok",
-"Share Calendar" => "Takvimi paylaş",
-"Download" => "İndir",
-"Edit" => "Düzenle",
-"Delete" => "Sil",
-"shared with you by" => "sizinle paylaşılmış",
-"New calendar" => "Yeni takvim",
-"Edit calendar" => "Takvimi düzenle",
-"Displayname" => "Görünüm adı",
-"Active" => "Aktif",
-"Calendar color" => "Takvim rengi",
-"Save" => "Kaydet",
-"Submit" => "Gönder",
-"Cancel" => "İptal",
-"Edit an event" => "Bir olay düzenle",
-"Export" => "Dışa aktar",
-"Eventinfo" => "Etkinlik bilgisi",
-"Repeating" => "Tekrarlama",
-"Alarm" => "Alarm",
-"Attendees" => "Katılanlar",
-"Share" => "Paylaş",
-"Title of the Event" => "Olayın Başlığı",
-"Category" => "Kategori",
-"Separate categories with commas" => "Kategorileri virgülle ayırın",
-"Edit categories" => "Kategorileri düzenle",
-"All Day Event" => "Tüm Gün Olay",
-"From" => "Kimden",
-"To" => "Kime",
-"Advanced options" => "Gelişmiş opsiyonlar",
-"Location" => "Konum",
-"Location of the Event" => "Olayın Konumu",
-"Description" => "Açıklama",
-"Description of the Event" => "Olayın Açıklaması",
-"Repeat" => "Tekrar",
-"Advanced" => "Gelişmiş",
-"Select weekdays" => "Hafta günlerini seçin",
-"Select days" => "Günleri seçin",
-"and the events day of year." => "ve yılın etkinlikler günü.",
-"and the events day of month." => "ve ayın etkinlikler günü.",
-"Select months" => "Ayları seç",
-"Select weeks" => "Haftaları seç",
-"and the events week of year." => "ve yılın etkinkinlikler haftası.",
-"Interval" => "Aralık",
-"End" => "Son",
-"occurrences" => "olaylar",
-"create a new calendar" => "Yeni bir takvim oluştur",
-"Import a calendar file" => "Takvim dosyasını içeri aktar",
-"Please choose a calendar" => "Lütfen takvim seçiniz",
-"Name of new calendar" => "Yeni takvimin adı",
-"Take an available name!" => "Müsait ismi al !",
-"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Bu isimde bir takvim zaten mevcut. Yine de devam ederseniz bu takvimler birleştirilecektir.",
-"Import" => "İçe Al",
-"Close Dialog" => "Diyalogu kapat",
-"Create a new event" => "Yeni olay oluştur",
-"View an event" => "Bir olay görüntüle",
-"No categories selected" => "Kategori seçilmedi",
-"of" => "nın",
-"at" => "üzerinde",
-"Timezone" => "Zaman dilimi",
-"24h" => "24s",
-"12h" => "12s",
-"Cache" => "Önbellek",
-"Clear cache for repeating events" => "Tekrar eden etkinlikler için ön belleği temizle.",
-"Calendar CalDAV syncing addresses" => "CalDAV takvimi adresleri senkronize ediyor.",
-"more info" => "daha fazla bilgi",
-"Primary address (Kontact et al)" => "Öncelikli adres",
-"iOS/OS X" => "iOS/OS X",
-"Read only iCalendar link(s)" => "Sadece okunabilir iCalendar link(ler)i",
-"Users" => "Kullanıcılar",
-"select users" => "kullanıcıları seç",
-"Editable" => "Düzenlenebilir",
-"Groups" => "Gruplar",
-"select groups" => "grupları seç",
-"make public" => "kamuyla paylaş"
-);
diff --git a/apps/calendar/l10n/uk.php b/apps/calendar/l10n/uk.php
deleted file mode 100644
index 2911307e588..00000000000
--- a/apps/calendar/l10n/uk.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php $TRANSLATIONS = array(
-"New Timezone:" => "Новий часовий пояс",
-"Timezone changed" => "Часовий пояс змінено",
-"Calendar" => "Календар",
-"Birthday" => "День народження",
-"Business" => "Справи",
-"Call" => "Подзвонити",
-"Clients" => "Клієнти",
-"Holidays" => "Свята",
-"Ideas" => "Ідеї",
-"Journey" => "Поїздка",
-"Jubilee" => "Ювілей",
-"Meeting" => "Зустріч",
-"Other" => "Інше",
-"Personal" => "Особисте",
-"Projects" => "Проекти",
-"Questions" => "Запитання",
-"Work" => "Робота",
-"New Calendar" => "новий Календар",
-"Does not repeat" => "Не повторювати",
-"Daily" => "Щоденно",
-"Weekly" => "Щотижня",
-"Every Weekday" => "По будням",
-"Bi-Weekly" => "Кожні дві неділі",
-"Monthly" => "Щомісяця",
-"Yearly" => "Щорічно",
-"never" => "ніколи",
-"Monday" => "Понеділок",
-"Tuesday" => "Вівторок",
-"Wednesday" => "Середа",
-"Thursday" => "Четвер",
-"Friday" => "П'ятниця",
-"Saturday" => "Субота",
-"Sunday" => "Неділя",
-"first" => "перший",
-"second" => "другий",
-"third" => "третій",
-"fourth" => "четвертий",
-"fifth" => "п'ятий",
-"last" => "останній",
-"January" => "Січень",
-"February" => "Лютий",
-"March" => "Березень",
-"April" => "Квітень",
-"May" => "Травень",
-"June" => "Червень",
-"July" => "Липень",
-"August" => "Серпень",
-"September" => "Вересень",
-"October" => "Жовтень",
-"November" => "Листопад",
-"December" => "Грудень",
-"Date" => "Дата",
-"Cal." => "Кал.",
-"All day" => "Увесь день",
-"Missing fields" => "Пропущені поля",
-"Title" => "Назва",
-"From Date" => "Від Дати",
-"From Time" => "З Часу",
-"To Date" => "До Часу",
-"To Time" => "По Дату",
-"The event ends before it starts" => "Подія завершається до її початку",
-"There was a database fail" => "Сталася помилка бази даних",
-"Week" => "Тиждень",
-"Month" => "Місяць",
-"List" => "Список",
-"Today" => "Сьогодні",
-"Your calendars" => "Ваші календарі",
-"Download" => "Завантажити",
-"Edit" => "Редагувати",
-"Delete" => "Видалити",
-"New calendar" => "Новий календар",
-"Edit calendar" => "Редагувати календар",
-"Active" => "Активний",
-"Calendar color" => "Колір календаря",
-"Save" => "Зберегти",
-"Cancel" => "Відмінити",
-"Export" => "Експорт",
-"Title of the Event" => "Назва події",
-"Category" => "Категорія",
-"From" => "З",
-"To" => "По",
-"Location" => "Місце",
-"Location of the Event" => "Місце події",
-"Description" => "Опис",
-"Description of the Event" => "Опис події",
-"Repeat" => "Повторювати",
-"create a new calendar" => "створити новий календар",
-"Import a calendar file" => "Імпортувати файл календаря",
-"Name of new calendar" => "Назва нового календаря",
-"Import" => "Імпорт",
-"Create a new event" => "Створити нову подію",
-"Timezone" => "Часовий пояс",
-"24h" => "24г",
-"12h" => "12г",
-"Users" => "Користувачі",
-"Groups" => "Групи"
-);
diff --git a/apps/calendar/l10n/vi.php b/apps/calendar/l10n/vi.php
deleted file mode 100644
index 3594a095eba..00000000000
--- a/apps/calendar/l10n/vi.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "Không tìm thấy lịch.",
-"No events found." => "Không tìm thấy sự kiện nào",
-"Wrong calendar" => "Sai lịch",
-"New Timezone:" => "Múi giờ mới :",
-"Timezone changed" => "Thay đổi múi giờ",
-"Invalid request" => "Yêu cầu không hợp lệ",
-"Calendar" => "Lịch",
-"ddd" => "ddd",
-"ddd M/d" => "ddd M/d",
-"dddd M/d" => "dddd M/d",
-"MMMM yyyy" => "MMMM yyyy",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
-"Birthday" => "Ngày sinh nhật",
-"Business" => "Công việc",
-"Call" => "Số điện thoại",
-"Clients" => "Máy trạm",
-"Holidays" => "Ngày lễ",
-"Ideas" => "Ý tưởng",
-"Jubilee" => "Lễ kỷ niệm",
-"Meeting" => "Hội nghị",
-"Other" => "Khác",
-"Personal" => "Cá nhân",
-"Projects" => "Dự án",
-"Questions" => "Câu hỏi",
-"Work" => "Công việc",
-"New Calendar" => "Lịch mới",
-"Does not repeat" => "Không lặp lại",
-"Daily" => "Hàng ngày",
-"Weekly" => "Hàng tuần",
-"Every Weekday" => "Mỗi ngày trong tuần",
-"Bi-Weekly" => "Hai tuần một lần",
-"Monthly" => "Hàng tháng",
-"Yearly" => "Hàng năm",
-"never" => "không thay đổi",
-"by occurrences" => "bởi xuất hiện",
-"by date" => "bởi ngày",
-"by monthday" => "bởi ngày trong tháng",
-"by weekday" => "bởi ngày trong tuần",
-"Monday" => "Thứ 2",
-"Tuesday" => "Thứ 3",
-"Wednesday" => "Thứ 4",
-"Thursday" => "Thứ 5",
-"Friday" => "Thứ ",
-"Saturday" => "Thứ 7",
-"Sunday" => "Chủ nhật",
-"events week of month" => "sự kiện trong tuần của tháng",
-"first" => "đầu tiên",
-"second" => "Thứ hai",
-"third" => "Thứ ba",
-"fourth" => "Thứ tư",
-"fifth" => "Thứ năm",
-"January" => "Tháng 1",
-"February" => "Tháng 2",
-"March" => "Tháng 3",
-"April" => "Tháng 4",
-"May" => "Tháng 5",
-"June" => "Tháng 6",
-"July" => "Tháng 7",
-"August" => "Tháng 8",
-"September" => "Tháng 9",
-"October" => "Tháng 10",
-"November" => "Tháng 11",
-"December" => "Tháng 12",
-"by events date" => "Theo ngày tháng sự kiện",
-"by weeknumber(s)" => "số tuần",
-"by day and month" => "ngày, tháng",
-"Date" => "Ngày",
-"Cal." => "Cal.",
-"All day" => "Tất cả các ngày",
-"Title" => "Tiêu đề",
-"From Date" => "Từ ngày",
-"From Time" => "Từ thời gian",
-"To Date" => "Tới ngày",
-"To Time" => "Tới thời gian",
-"The event ends before it starts" => "Sự kiện này kết thúc trước khi nó bắt đầu",
-"Week" => "Tuần",
-"Month" => "Tháng",
-"List" => "Danh sách",
-"Today" => "Hôm nay",
-"Your calendars" => "Lịch của bạn",
-"CalDav Link" => "Liên kết CalDav ",
-"Shared calendars" => "Chia sẻ lịch",
-"No shared calendars" => "Không chia sẻ lcihj",
-"Share Calendar" => "Chia sẻ lịch",
-"Download" => "Tải về",
-"Edit" => "Chỉnh sửa",
-"Delete" => "Xóa",
-"shared with you by" => "Chia sẻ bởi",
-"New calendar" => "Lịch mới",
-"Edit calendar" => "sửa Lịch",
-"Displayname" => "Hiển thị tên",
-"Active" => "Kích hoạt",
-"Calendar color" => "Màu lịch",
-"Save" => "Lưu",
-"Submit" => "Submit",
-"Cancel" => "Hủy",
-"Edit an event" => "Sửa sự kiện",
-"Share" => "Chia sẻ",
-"Title of the Event" => "Tên sự kiện",
-"Category" => "Danh mục",
-"All Day Event" => "Sự kiện trong ngày",
-"From" => "Từ",
-"To" => "Tới",
-"Advanced options" => "Tùy chọn nâng cao",
-"Location" => "Nơi",
-"Location of the Event" => "Nơi tổ chức sự kiện",
-"Description" => "Mô tả",
-"Description of the Event" => "Mô tả sự kiện",
-"Repeat" => "Lặp lại",
-"Advanced" => "Nâng cao",
-"Select weekdays" => "Chọn ngày trong tuần",
-"Select days" => "Chọn ngày",
-"and the events day of year." => "và sự kiện của ngày trong năm",
-"and the events day of month." => "và sự kiện của một ngày trong năm",
-"Select months" => "Chọn tháng",
-"Select weeks" => "Chọn tuần",
-"and the events week of year." => "và sự kiện của tuần trong năm.",
-"create a new calendar" => "Tạo lịch mới",
-"Name of new calendar" => "Tên lịch mới",
-"Close Dialog" => "Đóng hộp thoại",
-"Create a new event" => "Tạo một sự kiện mới",
-"View an event" => "Xem một sự kiện",
-"No categories selected" => "Không danh sách nào được chọn",
-"of" => "của",
-"at" => "tại",
-"Timezone" => "Múi giờ",
-"24h" => "24h",
-"12h" => "12h"
-);
diff --git a/apps/calendar/l10n/xgettextfiles b/apps/calendar/l10n/xgettextfiles
deleted file mode 100644
index a8c2601045f..00000000000
--- a/apps/calendar/l10n/xgettextfiles
+++ /dev/null
@@ -1,12 +0,0 @@
-../appinfo/app.php
-../lib/object.php
-../templates/calendar.php
-../templates/part.choosecalendar.php
-../templates/part.choosecalendar.rowfields.php
-../templates/part.editcalendar.php
-../templates/part.editevent.php
-../templates/part.eventform.php
-../templates/part.import.php
-../templates/part.newevent.php
-../templates/settings.php
-../templates/lAfix.php \ No newline at end of file
diff --git a/apps/calendar/l10n/zh_CN.GB2312.php b/apps/calendar/l10n/zh_CN.GB2312.php
deleted file mode 100644
index 38f039e6611..00000000000
--- a/apps/calendar/l10n/zh_CN.GB2312.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php $TRANSLATIONS = array(
-"Wrong calendar" => "错误的日历",
-"New Timezone:" => "新时区",
-"Timezone changed" => "时区改变了",
-"Invalid request" => "非法请求",
-"Calendar" => "日历",
-"Birthday" => "生日",
-"Business" => "商务",
-"Call" => "呼叫",
-"Clients" => "客户端",
-"Deliverer" => "交付者",
-"Holidays" => "假期",
-"Ideas" => "灵感",
-"Journey" => "旅行",
-"Jubilee" => "五十年纪念",
-"Meeting" => "会面",
-"Other" => "其它",
-"Personal" => "个人的",
-"Projects" => "项目",
-"Questions" => "问题",
-"Work" => "工作",
-"New Calendar" => "新的日历",
-"Does not repeat" => "不要重复",
-"Daily" => "每天",
-"Weekly" => "每星期",
-"Every Weekday" => "每个周末",
-"Bi-Weekly" => "每两周",
-"Monthly" => "每个月",
-"Yearly" => "每年",
-"never" => "从不",
-"by occurrences" => "根据发生时",
-"by date" => "根据日期",
-"by monthday" => "根据月天",
-"by weekday" => "根据星期",
-"Monday" => "星期一",
-"Tuesday" => "星期二",
-"Wednesday" => "星期三",
-"Thursday" => "星期四",
-"Friday" => "星期五",
-"Saturday" => "星期六",
-"Sunday" => "星期天",
-"events week of month" => "时间每月发生的周数",
-"first" => "首先",
-"second" => "其次",
-"third" => "第三",
-"fourth" => "第四",
-"fifth" => "第五",
-"last" => "最后",
-"January" => "一月",
-"February" => "二月",
-"March" => "三月",
-"April" => "四月",
-"May" => "五月",
-"June" => "六月",
-"July" => "七月",
-"August" => "八月",
-"September" => "九月",
-"October" => "十月",
-"November" => "十一月",
-"December" => "十二月",
-"by events date" => "根据时间日期",
-"by yearday(s)" => "根据年数",
-"by weeknumber(s)" => "根据周数",
-"by day and month" => "根据天和月",
-"Date" => "日期",
-"Cal." => "Cal.",
-"All day" => "整天",
-"Missing fields" => "丢失的输入框",
-"Title" => "标题",
-"From Date" => "从日期",
-"From Time" => "从时间",
-"To Date" => "到日期",
-"To Time" => "到时间",
-"The event ends before it starts" => "在它开始前需要结束的事件",
-"There was a database fail" => "发生了一个数据库失败",
-"Week" => "星期",
-"Month" => "月",
-"List" => "列表",
-"Today" => "今天",
-"CalDav Link" => "CalDav 链接",
-"Download" => "下载",
-"Edit" => "编辑",
-"Delete" => "删除",
-"New calendar" => "新的日历",
-"Edit calendar" => "编辑日历",
-"Displayname" => "显示名称",
-"Active" => "活动",
-"Calendar color" => "日历颜色",
-"Save" => "保存",
-"Submit" => "提交",
-"Cancel" => " 取消",
-"Edit an event" => "编辑一个事件",
-"Export" => "导出",
-"Title of the Event" => "事件的标题",
-"Category" => "分类",
-"All Day Event" => "每天的事件",
-"From" => "从",
-"To" => "到",
-"Advanced options" => "进阶选项",
-"Location" => "地点",
-"Location of the Event" => "事件的地点",
-"Description" => "解释",
-"Description of the Event" => "事件描述",
-"Repeat" => "重复",
-"Advanced" => "进阶",
-"Select weekdays" => "选择星期",
-"Select days" => "选择日",
-"and the events day of year." => "选择每年时间发生天数",
-"and the events day of month." => "选择每个月事件发生的天",
-"Select months" => "选择月份",
-"Select weeks" => "选择星期",
-"and the events week of year." => "每年时间发生的星期",
-"Interval" => "间隔",
-"End" => "结束",
-"occurrences" => "发生",
-"Import" => "导入",
-"Create a new event" => "新建一个时间",
-"Timezone" => "时区",
-"24h" => "24小时",
-"12h" => "12小时"
-);
diff --git a/apps/calendar/l10n/zh_CN.php b/apps/calendar/l10n/zh_CN.php
deleted file mode 100644
index 48d00d02d5f..00000000000
--- a/apps/calendar/l10n/zh_CN.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "无法找到日历。",
-"No events found." => "无法找到事件。",
-"Wrong calendar" => "错误的日历",
-"New Timezone:" => "新时区:",
-"Timezone changed" => "时区已修改",
-"Invalid request" => "非法请求",
-"Calendar" => "日历",
-"ddd" => "ddd",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"Birthday" => "生日",
-"Business" => "商务",
-"Call" => "呼叫",
-"Clients" => "客户",
-"Deliverer" => "派送",
-"Holidays" => "节日",
-"Ideas" => "想法",
-"Journey" => "旅行",
-"Jubilee" => "周年纪念",
-"Meeting" => "会议",
-"Other" => "其他",
-"Personal" => "个人",
-"Projects" => "项目",
-"Questions" => "问题",
-"Work" => "工作",
-"unnamed" => "未命名",
-"New Calendar" => "新日历",
-"Does not repeat" => "不重复",
-"Daily" => "每天",
-"Weekly" => "每周",
-"Every Weekday" => "每个工作日",
-"Bi-Weekly" => "每两周",
-"Monthly" => "每月",
-"Yearly" => "每年",
-"never" => "从不",
-"by occurrences" => "按发生次数",
-"by date" => "按日期",
-"by monthday" => "按月的某天",
-"by weekday" => "按星期的某天",
-"Monday" => "星期一",
-"Tuesday" => "星期二",
-"Wednesday" => "星期三",
-"Thursday" => "星期四",
-"Friday" => "星期五",
-"Saturday" => "星期六",
-"Sunday" => "星期日",
-"events week of month" => "事件在每月的第几个星期",
-"first" => "第一",
-"second" => "第二",
-"third" => "第三",
-"fourth" => "第四",
-"fifth" => "第五",
-"last" => "最后",
-"January" => "一月",
-"February" => "二月",
-"March" => "三月",
-"April" => "四月",
-"May" => "五月",
-"June" => "六月",
-"July" => "七月",
-"August" => "八月",
-"September" => "九月",
-"October" => "十月",
-"November" => "十一月",
-"December" => "十二月",
-"by events date" => "按事件日期",
-"by yearday(s)" => "按每年的某天",
-"by weeknumber(s)" => "按星期数",
-"by day and month" => "按天和月份",
-"Date" => "日期",
-"Cal." => "日历",
-"All day" => "全天",
-"Missing fields" => "缺少字段",
-"Title" => "标题",
-"From Date" => "从",
-"From Time" => "从",
-"To Date" => "至",
-"To Time" => "至",
-"The event ends before it starts" => "事件在开始前已结束",
-"There was a database fail" => "数据库访问失败",
-"Week" => "星期",
-"Month" => "月",
-"List" => "列表",
-"Today" => "今天",
-"Your calendars" => "您的日历",
-"CalDav Link" => "CalDav 链接",
-"Shared calendars" => "共享的日历",
-"No shared calendars" => "无共享的日历",
-"Share Calendar" => "共享日历",
-"Download" => "下载",
-"Edit" => "编辑",
-"Delete" => "删除",
-"shared with you by" => " ",
-"New calendar" => "新日历",
-"Edit calendar" => "编辑日历",
-"Displayname" => "显示名称",
-"Active" => "激活",
-"Calendar color" => "日历颜色",
-"Save" => "保存",
-"Submit" => "提交",
-"Cancel" => "取消",
-"Edit an event" => "编辑事件",
-"Export" => "导出",
-"Eventinfo" => "事件信息",
-"Repeating" => "重复",
-"Alarm" => "提醒",
-"Attendees" => "参加者",
-"Share" => "共享",
-"Title of the Event" => "事件标题",
-"Category" => "分类",
-"Separate categories with commas" => "用逗号分隔分类",
-"Edit categories" => "编辑分类",
-"All Day Event" => "全天事件",
-"From" => "自",
-"To" => "至",
-"Advanced options" => "高级选项",
-"Location" => "地点",
-"Location of the Event" => "事件地点",
-"Description" => "描述",
-"Description of the Event" => "事件描述",
-"Repeat" => "重复",
-"Advanced" => "高级",
-"Select weekdays" => "选择星期中的某天",
-"Select days" => "选择某天",
-"and the events day of year." => "选择每年事件发生的日子",
-"and the events day of month." => "选择每月事件发生的日子",
-"Select months" => "选择月份",
-"Select weeks" => "选择星期",
-"and the events week of year." => "选择每年的事件发生的星期",
-"Interval" => "间隔",
-"End" => "结束",
-"occurrences" => "次",
-"create a new calendar" => "创建新日历",
-"Import a calendar file" => "导入日历文件",
-"Name of new calendar" => "新日历名称",
-"Import" => "导入",
-"Close Dialog" => "关闭对话框",
-"Create a new event" => "创建新事件",
-"View an event" => "查看事件",
-"No categories selected" => "无选中分类",
-"of" => "在",
-"at" => "在",
-"Timezone" => "时区",
-"24h" => "24小时",
-"12h" => "12小时",
-"Users" => "用户",
-"select users" => "选中用户",
-"Editable" => "可编辑",
-"Groups" => "分组",
-"select groups" => "选中分组",
-"make public" => "公开"
-);
diff --git a/apps/calendar/l10n/zh_TW.php b/apps/calendar/l10n/zh_TW.php
deleted file mode 100644
index c2c03a4d44e..00000000000
--- a/apps/calendar/l10n/zh_TW.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php $TRANSLATIONS = array(
-"No calendars found." => "沒有找到行事曆",
-"No events found." => "沒有找到活動",
-"Wrong calendar" => "錯誤日曆",
-"New Timezone:" => "新時區:",
-"Timezone changed" => "時區已變更",
-"Invalid request" => "無效請求",
-"Calendar" => "日曆",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
-"Birthday" => "生日",
-"Business" => "商業",
-"Call" => "呼叫",
-"Clients" => "客戶",
-"Deliverer" => "遞送者",
-"Holidays" => "節日",
-"Ideas" => "主意",
-"Journey" => "旅行",
-"Jubilee" => "周年慶",
-"Meeting" => "會議",
-"Other" => "其他",
-"Personal" => "個人",
-"Projects" => "計畫",
-"Questions" => "問題",
-"Work" => "工作",
-"unnamed" => "無名稱的",
-"New Calendar" => "新日曆",
-"Does not repeat" => "不重覆",
-"Daily" => "每日",
-"Weekly" => "每週",
-"Every Weekday" => "每週末",
-"Bi-Weekly" => "每雙週",
-"Monthly" => "每月",
-"Yearly" => "每年",
-"never" => "絕不",
-"by occurrences" => "由事件",
-"by date" => "由日期",
-"by monthday" => "依月份日期",
-"by weekday" => "由平日",
-"Monday" => "週一",
-"Tuesday" => "週二",
-"Wednesday" => "週三",
-"Thursday" => "週四",
-"Friday" => "週五",
-"Saturday" => "週六",
-"Sunday" => "週日",
-"events week of month" => "月份中活動週",
-"first" => "第一",
-"second" => "第二",
-"third" => "第三",
-"fourth" => "第四",
-"fifth" => "第五",
-"last" => "最後",
-"January" => "一月",
-"February" => "二月",
-"March" => "三月",
-"April" => "四月",
-"May" => "五月",
-"June" => "六月",
-"July" => "七月",
-"August" => "八月",
-"September" => "九月",
-"October" => "十月",
-"November" => "十一月",
-"December" => "十二月",
-"by events date" => "由事件日期",
-"by yearday(s)" => "依年份日期",
-"by weeknumber(s)" => "由週數",
-"by day and month" => "由日與月",
-"Date" => "日期",
-"Cal." => "行事曆",
-"All day" => "整天",
-"Missing fields" => "遺失欄位",
-"Title" => "標題",
-"From Date" => "自日期",
-"From Time" => "至時間",
-"To Date" => "至日期",
-"To Time" => "至時間",
-"The event ends before it starts" => "事件的結束在開始之前",
-"There was a database fail" => "資料庫錯誤",
-"Week" => "週",
-"Month" => "月",
-"List" => "清單",
-"Today" => "今日",
-"Your calendars" => "你的行事曆",
-"CalDav Link" => "CalDav 聯結",
-"Shared calendars" => "分享的行事曆",
-"No shared calendars" => "不分享的行事曆",
-"Share Calendar" => "分享行事曆",
-"Download" => "下載",
-"Edit" => "編輯",
-"Delete" => "刪除",
-"shared with you by" => "分享給你由",
-"New calendar" => "新日曆",
-"Edit calendar" => "編輯日曆",
-"Displayname" => "顯示名稱",
-"Active" => "作用中",
-"Calendar color" => "日曆顏色",
-"Save" => "儲存",
-"Submit" => "提出",
-"Cancel" => "取消",
-"Edit an event" => "編輯事件",
-"Export" => "匯出",
-"Eventinfo" => "活動資訊",
-"Repeating" => "重覆中",
-"Alarm" => "鬧鐘",
-"Attendees" => "出席者",
-"Share" => "分享",
-"Title of the Event" => "事件標題",
-"Category" => "分類",
-"Separate categories with commas" => "用逗點分隔分類",
-"Edit categories" => "編輯分類",
-"All Day Event" => "全天事件",
-"From" => "自",
-"To" => "至",
-"Advanced options" => "進階選項",
-"Location" => "位置",
-"Location of the Event" => "事件位置",
-"Description" => "描述",
-"Description of the Event" => "事件描述",
-"Repeat" => "重覆",
-"Advanced" => "進階",
-"Select weekdays" => "選擇平日",
-"Select days" => "選擇日",
-"and the events day of year." => "以及年中的活動日",
-"and the events day of month." => "以及月中的活動日",
-"Select months" => "選擇月",
-"Select weeks" => "選擇週",
-"and the events week of year." => "以及年中的活動週",
-"Interval" => "間隔",
-"End" => "結束",
-"occurrences" => "事件",
-"create a new calendar" => "建立新日曆",
-"Import a calendar file" => "匯入日曆檔案",
-"Name of new calendar" => "新日曆名稱",
-"Import" => "匯入",
-"Close Dialog" => "關閉對話",
-"Create a new event" => "建立一個新事件",
-"View an event" => "觀看一個活動",
-"No categories selected" => "沒有選擇分類",
-"of" => "於",
-"at" => "於",
-"Timezone" => "時區",
-"24h" => "24小時制",
-"12h" => "12小時制",
-"Users" => "使用者",
-"select users" => "選擇使用者",
-"Editable" => "可編輯",
-"Groups" => "群組",
-"select groups" => "選擇群組",
-"make public" => "公開"
-);
diff --git a/apps/calendar/lib/alarm.php b/apps/calendar/lib/alarm.php
deleted file mode 100644
index a71cc086827..00000000000
--- a/apps/calendar/lib/alarm.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/*
- * This class manages reminders for calendars
- */
-class OC_Calendar_Alarm{
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/app.php b/apps/calendar/lib/app.php
deleted file mode 100644
index 8bdb54f4867..00000000000
--- a/apps/calendar/lib/app.php
+++ /dev/null
@@ -1,436 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * Copyright (c) 2012 Georg Ehrke <georg@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- *
- * This class manages our app actions
- */
-OC_Calendar_App::$l10n = new OC_L10N('calendar');
-OC_Calendar_App::$tz = OC_Calendar_App::getTimezone();
-class OC_Calendar_App{
- const CALENDAR = 'calendar';
- const EVENT = 'event';
- /**
- * @brief language object for calendar app
- */
- public static $l10n;
-
- /**
- * @brief categories of the user
- */
- protected static $categories = null;
-
- /**
- * @brief timezone of the user
- */
- public static $tz;
-
- /**
- * @brief returns informations about a calendar
- * @param int $id - id of the calendar
- * @param bool $security - check access rights or not
- * @param bool $shared - check if the user got access via sharing
- * @return mixed - bool / array
- */
- public static function getCalendar($id, $security = true, $shared = false){
- if(! is_numeric($id)){
- return false;
- }
- $calendar = OC_Calendar_Calendar::find($id);
- if($shared === true){
- if(OC_Calendar_Share::check_access(OCP\USER::getUser(), $id, OC_Calendar_Share::CALENDAR)){
- return $calendar;
- }
- }
- if($security === true){
- if($calendar['userid'] != OCP\USER::getUser()){
- return false;
- }
- }
- return $calendar;
- }
-
- /**
- * @brief returns informations about an event
- * @param int $id - id of the event
- * @param bool $security - check access rights or not
- * @param bool $shared - check if the user got access via sharing
- * @return mixed - bool / array
- */
- public static function getEventObject($id, $security = true, $shared = false){
- $event = OC_Calendar_Object::find($id);
- if($shared === true){
- if(OC_Calendar_Share::check_access(OCP\USER::getUser(), $id, OC_Calendar_Share::EVENT)){
- return $event;
- }
- }
- if($security === true){
- $calendar = self::getCalendar($event['calendarid'], false);
- if($calendar['userid'] != OCP\USER::getUser()){
- return false;
- }
- }
- if($event === false){
- return false;
- }
- return $event;
- }
-
- /**
- * @brief returns the parsed calendar data
- * @param int $id - id of the event
- * @param bool $security - check access rights or not
- * @return mixed - bool / object
- */
- public static function getVCalendar($id, $security = true, $shared = false){
- $event_object = self::getEventObject($id, $security, $shared);
- if($event_object === false){
- return false;
- }
- $vobject = OC_VObject::parse($event_object['calendardata']);
- if(is_null($vobject)){
- return false;
- }
- return $vobject;
- }
-
- /**
- * @brief checks if an event was edited and dies if it was
- * @param (object) $vevent - vevent object of the event
- * @param (int) $lastmodified - time of last modification as unix timestamp
- * @return (bool)
- */
- public static function isNotModified($vevent, $lastmodified){
- $last_modified = $vevent->__get('LAST-MODIFIED');
- if($last_modified && $lastmodified != $last_modified->getDateTime()->format('U')){
- OCP\JSON::error(array('modified'=>true));
- exit;
- }
- return true;
- }
-
- /**
- * @brief returns the default categories of ownCloud
- * @return (array) $categories
- */
- protected static function getDefaultCategories(){
- return array(
- self::$l10n->t('Birthday'),
- self::$l10n->t('Business'),
- self::$l10n->t('Call'),
- self::$l10n->t('Clients'),
- self::$l10n->t('Deliverer'),
- self::$l10n->t('Holidays'),
- self::$l10n->t('Ideas'),
- self::$l10n->t('Journey'),
- self::$l10n->t('Jubilee'),
- self::$l10n->t('Meeting'),
- self::$l10n->t('Other'),
- self::$l10n->t('Personal'),
- self::$l10n->t('Projects'),
- self::$l10n->t('Questions'),
- self::$l10n->t('Work'),
- );
- }
-
- /**
- * @brief returns the vcategories object of the user
- * @return (object) $vcategories
- */
- protected static function getVCategories() {
- if (is_null(self::$categories)) {
- self::$categories = new OC_VCategories('calendar', null, self::getDefaultCategories());
- }
- return self::$categories;
- }
-
- /**
- * @brief returns the categories of the vcategories object
- * @return (array) $categories
- */
- public static function getCategoryOptions(){
- $categories = self::getVCategories()->categories();
- return $categories;
- }
-
- /**
- * scan events for categories.
- * @param $events VEVENTs to scan. null to check all events for the current user.
- */
- public static function scanCategories($events = null) {
- if (is_null($events)) {
- $calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
- if(count($calendars) > 0) {
- $events = array();
- foreach($calendars as $calendar) {
- $calendar_events = OC_Calendar_Object::all($calendar['id']);
- $events = $events + $calendar_events;
- }
- }
- }
- if(is_array($events) && count($events) > 0) {
- $vcategories = self::getVCategories();
- $vcategories->delete($vcategories->categories());
- foreach($events as $event) {
- $vobject = OC_VObject::parse($event['calendardata']);
- if(!is_null($vobject)) {
- self::loadCategoriesFromVCalendar($vobject);
- }
- }
- }
- }
-
- /**
- * check VEvent for new categories.
- * @see OC_VCategories::loadFromVObject
- */
- public static function loadCategoriesFromVCalendar(OC_VObject $calendar) {
- $object = null;
- if (isset($calendar->VEVENT)) {
- $object = $calendar->VEVENT;
- } else
- if (isset($calendar->VTODO)) {
- $object = $calendar->VTODO;
- } else
- if (isset($calendar->VJOURNAL)) {
- $object = $calendar->VJOURNAL;
- }
- if ($object) {
- self::getVCategories()->loadFromVObject($object, true);
- }
- }
-
- /**
- * @brief returns the options for the repeat rule of an repeating event
- * @return array - valid inputs for the repeat rule of an repeating event
- */
- public static function getRepeatOptions(){
- return OC_Calendar_Object::getRepeatOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for the end of an repeating event
- * @return array - valid inputs for the end of an repeating events
- */
- public static function getEndOptions(){
- return OC_Calendar_Object::getEndOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for an monthly repeating event
- * @return array - valid inputs for monthly repeating events
- */
- public static function getMonthOptions(){
- return OC_Calendar_Object::getMonthOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for an weekly repeating event
- * @return array - valid inputs for weekly repeating events
- */
- public static function getWeeklyOptions(){
- return OC_Calendar_Object::getWeeklyOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for an yearly repeating event
- * @return array - valid inputs for yearly repeating events
- */
- public static function getYearOptions(){
- return OC_Calendar_Object::getYearOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific days of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByYearDayOptions(){
- return OC_Calendar_Object::getByYearDayOptions();
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific month of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByMonthOptions(){
- return OC_Calendar_Object::getByMonthOptions(self::$l10n);
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific week numbers of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByWeekNoOptions(){
- return OC_Calendar_Object::getByWeekNoOptions();
- }
-
- /**
- * @brief returns the options for an yearly or monthly repeating event which occurs on specific days of the month
- * @return array - valid inputs for yearly or monthly repeating events
- */
- public static function getByMonthDayOptions(){
- return OC_Calendar_Object::getByMonthDayOptions();
- }
-
- /**
- * @brief returns the options for an monthly repeating event which occurs on specific weeks of the month
- * @return array - valid inputs for monthly repeating events
- */
- public static function getWeekofMonth(){
- return OC_Calendar_Object::getWeekofMonth(self::$l10n);
- }
-
- /**
- * @return (string) $timezone as set by user or the default timezone
- */
- public static function getTimezone() {
- return OCP\Config::getUserValue(OCP\User::getUser(),
- 'calendar',
- 'timezone',
- date_default_timezone_get());
- }
-
- /**
- * @brief checks the access for a calendar / an event
- * @param (int) $id - id of the calendar / event
- * @param (string) $type - type of the id (calendar/event)
- * @return (string) $access - level of access
- */
- public static function getaccess($id, $type){
- if($type == self::CALENDAR){
- $calendar = self::getCalendar($id, false, false);
- if($calendar['userid'] == OCP\USER::getUser()){
- return 'owner';
- }
- $isshared = OC_Calendar_Share::check_access(OCP\USER::getUser(), $id, OC_Calendar_Share::CALENDAR);
- if($isshared){
- $writeaccess = OC_Calendar_Share::is_editing_allowed(OCP\USER::getUser(), $id, OC_Calendar_Share::CALENDAR);
- if($writeaccess){
- return 'rw';
- }else{
- return 'r';
- }
- }else{
- return false;
- }
- }elseif($type == self::EVENT){
- if(OC_Calendar_Object::getowner($id) == OCP\USER::getUser()){
- return 'owner';
- }
- $isshared = OC_Calendar_Share::check_access(OCP\USER::getUser(), $id, OC_Calendar_Share::EVENT);
- if($isshared){
- $writeaccess = OC_Calendar_Share::is_editing_allowed(OCP\USER::getUser(), $id, OC_Calendar_Share::EVENT);
- if($writeaccess){
- return 'rw';
- }else{
- return 'r';
- }
- }else{
- return false;
- }
- }
- }
-
- /**
- * @brief analyses the parameter for calendar parameter and returns the objects
- * @param (string) $calendarid - calendarid
- * @param (int) $start - unixtimestamp of start
- * @param (int) $end - unixtimestamp of end
- * @return (array) $events
- */
- public static function getrequestedEvents($calendarid, $start, $end){
- $events = array();
- if($calendarid == 'shared_rw' || $calendarid == 'shared_r'){
- $calendars = OC_Calendar_Share::allSharedwithuser(OCP\USER::getUser(), OC_Calendar_Share::CALENDAR, 1, ($_GET['calendar_id'] == 'shared_rw')?'rw':'r');
- foreach($calendars as $calendar){
- $calendarevents = OC_Calendar_Object::allInPeriod($calendar['calendarid'], $start, $end);
- foreach($calendarevents as $event){
- $event['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($event['id']) . ')';
- }
- $events = array_merge($events, $calendarevents);
- }
- $singleevents = OC_Calendar_Share::allSharedwithuser(OCP\USER::getUser(), OC_Calendar_Share::EVENT, 1, ($_GET['calendar_id'] == 'shared_rw')?'rw':'r');
- foreach($singleevents as $singleevent){
- $event = OC_Calendar_Object::find($singleevent['eventid']);
- if(!array_key_exists('summary', $event)){
- $event['summary'] = self::$l10n->t('unnamed');
- }
- $event['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($event['id']) . ')';
- $events[] = $event;
- }
- }else{
- if (is_numeric($calendarid)) {
- $calendar = self::getCalendar($calendarid);
- OCP\Response::enableCaching(0);
- OCP\Response::setETagHeader($calendar['ctag']);
- $events = OC_Calendar_Object::allInPeriod($calendarid, $start, $end);
- } else {
- OCP\Util::emitHook('OC_Calendar', 'getEvents', array('calendar_id' => $calendarid, 'events' => &$events));
- }
- }
- return $events;
- }
-
- /**
- * @brief generates the output for an event which will be readable for our js
- * @param (mixed) $event - event object / array
- * @param (int) $start - DateTime object of start
- * @param (int) $end - DateTime object of end
- * @return (array) $output - readable output
- */
- public static function generateEventOutput($event, $start, $end){
- if(!isset($event['calendardata']) && !isset($event['vevent'])){
- return false;
- }
- if(!isset($event['calendardata']) && isset($event['vevent'])){
- $event['calendardata'] = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud's Internal iCal System\n" . $event['vevent']->serialize() . "END:VCALENDAR";
- }
- $object = OC_VObject::parse($event['calendardata']);
- $vevent = $object->VEVENT;
- $return = array();
- $id = $event['id'];
- $allday = ($vevent->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE)?true:false;
- $last_modified = @$vevent->__get('LAST-MODIFIED');
- $lastmodified = ($last_modified)?$last_modified->getDateTime()->format('U'):0;
- $staticoutput = array('id'=>(int)$event['id'],
- 'title' => ($event['summary']!=NULL || $event['summary'] != '')?$event['summary']: self::$l10n->t('unnamed'),
- 'description' => isset($vevent->DESCRIPTION)?$vevent->DESCRIPTION->value:'',
- 'lastmodified'=>$lastmodified,
- 'allDay'=>$allday);
- if(OC_Calendar_Object::isrepeating($id) && OC_Calendar_Repeat::is_cached_inperiod($event['id'], $start, $end)){
- $cachedinperiod = OC_Calendar_Repeat::get_inperiod($id, $start, $end);
- foreach($cachedinperiod as $cachedevent){
- $dynamicoutput = array();
- if($allday){
- $start_dt = new DateTime($cachedevent['startdate'], new DateTimeZone('UTC'));
- $end_dt = new DateTime($cachedevent['enddate'], new DateTimeZone('UTC'));
- $dynamicoutput['start'] = $start_dt->format('Y-m-d');
- $dynamicoutput['end'] = $end_dt->format('Y-m-d');
- }else{
- $start_dt = new DateTime($cachedevent['startdate'], new DateTimeZone('UTC'));
- $end_dt = new DateTime($cachedevent['enddate'], new DateTimeZone('UTC'));
- $start_dt->setTimezone(new DateTimeZone(self::$tz));
- $end_dt->setTimezone(new DateTimeZone(self::$tz));
- $dynamicoutput['start'] = $start_dt->format('Y-m-d H:i:s');
- $dynamicoutput['end'] = $end_dt->format('Y-m-d H:i:s');
- }
- $return[] = array_merge($staticoutput, $dynamicoutput);
- }
- }else{
- if(OC_Calendar_Object::isrepeating($id) || $event['repeating'] == 1){
- $object->expand($start, $end);
- }
- foreach($object->getComponents() as $singleevent){
- if(!($singleevent instanceof Sabre_VObject_Component_VEvent)){
- continue;
- }
- $dynamicoutput = OC_Calendar_Object::generateStartEndDate($singleevent->DTSTART, OC_Calendar_Object::getDTEndFromVEvent($singleevent), $allday, self::$tz);
- $return[] = array_merge($staticoutput, $dynamicoutput);
- }
- }
- return $return;
- }
-}
diff --git a/apps/calendar/lib/attendees.php b/apps/calendar/lib/attendees.php
deleted file mode 100644
index ac30e11b3be..00000000000
--- a/apps/calendar/lib/attendees.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/*
- * This class manages Attendees for calendars
- */
-class OC_Calendar_Attendees{
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/calendar.php b/apps/calendar/lib/calendar.php
deleted file mode 100644
index f8f5aab3636..00000000000
--- a/apps/calendar/lib/calendar.php
+++ /dev/null
@@ -1,308 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Jakob Sack <mail@jakobsack.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/**
- *
- * The following SQL statement is just a help for developers and will not be
- * executed!
- *
- * CREATE TABLE calendar_calendars (
- * id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- * userid VARCHAR(255),
- * displayname VARCHAR(100),
- * uri VARCHAR(100),
- * active INTEGER UNSIGNED NOT NULL DEFAULT '0',
- * ctag INTEGER UNSIGNED NOT NULL DEFAULT '0',
- * calendarorder INTEGER UNSIGNED NOT NULL DEFAULT '0',
- * calendarcolor VARCHAR(10),
- * timezone TEXT,
- * components VARCHAR(20)
- * );
- *
- */
-
-/**
- * This class manages our calendars
- */
-class OC_Calendar_Calendar{
- /**
- * @brief Returns the list of calendars for a specific user.
- * @param string $uid User ID
- * @param boolean $active Only return calendars with this $active state, default(=false) is don't care
- * @return array
- */
- public static function allCalendars($uid, $active=false){
- $values = array($uid);
- $active_where = '';
- if (!is_null($active) && $active){
- $active_where = ' AND `active` = ?';
- $values[] = $active;
- }
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_calendars` WHERE `userid` = ?' . $active_where );
- $result = $stmt->execute($values);
-
- $calendars = array();
- while( $row = $result->fetchRow()){
- $calendars[] = $row;
- }
-
- return $calendars;
- }
-
- /**
- * @brief Returns the list of calendars for a principal (DAV term of user)
- * @param string $principaluri
- * @return array
- */
- public static function allCalendarsWherePrincipalURIIs($principaluri){
- $uid = self::extractUserID($principaluri);
- return self::allCalendars($uid);
- }
-
- /**
- * @brief Gets the data of one calendar
- * @param integer $id
- * @return associative array
- */
- public static function find($id){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_calendars` WHERE `id` = ?' );
- $result = $stmt->execute(array($id));
-
- return $result->fetchRow();
- }
-
- /**
- * @brief Creates a new calendar
- * @param string $userid
- * @param string $name
- * @param string $components Default: "VEVENT,VTODO,VJOURNAL"
- * @param string $timezone Default: null
- * @param integer $order Default: 1
- * @param string $color Default: null, format: '#RRGGBB(AA)'
- * @return insertid
- */
- public static function addCalendar($userid,$name,$components='VEVENT,VTODO,VJOURNAL',$timezone=null,$order=0,$color=null){
- $all = self::allCalendars($userid);
- $uris = array();
- foreach($all as $i){
- $uris[] = $i['uri'];
- }
-
- $uri = self::createURI($name, $uris );
-
- $stmt = OCP\DB::prepare( 'INSERT INTO `*PREFIX*calendar_calendars` (`userid`,`displayname`,`uri`,`ctag`,`calendarorder`,`calendarcolor`,`timezone`,`components`) VALUES(?,?,?,?,?,?,?,?)' );
- $result = $stmt->execute(array($userid,$name,$uri,1,$order,$color,$timezone,$components));
-
- $insertid = OCP\DB::insertid('*PREFIX*calendar_calendars');
- OCP\Util::emitHook('OC_Calendar', 'addCalendar', $insertid);
-
- return $insertid;
- }
-
- /**
- * @brief Creates a new calendar from the data sabredav provides
- * @param string $principaluri
- * @param string $uri
- * @param string $name
- * @param string $components
- * @param string $timezone
- * @param integer $order
- * @param string $color format: '#RRGGBB(AA)'
- * @return insertid
- */
- public static function addCalendarFromDAVData($principaluri,$uri,$name,$components,$timezone,$order,$color){
- $userid = self::extractUserID($principaluri);
-
- $stmt = OCP\DB::prepare( 'INSERT INTO `*PREFIX*calendar_calendars` (`userid`,`displayname`,`uri`,`ctag`,`calendarorder`,`calendarcolor`,`timezone`,`components`) VALUES(?,?,?,?,?,?,?,?)' );
- $result = $stmt->execute(array($userid,$name,$uri,1,$order,$color,$timezone,$components));
-
- $insertid = OCP\DB::insertid('*PREFIX*calendar_calendars');
- OCP\Util::emitHook('OC_Calendar', 'addCalendar', $insertid);
-
- return $insertid;
- }
-
- /**
- * @brief Edits a calendar
- * @param integer $id
- * @param string $name Default: null
- * @param string $components Default: null
- * @param string $timezone Default: null
- * @param integer $order Default: null
- * @param string $color Default: null, format: '#RRGGBB(AA)'
- * @return boolean
- *
- * Values not null will be set
- */
- public static function editCalendar($id,$name=null,$components=null,$timezone=null,$order=null,$color=null){
- // Need these ones for checking uri
- $calendar = self::find($id);
-
- // Keep old stuff
- if(is_null($name)) $name = $calendar['displayname'];
- if(is_null($components)) $components = $calendar['components'];
- if(is_null($timezone)) $timezone = $calendar['timezone'];
- if(is_null($order)) $order = $calendar['calendarorder'];
- if(is_null($color)) $color = $calendar['calendarcolor'];
-
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_calendars` SET `displayname`=?,`calendarorder`=?,`calendarcolor`=?,`timezone`=?,`components`=?,`ctag`=`ctag`+1 WHERE `id`=?' );
- $result = $stmt->execute(array($name,$order,$color,$timezone,$components,$id));
-
- OCP\Util::emitHook('OC_Calendar', 'editCalendar', $id);
- return true;
- }
-
- /**
- * @brief Sets a calendar (in)active
- * @param integer $id
- * @param boolean $active
- * @return boolean
- */
- public static function setCalendarActive($id,$active){
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_calendars` SET `active` = ? WHERE `id` = ?' );
- $stmt->execute(array($active, $id));
-
- return true;
- }
-
- /**
- * @brief Updates ctag for calendar
- * @param integer $id
- * @return boolean
- */
- public static function touchCalendar($id){
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_calendars` SET `ctag` = `ctag` + 1 WHERE `id` = ?' );
- $stmt->execute(array($id));
-
- return true;
- }
-
- /**
- * @brief removes a calendar
- * @param integer $id
- * @return boolean
- */
- public static function deleteCalendar($id){
- $stmt = OCP\DB::prepare( 'DELETE FROM `*PREFIX*calendar_calendars` WHERE `id` = ?' );
- $stmt->execute(array($id));
-
- $stmt = OCP\DB::prepare( 'DELETE FROM `*PREFIX*calendar_objects` WHERE `calendarid` = ?' );
- $stmt->execute(array($id));
-
- OCP\Util::emitHook('OC_Calendar', 'deleteCalendar', $id);
- if(count(self::allCalendars(OCP\USER::getUser())) == 0) {
- self::addCalendar(OCP\USER::getUser(),'Default calendar');
- }
-
- return true;
- }
-
- /**
- * @brief merges two calendars
- * @param integer $id1
- * @param integer $id2
- * @return boolean
- */
- public static function mergeCalendar($id1, $id2){
- $stmt = OCP\DB::prepare('UPDATE `*PREFIX*calendar_objects` SET `calendarid` = ? WHERE `calendarid` = ?');
- $stmt->execute(array($id1, $id2));
- self::touchCalendar($id1);
- self::deleteCalendar($id2);
- }
-
- /**
- * @brief Creates a URI for Calendar
- * @param string $name name of the calendar
- * @param array $existing existing calendar URIs
- * @return string uri
- */
- public static function createURI($name,$existing){
- $name = strtolower($name);
- $newname = $name;
- $i = 1;
- while(in_array($newname,$existing)){
- $newname = $name.$i;
- $i = $i + 1;
- }
- return $newname;
- }
-
- /**
- * @brief gets the userid from a principal path
- * @return string
- */
- public static function extractUserID($principaluri){
- list($prefix,$userid) = Sabre_DAV_URLUtil::splitPath($principaluri);
- return $userid;
- }
-
- /**
- * @brief returns the possible color for calendars
- * @return array
- */
- public static function getCalendarColorOptions(){
- return array(
- '#ff0000', // "Red"
- '#b3dc6c', // "Green"
- '#ffff00', // "Yellow"
- '#808000', // "Olive"
- '#ffa500', // "Orange"
- '#ff7f50', // "Coral"
- '#ee82ee', // "Violet"
- '#9fc6e7', // "light blue"
- );
- }
-
- /**
- * @brief generates the Event Source Info for our JS
- * @param array $calendar calendar data
- * @return array
- */
- public static function getEventSourceInfo($calendar){
- return array(
- 'url' => OCP\Util::linkTo('calendar', 'ajax/events.php').'?calendar_id='.$calendar['id'],
- 'backgroundColor' => $calendar['calendarcolor'],
- 'borderColor' => '#888',
- 'textColor' => self::generateTextColor($calendar['calendarcolor']),
- 'cache' => true,
- );
- }
-
- /*
- * @brief checks if a calendar name is available for a user
- * @param string $calendarname
- * @param string $userid
- * @return boolean
- */
- public static function isCalendarNameavailable($calendarname, $userid){
- $calendars = self::allCalendars($userid);
- foreach($calendars as $calendar){
- if($calendar['displayname'] == $calendarname){
- return false;
- }
- }
- return true;
- }
-
- /*
- * @brief generates the text color for the calendar
- * @param string $calendarcolor rgb calendar color code in hex format (with or without the leading #)
- * (this function doesn't pay attention on the alpha value of rgba color codes)
- * @return boolean
- */
- public static function generateTextColor($calendarcolor){
- if(substr_count($calendarcolor, '#') == 1){
- $calendarcolor = substr($calendarcolor,1);
- }
- $red = hexdec(substr($calendarcolor,0,2));
- $green = hexdec(substr($calendarcolor,2,2));
- $blue = hexdec(substr($calendarcolor,2,2));
- //recommendation by W3C
- $computation = ((($red * 299) + ($green * 587) + ($blue * 114)) / 1000);
- return ($computation > 130)?'#000000':'#FAFAFA';
- }
-}
diff --git a/apps/calendar/lib/export.php b/apps/calendar/lib/export.php
deleted file mode 100644
index 8f26891f366..00000000000
--- a/apps/calendar/lib/export.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/**
- * This class does export and converts all times to UTC
- */
-class OC_Calendar_Export{
- /**
- * @brief Use one of these constants as second parameter if you call OC_Calendar_Export::export()
- */
- const CALENDAR = 'calendar';
- const EVENT = 'event';
-
- /**
- * @brief export a calendar or an event
- * @param integer $id id of calendar / event
- * @param string $type use OC_Calendar_Export constants
- * @return string
- */
- public static function export($id, $type){
- if($type == self::EVENT){
- $return = self::event($id);
- }else{
- $return = self::calendar($id);
- }
- return self::fixLineBreaks($return);
- }
-
- /**
- * @brief exports a calendar and convert all times to UTC
- * @param integer $id id of the calendar
- * @return string
- */
- private static function calendar($id){
- $events = OC_Calendar_Object::all($id);
- $calendar = OC_Calendar_Calendar::find($id);
- $return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\nX-WR-CALNAME:" . $calendar['displayname'] . "\n";
- foreach($events as $event){
- $return .= self::generateEvent($event);
- }
- $return .= "END:VCALENDAR";
- return $return;
- }
-
- /**
- * @brief exports an event and convert all times to UTC
- * @param integer $id id of the event
- * @return string
- */
- private static function event($id){
- $event = OC_Calendar_Object::find($id);
- $return = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\nX-WR-CALNAME:" . $event['summary'] . "\n";
- $return .= self::generateEvent($event);
- $return .= "END:VCALENDAR";
- return $return;
- }
-
- /**
- * @brief generates the VEVENT with UTC dates
- * @param array $event
- * @return string
- */
- private static function generateEvent($event){
- $object = OC_VObject::parse($event['calendardata']);
- $dtstart = $object->VEVENT->DTSTART;
- $start_dt = $dtstart->getDateTime();
- $dtend = OC_Calendar_Object::getDTEndFromVEvent($object->VEVENT);
- $end_dt = $dtend->getDateTime();
- if($dtstart->getDateType() !== Sabre_VObject_Element_DateTime::DATE){
- $start_dt->setTimezone(new DateTimeZone('UTC'));
- $end_dt->setTimezone(new DateTimeZone('UTC'));
- $object->VEVENT->setDateTime('DTSTART', $start_dt, Sabre_VObject_Property_DateTime::UTC);
- $object->VEVENT->setDateTime('DTEND', $end_dt, Sabre_VObject_Property_DateTime::UTC);
- }
- return $object->VEVENT->serialize();
- }
-
- /**
- * @brief fixes new line breaks
- * (fixes problems with Apple iCal)
- * @param string $string to fix
- * @return string
- */
- private static function fixLineBreaks($string){
- $string = str_replace("\r\n", "\n", $string);
- $string = str_replace("\r", "\n", $string);
- $string = str_replace("\n", "\r\n", $string);
- return $string;
- }
-}
diff --git a/apps/calendar/lib/hooks.php b/apps/calendar/lib/hooks.php
deleted file mode 100644
index bc0b02c62b8..00000000000
--- a/apps/calendar/lib/hooks.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Jakob Sack <mail@jakobsack.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-/**
- * This class contains all hooks.
- */
-class OC_Calendar_Hooks{
- /**
- * @brief Creates default calendar for a user
- * @param paramters parameters from postCreateUser-Hook
- * @return array
- */
- public static function createUser($parameters) {
- OC_Calendar_Calendar::addCalendar($parameters['uid'],'Default calendar');
-
- return true;
- }
-
- /**
- * @brief Deletes all calendars of a certain user
- * @param paramters parameters from postDeleteUser-Hook
- * @return array
- */
- public static function deleteUser($parameters) {
- $calendars = OC_Calendar_Calendar::allCalendars($parameters['uid']);
-
- foreach($calendars as $calendar) {
- OC_Calendar_Calendar::deleteCalendar($calendar['id']);
- }
-
- OC_Calendar_Share::post_userdelete($parameters['uid']);
-
- return true;
- }
-}
diff --git a/apps/calendar/lib/import.php b/apps/calendar/lib/import.php
deleted file mode 100644
index 2e3a729e0cd..00000000000
--- a/apps/calendar/lib/import.php
+++ /dev/null
@@ -1,336 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/*
- * This class does import and converts all times to the users current timezone
- */
-class OC_Calendar_Import{
- /*
- * @brief counts the absolute number of parsed elements
- */
- private $abscount;
-
- /*
- * @brief var saves if the percentage should be saved with OC_Cache
- */
- private $cacheprogress;
-
- /*
- * @brief Sabre_VObject_Component_VCalendar object - for documentation see http://code.google.com/p/sabredav/wiki/Sabre_VObject_Component_VCalendar
- */
- private $calobject;
-
- /*
- * @brief var counts the number of imported elements
- */
- private $count;
-
- /*
- * @brief var to check if errors happend while initialization
- */
- private $error;
-
- /*
- * @brief var saves the ical string that was submitted with the __construct function
- */
- private $ical;
-
- /*
- * @brief calendar id for import
- */
- private $id;
-
- /*
- * @brief var saves the percentage of the import's progress
- */
- private $progress;
-
- /*
- * @brief var saves the key for the percentage of the import's progress
- */
- private $progresskey;
-
- /*
- * @brief var saves the timezone the events shell converted to
- */
- private $tz;
-
- /*
- * @brief var saves the userid
- */
- private $userid;
-
- /*
- * public methods
- */
-
- /*
- * @brief does general initialization for import object
- * @param string $calendar content of ical file
- * @param string $tz timezone of the user
- * @return boolean
- */
- public function __construct($ical){
- $this->error = null;
- $this->ical = $ical;
- $this->abscount = 0;
- $this->count = 0;
- try{
- $this->calobject = OC_VObject::parse($this->ical);
- }catch(Exception $e){
- //MISSING: write some log
- $this->error = true;
- return false;
- }
- return true;
- }
-
- /*
- * @brief imports a calendar
- * @return boolean
- */
- public function import(){
- if(!$this->isValid()){
- return false;
- }
- $numofcomponents = count($this->calobject->getComponents());
- foreach($this->calobject->getComponents() as $object){
- if(!($object instanceof Sabre_VObject_Component_VEvent) && !($object instanceof Sabre_VObject_Component_VJournal) && !($object instanceof Sabre_VObject_Component_VTodo)){
- continue;
- }
- $dtend = OC_Calendar_Object::getDTEndFromVEvent($object);
- $object->DTSTART->getDateTime()->setTimezone(new DateTimeZone($this->tz));
- $object->DTEND->setDateTime($dtend->getDateTime(), $object->DTSTART->getDateType());
- $object->DTEND->getDateTime()->setTimezone(new DateTimeZone($this->tz));
- $vcalendar = $this->createVCalendar($object->serialize());
- $insertid = OC_Calendar_Object::add($this->id, $vcalendar);
- $this->abscount++;
- if($this->isDuplicate($insertid)){
- OC_Calendar_Object::delete($insertid);
- }else{
- $this->count++;
- }
- $this->updateProgress(intval(($this->abscount / $numofcomponents)*100));
- }
- OC_Cache::remove($this->progresskey);
- return true;
- }
-
- /*
- * @brief sets the timezone
- * @return boolean
- */
- public function setTimeZone($tz){
- $this->tz = $tz;
- return true;
- }
-
- /*
- * @brief sets the progresskey
- * @return boolean
- */
- public function setProgresskey($progresskey){
- $this->progresskey = $progresskey;
- return true;
- }
-
- /*
- * @brief checks if something went wrong while initialization
- * @return boolean
- */
- public function isValid(){
- if(is_null($this->error)){
- return true;
- }
- return false;
- }
-
- /*
- * @brief returns the percentage of progress
- * @return integer
- */
- public function getProgress(){
- return $this->progress;
- }
-
- /*
- * @brief enables the cache for the percentage of progress
- * @return boolean
- */
- public function enableProgressCache(){
- $this->cacheprogress = true;
- return true;
- }
-
- /*
- * @brief disables the cache for the percentage of progress
- * @return boolean
- */
- public function disableProgressCache(){
- $this->cacheprogress = false;
- return false;
- }
-
- /*
- * @brief generates a new calendar name
- * @return string
- */
- public function createCalendarName(){
- $calendars = OC_Calendar_Calendar::allCalendars($this->userid);
- $calendarname = $guessedcalendarname = !is_null($this->guessCalendarName())?($this->guessCalendarName()):(OC_Calendar_App::$l10n->t('New Calendar'));
- $i = 1;
- while(!OC_Calendar_Calendar::isCalendarNameavailable($calendarname, $this->userid)){
- $calendarname = $guessedcalendarname . ' (' . $i . ')';
- $i++;
- }
- return $calendarname;
- }
-
- /*
- * @brief generates a new calendar color
- * @return string
- */
- public function createCalendarColor(){
- if(is_null($this->guessCalendarColor())){
- return '#9fc6e7';
- }
- return $this->guessCalendarColor();
- }
-
- /*
- * @brief sets the id for the calendar
- * @param integer $id of the calendar
- * @return boolean
- */
- public function setCalendarID($id){
- $this->id = $id;
- return true;
- }
-
- /*
- * @brief sets the userid to import the calendar
- * @param string $id of the user
- * @return boolean
- */
- public function setUserID($userid){
- $this->userid = $userid;
- return true;
- }
-
- /*
- * @brief returns the private
- * @param string $id of the user
- * @return boolean
- */
- public function getCount(){
- return $this->count;
- }
-
- /*
- * private methods
- */
-
- /*
- * @brief generates an unique ID
- * @return string
- */
- //private function createUID(){
- // return substr(md5(rand().time()),0,10);
- //}
-
- /*
- * @brief checks is the UID is already in use for another event
- * @param string $uid uid to check
- * @return boolean
- */
- //private function isUIDAvailable($uid){
- //
- //}
-
- /*
- * @brief generates a proper VCalendar string
- * @param string $vobject
- * @return string
- */
- private function createVCalendar($vobject){
- if(is_object($vobject)){
- $vobject = @$vobject->serialize();
- }
- $vcalendar = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:ownCloud Calendar " . OCP\App::getAppVersion('calendar') . "\n";
- $vcalendar .= $vobject;
- $vcalendar .= "END:VCALENDAR";
- return $vcalendar;
- }
-
- /*
- * @brief checks if an event already exists in the user's calendars
- * @param integer $insertid id of the new object
- * @return boolean
- */
- private function isDuplicate($insertid){
- $newobject = OC_Calendar_Object::find($insertid);
- $stmt = OCP\DB::prepare('SELECT COUNT(*) AS `count` FROM `*PREFIX*calendar_objects`
- INNER JOIN `*PREFIX*calendar_calendars` ON `calendarid`=`*PREFIX*calendar_calendars`.`id`
- WHERE `objecttype`=? AND `startdate`=? AND `enddate`=? AND `repeating`=? AND `summary`=? AND `calendardata`=? AND `userid` = ?');
- $result = $stmt->execute(array($newobject['objecttype'],$newobject['startdate'],$newobject['enddate'],$newobject['repeating'],$newobject['summary'],$newobject['calendardata'], $this->userid));
- $result = $result->fetchRow();
- if($result['count'] >= 2){
- return true;
- }
- return false;
- }
-
- /*
- * @brief updates the progress var
- * @param integer $percentage
- * @return boolean
- */
- private function updateProgress($percentage){
- $this->progress = $percentage;
- if($this->cacheprogress){
- OC_Cache::set($this->progresskey, $this->progress, 300);
- }
- return true;
- }
-
- /*
- * public methods for (pre)rendering of X-... Attributes
- */
-
- /*
- * @brief guesses the calendar color
- * @return mixed - string or boolean
- */
- public function guessCalendarColor(){
- if(!is_null($this->calobject->__get('X-APPLE-CALENDAR-COLOR'))){
- return $this->calobject->__get('X-APPLE-CALENDAR-COLOR');
- }
- return null;
- }
-
- /*
- * @brief guesses the calendar description
- * @return mixed - string or boolean
- */
- public function guessCalendarDescription(){
- if(!is_null($this->calobject->__get('X-WR-CALDESC'))){
- return $this->calobject->__get('X-WR-CALDESC');
- }
- return null;
- }
-
- /*
- * @brief guesses the calendar name
- * @return mixed - string or boolean
- */
- public function guessCalendarName(){
- if(!is_null($this->calobject->__get('X-WR-CALNAME'))){
- return $this->calobject->__get('X-WR-CALNAME');
- }
- return null;
- }
-}
diff --git a/apps/calendar/lib/object.php b/apps/calendar/lib/object.php
deleted file mode 100644
index 8020d7c2e53..00000000000
--- a/apps/calendar/lib/object.php
+++ /dev/null
@@ -1,937 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Jakob Sack <mail@jakobsack.de>
- * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
- /**
- *
- * The following SQL statement is just a help for developers and will not be
- * executed!
- *
- * CREATE TABLE calendar_objects (
- * id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- * calendarid INTEGER UNSIGNED NOT NULL,
- * objecttype VARCHAR(40) NOT NULL,
- * startdate DATETIME,
- * enddate DATETIME,
- * repeating INT(1),
- * summary VARCHAR(255),
- * calendardata TEXT,
- * uri VARCHAR(100),
- * lastmodified INT(11)
- * );
- *
- */
-
-/**
- * This class manages our calendar objects
- */
-class OC_Calendar_Object{
- /**
- * @brief Returns all objects of a calendar
- * @param integer $id
- * @return array
- *
- * The objects are associative arrays. You'll find the original vObject in
- * ['calendardata']
- */
- public static function all($id){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_objects` WHERE `calendarid` = ?' );
- $result = $stmt->execute(array($id));
-
- $calendarobjects = array();
- while( $row = $result->fetchRow()){
- $calendarobjects[] = $row;
- }
-
- return $calendarobjects;
- }
-
- /**
- * @brief Returns all objects of a calendar between $start and $end
- * @param integer $id
- * @param DateTime $start
- * @param DateTime $end
- * @return array
- *
- * The objects are associative arrays. You'll find the original vObject
- * in ['calendardata']
- */
- public static function allInPeriod($id, $start, $end){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_objects` WHERE `calendarid` = ?'
- .' AND ((`startdate` >= ? AND `startdate` <= ? AND `repeating` = 0)'
- .' OR (`enddate` >= ? AND `enddate` <= ? AND `repeating` = 0)'
- .' OR (`startdate` <= ? AND `repeating` = 1))' );
- $start = self::getUTCforMDB($start);
- $end = self::getUTCforMDB($end);
- $result = $stmt->execute(array($id,
- $start, $end,
- $start, $end,
- $end));
-
- $calendarobjects = array();
- while( $row = $result->fetchRow()){
- $calendarobjects[] = $row;
- }
-
- return $calendarobjects;
- }
-
- /**
- * @brief Returns an object
- * @param integer $id
- * @return associative array
- */
- public static function find($id){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_objects` WHERE `id` = ?' );
- $result = $stmt->execute(array($id));
-
- return $result->fetchRow();
- }
-
- /**
- * @brief finds an object by its DAV Data
- * @param integer $cid Calendar id
- * @param string $uri the uri ('filename')
- * @return associative array
- */
- public static function findWhereDAVDataIs($cid,$uri){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_objects` WHERE `calendarid` = ? AND `uri` = ?' );
- $result = $stmt->execute(array($cid,$uri));
-
- return $result->fetchRow();
- }
-
- /**
- * @brief Adds an object
- * @param integer $id Calendar id
- * @param string $data object
- * @return insertid
- */
- public static function add($id,$data){
- $object = OC_VObject::parse($data);
- OC_Calendar_App::loadCategoriesFromVCalendar($object);
- list($type,$startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
-
- if(is_null($uid)){
- $object->setUID();
- $data = $object->serialize();
- }
-
- $uri = 'owncloud-'.md5($data.rand().time()).'.ics';
-
- $stmt = OCP\DB::prepare( 'INSERT INTO `*PREFIX*calendar_objects` (`calendarid`,`objecttype`,`startdate`,`enddate`,`repeating`,`summary`,`calendardata`,`uri`,`lastmodified`) VALUES(?,?,?,?,?,?,?,?,?)' );
- $stmt->execute(array($id,$type,$startdate,$enddate,$repeating,$summary,$data,$uri,time()));
- $object_id = OCP\DB::insertid('*PREFIX*calendar_objects');
-
- OC_Calendar_Calendar::touchCalendar($id);
- OCP\Util::emitHook('OC_Calendar', 'addEvent', $object_id);
- return $object_id;
- }
-
- /**
- * @brief Adds an object with the data provided by sabredav
- * @param integer $id Calendar id
- * @param string $uri the uri the card will have
- * @param string $data object
- * @return insertid
- */
- public static function addFromDAVData($id,$uri,$data){
- $object = OC_VObject::parse($data);
- list($type,$startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
-
- $stmt = OCP\DB::prepare( 'INSERT INTO `*PREFIX*calendar_objects` (`calendarid`,`objecttype`,`startdate`,`enddate`,`repeating`,`summary`,`calendardata`,`uri`,`lastmodified`) VALUES(?,?,?,?,?,?,?,?,?)' );
- $stmt->execute(array($id,$type,$startdate,$enddate,$repeating,$summary,$data,$uri,time()));
- $object_id = OCP\DB::insertid('*PREFIX*calendar_objects');
-
- OC_Calendar_Calendar::touchCalendar($id);
- OCP\Util::emitHook('OC_Calendar', 'addEvent', $object_id);
- return $object_id;
- }
-
- /**
- * @brief edits an object
- * @param integer $id id of object
- * @param string $data object
- * @return boolean
- */
- public static function edit($id, $data){
- $oldobject = self::find($id);
-
- $object = OC_VObject::parse($data);
- OC_Calendar_App::loadCategoriesFromVCalendar($object);
- list($type,$startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
-
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_objects` SET `objecttype`=?,`startdate`=?,`enddate`=?,`repeating`=?,`summary`=?,`calendardata`=?,`lastmodified`= ? WHERE `id` = ?' );
- $stmt->execute(array($type,$startdate,$enddate,$repeating,$summary,$data,time(),$id));
-
- OC_Calendar_Calendar::touchCalendar($oldobject['calendarid']);
- OCP\Util::emitHook('OC_Calendar', 'editEvent', $id);
-
- return true;
- }
-
- /**
- * @brief edits an object with the data provided by sabredav
- * @param integer $id calendar id
- * @param string $uri the uri of the object
- * @param string $data object
- * @return boolean
- */
- public static function editFromDAVData($cid,$uri,$data){
- $oldobject = self::findWhereDAVDataIs($cid,$uri);
-
- $object = OC_VObject::parse($data);
- list($type,$startdate,$enddate,$summary,$repeating,$uid) = self::extractData($object);
-
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_objects` SET `objecttype`=?,`startdate`=?,`enddate`=?,`repeating`=?,`summary`=?,`calendardata`=?,`lastmodified`= ? WHERE `id` = ?' );
- $stmt->execute(array($type,$startdate,$enddate,$repeating,$summary,$data,time(),$oldobject['id']));
-
- OC_Calendar_Calendar::touchCalendar($oldobject['calendarid']);
- OCP\Util::emitHook('OC_Calendar', 'editEvent', $oldobject['id']);
-
- return true;
- }
-
- /**
- * @brief deletes an object
- * @param integer $id id of object
- * @return boolean
- */
- public static function delete($id){
- $oldobject = self::find($id);
- $stmt = OCP\DB::prepare( 'DELETE FROM `*PREFIX*calendar_objects` WHERE `id` = ?' );
- $stmt->execute(array($id));
- OC_Calendar_Calendar::touchCalendar($oldobject['calendarid']);
- OCP\Util::emitHook('OC_Calendar', 'deleteEvent', $id);
-
- return true;
- }
-
- /**
- * @brief deletes an object with the data provided by sabredav
- * @param integer $cid calendar id
- * @param string $uri the uri of the object
- * @return boolean
- */
- public static function deleteFromDAVData($cid,$uri){
- $oldobject = self::findWhereDAVDataIs($cid, $uri);
- $stmt = OCP\DB::prepare( 'DELETE FROM `*PREFIX*calendar_objects` WHERE `calendarid`= ? AND `uri`=?' );
- $stmt->execute(array($cid,$uri));
- OC_Calendar_Calendar::touchCalendar($cid);
- OCP\Util::emitHook('OC_Calendar', 'deleteEvent', $oldobject['id']);
-
- return true;
- }
-
- public static function moveToCalendar($id, $calendarid){
- $stmt = OCP\DB::prepare( 'UPDATE `*PREFIX*calendar_objects` SET `calendarid`=? WHERE `id`=?' );
- $stmt->execute(array($calendarid,$id));
-
- OC_Calendar_Calendar::touchCalendar($id);
- OCP\Util::emitHook('OC_Calendar', 'moveEvent', $id);
-
- return true;
- }
-
- /**
- * @brief Creates a UID
- * @return string
- */
- protected static function createUID(){
- return substr(md5(rand().time()),0,10);
- }
-
- /**
- * @brief Extracts data from a vObject-Object
- * @param Sabre_VObject $object
- * @return array
- *
- * [type, start, end, summary, repeating, uid]
- */
- protected static function extractData($object){
- $return = array('',null,null,'',0,null);
-
- // Child to use
- $children = 0;
- $use = null;
- foreach($object->children as $property){
- if($property->name == 'VEVENT'){
- $children++;
- $thisone = true;
-
- foreach($property->children as &$element){
- if($element->name == 'RECURRENCE-ID'){
- $thisone = false;
- }
- } unset($element);
-
- if($thisone){
- $use = $property;
- }
- }
- elseif($property->name == 'VTODO' || $property->name == 'VJOURNAL'){
- $return[0] = $property->name;
- foreach($property->children as &$element){
- if($element->name == 'SUMMARY'){
- $return[3] = $element->value;
- }
- elseif($element->name == 'UID'){
- $return[5] = $element->value;
- }
- };
-
- // Only one VTODO or VJOURNAL per object
- // (only one UID per object but a UID is required by a VTODO =>
- // one VTODO per object)
- break;
- }
- }
-
- // find the data
- if(!is_null($use)){
- $return[0] = $use->name;
- foreach($use->children as $property){
- if($property->name == 'DTSTART'){
- $return[1] = self::getUTCforMDB($property->getDateTime());
- }
- elseif($property->name == 'DTEND'){
- $return[2] = self::getUTCforMDB($property->getDateTime());
- }
- elseif($property->name == 'SUMMARY'){
- $return[3] = $property->value;
- }
- elseif($property->name == 'RRULE'){
- $return[4] = 1;
- }
- elseif($property->name == 'UID'){
- $return[5] = $property->value;
- }
- }
- }
-
- // More than one child means reoccuring!
- if($children > 1){
- $return[4] = 1;
- }
- return $return;
- }
-
- /**
- * @brief DateTime to UTC string
- * @param DateTime $datetime The date to convert
- * @returns date as YYYY-MM-DD hh:mm
- *
- * This function creates a date string that can be used by MDB2.
- * Furthermore it converts the time to UTC.
- */
- public static function getUTCforMDB($datetime){
- return date('Y-m-d H:i', $datetime->format('U') - $datetime->getOffset());
- }
-
- /**
- * @brief returns the DTEND of an $vevent object
- * @param object $vevent vevent object
- * @return object
- */
- public static function getDTEndFromVEvent($vevent){
- if ($vevent->DTEND) {
- $dtend = $vevent->DTEND;
- }else{
- $dtend = clone $vevent->DTSTART;
- // clone creates a shallow copy, also clone DateTime
- $dtend->setDateTime(clone $dtend->getDateTime(), $dtend->getDateType());
- if ($vevent->DURATION){
- $duration = strval($vevent->DURATION);
- $invert = 0;
- if ($duration[0] == '-'){
- $duration = substr($duration, 1);
- $invert = 1;
- }
- if ($duration[0] == '+'){
- $duration = substr($duration, 1);
- }
- $interval = new DateInterval($duration);
- $interval->invert = $invert;
- $dtend->getDateTime()->add($interval);
- }
- }
- return $dtend;
- }
-
- /**
- * @brief returns the options for the repeat rule of an repeating event
- * @return array - valid inputs for the repeat rule of an repeating event
- */
- public static function getRepeatOptions($l10n){
- return array(
- 'doesnotrepeat' => $l10n->t('Does not repeat'),
- 'daily' => $l10n->t('Daily'),
- 'weekly' => $l10n->t('Weekly'),
- 'weekday' => $l10n->t('Every Weekday'),
- 'biweekly' => $l10n->t('Bi-Weekly'),
- 'monthly' => $l10n->t('Monthly'),
- 'yearly' => $l10n->t('Yearly')
- );
- }
-
- /**
- * @brief returns the options for the end of an repeating event
- * @return array - valid inputs for the end of an repeating events
- */
- public static function getEndOptions($l10n){
- return array(
- 'never' => $l10n->t('never'),
- 'count' => $l10n->t('by occurrences'),
- 'date' => $l10n->t('by date')
- );
- }
-
- /**
- * @brief returns the options for an monthly repeating event
- * @return array - valid inputs for monthly repeating events
- */
- public static function getMonthOptions($l10n){
- return array(
- 'monthday' => $l10n->t('by monthday'),
- 'weekday' => $l10n->t('by weekday')
- );
- }
-
- /**
- * @brief returns the options for an weekly repeating event
- * @return array - valid inputs for weekly repeating events
- */
- public static function getWeeklyOptions($l10n){
- return array(
- 'MO' => $l10n->t('Monday'),
- 'TU' => $l10n->t('Tuesday'),
- 'WE' => $l10n->t('Wednesday'),
- 'TH' => $l10n->t('Thursday'),
- 'FR' => $l10n->t('Friday'),
- 'SA' => $l10n->t('Saturday'),
- 'SU' => $l10n->t('Sunday')
- );
- }
-
- /**
- * @brief returns the options for an monthly repeating event which occurs on specific weeks of the month
- * @return array - valid inputs for monthly repeating events
- */
- public static function getWeekofMonth($l10n){
- return array(
- 'auto' => $l10n->t('events week of month'),
- '1' => $l10n->t('first'),
- '2' => $l10n->t('second'),
- '3' => $l10n->t('third'),
- '4' => $l10n->t('fourth'),
- '5' => $l10n->t('fifth'),
- '-1' => $l10n->t('last')
- );
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific days of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByYearDayOptions(){
- $return = array();
- foreach(range(1,366) as $num){
- $return[(string) $num] = (string) $num;
- }
- return $return;
- }
-
- /**
- * @brief returns the options for an yearly or monthly repeating event which occurs on specific days of the month
- * @return array - valid inputs for yearly or monthly repeating events
- */
- public static function getByMonthDayOptions(){
- $return = array();
- foreach(range(1,31) as $num){
- $return[(string) $num] = (string) $num;
- }
- return $return;
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific month of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByMonthOptions($l10n){
- return array(
- '1' => $l10n->t('January'),
- '2' => $l10n->t('February'),
- '3' => $l10n->t('March'),
- '4' => $l10n->t('April'),
- '5' => $l10n->t('May'),
- '6' => $l10n->t('June'),
- '7' => $l10n->t('July'),
- '8' => $l10n->t('August'),
- '9' => $l10n->t('September'),
- '10' => $l10n->t('October'),
- '11' => $l10n->t('November'),
- '12' => $l10n->t('December')
- );
- }
-
- /**
- * @brief returns the options for an yearly repeating event
- * @return array - valid inputs for yearly repeating events
- */
- public static function getYearOptions($l10n){
- return array(
- 'bydate' => $l10n->t('by events date'),
- 'byyearday' => $l10n->t('by yearday(s)'),
- 'byweekno' => $l10n->t('by weeknumber(s)'),
- 'bydaymonth' => $l10n->t('by day and month')
- );
- }
-
- /**
- * @brief returns the options for an yearly repeating event which occurs on specific week numbers of the year
- * @return array - valid inputs for yearly repeating events
- */
- public static function getByWeekNoOptions(){
- return range(1, 52);
- }
-
- /**
- * @brief validates a request
- * @param array $request
- * @return mixed (array / boolean)
- */
- public static function validateRequest($request){
- $errnum = 0;
- $errarr = array('title'=>'false', 'cal'=>'false', 'from'=>'false', 'fromtime'=>'false', 'to'=>'false', 'totime'=>'false', 'endbeforestart'=>'false');
- if($request['title'] == ''){
- $errarr['title'] = 'true';
- $errnum++;
- }
-
- $fromday = substr($request['from'], 0, 2);
- $frommonth = substr($request['from'], 3, 2);
- $fromyear = substr($request['from'], 6, 4);
- if(!checkdate($frommonth, $fromday, $fromyear)){
- $errarr['from'] = 'true';
- $errnum++;
- }
- $allday = isset($request['allday']);
- if(!$allday && self::checkTime(urldecode($request['fromtime']))) {
- $errarr['fromtime'] = 'true';
- $errnum++;
- }
-
- $today = substr($request['to'], 0, 2);
- $tomonth = substr($request['to'], 3, 2);
- $toyear = substr($request['to'], 6, 4);
- if(!checkdate($tomonth, $today, $toyear)){
- $errarr['to'] = 'true';
- $errnum++;
- }
- if($request['repeat'] != 'doesnotrepeat'){
- if(is_nan($request['interval']) && $request['interval'] != ''){
- $errarr['interval'] = 'true';
- $errnum++;
- }
- if(array_key_exists('repeat', $request) && !array_key_exists($request['repeat'], self::getRepeatOptions(OC_Calendar_App::$l10n))){
- $errarr['repeat'] = 'true';
- $errnum++;
- }
- if(array_key_exists('advanced_month_select', $request) && !array_key_exists($request['advanced_month_select'], self::getMonthOptions(OC_Calendar_App::$l10n))){
- $errarr['advanced_month_select'] = 'true';
- $errnum++;
- }
- if(array_key_exists('advanced_year_select', $request) && !array_key_exists($request['advanced_year_select'], self::getYearOptions(OC_Calendar_App::$l10n))){
- $errarr['advanced_year_select'] = 'true';
- $errnum++;
- }
- if(array_key_exists('weekofmonthoptions', $request) && !array_key_exists($request['weekofmonthoptions'], self::getWeekofMonth(OC_Calendar_App::$l10n))){
- $errarr['weekofmonthoptions'] = 'true';
- $errnum++;
- }
- if($request['end'] != 'never'){
- if(!array_key_exists($request['end'], self::getEndOptions(OC_Calendar_App::$l10n))){
- $errarr['end'] = 'true';
- $errnum++;
- }
- if($request['end'] == 'count' && is_nan($request['byoccurrences'])){
- $errarr['byoccurrences'] = 'true';
- $errnum++;
- }
- if($request['end'] == 'date'){
- list($bydate_day, $bydate_month, $bydate_year) = explode('-', $request['bydate']);
- if(!checkdate($bydate_month, $bydate_day, $bydate_year)){
- $errarr['bydate'] = 'true';
- $errnum++;
- }
- }
- }
- if(array_key_exists('weeklyoptions', $request)){
- foreach($request['weeklyoptions'] as $option){
- if(!in_array($option, self::getWeeklyOptions(OC_Calendar_App::$l10n))){
- $errarr['weeklyoptions'] = 'true';
- $errnum++;
- }
- }
- }
- if(array_key_exists('byyearday', $request)){
- foreach($request['byyearday'] as $option){
- if(!array_key_exists($option, self::getByYearDayOptions())){
- $errarr['byyearday'] = 'true';
- $errnum++;
- }
- }
- }
- if(array_key_exists('weekofmonthoptions', $request)){
- if(is_nan((double)$request['weekofmonthoptions'])){
- $errarr['weekofmonthoptions'] = 'true';
- $errnum++;
- }
- }
- if(array_key_exists('bymonth', $request)){
- foreach($request['bymonth'] as $option){
- if(!in_array($option, self::getByMonthOptions(OC_Calendar_App::$l10n))){
- $errarr['bymonth'] = 'true';
- $errnum++;
- }
- }
- }
- if(array_key_exists('byweekno', $request)){
- foreach($request['byweekno'] as $option){
- if(!array_key_exists($option, self::getByWeekNoOptions())){
- $errarr['byweekno'] = 'true';
- $errnum++;
- }
- }
- }
- if(array_key_exists('bymonthday', $request)){
- foreach($request['bymonthday'] as $option){
- if(!array_key_exists($option, self::getByMonthDayOptions())){
- $errarr['bymonthday'] = 'true';
- $errnum++;
- }
- }
- }
- }
- if(!$allday && self::checkTime(urldecode($request['totime']))) {
- $errarr['totime'] = 'true';
- $errnum++;
- }
- if($today < $fromday && $frommonth == $tomonth && $fromyear == $toyear){
- $errarr['endbeforestart'] = 'true';
- $errnum++;
- }
- if($today == $fromday && $frommonth > $tomonth && $fromyear == $toyear){
- $errarr['endbeforestart'] = 'true';
- $errnum++;
- }
- if($today == $fromday && $frommonth == $tomonth && $fromyear > $toyear){
- $errarr['endbeforestart'] = 'true';
- $errnum++;
- }
- if(!$allday && $fromday == $today && $frommonth == $tomonth && $fromyear == $toyear){
- list($tohours, $tominutes) = explode(':', $request['totime']);
- list($fromhours, $fromminutes) = explode(':', $request['fromtime']);
- if($tohours < $fromhours){
- $errarr['endbeforestart'] = 'true';
- $errnum++;
- }
- if($tohours == $fromhours && $tominutes < $fromminutes){
- $errarr['endbeforestart'] = 'true';
- $errnum++;
- }
- }
- if ($errnum)
- {
- return $errarr;
- }
- return false;
- }
-
- /**
- * @brief validates time
- * @param string $time
- * @return boolean
- */
- protected static function checkTime($time){
- list($hours, $minutes) = explode(':', $time);
- return empty($time)
- || $hours < 0 || $hours > 24
- || $minutes < 0 || $minutes > 60;
- }
-
- /**
- * @brief creates an VCalendar Object from the request data
- * @param array $request
- * @return object created $vcalendar
- */ public static function createVCalendarFromRequest($request){
- $vcalendar = new OC_VObject('VCALENDAR');
- $vcalendar->add('PRODID', 'ownCloud Calendar');
- $vcalendar->add('VERSION', '2.0');
-
- $vevent = new OC_VObject('VEVENT');
- $vcalendar->add($vevent);
-
- $vevent->setDateTime('CREATED', 'now', Sabre_VObject_Property_DateTime::UTC);
-
- $vevent->setUID();
- return self::updateVCalendarFromRequest($request, $vcalendar);
- }
-
- /**
- * @brief updates an VCalendar Object from the request data
- * @param array $request
- * @param object $vcalendar
- * @return object updated $vcalendar
- */
- public static function updateVCalendarFromRequest($request, $vcalendar){
- $title = $request["title"];
- $location = $request["location"];
- $categories = $request["categories"];
- $allday = isset($request["allday"]);
- $from = $request["from"];
- $to = $request["to"];
- if (!$allday){
- $fromtime = $request['fromtime'];
- $totime = $request['totime'];
- }
- $vevent = $vcalendar->VEVENT;
- $description = $request["description"];
- $repeat = $request["repeat"];
- if($repeat != 'doesnotrepeat'){
- $rrule = '';
- $interval = $request['interval'];
- $end = $request['end'];
- $byoccurrences = $request['byoccurrences'];
- switch($repeat){
- case 'daily':
- $rrule .= 'FREQ=DAILY';
- break;
- case 'weekly':
- $rrule .= 'FREQ=WEEKLY';
- if(array_key_exists('weeklyoptions', $request)){
- $byday = '';
- $daystrings = array_flip(self::getWeeklyOptions(OC_Calendar_App::$l10n));
- foreach($request['weeklyoptions'] as $days){
- if($byday == ''){
- $byday .= $daystrings[$days];
- }else{
- $byday .= ',' .$daystrings[$days];
- }
- }
- $rrule .= ';BYDAY=' . $byday;
- }
- break;
- case 'weekday':
- $rrule .= 'FREQ=WEEKLY';
- $rrule .= ';BYDAY=MO,TU,WE,TH,FR';
- break;
- case 'biweekly':
- $rrule .= 'FREQ=WEEKLY';
- $interval = $interval * 2;
- break;
- case 'monthly':
- $rrule .= 'FREQ=MONTHLY';
- if($request['advanced_month_select'] == 'monthday'){
- break;
- }elseif($request['advanced_month_select'] == 'weekday'){
- if($request['weekofmonthoptions'] == 'auto'){
- list($_day, $_month, $_year) = explode('-', $from);
- $weekofmonth = floor($_day/7);
- }else{
- $weekofmonth = $request['weekofmonthoptions'];
- }
- $days = array_flip(self::getWeeklyOptions(OC_Calendar_App::$l10n));
- $byday = '';
- foreach($request['weeklyoptions'] as $day){
- if($byday == ''){
- $byday .= $weekofmonth . $days[$day];
- }else{
- $byday .= ',' . $weekofmonth . $days[$day];
- }
- }
- if($byday == ''){
- $byday = 'MO,TU,WE,TH,FR,SA,SU';
- }
- $rrule .= ';BYDAY=' . $byday;
- }
- break;
- case 'yearly':
- $rrule .= 'FREQ=YEARLY';
- if($request['advanced_year_select'] == 'bydate'){
-
- }elseif($request['advanced_year_select'] == 'byyearday'){
- list($_day, $_month, $_year) = explode('-', $from);
- $byyearday = date('z', mktime(0,0,0, $_month, $_day, $_year)) + 1;
- if(array_key_exists('byyearday', $request)){
- foreach($request['byyearday'] as $yearday){
- $byyearday .= ',' . $yearday;
- }
- }
- $rrule .= ';BYYEARDAY=' . $byyearday;
- }elseif($request['advanced_year_select'] == 'byweekno'){
- list($_day, $_month, $_year) = explode('-', $from);
- $rrule .= ';BYDAY=' . strtoupper(substr(date('l', mktime(0,0,0, $_month, $_day, $_year)), 0, 2));
- $byweekno = '';
- foreach($request['byweekno'] as $weekno){
- if($byweekno == ''){
- $byweekno = $weekno;
- }else{
- $byweekno .= ',' . $weekno;
- }
- }
- $rrule .= ';BYWEEKNO=' . $byweekno;
- }elseif($request['advanced_year_select'] == 'bydaymonth'){
- if(array_key_exists('weeklyoptions', $request)){
- $days = array_flip(self::getWeeklyOptions(OC_Calendar_App::$l10n));
- $byday = '';
- foreach($request['weeklyoptions'] as $day){
- if($byday == ''){
- $byday .= $days[$day];
- }else{
- $byday .= ',' . $days[$day];
- }
- }
- $rrule .= ';BYDAY=' . $byday;
- }
- if(array_key_exists('bymonth', $request)){
- $monthes = array_flip(self::getByMonthOptions(OC_Calendar_App::$l10n));
- $bymonth = '';
- foreach($request['bymonth'] as $month){
- if($bymonth == ''){
- $bymonth .= $monthes[$month];
- }else{
- $bymonth .= ',' . $monthes[$month];
- }
- }
- $rrule .= ';BYMONTH=' . $bymonth;
-
- }
- if(array_key_exists('bymonthday', $request)){
- $bymonthday = '';
- foreach($request['bymonthday'] as $monthday){
- if($bymonthday == ''){
- $bymonthday .= $monthday;
- }else{
- $bymonthday .= ',' . $monthday;
- }
- }
- $rrule .= ';BYMONTHDAY=' . $bymonthday;
-
- }
- }
- break;
- default:
- break;
- }
- if($interval != ''){
- $rrule .= ';INTERVAL=' . $interval;
- }
- if($end == 'count'){
- $rrule .= ';COUNT=' . $byoccurrences;
- }
- if($end == 'date'){
- list($bydate_day, $bydate_month, $bydate_year) = explode('-', $request['bydate']);
- $rrule .= ';UNTIL=' . $bydate_year . $bydate_month . $bydate_day;
- }
- $vevent->setString('RRULE', $rrule);
- $repeat = "true";
- }else{
- $repeat = "false";
- }
-
-
- $vevent->setDateTime('LAST-MODIFIED', 'now', Sabre_VObject_Property_DateTime::UTC);
- $vevent->setDateTime('DTSTAMP', 'now', Sabre_VObject_Property_DateTime::UTC);
- $vevent->setString('SUMMARY', $title);
-
- if($allday){
- $start = new DateTime($from);
- $end = new DateTime($to.' +1 day');
- $vevent->setDateTime('DTSTART', $start, Sabre_VObject_Property_DateTime::DATE);
- $vevent->setDateTime('DTEND', $end, Sabre_VObject_Property_DateTime::DATE);
- }else{
- $timezone = OC_Calendar_App::getTimezone();
- $timezone = new DateTimeZone($timezone);
- $start = new DateTime($from.' '.$fromtime, $timezone);
- $end = new DateTime($to.' '.$totime, $timezone);
- $vevent->setDateTime('DTSTART', $start, Sabre_VObject_Property_DateTime::LOCALTZ);
- $vevent->setDateTime('DTEND', $end, Sabre_VObject_Property_DateTime::LOCALTZ);
- }
- unset($vevent->DURATION);
-
- $vevent->setString('LOCATION', $location);
- $vevent->setString('DESCRIPTION', $description);
- $vevent->setString('CATEGORIES', $categories);
-
- /*if($repeat == "true"){
- $vevent->RRULE = $repeat;
- }*/
-
- return $vcalendar;
- }
-
- /**
- * @brief returns the owner of an object
- * @param integer $id
- * @return string
- */
- public static function getowner($id){
- $event = self::find($id);
- $cal = OC_Calendar_Calendar::find($event['calendarid']);
- return $cal['userid'];
- }
-
- /**
- * @brief returns the calendarid of an object
- * @param integer $id
- * @return integer
- */
- public static function getCalendarid($id){
- $event = self::find($id);
- return $event['calendarid'];
- }
-
- /**
- * @brief checks if an object is repeating
- * @param integer $id
- * @return boolean
- */
- public static function isrepeating($id){
- $event = self::find($id);
- return ($event['repeating'] == 1)?true:false;
- }
-
- /**
- * @brief converts the start_dt and end_dt to a new timezone
- * @param object $dtstart
- * @param object $dtend
- * @param boolean $allday
- * @param string $tz
- * @return array
- */
- public static function generateStartEndDate($dtstart, $dtend, $allday, $tz){
- $start_dt = $dtstart->getDateTime();
- $end_dt = $dtend->getDateTime();
- $return = array();
- if($allday){
- $return['start'] = $start_dt->format('Y-m-d');
- $end_dt->modify('-1 minute');
- while($start_dt >= $end_dt){
- $end_dt->modify('+1 day');
- }
- $return['end'] = $end_dt->format('Y-m-d');
- }else{
- $start_dt->setTimezone(new DateTimeZone($tz));
- $end_dt->setTimezone(new DateTimeZone($tz));
- $return['start'] = $start_dt->format('Y-m-d H:i:s');
- $return['end'] = $end_dt->format('Y-m-d H:i:s');
- }
- return $return;
- }
-}
diff --git a/apps/calendar/lib/repeat.php b/apps/calendar/lib/repeat.php
deleted file mode 100644
index 27f1e0481a1..00000000000
--- a/apps/calendar/lib/repeat.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/**
- * This class manages the caching of repeating events
- * Events will be cached for the current year ± 5 years
- */
-class OC_Calendar_Repeat{
- /**
- * @brief returns the cache of an event
- * @param (int) $id - id of the event
- * @return (array)
- */
- public static function get($id){
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_repeat` WHERE `eventid` = ?');
- $result = $stmt->execute(array($id));
- $return = array();
- while($row = $result->fetchRow()){
- $return[] = $row;
- }
- return $return;
- }
- /**
- * @brief returns the cache of an event in a specific peroid
- * @param (int) $id - id of the event
- * @param (DateTime) $from - start for period in UTC
- * @param (DateTime) $until - end for period in UTC
- * @return (array)
- */
- public static function get_inperiod($id, $from, $until){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_repeat` WHERE `eventid` = ?'
- .' AND ((`startdate` >= ? AND `startdate` <= ?)'
- .' OR (`enddate` >= ? AND `enddate` <= ?))');
- $result = $stmt->execute(array($id,
- OC_Calendar_Object::getUTCforMDB($from), OC_Calendar_Object::getUTCforMDB($until),
- OC_Calendar_Object::getUTCforMDB($from), OC_Calendar_Object::getUTCforMDB($until)));
- $return = array();
- while($row = $result->fetchRow()){
- $return[] = $row;
- }
- return $return;
- }
- /**
- * @brief returns the cache of all repeating events of a calendar
- * @param (int) $id - id of the calendar
- * @return (array)
- */
- public static function getCalendar($id){
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_repeat` WHERE `calid` = ?');
- $result = $stmt->execute(array($id));
- $return = array();
- while($row = $result->fetchRow()){
- $return[] = $row;
- }
- return $return;
- }
- /**
- * @brief returns the cache of all repeating events of a calendar in a specific period
- * @param (int) $id - id of the event
- * @param (string) $from - start for period in UTC
- * @param (string) $until - end for period in UTC
- * @return (array)
- */
- public static function getCalendar_inperiod($id, $from, $until){
- $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*calendar_repeat` WHERE `calid` = ?'
- .' AND ((`startdate` >= ? AND `startdate` <= ?)'
- .' OR (`enddate` >= ? AND `enddate` <= ?))');
- $result = $stmt->execute(array($id,
- $from, $until,
- $from, $until));
- $return = array();
- while($row = $result->fetchRow()){
- $return[] = $row;
- }
- return $return;
- }
- /**
- * @brief generates the cache the first time
- * @param (int) id - id of the event
- * @return (bool)
- */
- public static function generate($id){
- $event = OC_Calendar_Object::find($id);
- if($event['repeating'] == 0){
- return false;
- }
- $object = OC_VObject::parse($event['calendardata']);
- $start = new DateTime('01-01-' . date('Y') . ' 00:00:00', new DateTimeZone('UTC'));
- $start->modify('-5 years');
- $end = new DateTime('31-12-' . date('Y') . ' 23:59:59', new DateTimeZone('UTC'));
- $end->modify('+5 years');
- $object->expand($start, $end);
- foreach($object->getComponents() as $vevent){
- if(!($vevent instanceof Sabre_VObject_Component_VEvent)){
- continue;
- }
- $startenddate = OC_Calendar_Object::generateStartEndDate($vevent->DTSTART, OC_Calendar_Object::getDTEndFromVEvent($vevent), ($vevent->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE)?true:false, 'UTC');
- $stmt = OCP\DB::prepare('INSERT INTO `*PREFIX*calendar_repeat` (`eventid`,`calid`,`startdate`,`enddate`) VALUES(?,?,?,?)');
- $stmt->execute(array($id,OC_Calendar_Object::getCalendarid($id),$startenddate['start'],$startenddate['end']));
- }
- return true;
- }
- /**
- * @brief generates the cache the first time for all repeating event of an calendar
- * @param (int) id - id of the calendar
- * @return (bool)
- */
- public static function generateCalendar($id){
- $allobjects = OC_Calendar_Object::all($id);
- foreach($allobjects as $event){
- self::generate($event['id']);
- }
- return true;
- }
- /**
- * @brief updates an event that is already cached
- * @param (int) id - id of the event
- * @return (bool)
- */
- public static function update($id){
- self::clean($id);
- self::generate($id);
- return true;
- }
- /**
- * @brief updates all repating events of a calendar that are already cached
- * @param (int) id - id of the calendar
- * @return (bool)
- */
- public static function updateCalendar($id){
- self::cleanCalendar($id);
- self::generateCalendar($id);
- return true;
- }
- /**
- * @brief checks if an event is already cached
- * @param (int) id - id of the event
- * @return (bool)
- */
- public static function is_cached($id){
- if(count(self::get($id)) != 0){
- return true;
- }else{
- return false;
- }
- }
- /**
- * @brief checks if an event is already cached in a specific period
- * @param (int) id - id of the event
- * @param (DateTime) $from - start for period in UTC
- * @param (DateTime) $until - end for period in UTC
- * @return (bool)
- */
- public static function is_cached_inperiod($id, $start, $end){
- if(count(self::get_inperiod($id, $start, $end)) != 0){
- return true;
- }else{
- return false;
- }
-
- }
- /**
- * @brief checks if a whole calendar is already cached
- * @param (int) id - id of the calendar
- * @return (bool)
- */
- public static function is_calendar_cached($id){
- $cachedevents = count(self::getCalendar($id));
- $repeatingevents = 0;
- $allevents = OC_Calendar_Object::all($id);
- foreach($allevents as $event){
- if($event['repeating'] === 1){
- $repeatingevents++;
- }
- }
- if($cachedevents < $repeatingevents){
- return false;
- }else{
- return true;
- }
- }
- /**
- * @brief removes the cache of an event
- * @param (int) id - id of the event
- * @return (bool)
- */
- public static function clean($id){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_repeat` WHERE `eventid` = ?');
- $stmt->execute(array($id));
- }
- /**
- * @brief removes the cache of all events of a calendar
- * @param (int) id - id of the calendar
- * @return (bool)
- */
- public static function cleanCalendar($id){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_repeat` WHERE `calid` = ?');
- $stmt->execute(array($id));
- }
-} \ No newline at end of file
diff --git a/apps/calendar/lib/sabre/backend.php b/apps/calendar/lib/sabre/backend.php
deleted file mode 100644
index ac3b26ceb33..00000000000
--- a/apps/calendar/lib/sabre/backend.php
+++ /dev/null
@@ -1,318 +0,0 @@
-<?php
-
-class OC_Connector_Sabre_CalDAV extends Sabre_CalDAV_Backend_Abstract {
- /**
- * List of CalDAV properties, and how they map to database fieldnames
- *
- * Add your own properties by simply adding on to this array
- *
- * @var array
- */
- public $propertyMap = array(
- '{DAV:}displayname' => 'displayname',
- '{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone',
- '{http://apple.com/ns/ical/}calendar-order' => 'calendarorder',
- '{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor',
- );
-
- /**
- * Returns a list of calendars for a principal.
- *
- * Every project is an array with the following keys:
- * * id, a unique id that will be used by other functions to modify the
- * calendar. This can be the same as the uri or a database key.
- * * uri, which the basename of the uri with which the calendar is
- * accessed.
- * * principalUri. The owner of the calendar. Almost always the same as
- * principalUri passed to this method.
- *
- * Furthermore it can contain webdav properties in clark notation. A very
- * common one is '{DAV:}displayname'.
- *
- * @param string $principalUri
- * @return array
- */
- public function getCalendarsForUser($principalUri) {
- $raw = OC_Calendar_Calendar::allCalendarsWherePrincipalURIIs($principalUri);
-
- $calendars = array();
- foreach( $raw as $row ){
- $components = explode(',',$row['components']);
-
- $calendar = array(
- 'id' => $row['id'],
- 'uri' => $row['uri'],
- 'principaluri' => 'principals/'.$row['userid'],
- '{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $row['ctag']?$row['ctag']:'0',
- '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet($components),
- );
-
- foreach($this->propertyMap as $xmlName=>$dbName) {
- $calendar[$xmlName] = $row[$dbName];
- }
-
- $calendars[] = $calendar;
- }
- return $calendars;
- }
-
- /**
- * Creates a new calendar for a principal.
- *
- * If the creation was a success, an id must be returned that can be used to reference
- * this calendar in other methods, such as updateCalendar
- *
- * @param string $principalUri
- * @param string $calendarUri
- * @param array $properties
- * @return mixed
- */
- public function createCalendar($principalUri,$calendarUri, array $properties) {
- $fieldNames = array(
- 'principaluri',
- 'uri',
- 'ctag',
- );
- $values = array(
- ':principaluri' => $principalUri,
- ':uri' => $calendarUri,
- ':ctag' => 1,
- );
-
- // Default value
- $sccs = '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set';
- $fieldNames[] = 'components';
- if (!isset($properties[$sccs])) {
- $values[':components'] = 'VEVENT,VTODO';
- } else {
- if (!($properties[$sccs] instanceof Sabre_CalDAV_Property_SupportedCalendarComponentSet)) {
- throw new Sabre_DAV_Exception('The ' . $sccs . ' property must be of type: Sabre_CalDAV_Property_SupportedCalendarComponentSet');
- }
- $values[':components'] = implode(',',$properties[$sccs]->getValue());
- }
-
- foreach($this->propertyMap as $xmlName=>$dbName) {
- if (isset($properties[$xmlName])) {
-
- $myValue = $properties[$xmlName];
- $values[':' . $dbName] = $properties[$xmlName];
- $fieldNames[] = $dbName;
- }
- }
-
- if(!isset($newValues['displayname'])) $newValues['displayname'] = 'unnamed';
- if(!isset($newValues['components'])) $newValues['components'] = 'VEVENT,VTODO';
- if(!isset($newValues['timezone'])) $newValues['timezone'] = null;
- if(!isset($newValues['calendarorder'])) $newValues['calendarorder'] = 0;
- if(!isset($newValues['calendarcolor'])) $newValues['calendarcolor'] = null;
- if(!is_null($newValues['calendarcolor']) && strlen($newValues['calendarcolor']) == 9){
- $newValues['calendarcolor'] = substr($newValues['calendarcolor'], 0, 7);
- }
-
- return OC_Calendar_Calendar::addCalendarFromDAVData($principalUri,$calendarUri,$newValues['displayname'],$newValues['components'],$newValues['timezone'],$newValues['calendarorder'],$newValues['calendarcolor']);
- }
-
- /**
- * Updates a calendars properties
- *
- * The properties array uses the propertyName in clark-notation as key,
- * and the array value for the property value. In the case a property
- * should be deleted, the property value will be null.
- *
- * This method must be atomic. If one property cannot be changed, the
- * entire operation must fail.
- *
- * If the operation was successful, true can be returned.
- * If the operation failed, false can be returned.
- *
- * Deletion of a non-existant property is always succesful.
- *
- * Lastly, it is optional to return detailed information about any
- * failures. In this case an array should be returned with the following
- * structure:
- *
- * array(
- * 403 => array(
- * '{DAV:}displayname' => null,
- * ),
- * 424 => array(
- * '{DAV:}owner' => null,
- * )
- * )
- *
- * In this example it was forbidden to update {DAV:}displayname.
- * (403 Forbidden), which in turn also caused {DAV:}owner to fail
- * (424 Failed Dependency) because the request needs to be atomic.
- *
- * @param string $calendarId
- * @param array $properties
- * @return bool|array
- */
- public function updateCalendar($calendarId, array $properties) {
-
- $newValues = array();
- $result = array(
- 200 => array(), // Ok
- 403 => array(), // Forbidden
- 424 => array(), // Failed Dependency
- );
-
- $hasError = false;
-
- foreach($properties as $propertyName=>$propertyValue) {
-
- // We don't know about this property.
- if (!isset($this->propertyMap[$propertyName])) {
- $hasError = true;
- $result[403][$propertyName] = null;
- unset($properties[$propertyName]);
- continue;
- }
-
- $fieldName = $this->propertyMap[$propertyName];
- $newValues[$fieldName] = $propertyValue;
-
- }
-
- // If there were any errors we need to fail the request
- if ($hasError) {
- // Properties has the remaining properties
- foreach($properties as $propertyName=>$propertyValue) {
- $result[424][$propertyName] = null;
- }
-
- // Removing unused statuscodes for cleanliness
- foreach($result as $status=>$properties) {
- if (is_array($properties) && count($properties)===0) unset($result[$status]);
- }
-
- return $result;
-
- }
-
- // Success
- if(!isset($newValues['displayname'])) $newValues['displayname'] = null;
- if(!isset($newValues['timezone'])) $newValues['timezone'] = null;
- if(!isset($newValues['calendarorder'])) $newValues['calendarorder'] = null;
- if(!isset($newValues['calendarcolor'])) $newValues['calendarcolor'] = null;
- if(!is_null($newValues['calendarcolor']) && strlen($newValues['calendarcolor']) == 9){
- $newValues['calendarcolor'] = substr($newValues['calendarcolor'], 0, 7);
- }
-
- OC_Calendar_Calendar::editCalendar($calendarId,$newValues['displayname'],null,$newValues['timezone'],$newValues['calendarorder'],$newValues['calendarcolor']);
-
- return true;
-
- }
-
- /**
- * Delete a calendar and all it's objects
- *
- * @param string $calendarId
- * @return void
- */
- public function deleteCalendar($calendarId) {
- if(preg_match( '=iCal/[1-4]?.*Mac OS X/10.[1-6](.[0-9])?=', $_SERVER['HTTP_USER_AGENT'] )){
- throw new Sabre_DAV_Exception_Forbidden("Action is not possible with OSX 10.6.x", 403);
- }
-
- OC_Calendar_Calendar::deleteCalendar($calendarId);
- }
-
- /**
- * Returns all calendar objects within a calendar object.
- *
- * Every item contains an array with the following keys:
- * * id - unique identifier which will be used for subsequent updates
- * * calendardata - The iCalendar-compatible calnedar data
- * * uri - a unique key which will be used to construct the uri. This can be any arbitrary string.
- * * lastmodified - a timestamp of the last modification time
- * * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
- * ' "abcdef"')
- * * calendarid - The calendarid as it was passed to this function.
- *
- * Note that the etag is optional, but it's highly encouraged to return for
- * speed reasons.
- *
- * The calendardata is also optional. If it's not returned
- * 'getCalendarObject' will be called later, which *is* expected to return
- * calendardata.
- *
- * @param string $calendarId
- * @return array
- */
- public function getCalendarObjects($calendarId) {
- $data = array();
- foreach(OC_Calendar_Object::all($calendarId) as $row){
- $data[] = $this->OCAddETag($row);
- }
- return $data;
- }
-
- /**
- * Returns information from a single calendar object, based on it's object
- * uri.
- *
- * The returned array must have the same keys as getCalendarObjects. The
- * 'calendardata' object is required here though, while it's not required
- * for getCalendarObjects.
- *
- * @param string $calendarId
- * @param string $objectUri
- * @return array
- */
- public function getCalendarObject($calendarId,$objectUri) {
- $data = OC_Calendar_Object::findWhereDAVDataIs($calendarId,$objectUri);
- if(is_array($data)){
- $data = $this->OCAddETag($data);
- }
- return $data;
- }
-
- /**
- * Creates a new calendar object.
- *
- * @param string $calendarId
- * @param string $objectUri
- * @param string $calendarData
- * @return void
- */
- public function createCalendarObject($calendarId,$objectUri,$calendarData) {
- OC_Calendar_Object::addFromDAVData($calendarId,$objectUri,$calendarData);
- }
-
- /**
- * Updates an existing calendarobject, based on it's uri.
- *
- * @param string $calendarId
- * @param string $objectUri
- * @param string $calendarData
- * @return void
- */
- public function updateCalendarObject($calendarId,$objectUri,$calendarData){
- OC_Calendar_Object::editFromDAVData($calendarId,$objectUri,$calendarData);
- }
-
- /**
- * Deletes an existing calendar object.
- *
- * @param string $calendarId
- * @param string $objectUri
- * @return void
- */
- public function deleteCalendarObject($calendarId,$objectUri){
- OC_Calendar_Object::deleteFromDAVData($calendarId,$objectUri);
- }
-
- /**
- * @brief Creates a etag
- * @param array $row Database result
- * @returns associative array
- *
- * Adds a key "etag" to the row
- */
- private function OCAddETag($row){
- $row['etag'] = '"'.md5($row['calendarid'].$row['uri'].$row['calendardata'].$row['lastmodified']).'"';
- return $row;
- }
-}
diff --git a/apps/calendar/lib/sabre/calendar.php b/apps/calendar/lib/sabre/calendar.php
deleted file mode 100644
index 179be1b2813..00000000000
--- a/apps/calendar/lib/sabre/calendar.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-/**
- * ownCloud - OC_Connector_Sabre_Sabre_CalDAV_Calendar
- *
- * @author Thomas Tanghus
- * @copyright 2012 Thomas Tanghus (thomas@tanghus.net)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * This class overrides Sabre_CalDAV_Calendar::getACL() to return read/write
- * permissions based on user and shared state and it overrides
- * Sabre_CalDAV_Calendar::getChild() and Sabre_CalDAV_Calendar::getChildren()
- * to instantiate OC_Connector_Sabre_CalDAV_CalendarObjects.
-*/
-class OC_Connector_Sabre_CalDAV_Calendar extends Sabre_CalDAV_Calendar {
-
- /**
- * Returns a list of ACE's for this node.
- *
- * Each ACE has the following properties:
- * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
- * currently the only supported privileges
- * * 'principal', a url to the principal who owns the node
- * * 'protected' (optional), indicating that this ACE is not allowed to
- * be updated.
- *
- * @return array
- */
- public function getACL() {
-
- $readprincipal = $this->getOwner();
- $writeprincipal = $this->getOwner();
- $uid = OC_Calendar_Calendar::extractUserID($this->getOwner());
-
- if($uid != OCP\USER::getUser()) {
- $sharedCalendar = OCP\Share::getItemSharedWithBySource('calendar', $this->$calendarInfo['id']);
- if ($sharedCalendar && ($sharedCalendar['permissions'] & OCP\Share::PERMISSION_READ)) {
- $readprincipal = 'principals/' . OCP\USER::getUser();
- }
- if ($sharedCalendar && ($sharedCalendar['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
- $writeprincipal = 'principals/' . OCP\USER::getUser();
- }
- }
-
- return array(
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal,
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}write',
- 'principal' => $writeprincipal,
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal . '/calendar-proxy-write',
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}write',
- 'principal' => $writeprincipal . '/calendar-proxy-write',
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal . '/calendar-proxy-read',
- 'protected' => true,
- ),
- array(
- 'privilege' => '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}read-free-busy',
- 'principal' => '{DAV:}authenticated',
- 'protected' => true,
- ),
-
- );
-
- }
-
- /**
- * Returns a calendar object
- *
- * The contained calendar objects are for example Events or Todo's.
- *
- * @param string $name
- * @return Sabre_DAV_ICalendarObject
- */
- public function getChild($name) {
-
- $obj = $this->caldavBackend->getCalendarObject($this->calendarInfo['id'],$name);
- if (!$obj) throw new Sabre_DAV_Exception_NotFound('Calendar object not found');
- return new OC_Connector_Sabre_CalDAV_CalendarObject($this->caldavBackend,$this->calendarInfo,$obj);
-
- }
-
- /**
- * Returns the full list of calendar objects
- *
- * @return array
- */
- public function getChildren() {
-
- $objs = $this->caldavBackend->getCalendarObjects($this->calendarInfo['id']);
- $children = array();
- foreach($objs as $obj) {
- $children[] = new OC_Connector_Sabre_CalDAV_CalendarObject($this->caldavBackend,$this->calendarInfo,$obj);
- }
- return $children;
-
- }
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/sabre/calendarroot.php b/apps/calendar/lib/sabre/calendarroot.php
deleted file mode 100644
index e09731c95b7..00000000000
--- a/apps/calendar/lib/sabre/calendarroot.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * ownCloud - OC_Connector_Sabre_CalDAV_CalendarRoot
- *
- * @author Thomas Tanghus
- * @copyright 2012 Thomas Tanghus (thomas@tanghus.net)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * This class overrides Sabre_CalDAV_CalendarRootNode::getChildForPrincipal()
- * to instantiate OC_Connector_Sabre_CalDAV_UserCalendars.
-*/
-class OC_Connector_Sabre_CalDAV_CalendarRoot extends Sabre_CalDAV_CalendarRootNode {
-
- /**
- * This method returns a node for a principal.
- *
- * The passed array contains principal information, and is guaranteed to
- * at least contain a uri item. Other properties may or may not be
- * supplied by the authentication backend.
- *
- * @param array $principal
- * @return Sabre_DAV_INode
- */
- public function getChildForPrincipal(array $principal) {
-
- return new OC_Connector_Sabre_CalDAV_UserCalendars($this->principalBackend, $this->caldavBackend, $principal['uri']);
-
- }
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/sabre/object.php b/apps/calendar/lib/sabre/object.php
deleted file mode 100644
index 0d1bfa397c8..00000000000
--- a/apps/calendar/lib/sabre/object.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/**
- * ownCloud - OC_Connector_Sabre_CalDAV_CalendarObject
- *
- * @author Thomas Tanghus
- * @copyright 2012 Thomas Tanghus (thomas@tanghus.net)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * This class overrides Sabre_CalDAV_CalendarObject::getACL()
- * to return read/write permissions based on user and shared state.
-*/
-class OC_Connector_Sabre_CalDAV_CalendarObject extends Sabre_CalDAV_CalendarObject {
-
- /**
- * Returns a list of ACE's for this node.
- *
- * Each ACE has the following properties:
- * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
- * currently the only supported privileges
- * * 'principal', a url to the principal who owns the node
- * * 'protected' (optional), indicating that this ACE is not allowed to
- * be updated.
- *
- * @return array
- */
- public function getACL() {
-
- $readprincipal = $this->getOwner();
- $writeprincipal = $this->getOwner();
- $uid = OC_Calendar_Calendar::extractUserID($this->getOwner());
-
- if($uid != OCP\USER::getUser()) {
- $sharedCalendar = OCP\Share::getItemSharedWithBySource('calendar', $this->$calendarInfo['id']);
- if ($sharedCalendar && ($sharedCalendar['permissions'] & OCP\Share::PERMISSION_READ)) {
- $readprincipal = 'principals/' . OCP\USER::getUser();
- }
- if ($sharedCalendar && ($sharedCalendar['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
- $writeprincipal = 'principals/' . OCP\USER::getUser();
- }
- }
-
- return array(
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal,
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}write',
- 'principal' => $writeprincipal,
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal . '/calendar-proxy-write',
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}write',
- 'principal' => $writeprincipal . '/calendar-proxy-write',
- 'protected' => true,
- ),
- array(
- 'privilege' => '{DAV:}read',
- 'principal' => $readprincipal . '/calendar-proxy-read',
- 'protected' => true,
- ),
- );
-
- }
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/sabre/usercalendars.php b/apps/calendar/lib/sabre/usercalendars.php
deleted file mode 100644
index 919f6b27e18..00000000000
--- a/apps/calendar/lib/sabre/usercalendars.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/**
- * ownCloud - OC_Connector_Sabre_CalDAV_UserCalendars
- *
- * @author Thomas Tanghus
- * @copyright 2012 Thomas Tanghus (thomas@tanghus.net)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * This class overrides Sabre_CalDAV_UserCalendars::getChildren()
- * to instantiate OC_Connector_Sabre_CalDAV_Calendars.
-*/
-class OC_Connector_Sabre_CalDAV_UserCalendars extends Sabre_CalDAV_UserCalendars {
-
- /**
- * Returns a list of calendars
- *
- * @return array
- */
- public function getChildren() {
-
- $calendars = $this->caldavBackend->getCalendarsForUser($this->principalInfo['uri']);
- $objs = array();
- foreach($calendars as $calendar) {
- $objs[] = new OC_Connector_Sabre_CalDAV_Calendar($this->principalBackend, $this->caldavBackend, $calendar);
- }
- $objs[] = new Sabre_CalDAV_Schedule_Outbox($this->principalInfo['uri']);
- return $objs;
-
- }
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/search.php b/apps/calendar/lib/search.php
deleted file mode 100644
index 551489672b9..00000000000
--- a/apps/calendar/lib/search.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-class OC_Search_Provider_Calendar extends OC_Search_Provider{
- function search($query){
- $calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser(), true);
- if(count($calendars)==0 || !OCP\App::isEnabled('calendar')){
- //return false;
- }
- $results=array();
- $searchquery=array();
- if(substr_count($query, ' ') > 0){
- $searchquery = explode(' ', $query);
- }else{
- $searchquery[] = $query;
- }
- $user_timezone = OC_Calendar_App::getTimezone();
- $l = new OC_l10n('calendar');
- foreach($calendars as $calendar){
- $objects = OC_Calendar_Object::all($calendar['id']);
- foreach($objects as $object){
- if($object['objecttype']!='VEVENT') {
- continue;
- }
- if(substr_count(strtolower($object['summary']), strtolower($query)) > 0){
- $calendardata = OC_VObject::parse($object['calendardata']);
- $vevent = $calendardata->VEVENT;
- $dtstart = $vevent->DTSTART;
- $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent);
- $start_dt = $dtstart->getDateTime();
- $start_dt->setTimezone(new DateTimeZone($user_timezone));
- $end_dt = $dtend->getDateTime();
- $end_dt->setTimezone(new DateTimeZone($user_timezone));
- if ($dtstart->getDateType() == Sabre_VObject_Property_DateTime::DATE){
- $end_dt->modify('-1 sec');
- if($start_dt->format('d.m.Y') != $end_dt->format('d.m.Y')){
- $info = $l->t('Date') . ': ' . $start_dt->format('d.m.Y') . ' - ' . $end_dt->format('d.m.Y');
- }else{
- $info = $l->t('Date') . ': ' . $start_dt->format('d.m.Y');
- }
- }else{
- $info = $l->t('Date') . ': ' . $start_dt->format('d.m.y H:i') . ' - ' . $end_dt->format('d.m.y H:i');
- }
- $link = OCP\Util::linkTo('calendar', 'index.php').'?showevent='.urlencode($object['id']);
- $results[]=new OC_Search_Result($object['summary'],$info, $link,(string)$l->t('Cal.'));//$name,$text,$link,$type
- }
- }
- }
- return $results;
- }
-}
diff --git a/apps/calendar/lib/share.php b/apps/calendar/lib/share.php
deleted file mode 100644
index bad1082c33e..00000000000
--- a/apps/calendar/lib/share.php
+++ /dev/null
@@ -1,295 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev@georgswebsite.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-/**
- * This class manages shared calendars
- */
-class OC_Calendar_Share{
- const CALENDAR = 'calendar';
- const EVENT = 'event';
- /**
- * @brief: returns informations about all calendar or events which users are sharing with the user - userid
- * @param: string $userid - id of the user
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return: array $return - information about calendars
- */
- public static function allSharedwithuser($userid, $type, $active=null, $permission=null){
- $format = OC_Share_Backend_Calendar::FORMAT_CALENDAR;
- if ($type == self::EVENT) {
- $format = OC_Share_Backend_Event::FORMAT_EVENT;
- }
- $return = OCP\Share::getItemsSharedWith($type,
- $format,
- array(
- 'active' => $active,
- 'permissions' => $permission,
- ));
- return $return;
- }
- /**
- * @brief: returns all users a calendar / event is shared with
- * @param: integer id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return: array $users - information about users a calendar / event is shared with
- */
- public static function allUsersSharedwith($id, $type){
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . $type . '` WHERE `' . $type . 'id` = ? ORDER BY `share`');
- $result = $stmt->execute(array($id));
- $users = array();
- while( $row = $result->fetchRow()){
- $users[] = $row;
- }
- return $users;
- }
- /**
- * @brief: shares a calendar / event
- * @param: string $owner - userid of the owner
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $sharetype - type of sharing (can be: user/group/public)
- * @param: string $id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return (mixed) - token (if $sharetype == public) / bool (if $sharetype != public)
- */
- public static function share($owner, $share, $sharetype, $id, $type){
- if(self::is_already_shared($owner, $share, $sharetype, $id, $type)){
- return false;
- }
- switch($sharetype){
- case 'user':
- case 'group':
- case 'public':
- break;
- default:
- return false;
- }
- if($sharetype == 'public'){
- $share = self::generate_token($id, $type);
- }
- $stmt = OCP\DB::prepare('INSERT INTO `*PREFIX*calendar_share_' . $type . '` (`owner`,`share`,`sharetype`,`' . $type . 'id`,`permissions`' . (($type == self::CALENDAR)?',`active`':'') . ') VALUES(?,?,?,?,0' . (($type == self::CALENDAR)?', 1':'') . ')' );
- $result = $stmt->execute(array($owner,$share,$sharetype,$id));
- if($sharetype == 'public'){
- return $share;
- }else{
- return true;
- }
- }
- /**
- * @brief: stops sharing a calendar / event
- * @param: string $owner - userid of the owner
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $sharetype - type of sharing (can be: user/group/public)
- * @param: string $id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return boolean
- */
- public static function unshare($owner, $share, $sharetype, $id, $type){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_share_' . $type . '` WHERE `owner` = ? ' . (($sharetype != 'public')?'AND `share` = ?':'') . ' AND `sharetype` = ? AND `' . $type . 'id` = ?');
- if($sharetype != 'public'){
- $stmt->execute(array($owner,$share,$sharetype,$id));
- }else{
- $stmt->execute(array($owner,$sharetype,$id));
- }
- return true;
- }
- /**
- * @brief: changes the permission for a calendar / event
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $sharetype - type of sharing (can be: user/group/public)
- * @param: string $id - id of the calendar / event
- * @param: integer $permission - permission of user the calendar / event is shared with (if $sharetype == public then $permission = 0)
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return boolean
- */
- public static function changepermission($share, $sharetype, $id, $permission, $type){
- if($sharetype == 'public' && $permission == 1){
- $permission = 0;
- }
- $stmt = OCP\DB::prepare('UPDATE `*PREFIX*calendar_share_' . $type . '` SET `permissions` = ? WHERE `share` = ? AND `sharetype` = ? AND `' . $type . 'id` = ?');
- $stmt->execute(array($permission, $share, $sharetype, $id));
- return true;
- }
- /**
- * @brief: generates a token for public calendars / events
- * @return: string $token
- */
- private static function generate_token($id, $type){
- $uniqid = uniqid();
- if($type == self::CALENDAR){
- $events = OC_Calendar_Object::all($id);
- $string = '';
- foreach($events as $event){
- $string .= $event['calendardata'];
- }
- }else{
- $string = OC_Calendar_Object::find($id);
- }
- $string = sha1($string['calendardata']);
- $id = sha1($id);
- $array = array($uniqid,$string,$id);
- shuffle($array);
- $string = implode('', $array);
- $token = md5($string);
- return substr($token, rand(0,16), 15);
- }
- /**
- * @brief: checks if it is already shared
- * @param: string $owner - userid of the owner
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $sharetype - type of sharing (can be: user/group/public)
- * @param: string $id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return boolean
- */
- public static function is_already_shared($owner, $share, $sharetype, $id, $type){
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . $type . '` WHERE `owner` = ? AND `share` = ? AND `sharetype` = ? AND `' . $type . 'id` = ?');
- $result = $stmt->execute(array($owner, $share, $sharetype, $id));
- if($result->numRows() > 0){
- return true;
- }
- return false;
- }
- private static function group_sql($groups){
- $group_where = '';
- $i = 0;
- foreach($groups as $group){
- $group_where .= ' OR ';
- $group_where .= ' (`share` = \'' . $group . '\' AND `sharetype` = \'group\') ';
- $i++;
- }
- return $group_where;
- }
- private static function permission_sql($permission = null){
- $permission_where = '';
- if(!is_null($permission)){
- $permission_where = ' AND `permissions` = ';
- $permission_where .= ($permission=='rw')?"'1'":"'0'";
- }
- return $permission_where;
- }
- private static function active_sql($active = null){
- $active_where = '';
- if(!is_null($active)){
- $active_where = 'AND `active` = ';
- $active_where .= (!is_null($active) && $active)?'1':'0';
- }
- return $active_where;
- }
- /**
- * @brief: checks the permission for editing an event
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return boolean
- */
- public static function is_editing_allowed($share, $id, $type){
- $group_where = self::group_sql(OC_Group::getUserGroups($share));
- $permission_where = self::permission_sql('rw');
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . $type . '` WHERE ((`share` = ? AND `sharetype` = \'user\') ' . $group_where . ') ' . $permission_where);
- $result = $stmt->execute(array($share));
- if($result->numRows() == 1){
- return true;
- }
- if($type == self::EVENT){
- $event = OC_Calendar_App::getEventObject($id, false, false);
- return self::is_editing_allowed($share, $event['calendarid'], self::CALENDAR);
- }
- return false;
- }
- /**
- * @brief: checks the access of
- * @param: string $share - userid (if $sharetype == user) / groupid (if $sharetype == group) / token (if $sharetype == public)
- * @param: string $id - id of the calendar / event
- * @param: string $type - use const self::CALENDAR or self::EVENT
- * @return boolean
- */
- public static function check_access($share, $id, $type){
- $group_where = self::group_sql(OC_Group::getUserGroups($share));
- $stmt = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . $type . '` WHERE (`' . $type . 'id` = ? AND (`share` = ? AND `sharetype` = \'user\') ' . $group_where . ')');
- $result = $stmt->execute(array($id,$share));
- $rows = $result->numRows();
- if($rows > 0){
- return true;
- }elseif($type == self::EVENT){
- $event = OC_Calendar_App::getEventObject($id, false, false);
- return self::check_access($share, $event['calendarid'], self::CALENDAR);
- }else{
- return false;
- }
- }
- /**
- * @brief: returns the calendardata of an event or a calendar
- * @param: string $token - token which should be searched
- * @return: mixed - bool if false, array with type and id if true
- */
- public static function getElementByToken($token){
- $stmt_calendar = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . OC_Calendar_Share::CALENDAR . '` WHERE `sharetype` = \'public\' AND `share` = ?');
- $result_calendar = $stmt_calendar->execute(array($token));
- $stmt_event = OCP\DB::prepare('SELECT * FROM `*PREFIX*calendar_share_' . OC_Calendar_Share::EVENT . '` WHERE `sharetype` = \'public\' AND `share` = ?');
- $result_event = $stmt_event->execute(array($token));
- $return = array();
- if($result_calendar->numRows() == 0 && $result_event->numRows() == 0){
- return false;
- }elseif($result_calendar->numRows() != 0){
- $return ['type'] = 'calendar';
- $calendar = $result_calendar->fetchRow();
- $return ['id'] = $calendar['calendarid'];
- }else{
- $return ['type'] = 'event';
- $event = $result_event->fetchRow();
- $return ['id'] = $event['eventid'];
- }
- return $return;
- }
-
- /**
- * @brief sets the active status of the calendar
- * @param string
- */
- public static function set_active($share, $id, $active){
- $stmt = OCP\DB::prepare("UPDATE `*PREFIX*calendar_share_calendar` SET `active` = ? WHERE `share` = ? AND `sharetype` = 'user' AND `calendarid` = ?");
- $stmt->execute(array($active, $share, $id));
- }
-
- /**
- * @brief deletes all shared calendars / events after a user was deleted
- * @param string $userid
- * @return boolean
- */
- public static function post_userdelete($userid){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_share_calendar` WHERE `owner` = ?');
- $stmt->execute(array($userid));
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_share_event` WHERE `owner` = ?');
- $stmt->execute(array($userid));
- $stmt = OCP\DB::prepare("DELETE FROM `*PREFIX*calendar_share_calendar` WHERE `share` = ? AND `sharetype` = 'user'");
- $stmt->execute(array($userid));
- $stmt = OCP\DB::prepare("DELETE FROM `*PREFIX*calendar_share_event` WHERE `share` = ? AND `sharetype` = 'user'");
- $stmt->execute(array($userid));
- return true;
- }
-
- /**
- * @brief deletes all shared events of a calendar
- * @param integer $calid
- * @return boolean
- */
- public static function post_caldelete($calid){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_share_calendar` WHERE `calendarid` = ?');
- $stmt->execute(array($calid));
- return true;
- }
-
- /**
- * @brief deletes all shares of an event
- * @param integer $eventid
- * @return boolean
- */
- public static function post_eventdelete($eventid){
- $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*calendar_share_event` WHERE `eventid` = ?');
- $stmt->execute(array($eventid));
- return true;
- }
-} \ No newline at end of file
diff --git a/apps/calendar/lib/share/calendar.php b/apps/calendar/lib/share/calendar.php
deleted file mode 100644
index bbc43fcca0f..00000000000
--- a/apps/calendar/lib/share/calendar.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Michael Gapczynski
-* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
-* Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-class OC_Share_Backend_Calendar implements OCP\Share_Backend_Collection {
- const FORMAT_CALENDAR = 1;
-
- /**
- * @brief Get the source of the item to be stored in the database
- * @param string Item
- * @param string Owner of the item
- * @return mixed|array|false Source
- *
- * Return an array if the item is file dependent, the array needs two keys: 'item' and 'file'
- * Return false if the item does not exist for the user
- *
- * The formatItems() function will translate the source returned back into the item
- */
- public function isValidSource($itemSource, $uidOwner) {
- $calendar = OC_Calendar_App::getCalendar( $itemSource );
- if ($calendar || $calendar['userid'] != $uidOwner) {
- return false;
- }
- return true;
- }
-
- /**
- * @brief Get a unique name of the item for the specified user
- * @param string Item
- * @param string|false User the item is being shared with
- * @param array|null List of similar item names already existing as shared items
- * @return string Target name
- *
- * This function needs to verify that the user does not already have an item with this name.
- * If it does generate a new name e.g. name_#
- */
- public function generateTarget($itemSource, $shareWith, $exclude = null) {
- $calendar = OC_Calendar_App::getCalendar( $itemSource );
- $user_calendars = array();
- foreach(OC_Contacts_Addressbook::all($uid) as $user_calendar) {
- $user_calendars[] = $user_calendar['displayname'];
- }
- $name = $calendar['userid']."'s ".$calendar['displayname'];
- $suffix = '';
- while (in_array($name.$suffix, $user_calendars)) {
- $suffix++;
- }
-
- return $name.$suffix;
- }
-
- /**
- * @brief Converts the shared item sources back into the item in the specified format
- * @param array Shared items
- * @param int Format
- * @return ?
- *
- * The items array is a 3-dimensional array with the item_source as the first key and the share id as the second key to an array with the share info.
- * The key/value pairs included in the share info depend on the function originally called:
- * If called by getItem(s)Shared: id, item_type, item, item_source, share_type, share_with, permissions, stime, file_source
- * If called by getItem(s)SharedWith: id, item_type, item, item_source, item_target, share_type, share_with, permissions, stime, file_source, file_target
- * This function allows the backend to control the output of shared items with custom formats.
- * It is only called through calls to the public getItem(s)Shared(With) functions.
- */
- public function formatItems($items, $format, $parameters = null) {
- $calendars = array();
- if ($format == self::FORMAT_CALENDAR) {
- foreach ($items as $item) {
- $calendar = OC_Calendar_App::getCalendar($item['item_source'], false);
- // TODO: really check $parameters['permissions'] == 'rw'/'r'
- if ($parameters['permissions'] == 'rw') {
- continue; // TODO
- }
- $calendar['displaynamename'] = $item['item_target'];
- $calendar['calendarid'] = $calendar['id'];
- $calendar['owner'] = $calendar['userid'];
- $calendars[] = $calendar;
- }
- }
- return $calendars;
- }
-
- public function getChildren($itemSource) {
- $query = OCP\DB::prepare('SELECT `id` FROM `*PREFIX*calendar_objects` WHERE `calendarid` = ?');
- $result = $query->execute(array($itemSource));
- $sources = array();
- while ($object = $result->fetchRow()) {
- $sources[] = $object['id'];
- }
- return $sources;
- }
-
-} \ No newline at end of file
diff --git a/apps/calendar/lib/share/event.php b/apps/calendar/lib/share/event.php
deleted file mode 100644
index 5bb72ee6c98..00000000000
--- a/apps/calendar/lib/share/event.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class OC_Share_Backend_Event implements OCP\Share_Backend {
-
- const FORMAT_EVENT = 0;
-
- private static $event;
-
- public function isValidSource($itemSource, $uidOwner) {
- self::$event = OC_Calendar_Object::find($itemSource);
- if (self::$event) {
- return true;
- }
- return false;
- }
-
- public function generateTarget($itemSource, $shareWith, $exclude = null) {
- // TODO Get default calendar and check for conflicts
- return self::$event['summary'];
- }
-
- public function formatItems($items, $format, $parameters = null) {
- $events = array();
- if ($format == self::FORMAT_EVENT) {
- foreach ($items as $item) {
- $event = OC_Calendar_Object::find($item['item_source']);
- $event['summary'] = $item['item_target'];
- $events[] = $event;
- }
- }
- return $events;
- }
-
-}
diff --git a/apps/calendar/lib/share_backend.php b/apps/calendar/lib/share_backend.php
deleted file mode 100644
index 1ea58ac270c..00000000000
--- a/apps/calendar/lib/share_backend.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Michael Gapczynski
-* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-class OC_Share_Backend_Calendar extends OCP\Share_Backend {
-
- public function getSource($item, $uid) {
- $query = OCP\DB::prepare('SELECT `id` FROM `*PREFIX*calendar_calendars` WHERE `userid` = ? AND `displayname` = ?',1);
- return $query->execute(array($uid, $item))->fetchAll();
- }
-
- public function generateTarget($item, $uid) {
-
- }
-
- public function getItems($sources) {
-
- }
-
-}
-
-class OC_Share_Backend_Event extends OCP\Share_Backend {
-
-}
-
-
-?> \ No newline at end of file
diff --git a/apps/calendar/settings.php b/apps/calendar/settings.php
deleted file mode 100644
index f563518046d..00000000000
--- a/apps/calendar/settings.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-$tmpl = new OCP\Template( 'calendar', 'settings');
-$timezone=OCP\Config::getUserValue(OCP\USER::getUser(),'calendar','timezone','');
-$tmpl->assign('timezone',$timezone);
-$tmpl->assign('timezones',DateTimeZone::listIdentifiers());
-$tmpl->assign('calendars', OC_Calendar_Calendar::allCalendars(OCP\USER::getUser()), false);
-
-OCP\Util::addscript('calendar','settings');
-
-$tmpl->printPage(); \ No newline at end of file
diff --git a/apps/calendar/share.php b/apps/calendar/share.php
deleted file mode 100644
index bffcf0b4709..00000000000
--- a/apps/calendar/share.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-$token = strip_tags($_GET['t']);
-$shared = OC_Calendar_Share::getElementByToken($token);
-if($shared['type'] == OC_Calendar_Share::CALENDAR){
- $calendar = OC_Calendar_App::getCalendar($shared['id'], false);
- if(!$calendar){
- header('HTTP/1.0 404 Not Found');
- exit;
- }
- header('Content-Type: text/Calendar');
- header('Content-Disposition: inline; filename=' . str_replace(' ', '-', $calendar['displayname']) . '.ics');
- echo OC_Calendar_Export::export($shared['id'], OC_Calendar_Export::CALENDAR);
-}elseif($shared['type'] == OC_Calendar_Share::EVENT){
- $data = OC_Calendar_App::getEventObject($shared['id'], false);
- if(!$data){
- header('HTTP/1.0 404 Not Found');
- exit;
- }
- header('Content-Type: text/Calendar');
- header('Content-Disposition: inline; filename=' . str_replace(' ', '-', $data['summary']) . '.ics');
- echo OC_Calendar_Export::export($shared['id'], OC_Calendar_Export::EVENT);
-}else{
- header('HTTP/1.0 404 Not Found');
- exit;
-}
diff --git a/apps/calendar/templates/calendar.php b/apps/calendar/templates/calendar.php
deleted file mode 100644
index 15891aafd9e..00000000000
--- a/apps/calendar/templates/calendar.php
+++ /dev/null
@@ -1,57 +0,0 @@
- <script type='text/javascript'>
- var defaultView = '<?php echo OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'currentview', 'month') ?>';
- var eventSources = <?php echo json_encode($_['eventSources']) ?>;
- var categories = <?php echo json_encode($_['categories']); ?>;
- var dayNames = new Array("<?php echo $l -> t("Sunday");?>", "<?php echo $l -> t("Monday");?>", "<?php echo $l -> t("Tuesday");?>", "<?php echo $l -> t("Wednesday");?>", "<?php echo $l -> t("Thursday");?>", "<?php echo $l -> t("Friday");?>", "<?php echo $l -> t("Saturday");?>");
- var dayNamesShort = new Array("<?php echo $l -> t("Sun.");?>", "<?php echo $l -> t("Mon.");?>", "<?php echo $l -> t("Tue.");?>", "<?php echo $l -> t("Wed.");?>", "<?php echo $l -> t("Thu.");?>", "<?php echo $l -> t("Fri.");?>", "<?php echo $l -> t("Sat.");?>");
- var monthNames = new Array("<?php echo $l -> t("January");?>", "<?php echo $l -> t("February");?>", "<?php echo $l -> t("March");?>", "<?php echo $l -> t("April");?>", "<?php echo $l -> t("May");?>", "<?php echo $l -> t("June");?>", "<?php echo $l -> t("July");?>", "<?php echo $l -> t("August");?>", "<?php echo $l -> t("September");?>", "<?php echo $l -> t("October");?>", "<?php echo $l -> t("November");?>", "<?php echo $l -> t("December");?>");
- var monthNamesShort = new Array("<?php echo $l -> t("Jan.");?>", "<?php echo $l -> t("Feb.");?>", "<?php echo $l -> t("Mar.");?>", "<?php echo $l -> t("Apr.");?>", "<?php echo $l -> t("May.");?>", "<?php echo $l -> t("Jun.");?>", "<?php echo $l -> t("Jul.");?>", "<?php echo $l -> t("Aug.");?>", "<?php echo $l -> t("Sep.");?>", "<?php echo $l -> t("Oct.");?>", "<?php echo $l -> t("Nov.");?>", "<?php echo $l -> t("Dec.");?>");
- var agendatime = '<?php echo ((int) OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>{ - <?php echo ((int) OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>}';
- var defaulttime = '<?php echo ((int) OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'timeformat', '24') == 24 ? 'HH:mm' : 'hh:mm tt'); ?>';
- var allDayText = '<?php echo addslashes($l->t('All day')) ?>';
- var newcalendar = '<?php echo addslashes($l->t('New Calendar')) ?>';
- var missing_field = '<?php echo addslashes($l->t('Missing fields')) ?>';
- var missing_field_title = '<?php echo addslashes($l->t('Title')) ?>';
- var missing_field_calendar = '<?php echo addslashes($l->t('Calendar')) ?>';
- var missing_field_fromdate = '<?php echo addslashes($l->t('From Date')) ?>';
- var missing_field_fromtime = '<?php echo addslashes($l->t('From Time')) ?>';
- var missing_field_todate = '<?php echo addslashes($l->t('To Date')) ?>';
- var missing_field_totime = '<?php echo addslashes($l->t('To Time')) ?>';
- var missing_field_startsbeforeends = '<?php echo addslashes($l->t('The event ends before it starts')) ?>';
- var missing_field_dberror = '<?php echo addslashes($l->t('There was a database fail')) ?>';
- var totalurl = '<?php echo OCP\Util::linkToRemote('caldav'); ?>calendars';
- var firstDay = '<?php echo (OCP\Config::getUserValue(OCP\USER::getUser(), 'calendar', 'firstday', 'mo') == 'mo' ? '1' : '0'); ?>';
- $(document).ready(function() {
- <?php
- if(array_key_exists('showevent', $_)){
- $data = OC_Calendar_App::getEventObject($_['showevent']);
- $date = substr($data['startdate'], 0, 10);
- list($year, $month, $day) = explode('-', $date);
- echo '$(\'#calendar_holder\').fullCalendar(\'gotoDate\', ' . $year . ', ' . --$month . ', ' . $day . ');';
- echo '$(\'#dialog_holder\').load(OC.filePath(\'calendar\', \'ajax\', \'editeventform.php\') + \'?id=\' + ' . $_['showevent'] . ' , Calendar.UI.startEventDialog);';
- }
- ?>
- });
- </script>
- <div id="notification" style="display:none;"></div>
- <div id="controls">
- <form id="view">
- <input type="button" value="<?php echo $l->t('Week');?>" id="oneweekview_radio"/>
- <input type="button" value="<?php echo $l->t('Month');?>" id="onemonthview_radio"/>
- <input type="button" value="<?php echo $l->t('List');?>" id="listview_radio"/>&nbsp;&nbsp;
- <img id="loading" src="<?php echo OCP\Util::imagePath('core', 'loading.gif'); ?>" />
- </form>
- <form id="choosecalendar">
- <!--<input type="button" id="today_input" value="<?php echo $l->t("Today");?>"/>-->
- <a class="settings calendarsettings" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('calendar', 'icon.svg'); ?>" alt="<?php echo $l->t('Settings'); ?>" /></a>
- <a class="settings generalsettings" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('core', 'actions/settings.svg'); ?>" alt="<?php echo $l->t('Settings'); ?>" /></a>
- </form>
- <form id="datecontrol">
- <input type="button" value="&nbsp;&lt;&nbsp;" id="datecontrol_left"/>
- <input type="button" value="" id="datecontrol_date"/>
- <input type="button" value="&nbsp;&gt;&nbsp;" id="datecontrol_right"/>
- </form>
- </div>
- <div id="fullcalendar"></div>
- <div id="dialog_holder"></div>
- <div id="appsettings" class="popup topright hidden"></div> \ No newline at end of file
diff --git a/apps/calendar/templates/part.choosecalendar.php b/apps/calendar/templates/part.choosecalendar.php
deleted file mode 100644
index ad2f9e753f2..00000000000
--- a/apps/calendar/templates/part.choosecalendar.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<form id="calendar">
- <p><b><?php echo $l->t('Your calendars'); ?>:</b></p>
- <table width="100%" style="border: 0;">
- <?php
- $option_calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
- for($i = 0; $i < count($option_calendars); $i++){
- echo "<tr>";
- $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields');
- $tmpl->assign('calendar', $option_calendars[$i]);
- if(OC_Calendar_Share::allUsersSharedwith($option_calendars[$i]['id'], OC_Calendar_Share::CALENDAR) == array()){
- $shared = false;
- }else{
- $shared = true;
- }
- $tmpl->assign('shared', $shared);
- $tmpl->printpage();
- echo "</tr>";
- }
- ?>
- <tr>
- <td colspan="6">
- <a href="#" onclick="Calendar.UI.Calendar.newCalendar(this);"><input type="button" value="<?php echo $l->t('New Calendar') ?>"></a>
- </td>
- </tr>
- <tr>
- <td colspan="6">
- <p style="margin: 0 auto;width: 90%;"><input style="display:none;width: 90%;float: left;" type="text" id="caldav_url" onmouseover="$('#caldav_url').select();" title="<?php echo $l->t("CalDav Link"); ?>"><img id="caldav_url_close" style="height: 20px;vertical-align: middle;display: none;" src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg') ?>" alt="close" onclick="$('#caldav_url').hide();$('#caldav_url_close').hide();"/></p>
- </td>
- </tr>
- </table><br>
- <p><b><?php echo $l->t('Shared calendars'); ?>: </b></p>
- <table width="100%" style="border: 0;">
- <?php
- $share = OC_Calendar_Share::allSharedwithuser(OCP\USER::getUser(), OC_Calendar_Share::CALENDAR);
- $count = count($share);
- for($i = 0; $i < $count; $i++){
- $share[$i]['calendar'] = OC_Calendar_App::getCalendar($share[$i]['calendarid'], false, false);
- echo '<tr>';
- $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields.shared');
- $tmpl->assign('share', $share[$i]);
- $tmpl->printpage();
- echo '</tr>';
- }
- ?>
- </table>
- <?php
- if($count == 0){
- echo '<p style="text-align:center;"><b>' . $l->t('No shared calendars') . '</b></p>';
- }
- ?>
- </fieldset>
-</form> \ No newline at end of file
diff --git a/apps/calendar/templates/part.choosecalendar.rowfields.php b/apps/calendar/templates/part.choosecalendar.rowfields.php
deleted file mode 100644
index 64aaa797197..00000000000
--- a/apps/calendar/templates/part.choosecalendar.rowfields.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<td width="20px">
- <input type="checkbox" id="active_<?php echo $_['calendar']['id'] ?>" onclick="Calendar.UI.Calendar.activation(this,<?php echo $_['calendar']['id'] ?>)"<?php echo $_['calendar']['active'] ? ' checked="checked"' : '' ?>>
-</td>
-<td id="<?php echo OCP\USER::getUser() ?>_<?php echo $_['calendar']['id'] ?>">
- <label for="active_<?php echo $_['calendar']['id'] ?>"><?php echo $_['calendar']['displayname'] ?></label>
-</td>
-<td width="20px">
- <a href="#" class="share" data-item-type="calendar" data-item="<?php echo $_['calendar']['id']; ?>" title="<?php echo $l->t('Share Calendar') ?>" class="action"><img class="svg action" src="<?php echo (!$_['shared']) ? OCP\Util::imagePath('core', 'actions/share.svg') : OCP\Util::imagePath('core', 'actions/shared.svg') ?>"></a>
-</td>
-<td width="20px">
- <a href="#" onclick="Calendar.UI.showCalDAVUrl('<?php echo OCP\USER::getUser() ?>', '<?php echo rawurlencode(html_entity_decode($_['calendar']['uri'], ENT_QUOTES, 'UTF-8')) ?>');" title="<?php echo $l->t('CalDav Link') ?>" class="action"><img class="svg action" src="<?php echo OCP\Util::imagePath('core', 'actions/public.svg') ?>"></a>
-</td>
-<td width="20px">
- <a href="<?php echo OCP\Util::linkTo('calendar', 'export.php') . '?calid=' . $_['calendar']['id'] ?>" title="<?php echo $l->t('Download') ?>" class="action"><img class="svg action" src="<?php echo OCP\Util::imagePath('core', 'actions/download.svg') ?>"></a>
-</td>
-<td width="20px">
- <a href="#" onclick="Calendar.UI.Calendar.edit(this, <?php echo $_['calendar']['id'] ?>);" title="<?php echo $l->t('Edit') ?>" class="action"><img class="svg action" src="<?php echo OCP\Util::imagePath('core', 'actions/rename.svg') ?>"></a>
-</td>
-<td width="20px">
- <a href="#" onclick="Calendar.UI.Calendar.deleteCalendar(<?php echo $_['calendar']['id'] ?>);" title="<?php echo $l->t('Delete') ?>" class="action"><img class="svg action" src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg') ?>"></a>
-</td>
diff --git a/apps/calendar/templates/part.choosecalendar.rowfields.shared.php b/apps/calendar/templates/part.choosecalendar.rowfields.shared.php
deleted file mode 100644
index 6a212858a21..00000000000
--- a/apps/calendar/templates/part.choosecalendar.rowfields.shared.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-echo '<td width="20px"><input id="active_' . $_['share']['owner'] . '_' . $_['share']['calendar']['id'] . '" type="checkbox" onClick="Calendar.UI.Share.activation(this,\'' . $_['share']['owner'] . '\',' . $_['share']['calendar']['id'] . ')"' . ($_['share']['active'] ? ' checked="checked"' : '') . '></td>';
-echo '<td><label for="active_' . $_['share']['owner'] . '_' . $_['share']['calendar']['id'] . '">' . htmlspecialchars($_['share']['calendar']['displayname']) . '</label></td>';
-echo '<td style="font-style: italic;">' . $l->t('shared with you by') . ' ' . $_['share']['owner'] . '</td>'; \ No newline at end of file
diff --git a/apps/calendar/templates/part.editcalendar.php b/apps/calendar/templates/part.editcalendar.php
deleted file mode 100644
index b4ff573ec81..00000000000
--- a/apps/calendar/templates/part.editcalendar.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-?>
-<td id="<?php echo $_['new'] ? 'new' : 'edit' ?>calendar_dialog" title="<?php echo $_['new'] ? $l->t("New calendar") : $l->t("Edit calendar"); ?>" colspan="6">
-<table width="100%" style="border: 0;">
-<tr>
- <th><?php echo $l->t('Displayname') ?></th>
- <td>
- <input id="displayname_<?php echo $_['calendar']['id'] ?>" type="text" value="<?php echo $_['calendar']['displayname'] ?>">
- </td>
-</tr>
-<?php if (!$_['new']): ?>
-<tr>
- <td></td>
- <td>
- <input id="edit_active_<?php echo $_['calendar']['id'] ?>" type="checkbox"<?php echo $_['calendar']['active'] ? ' checked="checked"' : '' ?>>
- <label for="edit_active_<?php echo $_['calendar']['id'] ?>">
- <?php echo $l->t('Active') ?>
- </label>
- </td>
-</tr>
-<?php endif; ?>
-<tr>
- <th><?php echo $l->t('Calendar color') ?></th>
- <td>
- <select id="calendarcolor_<?php echo $_['calendar']['id'] ?>" class="colorpicker">
- <?php
- if (!isset($_['calendar']['calendarcolor'])) {$_['calendar']['calendarcolor'] = false;}
- foreach($_['calendarcolor_options'] as $color){
- echo '<option value="' . $color . '"' . ($_['calendar']['calendarcolor'] == $color ? ' selected="selected"' : '') . '>' . $color . '</option>';
- }
- ?>
- </select>
- </td>
-</tr>
-</table>
-<input style="float: left;" type="button" onclick="Calendar.UI.Calendar.submit(this, <?php echo $_['new'] ? "'new'" : $_['calendar']['id'] ?>);" value="<?php echo $_['new'] ? $l->t("Save") : $l->t("Submit"); ?>">
-<input style="float: left;" type="button" onclick="Calendar.UI.Calendar.cancel(this, <?php echo $_['new'] ? "'new'" : $_['calendar']['id'] ?>);" value="<?php echo $l->t("Cancel"); ?>">
-</td>
diff --git a/apps/calendar/templates/part.editevent.php b/apps/calendar/templates/part.editevent.php
deleted file mode 100644
index ea91192cc66..00000000000
--- a/apps/calendar/templates/part.editevent.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<div id="event" title="<?php echo $l->t("Edit an event");?>">
- <form id="event_form">
- <input type="hidden" name="id" value="<?php echo $_['eventid'] ?>">
- <input type="hidden" name="lastmodified" value="<?php echo $_['lastmodified'] ?>">
-<?php echo $this->inc("part.eventform"); ?>
- <div style="width: 100%;text-align: center;color: #FF1D1D;" id="errorbox"></div>
- <span id="actions">
- <input type="button" class="submit" style="float: left;" value="<?php echo $l->t("Submit");?>" onclick="Calendar.UI.validateEventForm('<?php echo OCP\Util::linkTo('calendar', 'ajax/event/edit.php') ?>');">
- <input type="button" class="submit" style="float: left;" name="delete" value="<?php echo $l->t("Delete");?>" onclick="Calendar.UI.submitDeleteEventForm('<?php echo OCP\Util::linkTo('calendar', 'ajax/event/delete.php') ?>');">
- <input type="button" class="submit" style="float: right;" name="export" value="<?php echo $l->t("Export");?>" onclick="window.location='<?php echo OCP\Util::linkTo('calendar', 'export.php') ?>?eventid=<?php echo $_['eventid'] ?>';">
- </span>
- </form>
-</div>
diff --git a/apps/calendar/templates/part.eventform.php b/apps/calendar/templates/part.eventform.php
deleted file mode 100644
index 95eecf26223..00000000000
--- a/apps/calendar/templates/part.eventform.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<script type="text/javascript">
-<?php
-echo 'Calendar.UI.Share.idtype = "event";' . "\n" . 'Calendar.UI.Share.currentid = "' . $_['eventid'] . '";';
-?>
-</script>
-
-<ul>
- <li><a href="#tabs-1"><?php echo $l->t('Eventinfo'); ?></a></li>
- <li><a href="#tabs-2"><?php echo $l->t('Repeating'); ?></a></li>
- <!--<li><a href="#tabs-3"><?php echo $l->t('Alarm'); ?></a></li>
- <li><a href="#tabs-4"><?php echo $l->t('Attendees'); ?></a></li>-->
- <?php if($_['access'] == 'owner' && $_['eventid'] != 'new') { ?>
- <li><a href="#tabs-5"><?php echo $l->t('Share'); ?></a></li>
- <?php } ?>
-</ul>
-<div id="tabs-1">
- <table width="100%">
- <tr>
- <th width="75px"><?php echo $l->t("Title");?>:</th>
- <td>
- <input type="text" style="width:350px;" size="100" placeholder="<?php echo $l->t("Title of the Event");?>" value="<?php echo isset($_['title']) ? $_['title'] : '' ?>" maxlength="100" name="title"/>
- </td>
- </tr>
- </table>
- <table width="100%">
- <tr>
- <th width="75px"><?php echo $l->t("Category");?>:</th>
- <td>
- <input id="category" name="categories" type="text" placeholder="<?php echo $l->t('Separate categories with commas'); ?>" value="<?php echo isset($_['categories']) ? $_['categories'] : '' ?>">
- <a class="action edit" onclick="$(this).tipsy('hide');OCCategories.edit();" title="<?php echo $l->t('Edit categories'); ?>"><img alt="<?php echo $l->t('Edit categories'); ?>" src="<?php echo OCP\image_path('core','actions/rename.svg')?>" class="svg action" style="width: 16px; height: 16px;"></a>
- </td>
- <?php if(count($_['calendar_options']) > 1) { ?>
- <th width="75px">&nbsp;&nbsp;&nbsp;<?php echo $l->t("Calendar");?>:</th>
- <td>
- <select style="width:140px;" name="calendar">
- <?php
- if (!isset($_['calendar'])) {$_['calendar'] = false;}
- echo OCP\html_select_options($_['calendar_options'], $_['calendar'], array('value'=>'id', 'label'=>'displayname'));
- ?>
- </select>
- </td>
- <?php } else { ?>
- <th width="75px">&nbsp;</th>
- <td>
- <input type="hidden" name="calendar" value="<?php echo $_['calendar_options'][0]['id']; ?>">
- </td>
- <?php } ?>
- </tr>
- </table>
- <hr>
- <table width="100%">
- <tr>
- <th width="75px"></th>
- <td>
- <input onclick="Calendar.UI.lockTime();" type="checkbox"<?php if($_['allday']){echo 'checked="checked"';} ?> id="allday_checkbox" name="allday">
- <label for="allday_checkbox"><?php echo $l->t("All Day Event");?></label>
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t("From");?>:</th>
- <td>
- <input type="text" value="<?php echo $_['startdate'];?>" name="from" id="from">
- &nbsp;&nbsp;
- <input type="time" value="<?php echo $_['starttime'];?>" name="fromtime" id="fromtime">
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t("To");?>:</th>
- <td>
- <input type="text" value="<?php echo $_['enddate'];?>" name="to" id="to">
- &nbsp;&nbsp;
- <input type="time" value="<?php echo $_['endtime'];?>" name="totime" id="totime">
- </td>
- </tr>
- </table>
- <input type="button" class="submit" value="<?php echo $l->t("Advanced options"); ?>" onclick="Calendar.UI.showadvancedoptions();" id="advanced_options_button">
- <div id="advanced_options" style="display: none;">
- <hr>
- <table>
- <tr>
- <th width="85px"><?php echo $l->t("Location");?>:</th>
- <td>
- <input type="text" style="width:350px;" size="100" placeholder="<?php echo $l->t("Location of the Event");?>" value="<?php echo isset($_['location']) ? $_['location'] : '' ?>" maxlength="100" name="location" />
- </td>
- </tr>
- </table>
- <table>
- <tr>
- <th width="85px" style="vertical-align: top;"><?php echo $l->t("Description");?>:</th>
- <td>
- <textarea style="width:350px;height: 150px;" placeholder="<?php echo $l->t("Description of the Event");?>" name="description"><?php echo isset($_['description']) ? $_['description'] : '' ?></textarea>
- </td>
- </tr>
- </table>
- </div>
- </div>
-<div id="tabs-2">
- <table style="width:100%">
- <tr>
- <th width="75px"><?php echo $l->t("Repeat");?>:</th>
- <td>
- <select id="repeat" name="repeat">
- <?php
- echo OCP\html_select_options($_['repeat_options'], $_['repeat']);
- ?>
- </select></td>
- <td><input type="button" style="float:right;" class="submit" value="<?php echo $l->t("Advanced"); ?>" onclick="Calendar.UI.showadvancedoptionsforrepeating();" id="advanced_options_button"></td>
- </tr>
- </table>
- <div id="advanced_options_repeating" style="display:none;">
- <table style="width:100%">
- <tr id="advanced_month" style="display:none;">
- <th width="75px"></th>
- <td>
- <select id="advanced_month_select" name="advanced_month_select">
- <?php
- echo OCP\html_select_options($_['repeat_month_options'], $_['repeat_month']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_year" style="display:none;">
- <th width="75px"></th>
- <td>
- <select id="advanced_year_select" name="advanced_year_select">
- <?php
- echo OCP\html_select_options($_['repeat_year_options'], $_['repeat_year']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_weekofmonth" style="display:none;">
- <th width="75px"></th>
- <td id="weekofmonthcheckbox">
- <select id="weekofmonthoptions" name="weekofmonthoptions">
- <?php
- echo OCP\html_select_options($_['repeat_weekofmonth_options'], $_['repeat_weekofmonth']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_weekday" style="display:none;">
- <th width="75px"></th>
- <td id="weeklycheckbox">
- <select id="weeklyoptions" name="weeklyoptions[]" multiple="multiple" style="width: 150px;" title="<?php echo $l->t("Select weekdays") ?>">
- <?php
- if (!isset($_['weekdays'])) {$_['weekdays'] = array();}
- echo OCP\html_select_options($_['repeat_weekly_options'], $_['repeat_weekdays'], array('combine'=>true));
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_byyearday" style="display:none;">
- <th width="75px"></th>
- <td id="byyeardaycheckbox">
- <select id="byyearday" name="byyearday[]" multiple="multiple" title="<?php echo $l->t("Select days") ?>">
- <?php
- if (!isset($_['repeat_byyearday'])) {$_['repeat_byyearday'] = array();}
- echo OCP\html_select_options($_['repeat_byyearday_options'], $_['repeat_byyearday'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events day of year.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_bymonthday" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthdaycheckbox">
- <select id="bymonthday" name="bymonthday[]" multiple="multiple" title="<?php echo $l->t("Select days") ?>">
- <?php
- if (!isset($_['repeat_bymonthday'])) {$_['repeat_bymonthday'] = array();}
- echo OCP\html_select_options($_['repeat_bymonthday_options'], $_['repeat_bymonthday'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events day of month.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_bymonth" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthcheckbox">
- <select id="bymonth" name="bymonth[]" multiple="multiple" title="<?php echo $l->t("Select months") ?>">
- <?php
- if (!isset($_['repeat_bymonth'])) {$_['repeat_bymonth'] = array();}
- echo OCP\html_select_options($_['repeat_bymonth_options'], $_['repeat_bymonth'], array('combine'=>true));
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_byweekno" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthcheckbox">
- <select id="byweekno" name="byweekno[]" multiple="multiple" title="<?php echo $l->t("Select weeks") ?>">
- <?php
- if (!isset($_['repeat_byweekno'])) {$_['repeat_byweekno'] = array();}
- echo OCP\html_select_options($_['repeat_byweekno_options'], $_['repeat_byweekno'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events week of year.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr>
- <th width="75px"><?php echo $l->t('Interval'); ?>:</th>
- <td>
- <input style="width:350px;" type="number" min="1" size="4" max="1000" value="<?php echo isset($_['repeat_interval']) ? $_['repeat_interval'] : '1'; ?>" name="interval">
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t('End'); ?>:</th>
- <td>
- <select id="end" name="end">
- <?php
- if($_['repeat_end'] == '') $_['repeat_end'] = 'never';
- echo OCP\html_select_options($_['repeat_end_options'], $_['repeat_end']);
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <th></th>
- <td id="byoccurrences" style="display:none;">
- <input type="number" min="1" max="99999" id="until_count" name="byoccurrences" value="<?php echo $_['repeat_count']; ?>"><?php echo $l->t('occurrences'); ?>
- </td>
- </tr>
- <tr>
- <th></th>
- <td id="bydate" style="display:none;">
- <input type="text" name="bydate" value="<?php echo $_['repeat_date']; ?>">
- </td>
- </tr>
- </table>
- </div>
-</div>
-<!--<div id="tabs-3">//Alarm</div>
-<div id="tabs-4">//Attendees</div>-->
-<?php if($_['access'] == 'owner') { ?>
-<div id="tabs-5">
- <?php if($_['eventid'] != 'new'){ echo $this->inc('share.dropdown'); } ?>
-</div>
-<?php } ?>
diff --git a/apps/calendar/templates/part.import.php b/apps/calendar/templates/part.import.php
deleted file mode 100644
index 2ce3cc34239..00000000000
--- a/apps/calendar/templates/part.import.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-//Prerendering for iCalendar file
-$file = OC_Filesystem::file_get_contents($_['path'] . '/' . $_['filename']);
-if(!$file){
- OCP\JSON::error(array('error'=>'404'));
-}
-$import = new OC_Calendar_Import($file);
-$import->setUserID(OCP\User::getUser());
-$newcalendarname = strip_tags($import->createCalendarName());
-$guessedcalendarname = strip_tags($import->guessCalendarName());
-$calendarcolor = strip_tags($import->createCalendarColor());
-//loading calendars for select box
-$calendar_options = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser());
-$calendar_options[] = array('id'=>'newcal', 'displayname'=>$l->t('create a new calendar'));
-$defaultcolors = OC_Calendar_Calendar::getCalendarColorOptions();
-?>
-<div id="calendar_import_dialog" title="<?php echo $l->t("Import a calendar file");?>">
-<div id="calendar_import_form">
- <form>
- <input type="hidden" id="calendar_import_filename" value="<?php echo $_['filename'];?>">
- <input type="hidden" id="calendar_import_path" value="<?php echo $_['path'];?>">
- <input type="hidden" id="calendar_import_progresskey" value="<?php echo rand() ?>">
- <input type="hidden" id="calendar_import_availablename" value="<?php echo $newcalendarname ?>">
- <div id="calendar_import_form_message"><?php echo $l->t('Please choose a calendar'); ?></div>
- <select style="width:100%;" id="calendar_import_calendar" name="calendar_import_calendar">
- <?php
- for($i = 0;$i<count($calendar_options);$i++){
- $calendar_options[$i]['displayname'] = $calendar_options[$i]['displayname'];
- }
- echo OCP\html_select_options($calendar_options, $calendar_options[0]['id'], array('value'=>'id', 'label'=>'displayname'));
- ?>
- </select>
- <br><br>
- <div id="calendar_import_newcalform">
- <input id="calendar_import_newcalendar_color" class="color-picker" type="hidden" size="6" value="<?php echo substr($calendarcolor,1); ?>">
- <input id="calendar_import_newcalendar" class="" type="text" placeholder="<?php echo $l->t('Name of new calendar'); ?>" value="<?php echo $guessedcalendarname ?>"><br>
- <div id="calendar_import_defaultcolors">
- <?php
- foreach($defaultcolors as $color){
- echo '<span class="calendar-colorpicker-color" rel="' . $color . '" style="background-color: ' . $color . ';"></span>';
- }
- ?>
- </div>
- <!--<input id="calendar_import_generatename" type="button" class="button" value="<?php echo $l->t('Take an available name!'); ?>"><br>-->
- <div id="calendar_import_mergewarning" class="hint"><?php echo $l->t('A Calendar with this name already exists. If you continue anyhow, these calendars will be merged.'); ?></div>
- </div>
- <input id="calendar_import_submit" type="button" class="button" value="&raquo; <?php echo $l->t('Import'); ?> &raquo;" id="startimport">
- <form>
-</div>
-<div id="calendar_import_process">
- <div id="calendar_import_process_message"></div>
- <div id="calendar_import_progressbar"></div>
- <br>
- <div id="calendar_import_status" class="hint"></div>
- <br>
- <input id="calendar_import_done" type="button" value="<?php echo $l->t('Close Dialog'); ?>">
-</div>
-</div> \ No newline at end of file
diff --git a/apps/calendar/templates/part.newevent.php b/apps/calendar/templates/part.newevent.php
deleted file mode 100644
index a4f48aecbc6..00000000000
--- a/apps/calendar/templates/part.newevent.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<div id="event" title="<?php echo $l->t("Create a new event");?>">
- <form id="event_form">
-<?php echo $this->inc("part.eventform"); ?>
- <div style="width: 100%;text-align: center;color: #FF1D1D;" id="errorbox"></div>
- <span id="actions">
- <input type="button" class="submit" style="float: left;" value="<?php echo $l->t("Submit");?>" onclick="Calendar.UI.validateEventForm('<?php echo OCP\Util::linkTo('calendar', 'ajax/event/new.php') ?>');">
- </span>
- </form>
-</div>
diff --git a/apps/calendar/templates/part.showevent.php b/apps/calendar/templates/part.showevent.php
deleted file mode 100644
index 59684d831e5..00000000000
--- a/apps/calendar/templates/part.showevent.php
+++ /dev/null
@@ -1,243 +0,0 @@
-<div id="event" title="<?php echo $l->t("View an event");?>">
-<ul>
- <li><a href="#tabs-1"><?php echo $l->t('Eventinfo'); ?></a></li>
- <li><a href="#tabs-2"><?php echo $l->t('Repeating'); ?></a></li>
- <!--<li><a href="#tabs-3"><?php echo $l->t('Alarm'); ?></a></li>
- <li><a href="#tabs-4"><?php echo $l->t('Attendees'); ?></a></li>-->
-</ul>
-<div id="tabs-1">
- <table width="100%">
- <tr>
- <th width="75px"><?php echo $l->t("Title");?>:</th>
- <td>
- <?php echo isset($_['title']) ? $_['title'] : '' ?>
- </td>
- </tr>
- </table>
- <table width="100%">
- <tr>
- <th width="75px"><?php echo $l->t("Category");?>:</th>
- <td>
- <?php
- if(count($_['categories']) == 0 || $_['categories'] == ''){
- echo $l->t('No categories selected');
- }else{
- echo '<ul>';
- foreach($_['categories'] as $categorie){
- echo '<li>' . $categorie . '</li>';
- }
- echo '</ul>';
- }
- ?>
- </td>
- <th width="75px">&nbsp;&nbsp;&nbsp;<?php echo $l->t("Calendar");?>:</th>
- <td>
- <?php
- $calendar = OC_Calendar_App::getCalendar($_['calendar'], false, false);
- echo $calendar['displayname'] . ' ' . $l->t('of') . ' ' . $calendar['userid'];
- ?>
- </td>
- <th width="75px">&nbsp;</th>
- <td>
- <input type="hidden" name="calendar" value="<?php echo $_['calendar_options'][0]['id'] ?>">
- </td>
- </tr>
- </table>
- <hr>
- <table width="100%">
- <tr>
- <th width="75px"></th>
- <td>
- <input onclick="Calendar.UI.lockTime();" type="checkbox"<?php if($_['allday']){echo 'checked="checked"';} ?> id="allday_checkbox" name="allday" disabled="disabled">
- <?php echo $l->t("All Day Event");?>
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t("From");?>:</th>
- <td>
- <?php echo $_['startdate'];?>
- &nbsp;&nbsp; <?php echo (!$_['allday'])?$l->t('at'):''; ?> &nbsp;&nbsp;
- <?php echo $_['starttime'];?>
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t("To");?>:</th>
- <td>
- <?php echo $_['enddate'];?>
- &nbsp;&nbsp; <?php echo (!$_['allday'])?$l->t('at'):''; ?> &nbsp;&nbsp;
- <?php echo $_['endtime'];?>
- </td>
- </tr>
- </table>
- <input type="button" class="submit" value="<?php echo $l->t("Advanced options"); ?>" onclick="Calendar.UI.showadvancedoptions();" id="advanced_options_button">
- <div id="advanced_options" style="display: none;">
- <hr>
- <table>
- <tr>
- <th width="85px"><?php echo $l->t("Location");?>:</th>
- <td>
- <?php echo isset($_['location']) ? $_['location'] : '' ?>
- </td>
- </tr>
- </table>
- <table>
- <tr>
- <th width="85px" style="vertical-align: top;"><?php echo $l->t("Description");?>:</th>
- <td>
- <?php echo isset($_['description']) ? $_['description'] : '' ?></textarea>
- </tr>
- </table>
- </div>
- </div>
-<div id="tabs-2">
- <table style="width:100%">
- <tr>
- <th width="75px"><?php echo $l->t("Repeat");?>:</th>
- <td>
- <select id="repeat" name="repeat">
- <?php
- echo OCP\html_select_options(array($_['repeat_options'][$_['repeat']]), $_['repeat']);
- ?>
- </select></td>
- <td><input type="button" style="float:right;" class="submit" value="<?php echo $l->t("Advanced"); ?>" onclick="Calendar.UI.showadvancedoptionsforrepeating();" id="advanced_options_button"></td>
- </tr>
- </table>
- <div id="advanced_options_repeating" style="display:none;">
- <table style="width:100%">
- <tr id="advanced_month" style="display:none;">
- <th width="75px"></th>
- <td>
- <select id="advanced_month_select" name="advanced_month_select">
- <?php
- echo OCP\html_select_options(array($_['repeat_month_options'][$_['repeat_month']]), $_['repeat_month']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_year" style="display:none;">
- <th width="75px"></th>
- <td>
- <select id="advanced_year_select" name="advanced_year_select">
- <?php
- echo OCP\html_select_options(array($_['repeat_year_options'][$_['repeat_year']]), $_['repeat_year']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_weekofmonth" style="display:none;">
- <th width="75px"></th>
- <td id="weekofmonthcheckbox">
- <select id="weekofmonthoptions" name="weekofmonthoptions">
- <?php
- echo OCP\html_select_options(array($_['repeat_weekofmonth_options'][$_['repeat_weekofmonth']]), $_['repeat_weekofmonth']);
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_weekday" style="display:none;">
- <th width="75px"></th>
- <td id="weeklycheckbox">
- <select id="weeklyoptions" name="weeklyoptions[]" multiple="multiple" style="width: 150px;" title="<?php echo $l->t("Select weekdays") ?>">
- <?php
- if (!isset($_['weekdays'])) {$_['weekdays'] = array();}
- echo OCP\html_select_options(array($_['repeat_weekly_options'][$_['repeat_weekdays']]), $_['repeat_weekdays'], array('combine'=>true));
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_byyearday" style="display:none;">
- <th width="75px"></th>
- <td id="byyeardaycheckbox">
- <select id="byyearday" name="byyearday[]" multiple="multiple" title="<?php echo $l->t("Select days") ?>">
- <?php
- if (!isset($_['repeat_byyearday'])) {$_['repeat_byyearday'] = array();}
- echo OCP\html_select_options(array($_['repeat_byyearday_options'][$_['repeat_byyearday']]), $_['repeat_byyearday'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events day of year.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_bymonthday" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthdaycheckbox">
- <select id="bymonthday" name="bymonthday[]" multiple="multiple" title="<?php echo $l->t("Select days") ?>">
- <?php
- if (!isset($_['repeat_bymonthday'])) {$_['repeat_bymonthday'] = array();}
- echo OCP\html_select_options(array($_['repeat_bymonthday_options'][$_['repeat_bymonthday']]), $_['repeat_bymonthday'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events day of month.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_bymonth" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthcheckbox">
- <select id="bymonth" name="bymonth[]" multiple="multiple" title="<?php echo $l->t("Select months") ?>">
- <?php
- if (!isset($_['repeat_bymonth'])) {$_['repeat_bymonth'] = array();}
- echo OCP\html_select_options(array($_['repeat_bymonth_options'][$_['repeat_bymonth']]), $_['repeat_bymonth'], array('combine'=>true));
- ?>
- </select>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr id="advanced_byweekno" style="display:none;">
- <th width="75px"></th>
- <td id="bymonthcheckbox">
- <select id="byweekno" name="byweekno[]" multiple="multiple" title="<?php echo $l->t("Select weeks") ?>">
- <?php
- if (!isset($_['repeat_byweekno'])) {$_['repeat_byweekno'] = array();}
- echo OCP\html_select_options(array($_['repeat_byweekno_options'][$_['repeat_byweekno']]), $_['repeat_byweekno'], array('combine'=>true));
- ?>
- </select><?php echo $l->t('and the events week of year.'); ?>
- </td>
- </tr>
- </table>
- <table style="width:100%">
- <tr>
- <th width="75px"><?php echo $l->t('Interval'); ?>:</th>
- <td>
- <?php echo isset($_['repeat_interval']) ? $_['repeat_interval'] : '1'; ?>
- </td>
- </tr>
- <tr>
- <th width="75px"><?php echo $l->t('End'); ?>:</th>
- <td>
- <select id="end" name="end">
- <?php
- if($_['repeat_end'] == '') $_['repeat_end'] = 'never';
- echo OCP\html_select_options(array($_['repeat_end_options'][$_['repeat_end']]), $_['repeat_end']);
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <th></th>
- <td id="byoccurrences" style="display:none;">
- <?php echo $_['repeat_count'] . ' ' . $l->t('occurrences'); ?>
- </td>
- </tr>
- <tr>
- <th></th>
- <td id="bydate" style="display:none;">
- <?php echo $_['repeat_date']; ?>
- </td>
- </tr>
- </table>
- </div>
-</div>
-<!--<div id="tabs-3">//Alarm</div>
-<div id="tabs-4">//Attendees</div>-->
-
-</div> \ No newline at end of file
diff --git a/apps/calendar/templates/settings.php b/apps/calendar/templates/settings.php
deleted file mode 100644
index 56a6a42ee0e..00000000000
--- a/apps/calendar/templates/settings.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011 Bart Visscher <bartv@thisnet.nl>
- * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-?>
-<h2 id="title_general"><?php echo $l->t('General'); ?></h2>
-<div id="general">
- <table class="nostyle">
- <tr>
- <td>
- <label for="timezone" class="bold"><?php echo $l->t('Timezone');?></label>
- &nbsp;&nbsp;
- </td>
- <td>
- <select style="display: none;" id="timezone" name="timezone">
- <?php
- $continent = '';
- foreach($_['timezones'] as $timezone):
- $ex=explode('/', $timezone, 2);//obtain continent,city
- if (!isset($ex[1])) {
- $ex[1] = $ex[0];
- $ex[0] = "Other";
- }
- if ($continent!=$ex[0]):
- if ($continent!="") echo '</optgroup>';
- echo '<optgroup label="'.$ex[0].'">';
- endif;
- $city=strtr($ex[1], '_', ' ');
- $continent=$ex[0];
- echo '<option value="'.$timezone.'"'.($_['timezone'] == $timezone?' selected="selected"':'').'>'.$city.'</option>';
- var_dump($_['timezone']);
- endforeach;?>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- &nbsp;&nbsp;
- </td>
- <td>
- <input type="checkbox" name="timezonedetection" id="timezonedetection">
- &nbsp;
- <label for="timezonedetection"><?php echo $l->t('Update timezone automatically'); ?></label>
- </td>
- </tr>
- <tr>
- <td>
- <label for="timeformat" class="bold"><?php echo $l->t('Time format');?></label>
- &nbsp;&nbsp;
- </td>
- <td>
- <select style="display: none; width: 60px;" id="timeformat" title="<?php echo "timeformat"; ?>" name="timeformat">
- <option value="24" id="24h"><?php echo $l->t("24h"); ?></option>
- <option value="ampm" id="ampm"><?php echo $l->t("12h"); ?></option>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- <label for="firstday" class="bold"><?php echo $l->t('Start week on');?></label>
- &nbsp;&nbsp;
- </td>
- <td>
- <select style="display: none;" id="firstday" title="<?php echo "First day"; ?>" name="firstday">
- <option value="mo" id="mo"><?php echo $l->t("Monday"); ?></option>
- <option value="su" id="su"><?php echo $l->t("Sunday"); ?></option>
- </select>
- </td>
- </tr>
- <tr class="advancedsettings">
- <td>
- <label for="" class="bold"><?php echo $l->t('Cache');?></label>
- &nbsp;&nbsp;
- </td>
- <td>
- <input id="cleancalendarcache" type="button" class="button" value="<?php echo $l->t('Clear cache for repeating events');?>">
- </td>
- </tr>
- </table>
-</div>
-<h2 id="title_urls"><?php echo $l->t('URLs'); ?></h2>
-<div id="urls">
- <?php echo $l->t('Calendar CalDAV syncing addresses'); ?> (<a href="http://owncloud.org/synchronisation/" target="_blank"><?php echo $l->t('more info'); ?></a>)
- <dl>
- <dt><?php echo $l->t('Primary address (Kontact et al)'); ?></dt>
- <dd><code><?php echo OCP\Util::linkToRemote('caldav'); ?></code></dd>
- <dt><?php echo $l->t('iOS/OS X'); ?></dt>
- <dd><code><?php echo OCP\Util::linkToRemote('caldav'); ?>principals/<?php echo OCP\USER::getUser(); ?></code>/</dd>
- <dt><?php echo $l->t('Read only iCalendar link(s)'); ?></dt>
- <dd>
- <?php foreach($_['calendars'] as $calendar) { ?>
- <a href="<?php echo OCP\Util::linkToRemote('caldav').'calendars/'.OCP\USER::getUser().'/'.rawurlencode($calendar['uri']) ?>?export"><?php echo $calendar['displayname'] ?></a><br />
- <?php } ?>
- </dd>
- </dl>
- </div>
-</div> \ No newline at end of file
diff --git a/apps/calendar/templates/share.dropdown.php b/apps/calendar/templates/share.dropdown.php
deleted file mode 100644
index 391ae83765b..00000000000
--- a/apps/calendar/templates/share.dropdown.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-if(array_key_exists('calid', $_)){
- $id = $_['calid'];
- $sharedelements = OC_Calendar_Share::allUsersSharedwith($_['calid'], OC_Calendar_Share::CALENDAR);
-}else{
- $sharedelements = OC_Calendar_Share::allUsersSharedwith($_['eventid'], OC_Calendar_Share::EVENT);
- $id = $_['eventid'];
-}
-$users = array();$groups = array();$public = array();
-foreach($sharedelements as $sharedelement){
- if($sharedelement['sharetype'] == 'user'){
- $users[] = $sharedelement;
- }elseif($sharedelement['sharetype'] == 'group'){
- $groups[] = $sharedelement;
- }elseif($sharedelement['sharetype'] == 'public'){
- $public = $sharedelement;
- }
-}
-?>
-<strong><?php echo $l->t('Users');?>:</strong><br>
-<select id="share_user" title="<?php echo $l->t('select users');?>" data-placeholder="<?php echo $l->t('select users'); ?>">
-<option value=""></option>
-<?php
-$allocusers = OCP\USER::getUsers();
-$allusers = array();
-foreach($allocusers as $ocuser){
- $allusers[$ocuser] = $ocuser;
-}
-unset($allusers[OCP\USER::getUser()]);
-$allusers = array_flip($allusers);
-echo OCP\html_select_options($allusers, array());
-?>
-</select><br>
-<ul id="sharewithuser_list">
-<?php foreach($users as $user): ?>
- <li id="sharewithuser_<?php echo $user['share']; ?>"><input type="checkbox" width="12px" <?php echo ($user['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $user['share']; ?><img src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg'); ?>" class="svg action" style="display:none;float:right;"></li>
- <script>
- $('#sharewithuser_<?php echo $user['share']; ?> > img').click(function(){
- $('#share_user option[value="<?php echo $user['share']; ?>"]').removeAttr('disabled');
- Calendar.UI.Share.unshare(<?php echo $id; ?>, '<?php echo (array_key_exists('calid', $_)?'calendar':'event');?>', '<?php echo $user['share']; ?>', 'user');
- $('#sharewithuser_<?php echo $user['share']; ?>').remove();
- $("#share_user").trigger("liszt:updated");
- });
- $('#share_user option[value="<?php echo $user['share']; ?>"]').attr('disabled', 'disabled');
- </script>
-<?php endforeach; ?>
-</ul>
-<strong><?php echo $l->t('Groups');?>:</strong><br>
-<select id="share_group" title="<?php echo $l->t('select groups');?>" data-placeholder="<?php echo $l->t('select groups'); ?>">
-<option value=""></option>
-<?php
-$allocgroups = OC_Group::getGroups();
-$allgroups = array();
-foreach($allocgroups as $ocgroup){
- $allgroups[$ocgroup] = $ocgroup;
-}
-echo OCP\html_select_options($allgroups, array());
-?>
-</select><br>
-<ul id="sharewithgroup_list">
-<?php foreach($groups as $group): ?>
- <li id="sharewithgroup_<?php echo $group['share']; ?>"><input type="checkbox" width="12px" <?php echo ($group['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $group['share']; ?><img src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg'); ?>" class="svg action" style="display:none;float:right;"></li>
- <script>
- $('#sharewithgroup_<?php echo $group['share']; ?> > img').click(function(){
- $('#share_group option[value="<?php echo $group['share']; ?>"]').removeAttr('disabled');
- Calendar.UI.Share.unshare(<?php echo $id; ?>, '<?php echo (array_key_exists('calid', $_)?'calendar':'event');?>', '<?php echo $group['share']; ?>', 'group');
- $('#sharewithgroup_<?php echo $group['share']; ?>').remove();
- $("#share_group").trigger("liszt:updated");
- });
- $('#share_group option[value="<?php echo $group['share']; ?>"]').attr('disabled', 'disabled');
- </script>
-<?php endforeach; ?>
-</ul>
-<div id="public">
- <input type="checkbox" id="publish" <?php echo (array_key_exists('share', $public))?'checked="checked"':'' ?>><label for="publish"><?php echo $l->t('make public'); ?></label><br>
- <input type="text" id="public_token" value="<?php if(array_key_exists('share', $public)){echo OCP\Util::linkToAbsolute('', 'public.php').'?service=calendar&t=' . $public['share']; } ?>" onmouseover="$('#public_token').select();" style="<?php echo (!array_key_exists('share', $public))?'display:none':'' ?>">
-</div> \ No newline at end of file