summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-10-08 12:13:24 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-10-08 12:13:24 +0200
commit053b55721d69a54b8d9460868d9e6f3edc606271 (patch)
tree873135b3a47e0ef03abcfdbbcf251b66f37863fc /lib
parentc3286402a846bf874ae78a61880442f8ebfd7ba9 (diff)
parent2123ef57d830abe24684b54f9819b75ab780834e (diff)
downloadnextcloud-server-053b55721d69a54b8d9460868d9e6f3edc606271.tar.gz
nextcloud-server-053b55721d69a54b8d9460868d9e6f3edc606271.zip
Merge branch 'master' into fixing-appframework-master
Diffstat (limited to 'lib')
-rw-r--r--lib/base.php31
-rw-r--r--lib/l10n/ach.php (renamed from lib/private/l10n/ach.php)0
-rw-r--r--lib/l10n/ady.php (renamed from lib/private/l10n/de_AT.php)0
-rw-r--r--lib/l10n/af_ZA.php (renamed from lib/private/l10n/af_ZA.php)0
-rw-r--r--lib/l10n/ar.php (renamed from lib/private/l10n/ar.php)4
-rw-r--r--lib/l10n/be.php (renamed from lib/private/l10n/be.php)0
-rw-r--r--lib/l10n/bg_BG.php (renamed from lib/private/l10n/bg_BG.php)4
-rw-r--r--lib/l10n/bn_BD.php (renamed from lib/private/l10n/bn_BD.php)0
-rw-r--r--lib/l10n/bs.php (renamed from lib/private/l10n/bs.php)0
-rw-r--r--lib/l10n/ca.php (renamed from lib/private/l10n/ca.php)4
-rw-r--r--lib/l10n/cs_CZ.php (renamed from lib/private/l10n/cs_CZ.php)4
-rw-r--r--lib/l10n/cy_GB.php (renamed from lib/private/l10n/cy_GB.php)4
-rw-r--r--lib/l10n/da.php (renamed from lib/private/l10n/da.php)4
-rw-r--r--lib/l10n/de.php (renamed from lib/private/l10n/de.php)4
-rw-r--r--lib/l10n/de_AT.php (renamed from lib/private/l10n/es_MX.php)0
-rw-r--r--lib/l10n/de_CH.php (renamed from lib/private/l10n/de_CH.php)4
-rw-r--r--lib/l10n/de_DE.php (renamed from lib/private/l10n/de_DE.php)4
-rw-r--r--lib/l10n/el.php (renamed from lib/private/l10n/el.php)4
-rw-r--r--lib/l10n/en@pirate.php (renamed from lib/private/l10n/en@pirate.php)0
-rw-r--r--lib/l10n/en_GB.php (renamed from lib/private/l10n/en_GB.php)4
-rw-r--r--lib/l10n/eo.php (renamed from lib/private/l10n/eo.php)4
-rw-r--r--lib/l10n/es.php (renamed from lib/private/l10n/es.php)7
-rw-r--r--lib/l10n/es_AR.php (renamed from lib/private/l10n/es_AR.php)4
-rw-r--r--lib/l10n/es_MX.php (renamed from lib/private/l10n/hy.php)0
-rw-r--r--lib/l10n/et_EE.php (renamed from lib/private/l10n/et_EE.php)4
-rw-r--r--lib/l10n/eu.php (renamed from lib/private/l10n/eu.php)4
-rw-r--r--lib/l10n/fa.php (renamed from lib/private/l10n/fa.php)4
-rw-r--r--lib/l10n/fi.php (renamed from lib/private/l10n/fi.php)0
-rw-r--r--lib/l10n/fi_FI.php (renamed from lib/private/l10n/fi_FI.php)4
-rw-r--r--lib/l10n/fr.php (renamed from lib/private/l10n/fr.php)4
-rw-r--r--lib/l10n/gl.php (renamed from lib/private/l10n/gl.php)4
-rw-r--r--lib/l10n/he.php (renamed from lib/private/l10n/he.php)4
-rw-r--r--lib/l10n/hi.php (renamed from lib/private/l10n/hi.php)0
-rw-r--r--lib/l10n/hr.php (renamed from lib/private/l10n/hr.php)0
-rw-r--r--lib/l10n/hu_HU.php (renamed from lib/private/l10n/hu_HU.php)0
-rw-r--r--lib/l10n/hy.php (renamed from lib/private/l10n/ml_IN.php)0
-rw-r--r--lib/l10n/ia.php (renamed from lib/private/l10n/ia.php)0
-rw-r--r--lib/l10n/id.php (renamed from lib/private/l10n/id.php)4
-rw-r--r--lib/l10n/is.php (renamed from lib/private/l10n/is.php)4
-rw-r--r--lib/l10n/it.php (renamed from lib/private/l10n/it.php)4
-rw-r--r--lib/l10n/ja_JP.php (renamed from lib/private/l10n/ja_JP.php)4
-rw-r--r--lib/l10n/ka.php (renamed from lib/private/l10n/ka.php)0
-rw-r--r--lib/l10n/ka_GE.php (renamed from lib/private/l10n/ka_GE.php)4
-rw-r--r--lib/l10n/km.php (renamed from lib/private/l10n/km.php)0
-rw-r--r--lib/l10n/kn.php (renamed from lib/private/l10n/kn.php)0
-rw-r--r--lib/l10n/ko.php (renamed from lib/private/l10n/ko.php)0
-rw-r--r--lib/l10n/ku_IQ.php (renamed from lib/private/l10n/ku_IQ.php)0
-rw-r--r--lib/l10n/lb.php (renamed from lib/private/l10n/lb.php)0
-rw-r--r--lib/l10n/lt_LT.php (renamed from lib/private/l10n/lt_LT.php)4
-rw-r--r--lib/l10n/lv.php (renamed from lib/private/l10n/lv.php)4
-rw-r--r--lib/l10n/mk.php (renamed from lib/private/l10n/mk.php)4
-rw-r--r--lib/l10n/ml_IN.php (renamed from lib/private/l10n/ne.php)0
-rw-r--r--lib/l10n/ms_MY.php (renamed from lib/private/l10n/ms_MY.php)0
-rw-r--r--lib/l10n/my_MM.php (renamed from lib/private/l10n/my_MM.php)4
-rw-r--r--lib/l10n/nb_NO.php (renamed from lib/private/l10n/nb_NO.php)4
-rw-r--r--lib/l10n/ne.php (renamed from lib/private/l10n/sw_KE.php)0
-rw-r--r--lib/l10n/nl.php (renamed from lib/private/l10n/nl.php)4
-rw-r--r--lib/l10n/nn_NO.php (renamed from lib/private/l10n/nn_NO.php)0
-rw-r--r--lib/l10n/nqo.php (renamed from lib/private/l10n/nqo.php)0
-rw-r--r--lib/l10n/oc.php (renamed from lib/private/l10n/oc.php)0
-rw-r--r--lib/l10n/pa.php (renamed from lib/private/l10n/pa.php)0
-rw-r--r--lib/l10n/pl.php (renamed from lib/private/l10n/pl.php)0
-rw-r--r--lib/l10n/pl_PL.php (renamed from lib/private/l10n/pl_PL.php)0
-rw-r--r--lib/l10n/pt_BR.php (renamed from lib/private/l10n/pt_BR.php)4
-rw-r--r--lib/l10n/pt_PT.php (renamed from lib/private/l10n/pt_PT.php)4
-rw-r--r--lib/l10n/ro.php (renamed from lib/private/l10n/ro.php)4
-rw-r--r--lib/l10n/ru.php (renamed from lib/private/l10n/ru.php)4
-rw-r--r--lib/l10n/si_LK.php (renamed from lib/private/l10n/si_LK.php)0
-rw-r--r--lib/l10n/sk.php (renamed from lib/private/l10n/sk.php)0
-rw-r--r--lib/l10n/sk_SK.php (renamed from lib/private/l10n/sk_SK.php)4
-rw-r--r--lib/l10n/sl.php (renamed from lib/private/l10n/sl.php)4
-rw-r--r--lib/l10n/sq.php (renamed from lib/private/l10n/sq.php)4
-rw-r--r--lib/l10n/sr.php (renamed from lib/private/l10n/sr.php)4
-rw-r--r--lib/l10n/sr@latin.php (renamed from lib/private/l10n/sr@latin.php)0
-rw-r--r--lib/l10n/sv.php (renamed from lib/private/l10n/sv.php)4
-rw-r--r--lib/l10n/sw_KE.php8
-rw-r--r--lib/l10n/ta_LK.php (renamed from lib/private/l10n/ta_LK.php)4
-rw-r--r--lib/l10n/te.php (renamed from lib/private/l10n/te.php)0
-rw-r--r--lib/l10n/th_TH.php (renamed from lib/private/l10n/th_TH.php)4
-rw-r--r--lib/l10n/tr.php (renamed from lib/private/l10n/tr.php)4
-rw-r--r--lib/l10n/ug.php (renamed from lib/private/l10n/ug.php)0
-rw-r--r--lib/l10n/uk.php (renamed from lib/private/l10n/uk.php)4
-rw-r--r--lib/l10n/ur_PK.php (renamed from lib/private/l10n/ur_PK.php)0
-rw-r--r--lib/l10n/vi.php (renamed from lib/private/l10n/vi.php)4
-rw-r--r--lib/l10n/zh_CN.php (renamed from lib/private/l10n/zh_CN.php)4
-rw-r--r--lib/l10n/zh_HK.php (renamed from lib/private/l10n/zh_HK.php)0
-rw-r--r--lib/l10n/zh_TW.php (renamed from lib/private/l10n/zh_TW.php)7
-rw-r--r--lib/private/connector/sabre/auth.php5
-rw-r--r--lib/private/connector/sabre/directory.php48
-rw-r--r--lib/private/connector/sabre/file.php66
-rw-r--r--lib/private/connector/sabre/node.php17
-rw-r--r--lib/private/legacy/cache/fileglobalgc.php4
-rw-r--r--lib/private/legacy/config.php12
-rw-r--r--lib/private/user.php81
-rwxr-xr-xlib/private/util.php5
-rw-r--r--lib/public/authentication/iapachebackend.php49
96 files changed, 344 insertions, 180 deletions
diff --git a/lib/base.php b/lib/base.php
index bf2c51f0ad3..7299a012da9 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -493,6 +493,11 @@ class OC {
if (isset($_SERVER['PHP_AUTH_USER']) && self::$session->exists('user_id')
&& $_SERVER['PHP_AUTH_USER'] != self::$session->get('user_id')) {
+ $sessionUser = self::$session->get('user_id');
+ $serverUser = $_SERVER['PHP_AUTH_USER'];
+ OC_Log::write('core',
+ "Session user-id ($sessionUser) doesn't match SERVER[PHP_AUTH_USER] ($serverUser).",
+ OC_Log::WARN);
OC_User::logout();
}
@@ -747,11 +752,17 @@ class OC {
protected static function handleLogin() {
OC_App::loadApps(array('prelogin'));
$error = array();
+
+ // auth possible via apache module?
+ if (OC::tryApacheAuth()) {
+ $error[] = 'apacheauthfailed';
+ }
// remember was checked after last login
- if (OC::tryRememberLogin()) {
+ elseif (OC::tryRememberLogin()) {
$error[] = 'invalidcookie';
- // Someone wants to log in :
- } elseif (OC::tryFormLogin()) {
+ }
+ // logon via web form
+ elseif (OC::tryFormLogin()) {
$error[] = 'invalidpassword';
}
@@ -769,6 +780,20 @@ class OC {
}
}
+ protected static function tryApacheAuth() {
+ $return = OC_User::handleApacheAuth();
+
+ // if return is true we are logged in -> redirect to the default page
+ if ($return === true) {
+ $_REQUEST['redirect_url'] = \OC_Request::requestUri();
+ OC_Util::redirectToDefaultPage();
+ exit;
+ }
+
+ // in case $return is null apache based auth is not enabled
+ return is_null($return) ? false : true;
+ }
+
protected static function tryRememberLogin() {
if (!isset($_COOKIE["oc_remember_login"])
|| !isset($_COOKIE["oc_token"])
diff --git a/lib/private/l10n/ach.php b/lib/l10n/ach.php
index 406ff5f5a26..406ff5f5a26 100644
--- a/lib/private/l10n/ach.php
+++ b/lib/l10n/ach.php
diff --git a/lib/private/l10n/de_AT.php b/lib/l10n/ady.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/de_AT.php
+++ b/lib/l10n/ady.php
diff --git a/lib/private/l10n/af_ZA.php b/lib/l10n/af_ZA.php
index d6bf5771e8d..d6bf5771e8d 100644
--- a/lib/private/l10n/af_ZA.php
+++ b/lib/l10n/af_ZA.php
diff --git a/lib/private/l10n/ar.php b/lib/l10n/ar.php
index f626dcdfda6..6870c549940 100644
--- a/lib/private/l10n/ar.php
+++ b/lib/l10n/ar.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "اعداد كلمة مرور للمدير",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "اعدادات خادمك غير صحيحة بشكل تسمح لك بمزامنة ملفاتك وذلك بسبب أن واجهة WebDAV تبدو معطلة",
"Please double check the <a href='%s'>installation guides</a>." => "الرجاء التحقق من <a href='%s'>دليل التنصيب</a>.",
+"Could not find category \"%s\"" => "تعذر العثور على المجلد \"%s\"",
"seconds ago" => "منذ ثواني",
"_%n minute ago_::_%n minutes ago_" => array("","","","","",""),
"_%n hour ago_::_%n hours ago_" => array("","","","","",""),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "الشهر الماضي",
"_%n month ago_::_%n months ago_" => array("","","","","",""),
"last year" => "السنةالماضية",
-"years ago" => "سنة مضت",
-"Could not find category \"%s\"" => "تعذر العثور على المجلد \"%s\""
+"years ago" => "سنة مضت"
);
$PLURAL_FORMS = "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;";
diff --git a/lib/private/l10n/be.php b/lib/l10n/be.php
index 1570411eb86..1570411eb86 100644
--- a/lib/private/l10n/be.php
+++ b/lib/l10n/be.php
diff --git a/lib/private/l10n/bg_BG.php b/lib/l10n/bg_BG.php
index b6cc949eb8a..c9de3d64d89 100644
--- a/lib/private/l10n/bg_BG.php
+++ b/lib/l10n/bg_BG.php
@@ -36,6 +36,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Въведете парола за администратор.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Вашият web сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът изглежда не работи.",
"Please double check the <a href='%s'>installation guides</a>." => "Моля направете повторна справка с <a href='%s'>ръководството за инсталиране</a>.",
+"Could not find category \"%s\"" => "Невъзможно откриване на категорията \"%s\"",
"seconds ago" => "преди секунди",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -45,7 +46,6 @@ $TRANSLATIONS = array(
"last month" => "последният месец",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "последната година",
-"years ago" => "последните години",
-"Could not find category \"%s\"" => "Невъзможно откриване на категорията \"%s\""
+"years ago" => "последните години"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/bn_BD.php b/lib/l10n/bn_BD.php
index a42435a2a47..a42435a2a47 100644
--- a/lib/private/l10n/bn_BD.php
+++ b/lib/l10n/bn_BD.php
diff --git a/lib/private/l10n/bs.php b/lib/l10n/bs.php
index 3cb98906e62..3cb98906e62 100644
--- a/lib/private/l10n/bs.php
+++ b/lib/l10n/bs.php
diff --git a/lib/private/l10n/ca.php b/lib/l10n/ca.php
index a8769224705..fef5dc3cb22 100644
--- a/lib/private/l10n/ca.php
+++ b/lib/l10n/ca.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Establiu una contrasenya per l'administrador.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "El servidor web no està configurat correctament per permetre la sincronització de fitxers perquè la interfície WebDAV sembla no funcionar correctament.",
"Please double check the <a href='%s'>installation guides</a>." => "Comproveu les <a href='%s'>guies d'instal·lació</a>.",
+"Could not find category \"%s\"" => "No s'ha trobat la categoria \"%s\"",
"seconds ago" => "segons enrere",
"_%n minute ago_::_%n minutes ago_" => array("fa %n minut","fa %n minuts"),
"_%n hour ago_::_%n hours ago_" => array("fa %n hora","fa %n hores"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("fa %n mes","fa %n mesos"),
"last year" => "l'any passat",
"years ago" => "anys enrere",
-"Caused by:" => "Provocat per:",
-"Could not find category \"%s\"" => "No s'ha trobat la categoria \"%s\""
+"Caused by:" => "Provocat per:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php
index ed31ae79529..145078c0bd2 100644
--- a/lib/private/l10n/cs_CZ.php
+++ b/lib/l10n/cs_CZ.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Zadejte heslo správce.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server není správně nastaven pro umožnění synchronizace, rozhraní WebDAV se zdá být rozbité.",
"Please double check the <a href='%s'>installation guides</a>." => "Zkonzultujte, prosím, <a href='%s'>průvodce instalací</a>.",
+"Could not find category \"%s\"" => "Nelze nalézt kategorii \"%s\"",
"seconds ago" => "před pár sekundami",
"_%n minute ago_::_%n minutes ago_" => array("před %n minutou","před %n minutami","před %n minutami"),
"_%n hour ago_::_%n hours ago_" => array("před %n hodinou","před %n hodinami","před %n hodinami"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("před %n měsícem","před %n měsíci","před %n měsíci"),
"last year" => "minulý rok",
"years ago" => "před lety",
-"Caused by:" => "Příčina:",
-"Could not find category \"%s\"" => "Nelze nalézt kategorii \"%s\""
+"Caused by:" => "Příčina:"
);
$PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;";
diff --git a/lib/private/l10n/cy_GB.php b/lib/l10n/cy_GB.php
index 6973b51878f..0a52f5df776 100644
--- a/lib/private/l10n/cy_GB.php
+++ b/lib/l10n/cy_GB.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Gosod cyfrinair y gweinyddwr.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Nid yw eich gweinydd wedi'i gyflunio eto i ganiatáu cydweddu ffeiliau oherwydd bod y rhyngwyneb WebDAV wedi torri.",
"Please double check the <a href='%s'>installation guides</a>." => "Gwiriwch y <a href='%s'>canllawiau gosod</a> eto.",
+"Could not find category \"%s\"" => "Methu canfod categori \"%s\"",
"seconds ago" => "eiliad yn ôl",
"_%n minute ago_::_%n minutes ago_" => array("","","",""),
"_%n hour ago_::_%n hours ago_" => array("","","",""),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "mis diwethaf",
"_%n month ago_::_%n months ago_" => array("","","",""),
"last year" => "y llynedd",
-"years ago" => "blwyddyn yn ôl",
-"Could not find category \"%s\"" => "Methu canfod categori \"%s\""
+"years ago" => "blwyddyn yn ôl"
);
$PLURAL_FORMS = "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;";
diff --git a/lib/private/l10n/da.php b/lib/l10n/da.php
index 05a43f42ed9..e4734755ae0 100644
--- a/lib/private/l10n/da.php
+++ b/lib/l10n/da.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Angiv et admin kodeord.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Din webserver er endnu ikke sat op til at tillade fil synkronisering fordi WebDAV grænsefladen virker ødelagt.",
"Please double check the <a href='%s'>installation guides</a>." => "Dobbelttjek venligst <a href='%s'>installations vejledningerne</a>.",
+"Could not find category \"%s\"" => "Kunne ikke finde kategorien \"%s\"",
"seconds ago" => "sekunder siden",
"_%n minute ago_::_%n minutes ago_" => array("%n minut siden","%n minutter siden"),
"_%n hour ago_::_%n hours ago_" => array("%n time siden","%n timer siden"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n måned siden","%n måneder siden"),
"last year" => "sidste år",
"years ago" => "år siden",
-"Caused by:" => "Forårsaget af:",
-"Could not find category \"%s\"" => "Kunne ikke finde kategorien \"%s\""
+"Caused by:" => "Forårsaget af:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/de.php b/lib/l10n/de.php
index 87e7a67b47b..136cdc6476f 100644
--- a/lib/private/l10n/de.php
+++ b/lib/l10n/de.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Setze Administrator Passwort",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Dein Web-Server ist noch nicht für Datei-Synchronisation bereit, weil die WebDAV-Schnittstelle vermutlich defekt ist.",
"Please double check the <a href='%s'>installation guides</a>." => "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>.",
+"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden.",
"seconds ago" => "Gerade eben",
"_%n minute ago_::_%n minutes ago_" => array("","Vor %n Minuten"),
"_%n hour ago_::_%n hours ago_" => array("","Vor %n Stunden"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","Vor %n Monaten"),
"last year" => "Letztes Jahr",
"years ago" => "Vor Jahren",
-"Caused by:" => "Verursacht durch:",
-"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden."
+"Caused by:" => "Verursacht durch:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/es_MX.php b/lib/l10n/de_AT.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/es_MX.php
+++ b/lib/l10n/de_AT.php
diff --git a/lib/private/l10n/de_CH.php b/lib/l10n/de_CH.php
index 33f3446a693..c4f06520b50 100644
--- a/lib/private/l10n/de_CH.php
+++ b/lib/l10n/de_CH.php
@@ -43,6 +43,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Setze Administrator Passwort",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist.",
"Please double check the <a href='%s'>installation guides</a>." => "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.",
+"Could not find category \"%s\"" => "Die Kategorie «%s» konnte nicht gefunden werden.",
"seconds ago" => "Gerade eben",
"_%n minute ago_::_%n minutes ago_" => array("","Vor %n Minuten"),
"_%n hour ago_::_%n hours ago_" => array("","Vor %n Stunden"),
@@ -53,7 +54,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","Vor %n Monaten"),
"last year" => "Letztes Jahr",
"years ago" => "Vor Jahren",
-"Caused by:" => "Verursacht durch:",
-"Could not find category \"%s\"" => "Die Kategorie «%s» konnte nicht gefunden werden."
+"Caused by:" => "Verursacht durch:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/de_DE.php b/lib/l10n/de_DE.php
index 09be0eea22d..76f0ee8457e 100644
--- a/lib/private/l10n/de_DE.php
+++ b/lib/l10n/de_DE.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Setze Administrator Passwort",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist.",
"Please double check the <a href='%s'>installation guides</a>." => "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.",
+"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden.",
"seconds ago" => "Gerade eben",
"_%n minute ago_::_%n minutes ago_" => array("Vor %n Minute","Vor %n Minuten"),
"_%n hour ago_::_%n hours ago_" => array("Vor %n Stunde","Vor %n Stunden"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("Vor %n Monat","Vor %n Monaten"),
"last year" => "Letztes Jahr",
"years ago" => "Vor Jahren",
-"Caused by:" => "Verursacht durch:",
-"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden."
+"Caused by:" => "Verursacht durch:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/el.php b/lib/l10n/el.php
index dcbf82d4a4b..7f74dafca74 100644
--- a/lib/private/l10n/el.php
+++ b/lib/l10n/el.php
@@ -39,6 +39,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Εισάγετε συνθηματικό διαχειριστή.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ο διακομιστής σας δεν έχει ρυθμιστεί κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων γιατί η διεπαφή WebDAV πιθανόν να είναι κατεστραμμένη.",
"Please double check the <a href='%s'>installation guides</a>." => "Ελέγξτε ξανά τις <a href='%s'>οδηγίες εγκατάστασης</a>.",
+"Could not find category \"%s\"" => "Αδυναμία εύρεσης κατηγορίας \"%s\"",
"seconds ago" => "δευτερόλεπτα πριν",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -49,7 +50,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "τελευταίο χρόνο",
"years ago" => "χρόνια πριν",
-"Caused by:" => "Προκλήθηκε από:",
-"Could not find category \"%s\"" => "Αδυναμία εύρεσης κατηγορίας \"%s\""
+"Caused by:" => "Προκλήθηκε από:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/en@pirate.php b/lib/l10n/en@pirate.php
index a8175b1400f..a8175b1400f 100644
--- a/lib/private/l10n/en@pirate.php
+++ b/lib/l10n/en@pirate.php
diff --git a/lib/private/l10n/en_GB.php b/lib/l10n/en_GB.php
index d02f553eda8..26d44f39893 100644
--- a/lib/private/l10n/en_GB.php
+++ b/lib/l10n/en_GB.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Set an admin password.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Your web server is not yet properly setup to allow files synchronisation because the WebDAV interface seems to be broken.",
"Please double check the <a href='%s'>installation guides</a>." => "Please double check the <a href='%s'>installation guides</a>.",
+"Could not find category \"%s\"" => "Could not find category \"%s\"",
"seconds ago" => "seconds ago",
"_%n minute ago_::_%n minutes ago_" => array("%n minute ago","%n minutes ago"),
"_%n hour ago_::_%n hours ago_" => array("%n hour ago","%n hours ago"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n month ago","%n months ago"),
"last year" => "last year",
"years ago" => "years ago",
-"Caused by:" => "Caused by:",
-"Could not find category \"%s\"" => "Could not find category \"%s\""
+"Caused by:" => "Caused by:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/eo.php b/lib/l10n/eo.php
index 5311dd6eb15..53d1ec1854d 100644
--- a/lib/private/l10n/eo.php
+++ b/lib/l10n/eo.php
@@ -33,6 +33,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Starigi administran pasvorton.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Via TTT-servilo ankoraŭ ne ĝuste agordiĝis por permesi sinkronigi dosierojn ĉar la WebDAV-interfaco ŝajnas rompita.",
"Please double check the <a href='%s'>installation guides</a>." => "Bonvolu duoble kontroli la <a href='%s'>gvidilon por instalo</a>.",
+"Could not find category \"%s\"" => "Ne troviĝis kategorio “%s”",
"seconds ago" => "sekundoj antaŭe",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -42,7 +43,6 @@ $TRANSLATIONS = array(
"last month" => "lastamonate",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "lastajare",
-"years ago" => "jaroj antaŭe",
-"Could not find category \"%s\"" => "Ne troviĝis kategorio “%s”"
+"years ago" => "jaroj antaŭe"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/es.php b/lib/l10n/es.php
index 047d5d955bb..289ef360d1c 100644
--- a/lib/private/l10n/es.php
+++ b/lib/l10n/es.php
@@ -8,6 +8,9 @@ $TRANSLATIONS = array(
"Users" => "Usuarios",
"Admin" => "Administración",
"Failed to upgrade \"%s\"." => "Falló la actualización \"%s\".",
+"Custom profile pictures don't work with encryption yet" => "Las imágenes de perfil personalizadas no funcionan con el cifrado aún",
+"Unknown filetype" => "Tipo de archivo desconocido",
+"Invalid image" => "Imagen inválida",
"web services under your control" => "Servicios web bajo su control",
"cannot open \"%s\"" => "No se puede abrir \"%s\"",
"ZIP download is turned off." => "La descarga en ZIP está desactivada.",
@@ -53,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Configurar la contraseña del administrador.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Su servidor web aún no está configurado adecuadamente para permitir sincronización de archivos ya que la interfaz WebDAV parece no estar funcionando.",
"Please double check the <a href='%s'>installation guides</a>." => "Por favor, vuelva a comprobar las <a href='%s'>guías de instalación</a>.",
+"Could not find category \"%s\"" => "No puede encontrar la categoria \"%s\"",
"seconds ago" => "hace segundos",
"_%n minute ago_::_%n minutes ago_" => array("Hace %n minuto","Hace %n minutos"),
"_%n hour ago_::_%n hours ago_" => array("Hace %n hora","Hace %n horas"),
@@ -63,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("Hace %n mes","Hace %n meses"),
"last year" => "año pasado",
"years ago" => "hace años",
-"Caused by:" => "Causado por:",
-"Could not find category \"%s\"" => "No puede encontrar la categoria \"%s\""
+"Caused by:" => "Causado por:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/es_AR.php b/lib/l10n/es_AR.php
index f637eb403ed..668c46b7b10 100644
--- a/lib/private/l10n/es_AR.php
+++ b/lib/l10n/es_AR.php
@@ -53,6 +53,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Configurar una contraseña de administrador.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Tu servidor web no está configurado todavía para permitir sincronización de archivos porque la interfaz WebDAV parece no funcionar.",
"Please double check the <a href='%s'>installation guides</a>." => "Por favor, comprobá nuevamente la <a href='%s'>guía de instalación</a>.",
+"Could not find category \"%s\"" => "No fue posible encontrar la categoría \"%s\"",
"seconds ago" => "segundos atrás",
"_%n minute ago_::_%n minutes ago_" => array("Hace %n minuto","Hace %n minutos"),
"_%n hour ago_::_%n hours ago_" => array("Hace %n hora","Hace %n horas"),
@@ -63,7 +64,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("Hace %n mes","Hace %n meses"),
"last year" => "el año pasado",
"years ago" => "años atrás",
-"Caused by:" => "Provocado por:",
-"Could not find category \"%s\"" => "No fue posible encontrar la categoría \"%s\""
+"Caused by:" => "Provocado por:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/hy.php b/lib/l10n/es_MX.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/hy.php
+++ b/lib/l10n/es_MX.php
diff --git a/lib/private/l10n/et_EE.php b/lib/l10n/et_EE.php
index 85dfaeb52d5..c1881141636 100644
--- a/lib/private/l10n/et_EE.php
+++ b/lib/l10n/et_EE.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Määra admini parool.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Veebiserveri ei ole veel korralikult seadistatud võimaldamaks failide sünkroniseerimist, kuna WebDAV liides näib olevat mittetoimiv.",
"Please double check the <a href='%s'>installation guides</a>." => "Palun tutvu veelkord <a href='%s'>paigalduse juhenditega</a>.",
+"Could not find category \"%s\"" => "Ei leia kategooriat \"%s\"",
"seconds ago" => "sekundit tagasi",
"_%n minute ago_::_%n minutes ago_" => array("","%n minutit tagasi"),
"_%n hour ago_::_%n hours ago_" => array("","%n tundi tagasi"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","%n kuud tagasi"),
"last year" => "viimasel aastal",
"years ago" => "aastat tagasi",
-"Caused by:" => "Põhjustaja:",
-"Could not find category \"%s\"" => "Ei leia kategooriat \"%s\""
+"Caused by:" => "Põhjustaja:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/eu.php b/lib/l10n/eu.php
index 413819f4f94..9758fdd1f32 100644
--- a/lib/private/l10n/eu.php
+++ b/lib/l10n/eu.php
@@ -39,6 +39,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Ezarri administraziorako pasahitza.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Zure web zerbitzaria ez dago oraindik ongi konfiguratuta fitxategien sinkronizazioa egiteko, WebDAV interfazea ongi ez dagoela dirudi.",
"Please double check the <a href='%s'>installation guides</a>." => "Mesedez begiratu <a href='%s'>instalazio gidak</a>.",
+"Could not find category \"%s\"" => "Ezin da \"%s\" kategoria aurkitu",
"seconds ago" => "segundu",
"_%n minute ago_::_%n minutes ago_" => array("orain dela minutu %n","orain dela %n minutu"),
"_%n hour ago_::_%n hours ago_" => array("orain dela ordu %n","orain dela %n ordu"),
@@ -49,7 +50,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("orain dela hilabete %n","orain dela %n hilabete"),
"last year" => "joan den urtean",
"years ago" => "urte",
-"Caused by:" => "Honek eraginda:",
-"Could not find category \"%s\"" => "Ezin da \"%s\" kategoria aurkitu"
+"Caused by:" => "Honek eraginda:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/fa.php b/lib/l10n/fa.php
index e9cb695bade..788b3703966 100644
--- a/lib/private/l10n/fa.php
+++ b/lib/l10n/fa.php
@@ -36,6 +36,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "یک رمزعبور برای مدیر تنظیم نمایید.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "احتمالاً وب سرور شما طوری تنظیم نشده است که اجازه ی همگام سازی فایلها را بدهد زیرا به نظر میرسد رابط WebDAV از کار افتاده است.",
"Please double check the <a href='%s'>installation guides</a>." => "لطفاً دوباره <a href='%s'>راهنمای نصب</a>را بررسی کنید.",
+"Could not find category \"%s\"" => "دسته بندی %s یافت نشد",
"seconds ago" => "ثانیه‌ها پیش",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -45,7 +46,6 @@ $TRANSLATIONS = array(
"last month" => "ماه قبل",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "سال قبل",
-"years ago" => "سال‌های قبل",
-"Could not find category \"%s\"" => "دسته بندی %s یافت نشد"
+"years ago" => "سال‌های قبل"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/fi.php b/lib/l10n/fi.php
index ac1f80a8f73..ac1f80a8f73 100644
--- a/lib/private/l10n/fi.php
+++ b/lib/l10n/fi.php
diff --git a/lib/private/l10n/fi_FI.php b/lib/l10n/fi_FI.php
index 1d2bdab749c..5e9a9a1a1f3 100644
--- a/lib/private/l10n/fi_FI.php
+++ b/lib/l10n/fi_FI.php
@@ -46,6 +46,7 @@ $TRANSLATIONS = array(
"Set an admin username." => "Aseta ylläpitäjän käyttäjätunnus.",
"Set an admin password." => "Aseta ylläpitäjän salasana.",
"Please double check the <a href='%s'>installation guides</a>." => "Lue tarkasti <a href='%s'>asennusohjeet</a>.",
+"Could not find category \"%s\"" => "Luokkaa \"%s\" ei löytynyt",
"seconds ago" => "sekuntia sitten",
"_%n minute ago_::_%n minutes ago_" => array("%n minuutti sitten","%n minuuttia sitten"),
"_%n hour ago_::_%n hours ago_" => array("%n tunti sitten","%n tuntia sitten"),
@@ -56,7 +57,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n kuukausi sitten","%n kuukautta sitten"),
"last year" => "viime vuonna",
"years ago" => "vuotta sitten",
-"Caused by:" => "Aiheuttaja:",
-"Could not find category \"%s\"" => "Luokkaa \"%s\" ei löytynyt"
+"Caused by:" => "Aiheuttaja:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/fr.php b/lib/l10n/fr.php
index ab3d618849e..73cb724a58a 100644
--- a/lib/private/l10n/fr.php
+++ b/lib/l10n/fr.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Spécifiez un mot de passe administrateur.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut.",
"Please double check the <a href='%s'>installation guides</a>." => "Veuillez vous référer au <a href='%s'>guide d'installation</a>.",
+"Could not find category \"%s\"" => "Impossible de trouver la catégorie \"%s\"",
"seconds ago" => "il y a quelques secondes",
"_%n minute ago_::_%n minutes ago_" => array("","il y a %n minutes"),
"_%n hour ago_::_%n hours ago_" => array("","Il y a %n heures"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","Il y a %n mois"),
"last year" => "l'année dernière",
"years ago" => "il y a plusieurs années",
-"Caused by:" => "Causé par :",
-"Could not find category \"%s\"" => "Impossible de trouver la catégorie \"%s\""
+"Caused by:" => "Causé par :"
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";
diff --git a/lib/private/l10n/gl.php b/lib/l10n/gl.php
index 406272d690f..ce3c7ecf488 100644
--- a/lib/private/l10n/gl.php
+++ b/lib/l10n/gl.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Estabeleza un contrasinal de administrador",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "O seu servidor web non está aínda configurado adecuadamente para permitir a sincronización de ficheiros xa que semella que a interface WebDAV non está a funcionar.",
"Please double check the <a href='%s'>installation guides</a>." => "Volva comprobar as <a href='%s'>guías de instalación</a>",
+"Could not find category \"%s\"" => "Non foi posíbel atopar a categoría «%s»",
"seconds ago" => "segundos atrás",
"_%n minute ago_::_%n minutes ago_" => array("hai %n minuto","hai %n minutos"),
"_%n hour ago_::_%n hours ago_" => array("hai %n hora","hai %n horas"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("hai %n mes","hai %n meses"),
"last year" => "último ano",
"years ago" => "anos atrás",
-"Caused by:" => "Causado por:",
-"Could not find category \"%s\"" => "Non foi posíbel atopar a categoría «%s»"
+"Caused by:" => "Causado por:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/he.php b/lib/l10n/he.php
index ced6244ee91..5bbfffe9ae9 100644
--- a/lib/private/l10n/he.php
+++ b/lib/l10n/he.php
@@ -18,6 +18,7 @@ $TRANSLATIONS = array(
"Images" => "תמונות",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "שרת האינטרנט שלך אינו מוגדר לצורכי סנכרון קבצים עדיין כיוון שמנשק ה־WebDAV כנראה אינו תקין.",
"Please double check the <a href='%s'>installation guides</a>." => "נא לעיין שוב ב<a href='%s'>מדריכי ההתקנה</a>.",
+"Could not find category \"%s\"" => "לא ניתן למצוא את הקטגוריה „%s“",
"seconds ago" => "שניות",
"_%n minute ago_::_%n minutes ago_" => array("","לפני %n דקות"),
"_%n hour ago_::_%n hours ago_" => array("","לפני %n שעות"),
@@ -27,7 +28,6 @@ $TRANSLATIONS = array(
"last month" => "חודש שעבר",
"_%n month ago_::_%n months ago_" => array("","לפני %n חודשים"),
"last year" => "שנה שעברה",
-"years ago" => "שנים",
-"Could not find category \"%s\"" => "לא ניתן למצוא את הקטגוריה „%s“"
+"years ago" => "שנים"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/hi.php b/lib/l10n/hi.php
index 039dfa4465d..039dfa4465d 100644
--- a/lib/private/l10n/hi.php
+++ b/lib/l10n/hi.php
diff --git a/lib/private/l10n/hr.php b/lib/l10n/hr.php
index d217f924099..d217f924099 100644
--- a/lib/private/l10n/hr.php
+++ b/lib/l10n/hr.php
diff --git a/lib/private/l10n/hu_HU.php b/lib/l10n/hu_HU.php
index e944291caee..e944291caee 100644
--- a/lib/private/l10n/hu_HU.php
+++ b/lib/l10n/hu_HU.php
diff --git a/lib/private/l10n/ml_IN.php b/lib/l10n/hy.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/ml_IN.php
+++ b/lib/l10n/hy.php
diff --git a/lib/private/l10n/ia.php b/lib/l10n/ia.php
index 34f43bc424a..34f43bc424a 100644
--- a/lib/private/l10n/ia.php
+++ b/lib/l10n/ia.php
diff --git a/lib/private/l10n/id.php b/lib/l10n/id.php
index 080faddb321..0cbcddcc6dd 100644
--- a/lib/private/l10n/id.php
+++ b/lib/l10n/id.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Setel sandi admin.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Web server Anda belum dikonfigurasikan dengan baik untuk mengizinkan sinkronisasi berkas karena tampaknya antarmuka WebDAV rusak.",
"Please double check the <a href='%s'>installation guides</a>." => "Silakan periksa ulang <a href='%s'>panduan instalasi</a>.",
+"Could not find category \"%s\"" => "Tidak dapat menemukan kategori \"%s\"",
"seconds ago" => "beberapa detik yang lalu",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "bulan kemarin",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "tahun kemarin",
-"years ago" => "beberapa tahun lalu",
-"Could not find category \"%s\"" => "Tidak dapat menemukan kategori \"%s\""
+"years ago" => "beberapa tahun lalu"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/is.php b/lib/l10n/is.php
index 7512d278fb8..032289fd304 100644
--- a/lib/private/l10n/is.php
+++ b/lib/l10n/is.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Files" => "Skrár",
"Text" => "Texti",
"Images" => "Myndir",
+"Could not find category \"%s\"" => "Fann ekki flokkinn \"%s\"",
"seconds ago" => "sek.",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -25,7 +26,6 @@ $TRANSLATIONS = array(
"last month" => "síðasta mánuði",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "síðasta ári",
-"years ago" => "einhverjum árum",
-"Could not find category \"%s\"" => "Fann ekki flokkinn \"%s\""
+"years ago" => "einhverjum árum"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/it.php b/lib/l10n/it.php
index b00789bc86f..91efcca7f49 100644
--- a/lib/private/l10n/it.php
+++ b/lib/l10n/it.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Imposta una password di amministrazione.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file poiché l'interfaccia WebDAV sembra essere danneggiata.",
"Please double check the <a href='%s'>installation guides</a>." => "Leggi attentamente le <a href='%s'>guide d'installazione</a>.",
+"Could not find category \"%s\"" => "Impossibile trovare la categoria \"%s\"",
"seconds ago" => "secondi fa",
"_%n minute ago_::_%n minutes ago_" => array("%n minuto fa","%n minuti fa"),
"_%n hour ago_::_%n hours ago_" => array("%n ora fa","%n ore fa"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n mese fa","%n mesi fa"),
"last year" => "anno scorso",
"years ago" => "anni fa",
-"Caused by:" => "Causato da:",
-"Could not find category \"%s\"" => "Impossibile trovare la categoria \"%s\""
+"Caused by:" => "Causato da:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/ja_JP.php b/lib/l10n/ja_JP.php
index b9e6a0e6924..7023c829f8f 100644
--- a/lib/private/l10n/ja_JP.php
+++ b/lib/l10n/ja_JP.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "管理者のパスワードを設定。",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "WebDAVインタフェースが動作していないと考えられるため、あなたのWEBサーバはまだファイルの同期を許可するように適切な設定がされていません。",
"Please double check the <a href='%s'>installation guides</a>." => "<a href='%s'>インストールガイド</a>をよく確認してください。",
+"Could not find category \"%s\"" => "カテゴリ \"%s\" が見つかりませんでした",
"seconds ago" => "数秒前",
"_%n minute ago_::_%n minutes ago_" => array("%n 分前"),
"_%n hour ago_::_%n hours ago_" => array("%n 時間後"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n カ月後"),
"last year" => "一年前",
"years ago" => "年前",
-"Caused by:" => "原因は以下:",
-"Could not find category \"%s\"" => "カテゴリ \"%s\" が見つかりませんでした"
+"Caused by:" => "原因は以下:"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/ka.php b/lib/l10n/ka.php
index 04fefe8bdf1..04fefe8bdf1 100644
--- a/lib/private/l10n/ka.php
+++ b/lib/l10n/ka.php
diff --git a/lib/private/l10n/ka_GE.php b/lib/l10n/ka_GE.php
index 8fbe34e6786..0cf6ab333e8 100644
--- a/lib/private/l10n/ka_GE.php
+++ b/lib/l10n/ka_GE.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "დააყენეთ ადმინისტრატორის პაროლი.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "თქვენი web სერვერი არ არის კონფიგურირებული ფაილ სინქრონიზაციისთვის, რადგან WebDAV ინტერფეისი შეიძლება იყოს გატეხილი.",
"Please double check the <a href='%s'>installation guides</a>." => "გთხოვთ გადაათვალიეროთ <a href='%s'>ინსტალაციის გზამკვლევი</a>.",
+"Could not find category \"%s\"" => "\"%s\" კატეგორიის მოძებნა ვერ მოხერხდა",
"seconds ago" => "წამის წინ",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "გასულ თვეში",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "ბოლო წელს",
-"years ago" => "წლის წინ",
-"Could not find category \"%s\"" => "\"%s\" კატეგორიის მოძებნა ვერ მოხერხდა"
+"years ago" => "წლის წინ"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/km.php b/lib/l10n/km.php
index e7b09649a24..e7b09649a24 100644
--- a/lib/private/l10n/km.php
+++ b/lib/l10n/km.php
diff --git a/lib/private/l10n/kn.php b/lib/l10n/kn.php
index e7b09649a24..e7b09649a24 100644
--- a/lib/private/l10n/kn.php
+++ b/lib/l10n/kn.php
diff --git a/lib/private/l10n/ko.php b/lib/l10n/ko.php
index 3ef39fefa60..3ef39fefa60 100644
--- a/lib/private/l10n/ko.php
+++ b/lib/l10n/ko.php
diff --git a/lib/private/l10n/ku_IQ.php b/lib/l10n/ku_IQ.php
index c99f9dd2a12..c99f9dd2a12 100644
--- a/lib/private/l10n/ku_IQ.php
+++ b/lib/l10n/ku_IQ.php
diff --git a/lib/private/l10n/lb.php b/lib/l10n/lb.php
index c25f5b55bd5..c25f5b55bd5 100644
--- a/lib/private/l10n/lb.php
+++ b/lib/l10n/lb.php
diff --git a/lib/private/l10n/lt_LT.php b/lib/l10n/lt_LT.php
index db8d96c1018..72e84bc4b00 100644
--- a/lib/private/l10n/lt_LT.php
+++ b/lib/l10n/lt_LT.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Nustatyti administratoriaus slaptažodį.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Jūsų serveris nėra tvarkingai nustatytas leisti failų sinchronizaciją, nes WebDAV sąsaja panašu, kad yra sugadinta.",
"Please double check the <a href='%s'>installation guides</a>." => "Prašome pažiūrėkite dar kartą <a href='%s'>diegimo instrukcijas</a>.",
+"Could not find category \"%s\"" => "Nepavyko rasti kategorijos „%s“",
"seconds ago" => "prieš sekundę",
"_%n minute ago_::_%n minutes ago_" => array("prieš %n min.","Prieš % minutes","Prieš %n minučių"),
"_%n hour ago_::_%n hours ago_" => array("Prieš %n valandą","Prieš %n valandas","Prieš %n valandų"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("Prieš %n mėnesį","Prieš %n mėnesius","Prieš %n mėnesių"),
"last year" => "praeitais metais",
"years ago" => "prieš metus",
-"Caused by:" => "Iššaukė:",
-"Could not find category \"%s\"" => "Nepavyko rasti kategorijos „%s“"
+"Caused by:" => "Iššaukė:"
);
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);";
diff --git a/lib/private/l10n/lv.php b/lib/l10n/lv.php
index 4090a36edcc..cf96c4c4ab8 100644
--- a/lib/private/l10n/lv.php
+++ b/lib/l10n/lv.php
@@ -39,6 +39,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Iestatiet administratora paroli.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Jūsu serveris vēl nav pareizi iestatīts, lai ļautu sinhronizēt datnes, jo izskatās, ka WebDAV saskarne ir salauzta.",
"Please double check the <a href='%s'>installation guides</a>." => "Lūdzu, vēlreiz pārbaudiet <a href='%s'>instalēšanas palīdzību</a>.",
+"Could not find category \"%s\"" => "Nevarēja atrast kategoriju “%s”",
"seconds ago" => "sekundes atpakaļ",
"_%n minute ago_::_%n minutes ago_" => array("","","Pirms %n minūtēm"),
"_%n hour ago_::_%n hours ago_" => array("","","Pirms %n stundām"),
@@ -49,7 +50,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","","Pirms %n mēnešiem"),
"last year" => "gājušajā gadā",
"years ago" => "gadus atpakaļ",
-"Caused by:" => "Cēlonis:",
-"Could not find category \"%s\"" => "Nevarēja atrast kategoriju “%s”"
+"Caused by:" => "Cēlonis:"
);
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);";
diff --git a/lib/private/l10n/mk.php b/lib/l10n/mk.php
index 69d4a1cb694..285dfd682a4 100644
--- a/lib/private/l10n/mk.php
+++ b/lib/l10n/mk.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Files" => "Датотеки",
"Text" => "Текст",
"Images" => "Слики",
+"Could not find category \"%s\"" => "Не можам да најдам категорија „%s“",
"seconds ago" => "пред секунди",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -25,7 +26,6 @@ $TRANSLATIONS = array(
"last month" => "минатиот месец",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "минатата година",
-"years ago" => "пред години",
-"Could not find category \"%s\"" => "Не можам да најдам категорија „%s“"
+"years ago" => "пред години"
);
$PLURAL_FORMS = "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;";
diff --git a/lib/private/l10n/ne.php b/lib/l10n/ml_IN.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/ne.php
+++ b/lib/l10n/ml_IN.php
diff --git a/lib/private/l10n/ms_MY.php b/lib/l10n/ms_MY.php
index 17ef07f83dd..17ef07f83dd 100644
--- a/lib/private/l10n/ms_MY.php
+++ b/lib/l10n/ms_MY.php
diff --git a/lib/private/l10n/my_MM.php b/lib/l10n/my_MM.php
index 5f4b6ddc820..7fdf0d0285d 100644
--- a/lib/private/l10n/my_MM.php
+++ b/lib/l10n/my_MM.php
@@ -12,6 +12,7 @@ $TRANSLATIONS = array(
"Files" => "ဖိုင်များ",
"Text" => "စာသား",
"Images" => "ပုံရိပ်များ",
+"Could not find category \"%s\"" => "\"%s\"ခေါင်းစဉ်ကို ရှာမတွေ့ပါ",
"seconds ago" => "စက္ကန့်အနည်းငယ်က",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -21,7 +22,6 @@ $TRANSLATIONS = array(
"last month" => "ပြီးခဲ့သောလ",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "မနှစ်က",
-"years ago" => "နှစ် အရင်က",
-"Could not find category \"%s\"" => "\"%s\"ခေါင်းစဉ်ကို ရှာမတွေ့ပါ"
+"years ago" => "နှစ် အရင်က"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/nb_NO.php b/lib/l10n/nb_NO.php
index 8e7d095d369..eb5e8d766fd 100644
--- a/lib/private/l10n/nb_NO.php
+++ b/lib/l10n/nb_NO.php
@@ -18,6 +18,7 @@ $TRANSLATIONS = array(
"Images" => "Bilder",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Din nettservev er ikke konfigurert korrekt for filsynkronisering. WebDAV ser ut til å ikke funkere.",
"Please double check the <a href='%s'>installation guides</a>." => "Vennligst dobbelsjekk <a href='%s'>installasjonsguiden</a>.",
+"Could not find category \"%s\"" => "Kunne ikke finne kategori \"%s\"",
"seconds ago" => "sekunder siden",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -27,7 +28,6 @@ $TRANSLATIONS = array(
"last month" => "forrige måned",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "forrige år",
-"years ago" => "år siden",
-"Could not find category \"%s\"" => "Kunne ikke finne kategori \"%s\""
+"years ago" => "år siden"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/sw_KE.php b/lib/l10n/ne.php
index 15f78e0bce6..15f78e0bce6 100644
--- a/lib/private/l10n/sw_KE.php
+++ b/lib/l10n/ne.php
diff --git a/lib/private/l10n/nl.php b/lib/l10n/nl.php
index 20374f1f0f8..d6dc9845d58 100644
--- a/lib/private/l10n/nl.php
+++ b/lib/l10n/nl.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Stel een beheerderswachtwoord in.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Uw webserver is nog niet goed ingesteld voor bestandssynchronisatie omdat de WebDAV interface verbroken lijkt.",
"Please double check the <a href='%s'>installation guides</a>." => "Controleer de <a href='%s'>installatiehandleiding</a> goed.",
+"Could not find category \"%s\"" => "Kon categorie \"%s\" niet vinden",
"seconds ago" => "seconden geleden",
"_%n minute ago_::_%n minutes ago_" => array("%n minuut geleden","%n minuten geleden"),
"_%n hour ago_::_%n hours ago_" => array("%n uur geleden","%n uur geleden"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n maand geleden","%n maanden geleden"),
"last year" => "vorig jaar",
"years ago" => "jaar geleden",
-"Caused by:" => "Gekomen door:",
-"Could not find category \"%s\"" => "Kon categorie \"%s\" niet vinden"
+"Caused by:" => "Gekomen door:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/nn_NO.php b/lib/l10n/nn_NO.php
index e8bf8dfdef4..e8bf8dfdef4 100644
--- a/lib/private/l10n/nn_NO.php
+++ b/lib/l10n/nn_NO.php
diff --git a/lib/private/l10n/nqo.php b/lib/l10n/nqo.php
index e7b09649a24..e7b09649a24 100644
--- a/lib/private/l10n/nqo.php
+++ b/lib/l10n/nqo.php
diff --git a/lib/private/l10n/oc.php b/lib/l10n/oc.php
index 40a527cc76c..40a527cc76c 100644
--- a/lib/private/l10n/oc.php
+++ b/lib/l10n/oc.php
diff --git a/lib/private/l10n/pa.php b/lib/l10n/pa.php
index 069fea6e710..069fea6e710 100644
--- a/lib/private/l10n/pa.php
+++ b/lib/l10n/pa.php
diff --git a/lib/private/l10n/pl.php b/lib/l10n/pl.php
index 270559b4e50..270559b4e50 100644
--- a/lib/private/l10n/pl.php
+++ b/lib/l10n/pl.php
diff --git a/lib/private/l10n/pl_PL.php b/lib/l10n/pl_PL.php
index 5494e3dab25..5494e3dab25 100644
--- a/lib/private/l10n/pl_PL.php
+++ b/lib/l10n/pl_PL.php
diff --git a/lib/private/l10n/pt_BR.php b/lib/l10n/pt_BR.php
index 7a580799701..59bc7831619 100644
--- a/lib/private/l10n/pt_BR.php
+++ b/lib/l10n/pt_BR.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Defina uma senha de administrador.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Seu servidor web não está configurado corretamente para permitir sincronização de arquivos porque a interface WebDAV parece estar quebrada.",
"Please double check the <a href='%s'>installation guides</a>." => "Por favor, confira os <a href='%s'>guias de instalação</a>.",
+"Could not find category \"%s\"" => "Impossível localizar categoria \"%s\"",
"seconds ago" => "segundos atrás",
"_%n minute ago_::_%n minutes ago_" => array("","ha %n minutos"),
"_%n hour ago_::_%n hours ago_" => array("","ha %n horas"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","ha %n meses"),
"last year" => "último ano",
"years ago" => "anos atrás",
-"Caused by:" => "Causados ​​por:",
-"Could not find category \"%s\"" => "Impossível localizar categoria \"%s\""
+"Caused by:" => "Causados ​​por:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";
diff --git a/lib/private/l10n/pt_PT.php b/lib/l10n/pt_PT.php
index 6e2bcba7b10..bc298a3f33f 100644
--- a/lib/private/l10n/pt_PT.php
+++ b/lib/l10n/pt_PT.php
@@ -41,6 +41,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Definiar uma password de administrador",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "O seu servidor web não está configurado correctamente para autorizar sincronização de ficheiros, pois o interface WebDAV parece estar com problemas.",
"Please double check the <a href='%s'>installation guides</a>." => "Por favor verifique <a href='%s'>installation guides</a>.",
+"Could not find category \"%s\"" => "Não foi encontrado a categoria \"%s\"",
"seconds ago" => "Minutos atrás",
"_%n minute ago_::_%n minutes ago_" => array("","%n minutos atrás"),
"_%n hour ago_::_%n hours ago_" => array("","%n horas atrás"),
@@ -51,7 +52,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","%n meses atrás"),
"last year" => "ano passado",
"years ago" => "anos atrás",
-"Caused by:" => "Causado por:",
-"Could not find category \"%s\"" => "Não foi encontrado a categoria \"%s\""
+"Caused by:" => "Causado por:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/ro.php b/lib/l10n/ro.php
index 76dafcd03e0..94ff7a4326a 100644
--- a/lib/private/l10n/ro.php
+++ b/lib/l10n/ro.php
@@ -20,6 +20,7 @@ $TRANSLATIONS = array(
"Images" => "Imagini",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Serverul de web nu este încă setat corespunzător pentru a permite sincronizarea fișierelor deoarece interfața WebDAV pare a fi întreruptă.",
"Please double check the <a href='%s'>installation guides</a>." => "Vă rugăm să verificați <a href='%s'>ghiduri de instalare</a>.",
+"Could not find category \"%s\"" => "Cloud nu a gasit categoria \"%s\"",
"seconds ago" => "secunde în urmă",
"_%n minute ago_::_%n minutes ago_" => array("","","acum %n minute"),
"_%n hour ago_::_%n hours ago_" => array("","","acum %n ore"),
@@ -29,7 +30,6 @@ $TRANSLATIONS = array(
"last month" => "ultima lună",
"_%n month ago_::_%n months ago_" => array("","",""),
"last year" => "ultimul an",
-"years ago" => "ani în urmă",
-"Could not find category \"%s\"" => "Cloud nu a gasit categoria \"%s\""
+"years ago" => "ani în urmă"
);
$PLURAL_FORMS = "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));";
diff --git a/lib/private/l10n/ru.php b/lib/l10n/ru.php
index 501065f8b5f..c52248273a6 100644
--- a/lib/private/l10n/ru.php
+++ b/lib/l10n/ru.php
@@ -56,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "становит пароль для admin.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш веб сервер до сих пор не настроен правильно для возможности синхронизации файлов, похоже что проблема в неисправности интерфейса WebDAV.",
"Please double check the <a href='%s'>installation guides</a>." => "Пожалуйста, дважды просмотрите <a href='%s'>инструкции по установке</a>.",
+"Could not find category \"%s\"" => "Категория \"%s\" не найдена",
"seconds ago" => "несколько секунд назад",
"_%n minute ago_::_%n minutes ago_" => array("%n минута назад","%n минуты назад","%n минут назад"),
"_%n hour ago_::_%n hours ago_" => array("%n час назад","%n часа назад","%n часов назад"),
@@ -66,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n месяц назад","%n месяца назад","%n месяцев назад"),
"last year" => "в прошлом году",
"years ago" => "несколько лет назад",
-"Caused by:" => "Вызвано:",
-"Could not find category \"%s\"" => "Категория \"%s\" не найдена"
+"Caused by:" => "Вызвано:"
);
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);";
diff --git a/lib/private/l10n/si_LK.php b/lib/l10n/si_LK.php
index d10804cae69..d10804cae69 100644
--- a/lib/private/l10n/si_LK.php
+++ b/lib/l10n/si_LK.php
diff --git a/lib/private/l10n/sk.php b/lib/l10n/sk.php
index 54812b15a6f..54812b15a6f 100644
--- a/lib/private/l10n/sk.php
+++ b/lib/l10n/sk.php
diff --git a/lib/private/l10n/sk_SK.php b/lib/l10n/sk_SK.php
index 13487b039d6..d2476c5a2bb 100644
--- a/lib/private/l10n/sk_SK.php
+++ b/lib/l10n/sk_SK.php
@@ -53,6 +53,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Zadajte heslo administrátora.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server nie je správne nastavený na synchronizáciu, pretože rozhranie WebDAV je poškodené.",
"Please double check the <a href='%s'>installation guides</a>." => "Prosím skontrolujte <a href='%s'>inštalačnú príručku</a>.",
+"Could not find category \"%s\"" => "Nemožno nájsť danú kategóriu \"%s\"",
"seconds ago" => "pred sekundami",
"_%n minute ago_::_%n minutes ago_" => array("","","pred %n minútami"),
"_%n hour ago_::_%n hours ago_" => array("","","pred %n hodinami"),
@@ -63,7 +64,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","","pred %n mesiacmi"),
"last year" => "minulý rok",
"years ago" => "pred rokmi",
-"Caused by:" => "Príčina:",
-"Could not find category \"%s\"" => "Nemožno nájsť danú kategóriu \"%s\""
+"Caused by:" => "Príčina:"
);
$PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;";
diff --git a/lib/private/l10n/sl.php b/lib/l10n/sl.php
index 5722191aedf..286ec733205 100644
--- a/lib/private/l10n/sl.php
+++ b/lib/l10n/sl.php
@@ -36,6 +36,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Nastavi geslo skrbnika.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je nastavitev WebDAV okvarjena.",
"Please double check the <a href='%s'>installation guides</a>." => "Preverite <a href='%s'>navodila namestitve</a>.",
+"Could not find category \"%s\"" => "Kategorije \"%s\" ni mogoče najti.",
"seconds ago" => "pred nekaj sekundami",
"_%n minute ago_::_%n minutes ago_" => array("","","",""),
"_%n hour ago_::_%n hours ago_" => array("","","",""),
@@ -45,7 +46,6 @@ $TRANSLATIONS = array(
"last month" => "zadnji mesec",
"_%n month ago_::_%n months ago_" => array("","","",""),
"last year" => "lansko leto",
-"years ago" => "let nazaj",
-"Could not find category \"%s\"" => "Kategorije \"%s\" ni mogoče najti."
+"years ago" => "let nazaj"
);
$PLURAL_FORMS = "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);";
diff --git a/lib/private/l10n/sq.php b/lib/l10n/sq.php
index edaa1df2b86..b36aa4ceefc 100644
--- a/lib/private/l10n/sq.php
+++ b/lib/l10n/sq.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Cakto kodin e administratorit.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Serveri web i juaji nuk është konfiguruar akoma për të lejuar sinkronizimin e skedarëve sepse ndërfaqja WebDAV mund të jetë e dëmtuar.",
"Please double check the <a href='%s'>installation guides</a>." => "Ju lutemi kontrolloni mirë <a href='%s'>shoqëruesin e instalimit</a>.",
+"Could not find category \"%s\"" => "Kategoria \"%s\" nuk u gjet",
"seconds ago" => "sekonda më parë",
"_%n minute ago_::_%n minutes ago_" => array("","%n minuta më parë"),
"_%n hour ago_::_%n hours ago_" => array("","%n orë më parë"),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "muajin e shkuar",
"_%n month ago_::_%n months ago_" => array("","%n muaj më parë"),
"last year" => "vitin e shkuar",
-"years ago" => "vite më parë",
-"Could not find category \"%s\"" => "Kategoria \"%s\" nuk u gjet"
+"years ago" => "vite më parë"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/sr.php b/lib/l10n/sr.php
index 9441d0578fc..47a84803683 100644
--- a/lib/private/l10n/sr.php
+++ b/lib/l10n/sr.php
@@ -18,6 +18,7 @@ $TRANSLATIONS = array(
"Images" => "Слике",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш веб сервер тренутно не подржава синхронизацију датотека јер се чини да је WebDAV сучеље неисправно.",
"Please double check the <a href='%s'>installation guides</a>." => "Погледајте <a href='%s'>водиче за инсталацију</a>.",
+"Could not find category \"%s\"" => "Не могу да пронађем категорију „%s“.",
"seconds ago" => "пре неколико секунди",
"_%n minute ago_::_%n minutes ago_" => array("","",""),
"_%n hour ago_::_%n hours ago_" => array("","",""),
@@ -27,7 +28,6 @@ $TRANSLATIONS = array(
"last month" => "прошлог месеца",
"_%n month ago_::_%n months ago_" => array("","",""),
"last year" => "прошле године",
-"years ago" => "година раније",
-"Could not find category \"%s\"" => "Не могу да пронађем категорију „%s“."
+"years ago" => "година раније"
);
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);";
diff --git a/lib/private/l10n/sr@latin.php b/lib/l10n/sr@latin.php
index d8fa9289221..d8fa9289221 100644
--- a/lib/private/l10n/sr@latin.php
+++ b/lib/l10n/sr@latin.php
diff --git a/lib/private/l10n/sv.php b/lib/l10n/sv.php
index e7c3420a85b..37f2e1d8c08 100644
--- a/lib/private/l10n/sv.php
+++ b/lib/l10n/sv.php
@@ -53,6 +53,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Ange ett administratörslösenord.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Din webbserver är inte korrekt konfigurerad för att tillåta filsynkronisering eftersom WebDAV inte verkar fungera.",
"Please double check the <a href='%s'>installation guides</a>." => "Var god kontrollera <a href='%s'>installationsguiden</a>.",
+"Could not find category \"%s\"" => "Kunde inte hitta kategorin \"%s\"",
"seconds ago" => "sekunder sedan",
"_%n minute ago_::_%n minutes ago_" => array("%n minut sedan","%n minuter sedan"),
"_%n hour ago_::_%n hours ago_" => array("%n timme sedan","%n timmar sedan"),
@@ -63,7 +64,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n månad sedan","%n månader sedan"),
"last year" => "förra året",
"years ago" => "år sedan",
-"Caused by:" => "Orsakad av:",
-"Could not find category \"%s\"" => "Kunde inte hitta kategorin \"%s\""
+"Caused by:" => "Orsakad av:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/l10n/sw_KE.php b/lib/l10n/sw_KE.php
new file mode 100644
index 00000000000..15f78e0bce6
--- /dev/null
+++ b/lib/l10n/sw_KE.php
@@ -0,0 +1,8 @@
+<?php
+$TRANSLATIONS = array(
+"_%n minute ago_::_%n minutes ago_" => array("",""),
+"_%n hour ago_::_%n hours ago_" => array("",""),
+"_%n day go_::_%n days ago_" => array("",""),
+"_%n month ago_::_%n months ago_" => array("","")
+);
+$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/ta_LK.php b/lib/l10n/ta_LK.php
index e70e65845be..f761ccab0e2 100644
--- a/lib/private/l10n/ta_LK.php
+++ b/lib/l10n/ta_LK.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Files" => "கோப்புகள்",
"Text" => "உரை",
"Images" => "படங்கள்",
+"Could not find category \"%s\"" => "பிரிவு \"%s\" ஐ கண்டுப்பிடிக்க முடியவில்லை",
"seconds ago" => "செக்கன்களுக்கு முன்",
"_%n minute ago_::_%n minutes ago_" => array("",""),
"_%n hour ago_::_%n hours ago_" => array("",""),
@@ -25,7 +26,6 @@ $TRANSLATIONS = array(
"last month" => "கடந்த மாதம்",
"_%n month ago_::_%n months ago_" => array("",""),
"last year" => "கடந்த வருடம்",
-"years ago" => "வருடங்களுக்கு முன்",
-"Could not find category \"%s\"" => "பிரிவு \"%s\" ஐ கண்டுப்பிடிக்க முடியவில்லை"
+"years ago" => "வருடங்களுக்கு முன்"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/private/l10n/te.php b/lib/l10n/te.php
index 524ea0c6024..524ea0c6024 100644
--- a/lib/private/l10n/te.php
+++ b/lib/l10n/te.php
diff --git a/lib/private/l10n/th_TH.php b/lib/l10n/th_TH.php
index 3344d0bb18e..173d0f2856b 100644
--- a/lib/private/l10n/th_TH.php
+++ b/lib/l10n/th_TH.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Files" => "ไฟล์",
"Text" => "ข้อความ",
"Images" => "รูปภาพ",
+"Could not find category \"%s\"" => "ไม่พบหมวดหมู่ \"%s\"",
"seconds ago" => "วินาที ก่อนหน้านี้",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -25,7 +26,6 @@ $TRANSLATIONS = array(
"last month" => "เดือนที่แล้ว",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "ปีที่แล้ว",
-"years ago" => "ปี ที่ผ่านมา",
-"Could not find category \"%s\"" => "ไม่พบหมวดหมู่ \"%s\""
+"years ago" => "ปี ที่ผ่านมา"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/tr.php b/lib/l10n/tr.php
index b63c37c7240..01f48517aec 100644
--- a/lib/private/l10n/tr.php
+++ b/lib/l10n/tr.php
@@ -53,6 +53,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Parola yonetici birlemek. ",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Web sunucunuz dosya transferi için düzgün bir şekilde yapılandırılmamış. WevDAV arabirimini sorunlu gözüküyor.",
"Please double check the <a href='%s'>installation guides</a>." => "Lütfen <a href='%s'>kurulum kılavuzlarını</a> iki kez kontrol edin.",
+"Could not find category \"%s\"" => "\"%s\" kategorisi bulunamadı",
"seconds ago" => "saniye önce",
"_%n minute ago_::_%n minutes ago_" => array("","%n dakika önce"),
"_%n hour ago_::_%n hours ago_" => array("","%n saat önce"),
@@ -63,7 +64,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("","%n ay önce"),
"last year" => "geçen yıl",
"years ago" => "yıl önce",
-"Caused by:" => "Neden olan:",
-"Could not find category \"%s\"" => "\"%s\" kategorisi bulunamadı"
+"Caused by:" => "Neden olan:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";
diff --git a/lib/private/l10n/ug.php b/lib/l10n/ug.php
index e2cf38ecc8c..e2cf38ecc8c 100644
--- a/lib/private/l10n/ug.php
+++ b/lib/l10n/ug.php
diff --git a/lib/private/l10n/uk.php b/lib/l10n/uk.php
index c1513c5bb79..906c93b567a 100644
--- a/lib/private/l10n/uk.php
+++ b/lib/l10n/uk.php
@@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "Встановіть пароль адміністратора.",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш Web-сервер ще не налаштований належним чином для того, щоб дозволити синхронізацію файлів, через те що інтерфейс WebDAV, здається, зламаний.",
"Please double check the <a href='%s'>installation guides</a>." => "Будь ласка, перевірте <a href='%s'>інструкції по встановленню</a>.",
+"Could not find category \"%s\"" => "Не вдалося знайти категорію \"%s\"",
"seconds ago" => "секунди тому",
"_%n minute ago_::_%n minutes ago_" => array("","",""),
"_%n hour ago_::_%n hours ago_" => array("","",""),
@@ -44,7 +45,6 @@ $TRANSLATIONS = array(
"last month" => "минулого місяця",
"_%n month ago_::_%n months ago_" => array("","",""),
"last year" => "минулого року",
-"years ago" => "роки тому",
-"Could not find category \"%s\"" => "Не вдалося знайти категорію \"%s\""
+"years ago" => "роки тому"
);
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);";
diff --git a/lib/private/l10n/ur_PK.php b/lib/l10n/ur_PK.php
index 7dc967ccd93..7dc967ccd93 100644
--- a/lib/private/l10n/ur_PK.php
+++ b/lib/l10n/ur_PK.php
diff --git a/lib/private/l10n/vi.php b/lib/l10n/vi.php
index dc0045c35ca..5840283110e 100644
--- a/lib/private/l10n/vi.php
+++ b/lib/l10n/vi.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Files" => "Tập tin",
"Text" => "Văn bản",
"Images" => "Hình ảnh",
+"Could not find category \"%s\"" => "không thể tìm thấy mục \"%s\"",
"seconds ago" => "vài giây trước",
"_%n minute ago_::_%n minutes ago_" => array(""),
"_%n hour ago_::_%n hours ago_" => array(""),
@@ -25,7 +26,6 @@ $TRANSLATIONS = array(
"last month" => "tháng trước",
"_%n month ago_::_%n months ago_" => array(""),
"last year" => "năm trước",
-"years ago" => "năm trước",
-"Could not find category \"%s\"" => "không thể tìm thấy mục \"%s\""
+"years ago" => "năm trước"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/zh_CN.php b/lib/l10n/zh_CN.php
index 2c34356ea10..e3f2c949175 100644
--- a/lib/private/l10n/zh_CN.php
+++ b/lib/l10n/zh_CN.php
@@ -37,6 +37,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "请设置一个管理员密码。",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "您的Web服务器尚未正确设置以允许文件同步, 因为WebDAV的接口似乎已损坏.",
"Please double check the <a href='%s'>installation guides</a>." => "请认真检查<a href='%s'>安装指南</a>.",
+"Could not find category \"%s\"" => "无法找到分类 \"%s\"",
"seconds ago" => "秒前",
"_%n minute ago_::_%n minutes ago_" => array("%n 分钟前"),
"_%n hour ago_::_%n hours ago_" => array("%n 小时前"),
@@ -46,7 +47,6 @@ $TRANSLATIONS = array(
"last month" => "上月",
"_%n month ago_::_%n months ago_" => array("%n 月前"),
"last year" => "去年",
-"years ago" => "年前",
-"Could not find category \"%s\"" => "无法找到分类 \"%s\""
+"years ago" => "年前"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/l10n/zh_HK.php b/lib/l10n/zh_HK.php
index ca3e6d504e7..ca3e6d504e7 100644
--- a/lib/private/l10n/zh_HK.php
+++ b/lib/l10n/zh_HK.php
diff --git a/lib/private/l10n/zh_TW.php b/lib/l10n/zh_TW.php
index 210c766aa59..e56a451f8a9 100644
--- a/lib/private/l10n/zh_TW.php
+++ b/lib/l10n/zh_TW.php
@@ -8,6 +8,9 @@ $TRANSLATIONS = array(
"Users" => "使用者",
"Admin" => "管理",
"Failed to upgrade \"%s\"." => "升級失敗:%s",
+"Custom profile pictures don't work with encryption yet" => "自訂大頭貼暫時不能和加密功能同時使用",
+"Unknown filetype" => "未知的檔案類型",
+"Invalid image" => "無效的圖片",
"web services under your control" => "由您控制的網路服務",
"cannot open \"%s\"" => "無法開啓 %s",
"ZIP download is turned off." => "ZIP 下載已關閉。",
@@ -53,6 +56,7 @@ $TRANSLATIONS = array(
"Set an admin password." => "設定管理員密碼。",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "您的網頁伺服器尚未被正確設定來進行檔案同步,因為您的 WebDAV 界面似乎無法使用。",
"Please double check the <a href='%s'>installation guides</a>." => "請參考<a href='%s'>安裝指南</a>。",
+"Could not find category \"%s\"" => "找不到分類:\"%s\"",
"seconds ago" => "幾秒前",
"_%n minute ago_::_%n minutes ago_" => array("%n 分鐘前"),
"_%n hour ago_::_%n hours ago_" => array("%n 小時前"),
@@ -63,7 +67,6 @@ $TRANSLATIONS = array(
"_%n month ago_::_%n months ago_" => array("%n 個月前"),
"last year" => "去年",
"years ago" => "幾年前",
-"Caused by:" => "原因:",
-"Could not find category \"%s\"" => "找不到分類:\"%s\""
+"Caused by:" => "原因:"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/connector/sabre/auth.php b/lib/private/connector/sabre/auth.php
index bf3a49593cb..d2fd74c44f9 100644
--- a/lib/private/connector/sabre/auth.php
+++ b/lib/private/connector/sabre/auth.php
@@ -72,6 +72,11 @@ class OC_Connector_Sabre_Auth extends Sabre_DAV_Auth_Backend_AbstractBasic {
* @return bool
*/
public function authenticate(Sabre_DAV_Server $server, $realm) {
+
+ if (OC_User::handleApacheAuth()) {
+ return true;
+ }
+
if (OC_User::isLoggedIn()) {
$user = OC_User::getUser();
OC_Util::setupFS($user);
diff --git a/lib/private/connector/sabre/directory.php b/lib/private/connector/sabre/directory.php
index 382bdf06df1..af0dfd70f08 100644
--- a/lib/private/connector/sabre/directory.php
+++ b/lib/private/connector/sabre/directory.php
@@ -54,47 +54,10 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
throw new \Sabre_DAV_Exception_Forbidden();
}
- if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
- $info = OC_FileChunking::decodeName($name);
- if (empty($info)) {
- throw new Sabre_DAV_Exception_NotImplemented();
- }
- $chunk_handler = new OC_FileChunking($info);
- $chunk_handler->store($info['index'], $data);
- if ($chunk_handler->isComplete()) {
- $newPath = $this->path . '/' . $info['name'];
- $chunk_handler->file_assemble($newPath);
- return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath);
- }
- } else {
- $newPath = $this->path . '/' . $name;
-
- // mark file as partial while uploading (ignored by the scanner)
- $partpath = $newPath . '.part';
-
- \OC\Files\Filesystem::file_put_contents($partpath, $data);
-
- // rename to correct path
- $renameOkay = \OC\Files\Filesystem::rename($partpath, $newPath);
- $fileExists = \OC\Files\Filesystem::file_exists($newPath);
- if ($renameOkay === false || $fileExists === false) {
- \OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR);
- \OC\Files\Filesystem::unlink($partpath);
- throw new Sabre_DAV_Exception();
- }
-
- // allow sync clients to send the mtime along in a header
- $mtime = OC_Request::hasModificationTime();
- if ($mtime !== false) {
- if(\OC\Files\Filesystem::touch($newPath, $mtime)) {
- header('X-OC-MTime: accepted');
- }
- }
-
- return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath);
- }
+ $path = $this->path . '/' . $name;
+ $node = new OC_Connector_Sabre_File($path);
+ return $node->put($data);
- return null;
}
/**
@@ -243,13 +206,12 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
* If the array is empty, all properties should be returned
*
* @param array $properties
- * @return void
+ * @return array
*/
public function getProperties($properties) {
$props = parent::getProperties($properties);
if (in_array(self::GETETAG_PROPERTYNAME, $properties) && !isset($props[self::GETETAG_PROPERTYNAME])) {
- $props[self::GETETAG_PROPERTYNAME]
- = OC_Connector_Sabre_Node::getETagPropertyForPath($this->path);
+ $props[self::GETETAG_PROPERTYNAME] = $this->getETagPropertyForPath($this->path);
}
return $props;
}
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index 433b1148552..12d7585884e 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -28,7 +28,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
*
* The data argument is a readable stream resource.
*
- * After a succesful put operation, you may choose to return an ETag. The
+ * After a successful put operation, you may choose to return an ETag. The
* etag must always be surrounded by double-quotes. These quotes must
* appear in the actual string you're returning.
*
@@ -45,8 +45,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
* @return string|null
*/
public function put($data) {
-
- if (!\OC\Files\Filesystem::isUpdatable($this->path)) {
+ $fs = $this->getFS();
+ if ($fs->file_exists($this->path) &&
+ !$fs->isUpdatable($this->path)) {
throw new \Sabre_DAV_Exception_Forbidden();
}
@@ -54,44 +55,59 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
if (\OC_Util::encryptedFiles()) {
throw new \Sabre_DAV_Exception_ServiceUnavailable();
}
-
+
+ // chunked handling
+ if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
+ list($path, $name) = \Sabre_DAV_URLUtil::splitPath($this->path);
+
+ $info = OC_FileChunking::decodeName($name);
+ if (empty($info)) {
+ throw new Sabre_DAV_Exception_NotImplemented();
+ }
+ $chunk_handler = new OC_FileChunking($info);
+ $chunk_handler->store($info['index'], $data);
+ if ($chunk_handler->isComplete()) {
+ $newPath = $path . '/' . $info['name'];
+ $chunk_handler->file_assemble($newPath);
+ return $this->getETagPropertyForPath($newPath);
+ }
+
+ return null;
+ }
+
// mark file as partial while uploading (ignored by the scanner)
$partpath = $this->path . '.part';
- \OC\Files\Filesystem::file_put_contents($partpath, $data);
-
- //detect aborted upload
- if (isset ($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'PUT') {
- if (isset($_SERVER['CONTENT_LENGTH'])) {
- $expected = $_SERVER['CONTENT_LENGTH'];
- $actual = \OC\Files\Filesystem::filesize($partpath);
- if ($actual != $expected) {
- \OC\Files\Filesystem::unlink($partpath);
- throw new Sabre_DAV_Exception_BadRequest(
- 'expected filesize ' . $expected . ' got ' . $actual);
- }
+ try {
+ $putOkay = $fs->file_put_contents($partpath, $data);
+ if ($putOkay === false) {
+ \OC_Log::write('webdav', '\OC\Files\Filesystem::file_put_contents() failed', \OC_Log::ERROR);
+ $fs->unlink($partpath);
+ // because we have no clue about the cause we can only throw back a 500/Internal Server Error
+ throw new Sabre_DAV_Exception();
}
+ } catch (\OCP\Files\NotPermittedException $e) {
+ throw new Sabre_DAV_Exception_Forbidden();
}
// rename to correct path
- $renameOkay = \OC\Files\Filesystem::rename($partpath, $this->path);
- $fileExists = \OC\Files\Filesystem::file_exists($this->path);
+ $renameOkay = $fs->rename($partpath, $this->path);
+ $fileExists = $fs->file_exists($this->path);
if ($renameOkay === false || $fileExists === false) {
\OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR);
- \OC\Files\Filesystem::unlink($partpath);
+ $fs->unlink($partpath);
throw new Sabre_DAV_Exception();
}
-
- //allow sync clients to send the mtime along in a header
+ // allow sync clients to send the mtime along in a header
$mtime = OC_Request::hasModificationTime();
if ($mtime !== false) {
- if (\OC\Files\Filesystem::touch($this->path, $mtime)) {
+ if($fs->touch($this->path, $mtime)) {
header('X-OC-MTime: accepted');
}
}
- return OC_Connector_Sabre_Node::getETagPropertyForPath($this->path);
+ return $this->getETagPropertyForPath($this->path);
}
/**
@@ -101,7 +117,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
*/
public function get() {
- //throw execption if encryption is disabled but files are still encrypted
+ //throw exception if encryption is disabled but files are still encrypted
if (\OC_Util::encryptedFiles()) {
throw new \Sabre_DAV_Exception_ServiceUnavailable();
} else {
@@ -144,7 +160,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
*
* An ETag is a unique identifier representing the current version of the
* file. If the file changes, the ETag MUST change. The ETag is an
- * arbritrary string, but MUST be surrounded by double-quotes.
+ * arbitrary string, but MUST be surrounded by double-quotes.
*
* Return null if the ETag can not effectively be determined
*
diff --git a/lib/private/connector/sabre/node.php b/lib/private/connector/sabre/node.php
index e65ad7b8bef..fa27abb381a 100644
--- a/lib/private/connector/sabre/node.php
+++ b/lib/private/connector/sabre/node.php
@@ -33,6 +33,13 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
public static $ETagFunction = null;
/**
+ * is kept public to allow overwrite for unit testing
+ *
+ * @var \OC\Files\View
+ */
+ public $fileView;
+
+ /**
* The path to the current node
*
* @var string
@@ -234,12 +241,18 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
* @param string $path Path of the file
* @return string|null Returns null if the ETag can not effectively be determined
*/
- static public function getETagPropertyForPath($path) {
- $data = \OC\Files\Filesystem::getFileInfo($path);
+ protected function getETagPropertyForPath($path) {
+ $data = $this->getFS()->getFileInfo($path);
if (isset($data['etag'])) {
return '"'.$data['etag'].'"';
}
return null;
}
+ protected function getFS() {
+ if (is_null($this->fileView)) {
+ $this->fileView = \OC\Files\Filesystem::getView();
+ }
+ return $this->fileView;
+ }
}
diff --git a/lib/private/legacy/cache/fileglobalgc.php b/lib/private/legacy/cache/fileglobalgc.php
new file mode 100644
index 00000000000..385f6406673
--- /dev/null
+++ b/lib/private/legacy/cache/fileglobalgc.php
@@ -0,0 +1,4 @@
+<?php
+
+class OC_Cache_FileGlobalGC extends OC\Cache\FileGlobalGC{
+}
diff --git a/lib/private/legacy/config.php b/lib/private/legacy/config.php
index 7e498013737..c457979113e 100644
--- a/lib/private/legacy/config.php
+++ b/lib/private/legacy/config.php
@@ -83,11 +83,7 @@ class OC_Config {
*
*/
public static function setValue($key, $value) {
- try {
- self::$object->setValue($key, $value);
- } catch (\OC\HintException $e) {
- \OC_Template::printErrorPage($e->getMessage(), $e->getHint());
- }
+ self::$object->setValue($key, $value);
}
/**
@@ -98,10 +94,6 @@ class OC_Config {
*
*/
public static function deleteKey($key) {
- try {
- self::$object->deleteKey($key);
- } catch (\OC\HintException $e) {
- \OC_Template::printErrorPage($e->getMessage(), $e->getHint());
- }
+ self::$object->deleteKey($key);
}
}
diff --git a/lib/private/user.php b/lib/private/user.php
index 15e807088b4..04cd06b08bd 100644
--- a/lib/private/user.php
+++ b/lib/private/user.php
@@ -214,6 +214,55 @@ class OC_User {
}
/**
+ * @brief Try to login a user, assuming authentication
+ * has already happened (e.g. via Single Sign On).
+ *
+ * Log in a user and regenerate a new session.
+ *
+ * @param \OCP\Authentication\IApacheBackend $backend
+ * @return bool
+ */
+ public static function loginWithApache(\OCP\Authentication\IApacheBackend $backend) {
+
+ $uid = $backend->getCurrentUserId();
+ $run = true;
+ OC_Hook::emit( "OC_User", "pre_login", array( "run" => &$run, "uid" => $uid ));
+
+ if($uid) {
+ session_regenerate_id(true);
+ self::setUserId($uid);
+ self::setDisplayName($uid);
+ OC_Hook::emit( "OC_User", "post_login", array( "uid" => $uid, 'password'=>'' ));
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @brief Verify with Apache whether user is authenticated.
+ *
+ * @return boolean|null
+ * true: authenticated
+ * false: not authenticated
+ * null: not handled / no backend available
+ */
+ public static function handleApacheAuth() {
+ $backend = self::findFirstActiveUsedBackend();
+ if ($backend) {
+ OC_App::loadApps();
+
+ //setup extra user backends
+ self::setupBackends();
+ self::unsetMagicInCookie();
+
+ return self::loginWithApache($backend);
+ }
+
+ return null;
+ }
+
+
+ /**
* @brief Sets user id for session and triggers emit
*/
public static function setUserId($uid) {
@@ -260,6 +309,22 @@ class OC_User {
}
/**
+ * Supplies an attribute to the logout hyperlink. The default behaviour
+ * is to return an href with '?logout=true' appended. However, it can
+ * supply any attribute(s) which are valid for <a>.
+ *
+ * @return string with one or more HTML attributes.
+ */
+ public static function getLogoutAttribute() {
+ $backend = self::findFirstActiveUsedBackend();
+ if ($backend) {
+ return $backend->getLogoutAttribute();
+ }
+
+ return "href=" . link_to('', 'index.php') . "?logout=true";
+ }
+
+ /**
* @brief Check if the user is an admin user
* @param string $uid uid of the admin
* @return bool
@@ -497,4 +562,20 @@ class OC_User {
public static function unsetMagicInCookie() {
self::getUserSession()->unsetMagicInCookie();
}
+
+ /**
+ * @brief Returns the first active backend from self::$_usedBackends.
+ * @return null if no backend active, otherwise OCP\Authentication\IApacheBackend
+ */
+ private static function findFirstActiveUsedBackend() {
+ foreach (self::$_usedBackends as $backend) {
+ if ($backend instanceof OCP\Authentication\IApacheBackend) {
+ if ($backend->isSessionActive()) {
+ return $backend;
+ }
+ }
+ }
+
+ return null;
+ }
}
diff --git a/lib/private/util.php b/lib/private/util.php
index c5b4d2ae93e..6c0a8d7bab5 100755
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -182,9 +182,12 @@ class OC_Util {
* @description load the version.php into the session as cache
*/
private static function loadVersion() {
- if(!\OC::$server->getSession()->exists('OC_Version')) {
+ $timestamp = filemtime(OC::$SERVERROOT.'/version.php');
+ if(!\OC::$server->getSession()->exists('OC_Version') or OC::$server->getSession()->get('OC_Version_Timestamp') != $timestamp) {
require 'version.php';
$session = \OC::$server->getSession();
+ /** @var $timestamp int */
+ $session->set('OC_Version_Timestamp', $timestamp);
/** @var $OC_Version string */
$session->set('OC_Version', $OC_Version);
/** @var $OC_VersionString string */
diff --git a/lib/public/authentication/iapachebackend.php b/lib/public/authentication/iapachebackend.php
new file mode 100644
index 00000000000..5376baf525c
--- /dev/null
+++ b/lib/public/authentication/iapachebackend.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * ownCloud - Apache backend
+ *
+ * @author Karl Beecher
+ * @copyright 2013 Karl Beecher - karl@endocode.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/>.
+ *
+ */
+
+namespace OCP\Authentication;
+
+interface IApacheBackend {
+
+ /**
+ * In case the user has been authenticated by Apache true is returned.
+ *
+ * @return boolean whether Apache reports a user as currently logged in.
+ */
+ public function isSessionActive();
+
+ /**
+ * Creates an attribute which is added to the logout hyperlink. It can
+ * supply any attribute(s) which are valid for <a>.
+ *
+ * @return string with one or more HTML attributes.
+ */
+ public function getLogoutAttribute();
+
+ /**
+ * Return the id of the current user
+ * @return string
+ */
+ public function getCurrentUserId();
+
+}