aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.htaccess9
m---------3rdparty0
-rw-r--r--apps/dav/tests/unit/carddav/convertertest.php14
-rw-r--r--apps/files/l10n/de.js2
-rw-r--r--apps/files/l10n/de.json2
-rw-r--r--apps/files/l10n/pt_PT.js4
-rw-r--r--apps/files/l10n/pt_PT.json4
-rw-r--r--apps/files_external/l10n/ca.js1
-rw-r--r--apps/files_external/l10n/ca.json1
-rw-r--r--apps/files_external/l10n/cs_CZ.js1
-rw-r--r--apps/files_external/l10n/cs_CZ.json1
-rw-r--r--apps/files_external/l10n/da.js1
-rw-r--r--apps/files_external/l10n/da.json1
-rw-r--r--apps/files_external/l10n/de.js1
-rw-r--r--apps/files_external/l10n/de.json1
-rw-r--r--apps/files_external/l10n/de_DE.js1
-rw-r--r--apps/files_external/l10n/de_DE.json1
-rw-r--r--apps/files_external/l10n/el.js1
-rw-r--r--apps/files_external/l10n/el.json1
-rw-r--r--apps/files_external/l10n/en_GB.js1
-rw-r--r--apps/files_external/l10n/en_GB.json1
-rw-r--r--apps/files_external/l10n/es.js1
-rw-r--r--apps/files_external/l10n/es.json1
-rw-r--r--apps/files_external/l10n/et_EE.js1
-rw-r--r--apps/files_external/l10n/et_EE.json1
-rw-r--r--apps/files_external/l10n/fi_FI.js1
-rw-r--r--apps/files_external/l10n/fi_FI.json1
-rw-r--r--apps/files_external/l10n/fr.js1
-rw-r--r--apps/files_external/l10n/fr.json1
-rw-r--r--apps/files_external/l10n/gl.js1
-rw-r--r--apps/files_external/l10n/gl.json1
-rw-r--r--apps/files_external/l10n/hu_HU.js1
-rw-r--r--apps/files_external/l10n/hu_HU.json1
-rw-r--r--apps/files_external/l10n/id.js1
-rw-r--r--apps/files_external/l10n/id.json1
-rw-r--r--apps/files_external/l10n/it.js1
-rw-r--r--apps/files_external/l10n/it.json1
-rw-r--r--apps/files_external/l10n/ja.js1
-rw-r--r--apps/files_external/l10n/ja.json1
-rw-r--r--apps/files_external/l10n/ko.js1
-rw-r--r--apps/files_external/l10n/ko.json1
-rw-r--r--apps/files_external/l10n/nb_NO.js1
-rw-r--r--apps/files_external/l10n/nb_NO.json1
-rw-r--r--apps/files_external/l10n/nds.js1
-rw-r--r--apps/files_external/l10n/nds.json1
-rw-r--r--apps/files_external/l10n/nl.js1
-rw-r--r--apps/files_external/l10n/nl.json1
-rw-r--r--apps/files_external/l10n/oc.js1
-rw-r--r--apps/files_external/l10n/oc.json1
-rw-r--r--apps/files_external/l10n/pl.js1
-rw-r--r--apps/files_external/l10n/pl.json1
-rw-r--r--apps/files_external/l10n/pt_BR.js1
-rw-r--r--apps/files_external/l10n/pt_BR.json1
-rw-r--r--apps/files_external/l10n/pt_PT.js1
-rw-r--r--apps/files_external/l10n/pt_PT.json1
-rw-r--r--apps/files_external/l10n/ru.js1
-rw-r--r--apps/files_external/l10n/ru.json1
-rw-r--r--apps/files_external/l10n/sk_SK.js1
-rw-r--r--apps/files_external/l10n/sk_SK.json1
-rw-r--r--apps/files_external/l10n/sl.js1
-rw-r--r--apps/files_external/l10n/sl.json1
-rw-r--r--apps/files_external/l10n/sq.js1
-rw-r--r--apps/files_external/l10n/sq.json1
-rw-r--r--apps/files_external/l10n/sr.js1
-rw-r--r--apps/files_external/l10n/sr.json1
-rw-r--r--apps/files_external/l10n/th_TH.js1
-rw-r--r--apps/files_external/l10n/th_TH.json1
-rw-r--r--apps/files_external/l10n/tr.js1
-rw-r--r--apps/files_external/l10n/tr.json1
-rw-r--r--apps/files_external/l10n/zh_TW.js1
-rw-r--r--apps/files_external/l10n/zh_TW.json1
-rw-r--r--apps/user_ldap/lib/connection.php7
-rw-r--r--apps/user_ldap/lib/ldap.php9
-rw-r--r--apps/user_ldap/lib/wizard.php17
-rw-r--r--apps/user_ldap/tests/integration/lib/integrationtestconnect.php166
-rw-r--r--config/config.sample.php2
-rw-r--r--core/l10n/ca.js2
-rw-r--r--core/l10n/ca.json2
-rw-r--r--core/l10n/pt_PT.js1
-rw-r--r--core/l10n/pt_PT.json1
-rw-r--r--lib/base.php7
-rw-r--r--lib/private/avatar.php14
-rw-r--r--lib/private/files/objectstore/swift.php9
-rw-r--r--lib/private/route/router.php103
-rw-r--r--lib/public/route/irouter.php15
-rw-r--r--settings/l10n/fi_FI.js5
-rw-r--r--settings/l10n/fi_FI.json5
-rw-r--r--settings/l10n/it.js5
-rw-r--r--settings/l10n/it.json5
-rw-r--r--settings/l10n/pt_BR.js5
-rw-r--r--settings/l10n/pt_BR.json5
-rw-r--r--settings/l10n/sq.js5
-rw-r--r--settings/l10n/sq.json5
-rw-r--r--tests/lib/avatartest.php30
94 files changed, 350 insertions, 174 deletions
diff --git a/.htaccess b/.htaccess
index bb030c6acca..b4c7eee9312 100644
--- a/.htaccess
+++ b/.htaccess
@@ -14,9 +14,12 @@
Header set X-Frame-Options "SAMEORIGIN"
SetEnv modHeadersAvailable true
- # Add CSP header if not set, used for static resources
- Header append Content-Security-Policy ""
- Header edit Content-Security-Policy "^$" "default-src 'none'; style-src 'self' 'unsafe-inline'; script-src 'self'"
+ <IfModule mod_version.c>
+ <IfVersion >= 2.4.7>
+ # Add CSP header if not set, used for static resources
+ Header always setifempty Content-Security-Policy "default-src 'none'; style-src 'self' 'unsafe-inline'; script-src 'self'"
+ </IfVersion>
+ </IfModule>
</IfModule>
# Add cache control for CSS and JS files
diff --git a/3rdparty b/3rdparty
-Subproject 6646666554faeeecc5792b60b770d3bcda05172
+Subproject 6ed0fba7d78ced45ea39bef5881597fcd47c89f
diff --git a/apps/dav/tests/unit/carddav/convertertest.php b/apps/dav/tests/unit/carddav/convertertest.php
index f4e2ea3f002..bae7e383f9a 100644
--- a/apps/dav/tests/unit/carddav/convertertest.php
+++ b/apps/dav/tests/unit/carddav/convertertest.php
@@ -41,10 +41,10 @@ class ConverterTests extends TestCase {
public function providesNewUsers() {
return [
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n"],
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nEMAIL;TYPE=OTHER:foo@bar.net\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar", "foo@bar.net"],
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nCLOUD:foo@bar.net\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar", null, "foo@bar.net"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nEMAIL;TYPE=OTHER:foo@bar.net\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar", "foo@bar.net"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:Dr. Foo Bar\r\nN:Bar;Dr.;Foo;;\r\nCLOUD:foo@bar.net\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU2Nzg5\r\nEND:VCARD\r\n", "Dr. Foo Bar", null, "foo@bar.net"],
];
}
@@ -88,9 +88,9 @@ class ConverterTests extends TestCase {
public function providesUsersForUpdateOfRemovedElement() {
return [
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar", "foo@bar.net"],
- ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.7//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar", null, "foo@bar.net"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar", "foo@bar.net"],
+ ["BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar", null, "foo@bar.net"],
];
}
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index b4e853d4b2d..966c94e182c 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -34,6 +34,8 @@ OC.L10N.register(
"Download" : "Herunterladen",
"Rename" : "Umbenennen",
"Delete" : "Löschen",
+ "Disconnect storage" : "Speicher trennen",
+ "Unshare" : "Freigabe aufheben",
"Details" : "Details",
"Select" : "Auswählen",
"Pending" : "Ausstehend",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 2176c57d0fc..9d40e2dc31b 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -32,6 +32,8 @@
"Download" : "Herunterladen",
"Rename" : "Umbenennen",
"Delete" : "Löschen",
+ "Disconnect storage" : "Speicher trennen",
+ "Unshare" : "Freigabe aufheben",
"Details" : "Details",
"Select" : "Auswählen",
"Pending" : "Ausstehend",
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index ecb66e0eb1a..6ef00a8f672 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -34,12 +34,16 @@ OC.L10N.register(
"Download" : "Descarregar",
"Rename" : "Renomear",
"Delete" : "Apagar",
+ "Disconnect storage" : "Desconete o armazenamento",
+ "Unshare" : "Cancelar partilha",
"Details" : "Detalhes",
"Select" : "Selecionar",
"Pending" : "Pendente",
"Unable to determine date" : "Impossível determinar a data",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta diretoria está indisponível, por favor, verifique os registos ou contacte o administrador",
+ "Could not move \"{file}\"" : "Não foi possivel mover o ficheiro \"{file}\"",
+ "{newName} already exists" : "{newName} já existe",
"No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'",
"Name" : "Nome",
"Size" : "Tamanho",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index bdbdb7225bb..4c40db8c3a9 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -32,12 +32,16 @@
"Download" : "Descarregar",
"Rename" : "Renomear",
"Delete" : "Apagar",
+ "Disconnect storage" : "Desconete o armazenamento",
+ "Unshare" : "Cancelar partilha",
"Details" : "Detalhes",
"Select" : "Selecionar",
"Pending" : "Pendente",
"Unable to determine date" : "Impossível determinar a data",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta diretoria está indisponível, por favor, verifique os registos ou contacte o administrador",
+ "Could not move \"{file}\"" : "Não foi possivel mover o ficheiro \"{file}\"",
+ "{newName} already exists" : "{newName} já existe",
"No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'",
"Name" : "Nome",
"Size" : "Tamanho",
diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js
index 56c5f72abf9..ff11ac0228b 100644
--- a/apps/files_external/l10n/ca.js
+++ b/apps/files_external/l10n/ca.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Comproveu si hi ha canvis",
"Never" : "Mai",
"Once every direct access" : "Un cop cada accés directe",
- "Every time the filesystem is used" : "Cada vegada que s'utilitza el sistema d'arxius",
"All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.",
"(group)" : "(grup)",
"Saved" : "Desat",
diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json
index 7a166c3c011..a64721a4bf5 100644
--- a/apps/files_external/l10n/ca.json
+++ b/apps/files_external/l10n/ca.json
@@ -16,7 +16,6 @@
"Check for changes" : "Comproveu si hi ha canvis",
"Never" : "Mai",
"Once every direct access" : "Un cop cada accés directe",
- "Every time the filesystem is used" : "Cada vegada que s'utilitza el sistema d'arxius",
"All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.",
"(group)" : "(grup)",
"Saved" : "Desat",
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index 13ca22abcc9..c05778705fc 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Zkontrolovat změny",
"Never" : "Nikdy",
"Once every direct access" : "Jednou pro každý přímý přístup",
- "Every time the filesystem is used" : "Pokaždé když je použit souborový systém",
"All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.",
"(group)" : "(skupina)",
"Admin defined" : "Nastaveno administrátorem",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index bfcd3a30f46..749d9c4088f 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -29,7 +29,6 @@
"Check for changes" : "Zkontrolovat změny",
"Never" : "Nikdy",
"Once every direct access" : "Jednou pro každý přímý přístup",
- "Every time the filesystem is used" : "Pokaždé když je použit souborový systém",
"All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.",
"(group)" : "(skupina)",
"Admin defined" : "Nastaveno administrátorem",
diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js
index dc86b6f1c06..6b6db06d817 100644
--- a/apps/files_external/l10n/da.js
+++ b/apps/files_external/l10n/da.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"Check for changes" : "Tjek for ændringer",
"Never" : "Aldrig",
"Once every direct access" : "Kun ved hver direkte tilgang",
- "Every time the filesystem is used" : "Hver gang filsystemet benyttes",
"All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.",
"(group)" : "(gruppe)",
"Saved" : "Gemt",
diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json
index bb7961fbb2b..61b1bab2d55 100644
--- a/apps/files_external/l10n/da.json
+++ b/apps/files_external/l10n/da.json
@@ -27,7 +27,6 @@
"Check for changes" : "Tjek for ændringer",
"Never" : "Aldrig",
"Once every direct access" : "Kun ved hver direkte tilgang",
- "Every time the filesystem is used" : "Hver gang filsystemet benyttes",
"All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.",
"(group)" : "(gruppe)",
"Saved" : "Gemt",
diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js
index 18f67db420f..41b86dbeb48 100644
--- a/apps/files_external/l10n/de.js
+++ b/apps/files_external/l10n/de.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Check for changes" : "Auf Änderungen überprüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
- "Every time the filesystem is used" : "Immer, wenn das Dateisystem benutzt wird",
"All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.",
"(group)" : "(group)",
"Admin defined" : "Administrator festlegen",
diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json
index cae7672260e..2b50a822507 100644
--- a/apps/files_external/l10n/de.json
+++ b/apps/files_external/l10n/de.json
@@ -22,7 +22,6 @@
"Check for changes" : "Auf Änderungen überprüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
- "Every time the filesystem is used" : "Immer, wenn das Dateisystem benutzt wird",
"All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.",
"(group)" : "(group)",
"Admin defined" : "Administrator festlegen",
diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js
index 06ead3b9716..f3cbcd2be6e 100644
--- a/apps/files_external/l10n/de_DE.js
+++ b/apps/files_external/l10n/de_DE.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Check for changes" : "Auf Änderungen überprüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
- "Every time the filesystem is used" : "Immer, wenn das Dateisystem benutzt wird",
"All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.",
"(group)" : "(group)",
"Saved" : "Gespeichert",
diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json
index 8e19cb9333d..d366b1f0d9f 100644
--- a/apps/files_external/l10n/de_DE.json
+++ b/apps/files_external/l10n/de_DE.json
@@ -18,7 +18,6 @@
"Check for changes" : "Auf Änderungen überprüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
- "Every time the filesystem is used" : "Immer, wenn das Dateisystem benutzt wird",
"All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.",
"(group)" : "(group)",
"Saved" : "Gespeichert",
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index 6de2ebb2101..bae61dee741 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Έλεγχος για αλλαγές",
"Never" : "Ποτέ",
"Once every direct access" : "Σε κάθε απευθείας πρόσβαση",
- "Every time the filesystem is used" : "Κάθε φορά που χρησιμοποιείται το σύστημα αρχείων",
"All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.",
"(group)" : "(ομάδα)",
"Saved" : "Αποθηκεύτηκαν",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index 1c5d7fb6dfc..e85059d88ba 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -29,7 +29,6 @@
"Check for changes" : "Έλεγχος για αλλαγές",
"Never" : "Ποτέ",
"Once every direct access" : "Σε κάθε απευθείας πρόσβαση",
- "Every time the filesystem is used" : "Κάθε φορά που χρησιμοποιείται το σύστημα αρχείων",
"All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.",
"(group)" : "(ομάδα)",
"Saved" : "Αποθηκεύτηκαν",
diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js
index 9efc720eb18..adba5abf88c 100644
--- a/apps/files_external/l10n/en_GB.js
+++ b/apps/files_external/l10n/en_GB.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Check for changes",
"Never" : "Never",
"Once every direct access" : "Once every direct access",
- "Every time the filesystem is used" : "Every time the filesystem is used",
"All users. Type to select user or group." : "All users. Type to select user or group.",
"(group)" : "(group)",
"Saved" : "Saved",
diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json
index 87deeec5989..04d43cf4854 100644
--- a/apps/files_external/l10n/en_GB.json
+++ b/apps/files_external/l10n/en_GB.json
@@ -16,7 +16,6 @@
"Check for changes" : "Check for changes",
"Never" : "Never",
"Once every direct access" : "Once every direct access",
- "Every time the filesystem is used" : "Every time the filesystem is used",
"All users. Type to select user or group." : "All users. Type to select user or group.",
"(group)" : "(group)",
"Saved" : "Saved",
diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js
index 5aaa3884fd0..c39653acb53 100644
--- a/apps/files_external/l10n/es.js
+++ b/apps/files_external/l10n/es.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Comprobar si hay cambios",
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
- "Every time the filesystem is used" : "Cada vez que filesystem es utilizado",
"All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.",
"(group)" : "(grupo)",
"Admin defined" : "Admin definido",
diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json
index 60722de1f41..761aaad5a13 100644
--- a/apps/files_external/l10n/es.json
+++ b/apps/files_external/l10n/es.json
@@ -29,7 +29,6 @@
"Check for changes" : "Comprobar si hay cambios",
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
- "Every time the filesystem is used" : "Cada vez que filesystem es utilizado",
"All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.",
"(group)" : "(grupo)",
"Admin defined" : "Admin definido",
diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js
index e21ce7e39ae..989ff604952 100644
--- a/apps/files_external/l10n/et_EE.js
+++ b/apps/files_external/l10n/et_EE.js
@@ -22,7 +22,6 @@ OC.L10N.register(
"Check for changes" : "Otsi uuendusi",
"Never" : "Mitte kunagi",
"Once every direct access" : "Kord iga otsese pöördumise korral",
- "Every time the filesystem is used" : "Iga kord, kui failisüsteemi kasutatakse",
"All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.",
"(group)" : "(grupp)",
"Admin defined" : "Admini poolt määratud",
diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json
index ad7b8622be8..ad8e87e55f9 100644
--- a/apps/files_external/l10n/et_EE.json
+++ b/apps/files_external/l10n/et_EE.json
@@ -20,7 +20,6 @@
"Check for changes" : "Otsi uuendusi",
"Never" : "Mitte kunagi",
"Once every direct access" : "Kord iga otsese pöördumise korral",
- "Every time the filesystem is used" : "Iga kord, kui failisüsteemi kasutatakse",
"All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.",
"(group)" : "(grupp)",
"Admin defined" : "Admini poolt määratud",
diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js
index c358a2b3260..48b75826a20 100644
--- a/apps/files_external/l10n/fi_FI.js
+++ b/apps/files_external/l10n/fi_FI.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Check for changes" : "Tarkista muutokset",
"Never" : "Ei koskaan",
"Once every direct access" : "Kerran aina suoran käytön yhteydessä",
- "Every time the filesystem is used" : "Aina kun tiedostojärjestelmää käytetään",
"All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.",
"(group)" : "(ryhmä)",
"Admin defined" : "Ylläpitäjän määrittämä",
diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json
index 4e72d861d6f..32109870db0 100644
--- a/apps/files_external/l10n/fi_FI.json
+++ b/apps/files_external/l10n/fi_FI.json
@@ -18,7 +18,6 @@
"Check for changes" : "Tarkista muutokset",
"Never" : "Ei koskaan",
"Once every direct access" : "Kerran aina suoran käytön yhteydessä",
- "Every time the filesystem is used" : "Aina kun tiedostojärjestelmää käytetään",
"All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.",
"(group)" : "(ryhmä)",
"Admin defined" : "Ylläpitäjän määrittämä",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index eb99f0aaeba..1e489e2933a 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Rechercher les modifications",
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
- "Every time the filesystem is used" : "Chaque fois que le système de fichiers est utilisé",
"All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.",
"(group)" : "(groupe)",
"Admin defined" : "Défini par l'administrateur",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index a399872c208..623691f59c4 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -29,7 +29,6 @@
"Check for changes" : "Rechercher les modifications",
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
- "Every time the filesystem is used" : "Chaque fois que le système de fichiers est utilisé",
"All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.",
"(group)" : "(groupe)",
"Admin defined" : "Défini par l'administrateur",
diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js
index 044b7c34df1..26e54ee7453 100644
--- a/apps/files_external/l10n/gl.js
+++ b/apps/files_external/l10n/gl.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Comprobar se hai cambios",
"Never" : "Nunca",
"Once every direct access" : "Unha vez cada acceso directo",
- "Every time the filesystem is used" : "Cada vez que se utiliza o sistema de ficheiros",
"All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Gardado",
diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json
index 143b9a53b43..e9be28bfa18 100644
--- a/apps/files_external/l10n/gl.json
+++ b/apps/files_external/l10n/gl.json
@@ -16,7 +16,6 @@
"Check for changes" : "Comprobar se hai cambios",
"Never" : "Nunca",
"Once every direct access" : "Unha vez cada acceso directo",
- "Every time the filesystem is used" : "Cada vez que se utiliza o sistema de ficheiros",
"All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Gardado",
diff --git a/apps/files_external/l10n/hu_HU.js b/apps/files_external/l10n/hu_HU.js
index a50ca431c02..4eb93dab872 100644
--- a/apps/files_external/l10n/hu_HU.js
+++ b/apps/files_external/l10n/hu_HU.js
@@ -14,7 +14,6 @@ OC.L10N.register(
"Check for changes" : "Változások keresése",
"Never" : "Soha",
"Once every direct access" : "Minden közvetlen elérésnél",
- "Every time the filesystem is used" : "Mindig, amikor a fájlrendszer használatban van",
"All users. Type to select user or group." : "Összes felhasználó. Írj be egy felhasználót vagy csoportot.",
"(group)" : "(csoport)",
"Admin defined" : "Adminisztrátor definiálva",
diff --git a/apps/files_external/l10n/hu_HU.json b/apps/files_external/l10n/hu_HU.json
index 30acbfc194d..bc50176e5a3 100644
--- a/apps/files_external/l10n/hu_HU.json
+++ b/apps/files_external/l10n/hu_HU.json
@@ -12,7 +12,6 @@
"Check for changes" : "Változások keresése",
"Never" : "Soha",
"Once every direct access" : "Minden közvetlen elérésnél",
- "Every time the filesystem is used" : "Mindig, amikor a fájlrendszer használatban van",
"All users. Type to select user or group." : "Összes felhasználó. Írj be egy felhasználót vagy csoportot.",
"(group)" : "(csoport)",
"Admin defined" : "Adminisztrátor definiálva",
diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js
index 1029ff8e3c7..d782e285cc8 100644
--- a/apps/files_external/l10n/id.js
+++ b/apps/files_external/l10n/id.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"Check for changes" : "Periksa perubahan",
"Never" : "Jangan pernah",
"Once every direct access" : "Setiap kali akses langsung",
- "Every time the filesystem is used" : "Setiap kali sistem berkas digunakan",
"All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.",
"(group)" : "(grup)",
"Saved" : "Disimpan",
diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json
index acaf37381bc..ae39765674b 100644
--- a/apps/files_external/l10n/id.json
+++ b/apps/files_external/l10n/id.json
@@ -27,7 +27,6 @@
"Check for changes" : "Periksa perubahan",
"Never" : "Jangan pernah",
"Once every direct access" : "Setiap kali akses langsung",
- "Every time the filesystem is used" : "Setiap kali sistem berkas digunakan",
"All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.",
"(group)" : "(grup)",
"Saved" : "Disimpan",
diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js
index 85fb70cf1a7..5c56bb7c891 100644
--- a/apps/files_external/l10n/it.js
+++ b/apps/files_external/l10n/it.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Controlla le modifiche",
"Never" : "Mai",
"Once every direct access" : "Una volta per ogni accesso diretto",
- "Every time the filesystem is used" : "Ogni volta che il filesystem viene utilizzato",
"All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.",
"(group)" : "(gruppo)",
"Admin defined" : "Definito dall'amministratore",
diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json
index 08da52362d6..a3772d67ab9 100644
--- a/apps/files_external/l10n/it.json
+++ b/apps/files_external/l10n/it.json
@@ -29,7 +29,6 @@
"Check for changes" : "Controlla le modifiche",
"Never" : "Mai",
"Once every direct access" : "Una volta per ogni accesso diretto",
- "Every time the filesystem is used" : "Ogni volta che il filesystem viene utilizzato",
"All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.",
"(group)" : "(gruppo)",
"Admin defined" : "Definito dall'amministratore",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index 2d431342411..fca576f619f 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "変更点を確認",
"Never" : "更新無",
"Once every direct access" : "直指定時のみ",
- "Every time the filesystem is used" : "ファイルシステム利用時には毎回",
"All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加",
"(group)" : "(グループ)",
"Admin defined" : "管理者設定済",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index 36360f75a41..4d8e3a5a4e5 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -29,7 +29,6 @@
"Check for changes" : "変更点を確認",
"Never" : "更新無",
"Once every direct access" : "直指定時のみ",
- "Every time the filesystem is used" : "ファイルシステム利用時には毎回",
"All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加",
"(group)" : "(グループ)",
"Admin defined" : "管理者設定済",
diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js
index 0eaac8aee4d..6c569639cab 100644
--- a/apps/files_external/l10n/ko.js
+++ b/apps/files_external/l10n/ko.js
@@ -30,7 +30,6 @@ OC.L10N.register(
"Check for changes" : "변경 사항 감시",
"Never" : "하지 않음",
"Once every direct access" : "한 번 직접 접근할 때마다",
- "Every time the filesystem is used" : "파일 시스템을 사용할 때마다",
"All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오",
"(group)" : "(그룹)",
"Saved" : "저장됨",
diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json
index 7f63ba793e7..4b64b7433ac 100644
--- a/apps/files_external/l10n/ko.json
+++ b/apps/files_external/l10n/ko.json
@@ -28,7 +28,6 @@
"Check for changes" : "변경 사항 감시",
"Never" : "하지 않음",
"Once every direct access" : "한 번 직접 접근할 때마다",
- "Every time the filesystem is used" : "파일 시스템을 사용할 때마다",
"All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오",
"(group)" : "(그룹)",
"Saved" : "저장됨",
diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js
index 7df90e24eb7..cf8e7813d20 100644
--- a/apps/files_external/l10n/nb_NO.js
+++ b/apps/files_external/l10n/nb_NO.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Se etter endringer",
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte aksess",
- "Every time the filesystem is used" : "Hver gang filsystemet brukes",
"All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.",
"(group)" : "(gruppe)",
"Admin defined" : "Admin-definert",
diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json
index f6ca25f83eb..eaad9c7461d 100644
--- a/apps/files_external/l10n/nb_NO.json
+++ b/apps/files_external/l10n/nb_NO.json
@@ -29,7 +29,6 @@
"Check for changes" : "Se etter endringer",
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte aksess",
- "Every time the filesystem is used" : "Hver gang filsystemet brukes",
"All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.",
"(group)" : "(gruppe)",
"Admin defined" : "Admin-definert",
diff --git a/apps/files_external/l10n/nds.js b/apps/files_external/l10n/nds.js
index b9417b4a4d5..73df3c8483d 100644
--- a/apps/files_external/l10n/nds.js
+++ b/apps/files_external/l10n/nds.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"Check for changes" : "Auf Änderungen prüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem direkten Zugriff",
- "Every time the filesystem is used" : "Bei jeder Verwendung des Dateisystems",
"All users. Type to select user or group." : "Alle Benutzer. Tippe, um eine Benutzergruppe auszuwählen.",
"(group)" : "(Gruppe)",
"Saved" : "Gespeichert",
diff --git a/apps/files_external/l10n/nds.json b/apps/files_external/l10n/nds.json
index dd1ca770ebd..57cbefff91b 100644
--- a/apps/files_external/l10n/nds.json
+++ b/apps/files_external/l10n/nds.json
@@ -27,7 +27,6 @@
"Check for changes" : "Auf Änderungen prüfen",
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem direkten Zugriff",
- "Every time the filesystem is used" : "Bei jeder Verwendung des Dateisystems",
"All users. Type to select user or group." : "Alle Benutzer. Tippe, um eine Benutzergruppe auszuwählen.",
"(group)" : "(Gruppe)",
"Saved" : "Gespeichert",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 3200988ec2b..999302325ac 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Controleren op wijzigingen",
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
- "Every time the filesystem is used" : "Elke keer bij gebruik bestandssysteem",
"All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.",
"(group)" : "(groep)",
"Admin defined" : "Beheerder gedefinieerd",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 09b912445c1..eda2c9cbc30 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -29,7 +29,6 @@
"Check for changes" : "Controleren op wijzigingen",
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
- "Every time the filesystem is used" : "Elke keer bij gebruik bestandssysteem",
"All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.",
"(group)" : "(groep)",
"Admin defined" : "Beheerder gedefinieerd",
diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js
index a212c9a5179..71b174f2e61 100644
--- a/apps/files_external/l10n/oc.js
+++ b/apps/files_external/l10n/oc.js
@@ -30,7 +30,6 @@ OC.L10N.register(
"Check for changes" : "Recercar las modificacions",
"Never" : "Pas jamai",
"Once every direct access" : "Un còp a cada accès dirècte",
- "Every time the filesystem is used" : "A cada còp que lo sistèma de fichièrs es utilizat",
"All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.",
"(group)" : "(grop)",
"Saved" : "Enregistrat",
diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json
index a7d51dd8ad0..edfd9d0a21b 100644
--- a/apps/files_external/l10n/oc.json
+++ b/apps/files_external/l10n/oc.json
@@ -28,7 +28,6 @@
"Check for changes" : "Recercar las modificacions",
"Never" : "Pas jamai",
"Once every direct access" : "Un còp a cada accès dirècte",
- "Every time the filesystem is used" : "A cada còp que lo sistèma de fichièrs es utilizat",
"All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.",
"(group)" : "(grop)",
"Saved" : "Enregistrat",
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index 99de2703433..523a913d1f2 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Sprawdź zmiany",
"Never" : "Nigdy",
"Once every direct access" : "Jeden raz przy każdym dostępie",
- "Every time the filesystem is used" : "Każdorazowo, kiedy system plików jest w użyciu",
"All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.",
"(group)" : "(grupa)",
"Saved" : "Zapisano",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index 258811f2d81..25d379cc730 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -16,7 +16,6 @@
"Check for changes" : "Sprawdź zmiany",
"Never" : "Nigdy",
"Once every direct access" : "Jeden raz przy każdym dostępie",
- "Every time the filesystem is used" : "Każdorazowo, kiedy system plików jest w użyciu",
"All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.",
"(group)" : "(grupa)",
"Saved" : "Zapisano",
diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js
index 296d51836ca..c049b5e147c 100644
--- a/apps/files_external/l10n/pt_BR.js
+++ b/apps/files_external/l10n/pt_BR.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Verifique se há alterações",
"Never" : "Nunca",
"Once every direct access" : "Uma vez a cada acesso direto",
- "Every time the filesystem is used" : "Toda vez que o sistema de arquivos é usado",
"All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.",
"(group)" : "(grupo)",
"Admin defined" : "Definido pelo administrador",
diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json
index 5e4aed0b191..069bdf1543b 100644
--- a/apps/files_external/l10n/pt_BR.json
+++ b/apps/files_external/l10n/pt_BR.json
@@ -29,7 +29,6 @@
"Check for changes" : "Verifique se há alterações",
"Never" : "Nunca",
"Once every direct access" : "Uma vez a cada acesso direto",
- "Every time the filesystem is used" : "Toda vez que o sistema de arquivos é usado",
"All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.",
"(group)" : "(grupo)",
"Admin defined" : "Definido pelo administrador",
diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js
index f6c3254de0b..33504ef2adb 100644
--- a/apps/files_external/l10n/pt_PT.js
+++ b/apps/files_external/l10n/pt_PT.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Check for changes" : "Verifique as suas alterações",
"Never" : "Nunca",
"Once every direct access" : "Uma vez em cada acesso direto",
- "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado",
"All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Guardado",
diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json
index ec22394470e..6153c142532 100644
--- a/apps/files_external/l10n/pt_PT.json
+++ b/apps/files_external/l10n/pt_PT.json
@@ -26,7 +26,6 @@
"Check for changes" : "Verifique as suas alterações",
"Never" : "Nunca",
"Once every direct access" : "Uma vez em cada acesso direto",
- "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado",
"All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Guardado",
diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js
index 2beb17d3001..95de2dcb067 100644
--- a/apps/files_external/l10n/ru.js
+++ b/apps/files_external/l10n/ru.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Проверять изменения",
"Never" : "Никогда",
"Once every direct access" : "Один раз при прямом доступе",
- "Every time the filesystem is used" : "Каждый раз при обращении к файловой системе",
"All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.",
"(group)" : "(группа)",
"Admin defined" : "Админ определен",
diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json
index 7366aa01246..272a1ca1032 100644
--- a/apps/files_external/l10n/ru.json
+++ b/apps/files_external/l10n/ru.json
@@ -29,7 +29,6 @@
"Check for changes" : "Проверять изменения",
"Never" : "Никогда",
"Once every direct access" : "Один раз при прямом доступе",
- "Every time the filesystem is used" : "Каждый раз при обращении к файловой системе",
"All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.",
"(group)" : "(группа)",
"Admin defined" : "Админ определен",
diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js
index 7485625455c..2c81272ff1f 100644
--- a/apps/files_external/l10n/sk_SK.js
+++ b/apps/files_external/l10n/sk_SK.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"Check for changes" : "Zisťovať zmeny",
"Never" : "Nikdy",
"Once every direct access" : "S každým priamym prístupom",
- "Every time the filesystem is used" : "Vždy keď je použitý súborový systém",
"All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.",
"(group)" : "(skupina)",
"Saved" : "Uložené",
diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json
index 9ed60285b2d..85532f676bc 100644
--- a/apps/files_external/l10n/sk_SK.json
+++ b/apps/files_external/l10n/sk_SK.json
@@ -27,7 +27,6 @@
"Check for changes" : "Zisťovať zmeny",
"Never" : "Nikdy",
"Once every direct access" : "S každým priamym prístupom",
- "Every time the filesystem is used" : "Vždy keď je použitý súborový systém",
"All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.",
"(group)" : "(skupina)",
"Saved" : "Uložené",
diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js
index 846f1d0095a..9fa5acb2f31 100644
--- a/apps/files_external/l10n/sl.js
+++ b/apps/files_external/l10n/sl.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Preveri za spremembe",
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
- "Every time the filesystem is used" : "Kadarkoli je datotečni sistem v uporabi",
"All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.",
"(group)" : "(skupina)",
"Saved" : "Shranjeno",
diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json
index aa7145180e4..b42ebba1a66 100644
--- a/apps/files_external/l10n/sl.json
+++ b/apps/files_external/l10n/sl.json
@@ -16,7 +16,6 @@
"Check for changes" : "Preveri za spremembe",
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
- "Every time the filesystem is used" : "Kadarkoli je datotečni sistem v uporabi",
"All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.",
"(group)" : "(skupina)",
"Saved" : "Shranjeno",
diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js
index 3e2de744b15..832146631dd 100644
--- a/apps/files_external/l10n/sq.js
+++ b/apps/files_external/l10n/sq.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "Kontrollo për ndryshime",
"Never" : "Kurrë",
"Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta",
- "Every time the filesystem is used" : "Sa herë që përdoret sistemi i kartelave",
"All users. Type to select user or group." : "Krejt përdoruesit. Shtypni që të përzgjidhet përdorues ose grup.",
"(group)" : "(grup)",
"Admin defined" : "Përcaktuar nga përgjegjësi",
diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json
index f184caf061e..f134140ed51 100644
--- a/apps/files_external/l10n/sq.json
+++ b/apps/files_external/l10n/sq.json
@@ -29,7 +29,6 @@
"Check for changes" : "Kontrollo për ndryshime",
"Never" : "Kurrë",
"Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta",
- "Every time the filesystem is used" : "Sa herë që përdoret sistemi i kartelave",
"All users. Type to select user or group." : "Krejt përdoruesit. Shtypni që të përzgjidhet përdorues ose grup.",
"(group)" : "(grup)",
"Admin defined" : "Përcaktuar nga përgjegjësi",
diff --git a/apps/files_external/l10n/sr.js b/apps/files_external/l10n/sr.js
index add0cc4dab7..a90d36b586f 100644
--- a/apps/files_external/l10n/sr.js
+++ b/apps/files_external/l10n/sr.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"Check for changes" : "Провери измене",
"Never" : "никад",
"Once every direct access" : "једном при сваком директном приступу",
- "Every time the filesystem is used" : "сваки пут кад се фајл-систем користи",
"All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.",
"(group)" : "(група)",
"Saved" : "Сачувано",
diff --git a/apps/files_external/l10n/sr.json b/apps/files_external/l10n/sr.json
index 3e7ac487280..6c938e8a14c 100644
--- a/apps/files_external/l10n/sr.json
+++ b/apps/files_external/l10n/sr.json
@@ -16,7 +16,6 @@
"Check for changes" : "Провери измене",
"Never" : "никад",
"Once every direct access" : "једном при сваком директном приступу",
- "Every time the filesystem is used" : "сваки пут кад се фајл-систем користи",
"All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.",
"(group)" : "(група)",
"Saved" : "Сачувано",
diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js
index 97a64e78e40..6019f3985b3 100644
--- a/apps/files_external/l10n/th_TH.js
+++ b/apps/files_external/l10n/th_TH.js
@@ -31,7 +31,6 @@ OC.L10N.register(
"Check for changes" : "ตรวจสอบการเปลี่ยนแปลง",
"Never" : "ไม่เคย",
"Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
- "Every time the filesystem is used" : "ทุกครั้งที่แฟ้มระบบถูกใช้งาน",
"All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม",
"(group)" : "(กลุ่ม)",
"Admin defined" : "ถูกกำหนดโดยผู้ดูแลระบบ",
diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json
index de569c9d61f..dbf0fd7870f 100644
--- a/apps/files_external/l10n/th_TH.json
+++ b/apps/files_external/l10n/th_TH.json
@@ -29,7 +29,6 @@
"Check for changes" : "ตรวจสอบการเปลี่ยนแปลง",
"Never" : "ไม่เคย",
"Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
- "Every time the filesystem is used" : "ทุกครั้งที่แฟ้มระบบถูกใช้งาน",
"All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม",
"(group)" : "(กลุ่ม)",
"Admin defined" : "ถูกกำหนดโดยผู้ดูแลระบบ",
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index 78f9df04ec6..2728d02a8b8 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -30,7 +30,6 @@ OC.L10N.register(
"Check for changes" : "Değişiklikleri denetle",
"Never" : "Daha yeni",
"Once every direct access" : "Her doğrudan erişimde bir kez",
- "Every time the filesystem is used" : "Dosya sistemi her kullanıldığında",
"All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.",
"(group)" : "(grup)",
"Saved" : "Kaydedildi",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index a798f4a7427..204b86c19f4 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -28,7 +28,6 @@
"Check for changes" : "Değişiklikleri denetle",
"Never" : "Daha yeni",
"Once every direct access" : "Her doğrudan erişimde bir kez",
- "Every time the filesystem is used" : "Dosya sistemi her kullanıldığında",
"All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.",
"(group)" : "(grup)",
"Saved" : "Kaydedildi",
diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js
index 56182dc68c2..9adf4abfa54 100644
--- a/apps/files_external/l10n/zh_TW.js
+++ b/apps/files_external/l10n/zh_TW.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"Enable previews" : "啟動預覽",
"Check for changes" : "檢查變動",
"Never" : "絕不",
- "Every time the filesystem is used" : "每當檔案系統使用時",
"All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組",
"(group)" : "(群組)",
"Saved" : "已儲存",
diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json
index 629544bdaaf..73ba881e580 100644
--- a/apps/files_external/l10n/zh_TW.json
+++ b/apps/files_external/l10n/zh_TW.json
@@ -27,7 +27,6 @@
"Enable previews" : "啟動預覽",
"Check for changes" : "檢查變動",
"Never" : "絕不",
- "Every time the filesystem is used" : "每當檔案系統使用時",
"All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組",
"(group)" : "(群組)",
"Saved" : "已儲存",
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index 3f3953bb28b..67918bca409 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -570,15 +570,12 @@ class Connection extends LDAPUtility {
* @param string $host
* @param string $port
* @return false|void
+ * @throws \OC\ServerNotAvailableException
*/
private function doConnect($host, $port) {
if(empty($host)) {
return false;
}
- if(strpos($host, '://') !== false) {
- //ldap_connect ignores port parameter when URLs are passed
- $host .= ':' . $port;
- }
$this->ldapConnectionRes = $this->ldap->connect($host, $port);
if($this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {
if($this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_REFERRALS, 0)) {
@@ -586,6 +583,8 @@ class Connection extends LDAPUtility {
$this->ldap->startTls($this->ldapConnectionRes);
}
}
+ } else {
+ throw new \OC\ServerNotAvailableException('Could not set required LDAP Protocol version.');
}
}
diff --git a/apps/user_ldap/lib/ldap.php b/apps/user_ldap/lib/ldap.php
index 4d45db2e155..e730bff82c3 100644
--- a/apps/user_ldap/lib/ldap.php
+++ b/apps/user_ldap/lib/ldap.php
@@ -48,7 +48,14 @@ class LDAP implements ILDAPWrapper {
* @return mixed
*/
public function connect($host, $port) {
- return $this->invokeLDAPMethod('connect', $host, $port);
+ if(strpos($host, '://') === false) {
+ $host = 'ldap://' . $host;
+ }
+ if(strpos($host, ':', strpos($host, '://') + 1) === false) {
+ //ldap_connect ignores port parameter when URLs are passed
+ $host .= ':' . $port;
+ }
+ return $this->invokeLDAPMethod('connect', $host);
}
/**
diff --git a/apps/user_ldap/lib/wizard.php b/apps/user_ldap/lib/wizard.php
index e53ff35cfd6..20926fb06a4 100644
--- a/apps/user_ldap/lib/wizard.php
+++ b/apps/user_ldap/lib/wizard.php
@@ -1035,13 +1035,6 @@ class Wizard extends LDAPUtility {
if(!$hostInfo) {
throw new \Exception($this->l->t('Invalid Host'));
}
- if(isset($hostInfo['scheme'])) {
- if(isset($hostInfo['port'])) {
- //problem
- } else {
- $host .= ':' . $port;
- }
- }
\OCP\Util::writeLog('user_ldap', 'Wiz: Attempting to connect ', \OCP\Util::DEBUG);
$cr = $this->ldap->connect($host, $port);
if(!is_resource($cr)) {
@@ -1291,12 +1284,10 @@ class Wizard extends LDAPUtility {
return $this->cr;
}
- $host = $this->configuration->ldapHost;
- if(strpos($host, '://') !== false) {
- //ldap_connect ignores port parameter when URLs are passed
- $host .= ':' . $this->configuration->ldapPort;
- }
- $cr = $this->ldap->connect($host, $this->configuration->ldapPort);
+ $cr = $this->ldap->connect(
+ $this->configuration->ldapHost,
+ $this->configuration->ldapPort
+ );
$this->ldap->setOption($cr, LDAP_OPT_PROTOCOL_VERSION, 3);
$this->ldap->setOption($cr, LDAP_OPT_REFERRALS, 0);
diff --git a/apps/user_ldap/tests/integration/lib/integrationtestconnect.php b/apps/user_ldap/tests/integration/lib/integrationtestconnect.php
new file mode 100644
index 00000000000..878aa08f5ab
--- /dev/null
+++ b/apps/user_ldap/tests/integration/lib/integrationtestconnect.php
@@ -0,0 +1,166 @@
+<?php
+/**
+ * @author Arthur Schiwon <blizzz@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\user_ldap\tests\integration\lib;
+
+use OCA\user_ldap\lib\user\Manager as LDAPUserManager;
+use OCA\user_ldap\tests\integration\AbstractIntegrationTest;
+use OCA\User_LDAP\Mapping\UserMapping;
+use OCA\user_ldap\USER_LDAP;
+
+require_once __DIR__ . '/../../../../../lib/base.php';
+
+class IntegrationConnect extends AbstractIntegrationTest {
+ /** @var UserMapping */
+ protected $mapping;
+
+ /** @var USER_LDAP */
+ protected $backend;
+
+ /** @var string */
+ protected $host;
+
+ /** @var int */
+ protected $port;
+
+ public function __construct($host, $port, $bind, $pwd, $base) {
+ // make sure host is a simple host name
+ if(strpos($host, '://') !== false) {
+ $host = substr_replace($host, '', 0, strpos($host, '://') + 3);
+ }
+ if(strpos($host, ':') !== false) {
+ $host = substr_replace($host, '', strpos($host, ':'));
+ }
+ $this->host = $host;
+ $this->port = $port;
+ parent::__construct($host, $port, $bind, $pwd, $base);
+ }
+
+ /**
+ * test that a faulty host will does not connect successfully
+ *
+ * @return bool
+ */
+ protected function case1() {
+ // reset possible LDAP connection
+ $this->initConnection();
+ $this->connection->setConfiguration([
+ 'ldapHost' => 'qwertz.uiop',
+ ]);
+ try {
+ $this->connection->getConnectionResource();
+ } catch (\OC\ServerNotAvailableException $e) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * tests that a connect succeeds when only a hostname is provided
+ *
+ * @return bool
+ */
+ protected function case2() {
+ // reset possible LDAP connection
+ $this->initConnection();
+ $this->connection->setConfiguration([
+ 'ldapHost' => $this->host,
+ ]);
+ try {
+ $this->connection->getConnectionResource();
+ } catch (\OC\ServerNotAvailableException $e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * tests that a connect succeeds when an LDAP URL is provided
+ *
+ * @return bool
+ */
+ protected function case3() {
+ // reset possible LDAP connection
+ $this->initConnection();
+ $this->connection->setConfiguration([
+ 'ldapHost' => 'ldap://' . $this->host,
+ ]);
+ try {
+ $this->connection->getConnectionResource();
+ } catch (\OC\ServerNotAvailableException $e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * tests that a connect succeeds when an LDAP URL with port is provided
+ *
+ * @return bool
+ */
+ protected function case4() {
+ // reset possible LDAP connection
+ $this->initConnection();
+ $this->connection->setConfiguration([
+ 'ldapHost' => 'ldap://' . $this->host . ':' . $this->port,
+ ]);
+ try {
+ $this->connection->getConnectionResource();
+ } catch (\OC\ServerNotAvailableException $e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * tests that a connect succeeds when a hostname with port is provided
+ *
+ * @return bool
+ */
+ protected function case5() {
+ // reset possible LDAP connection
+ $this->initConnection();
+ $this->connection->setConfiguration([
+ 'ldapHost' => $this->host . ':' . $this->port,
+ ]);
+ try {
+ $this->connection->getConnectionResource();
+ } catch (\OC\ServerNotAvailableException $e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * repeat case1, only to make sure that not a connection was reused by
+ * accident.
+ *
+ * @return bool
+ */
+ protected function case6() {
+ return $this->case1();
+ }
+}
+
+require_once(__DIR__ . '/../setup-scripts/config.php');
+$test = new IntegrationConnect($host, $port, $adn, $apwd, $bdn);
+$test->init();
+$test->run();
diff --git a/config/config.sample.php b/config/config.sample.php
index 3208a255144..7ba3977fe3a 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -958,6 +958,8 @@ $CONFIG = array(
// dev-/trystack uses swift by default, the lib defaults to 'cloudFiles'
// if omitted
'serviceName' => 'swift',
+ // The Interface / url Type, optional
+ 'urlType' => 'internal'
),
),
diff --git a/core/l10n/ca.js b/core/l10n/ca.js
index 6af8618f1ec..015e224aade 100644
--- a/core/l10n/ca.js
+++ b/core/l10n/ca.js
@@ -239,6 +239,8 @@ OC.L10N.register(
"Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.",
"Log in" : "Inici de sessió",
"Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?",
+ "Wrong password." : "Contrasenya incorrecta.",
+ "Stay logged in" : "Mantén la sessió connectada",
"Alternative Logins" : "Acreditacions alternatives",
"This ownCloud instance is currently in single user mode." : "La instància ownCloud està en mode d'usuari únic.",
"This means only administrators can use the instance." : "Això significa que només els administradors poden usar la instància.",
diff --git a/core/l10n/ca.json b/core/l10n/ca.json
index e2fb2d41a1f..65a09b6e7c7 100644
--- a/core/l10n/ca.json
+++ b/core/l10n/ca.json
@@ -237,6 +237,8 @@
"Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.",
"Log in" : "Inici de sessió",
"Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?",
+ "Wrong password." : "Contrasenya incorrecta.",
+ "Stay logged in" : "Mantén la sessió connectada",
"Alternative Logins" : "Acreditacions alternatives",
"This ownCloud instance is currently in single user mode." : "La instància ownCloud està en mode d'usuari únic.",
"This means only administrators can use the instance." : "Això significa que només els administradors poden usar la instància.",
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index aa369a1cc50..ddd97099621 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Turned on maintenance mode" : "Ativado o modo de manutenção",
"Turned off maintenance mode" : "Desativado o modo de manutenção",
"Maintenance mode is kept active" : "O modo de manutenção é mantido ativo",
+ "Updating database schema" : "A actualizar o esquema da base de dados",
"Updated database" : "Base de dados atualizada",
"Checked database schema update" : "Atualização do esquema da base de dados verificada.",
"Checking updates of apps" : "A procurar por atualizações das apps",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index 0299dd05f06..d7d3afe8c4a 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -4,6 +4,7 @@
"Turned on maintenance mode" : "Ativado o modo de manutenção",
"Turned off maintenance mode" : "Desativado o modo de manutenção",
"Maintenance mode is kept active" : "O modo de manutenção é mantido ativo",
+ "Updating database schema" : "A actualizar o esquema da base de dados",
"Updated database" : "Base de dados atualizada",
"Checked database schema update" : "Atualização do esquema da base de dados verificada.",
"Checking updates of apps" : "A procurar por atualizações das apps",
diff --git a/lib/base.php b/lib/base.php
index 2cace2a0a06..d6ef01ccbf7 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -469,7 +469,12 @@ class OC {
public static function loadAppClassPaths() {
foreach (OC_APP::getEnabledApps() as $app) {
- $file = OC_App::getAppPath($app) . '/appinfo/classpath.php';
+ $appPath = OC_App::getAppPath($app);
+ if ($appPath === false) {
+ continue;
+ }
+
+ $file = $appPath . '/appinfo/classpath.php';
if (file_exists($file)) {
require_once $file;
}
diff --git a/lib/private/avatar.php b/lib/private/avatar.php
index c87facd25da..966e4903649 100644
--- a/lib/private/avatar.php
+++ b/lib/private/avatar.php
@@ -124,12 +124,14 @@ class Avatar implements \OCP\IAvatar {
* @return void
*/
public function remove () {
- try {
- $this->folder->get('avatar.jpg')->delete();
- } catch (\OCP\Files\NotFoundException $e) {}
- try {
- $this->folder->get('avatar.png')->delete();
- } catch (\OCP\Files\NotFoundException $e) {}
+ $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/';
+ $avatars = $this->folder->search('avatar');
+
+ foreach ($avatars as $avatar) {
+ if (preg_match($regex, $avatar->getName())) {
+ $avatar->delete();
+ }
+ }
}
/**
diff --git a/lib/private/files/objectstore/swift.php b/lib/private/files/objectstore/swift.php
index 89ef40360a7..50bb0d9adf5 100644
--- a/lib/private/files/objectstore/swift.php
+++ b/lib/private/files/objectstore/swift.php
@@ -73,11 +73,16 @@ class Swift implements IObjectStore {
// the OpenCloud client library will default to 'cloudFiles' if $serviceName is null
$serviceName = null;
- if ($this->params['serviceName']) {
+ if (isset($this->params['serviceName'])) {
$serviceName = $this->params['serviceName'];
}
- $this->objectStoreService = $this->client->objectStoreService($serviceName, $this->params['region']);
+ // the OpenCloud client library will default to 'publicURL' if $urlType is null
+ $urlType = null;
+ if (isset($this->params['urlType'])) {
+ $urlType = $this->params['urlType'];
+ }
+ $this->objectStoreService = $this->client->objectStoreService($serviceName, $this->params['region'], $urlType);
try {
$this->container = $this->objectStoreService->getContainer($this->params['container']);
diff --git a/lib/private/route/router.php b/lib/private/route/router.php
index 8d31d448855..5cfddca966a 100644
--- a/lib/private/route/router.php
+++ b/lib/private/route/router.php
@@ -33,6 +33,7 @@ namespace OC\Route;
use OCP\ILogger;
use OCP\Route\IRouter;
use OCP\AppFramework\App;
+use OCP\Util;
use Symfony\Component\Routing\Exception\RouteNotFoundException;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\Generator\UrlGenerator;
@@ -41,49 +42,26 @@ use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
class Router implements IRouter {
- /**
- * @var \Symfony\Component\Routing\RouteCollection[]
- */
- protected $collections = array();
-
- /**
- * @var \Symfony\Component\Routing\RouteCollection
- */
+ /** @var RouteCollection[] */
+ protected $collections = [];
+ /** @var null|RouteCollection */
protected $collection = null;
-
- /**
- * @var string
- */
+ /** @var null|string */
protected $collectionName = null;
-
- /**
- * @var \Symfony\Component\Routing\RouteCollection
- */
+ /** @var null|RouteCollection */
protected $root = null;
-
- /**
- * @var \Symfony\Component\Routing\Generator\UrlGenerator
- */
+ /** @var null|UrlGenerator */
protected $generator = null;
-
- /**
- * @var string[]
- */
+ /** @var string[] */
protected $routingFiles;
-
- /**
- * @var string
- */
- protected $cacheKey;
-
+ /** @var bool */
protected $loaded = false;
-
- protected $loadedApps = array();
-
- /**
- * @var ILogger
- */
+ /** @var array */
+ protected $loadedApps = [];
+ /** @var ILogger */
protected $logger;
+ /** @var RequestContext */
+ protected $context;
/**
* @param ILogger $logger
@@ -114,7 +92,7 @@ class Router implements IRouter {
*/
public function getRoutingFiles() {
if (!isset($this->routingFiles)) {
- $this->routingFiles = array();
+ $this->routingFiles = [];
foreach (\OC_APP::getEnabledApps() as $app) {
$file = \OC_App::getAppPath($app) . '/appinfo/routes.php';
if (file_exists($file)) {
@@ -126,23 +104,9 @@ class Router implements IRouter {
}
/**
- * @return string
- */
- public function getCacheKey() {
- if (!isset($this->cacheKey)) {
- $files = $this->getRoutingFiles();
- $files[] = 'settings/routes.php';
- $files[] = 'core/routes.php';
- $files[] = 'ocs/routes.php';
- $this->cacheKey = \OC\Cache::generateCacheKeyFromFiles($files);
- }
- return $this->cacheKey;
- }
-
- /**
- * loads the api routes
+ * Loads the routes
*
- * @return void
+ * @param null|string $app
*/
public function loadRoutes($app = null) {
$requestedApp = $app;
@@ -157,10 +121,10 @@ class Router implements IRouter {
return;
}
$file = \OC_App::getAppPath($app) . '/appinfo/routes.php';
- if (file_exists($file)) {
- $routingFiles = array($app => $file);
+ if ($file !== false && file_exists($file)) {
+ $routingFiles = [$app => $file];
} else {
- $routingFiles = array();
+ $routingFiles = [];
}
}
\OC::$server->getEventLogger()->start('loadroutes' . $requestedApp, 'Loading Routes');
@@ -183,12 +147,12 @@ class Router implements IRouter {
if (!isset($this->loadedApps['core'])) {
$this->loadedApps['core'] = true;
$this->useCollection('root');
- require_once 'settings/routes.php';
- require_once 'core/routes.php';
+ require_once __DIR__ . '/../../../settings/routes.php';
+ require_once __DIR__ . '/../../../core/routes.php';
}
if ($this->loaded) {
// include ocs routes, must be loaded last for /ocs prefix
- require_once 'ocs/routes.php';
+ require_once __DIR__ . '/../../../ocs/routes.php';
$collection = $this->getCollection('ocs');
$collection->addPrefix('/ocs');
$this->root->addCollection($collection);
@@ -197,6 +161,14 @@ class Router implements IRouter {
}
/**
+ * @return string
+ * @deprecated
+ */
+ public function getCacheKey() {
+ return '';
+ }
+
+ /**
* @param string $name
* @return \Symfony\Component\Routing\RouteCollection
*/
@@ -237,7 +209,10 @@ class Router implements IRouter {
* @param array $requirements An array of requirements for parameters (regexes)
* @return \OC\Route\Route
*/
- public function create($name, $pattern, array $defaults = array(), array $requirements = array()) {
+ public function create($name,
+ $pattern,
+ array $defaults = [],
+ array $requirements = []) {
$route = new Route($pattern, $defaults, $requirements);
$this->collection->add($name, $route);
return $route;
@@ -260,7 +235,7 @@ class Router implements IRouter {
$this->loadRoutes($app);
} else if (substr($url, 0, 6) === '/core/' or substr($url, 0, 10) === '/settings/') {
\OC::$REQUESTEDAPP = $url;
- if (!\OC::$server->getConfig()->getSystemValue('maintenance', false) && !\OCP\Util::needUpgrade()) {
+ if (!\OC::$server->getConfig()->getSystemValue('maintenance', false) && !Util::needUpgrade()) {
\OC_App::loadApps();
}
$this->loadRoutes('core');
@@ -325,7 +300,9 @@ class Router implements IRouter {
* @param bool $absolute
* @return string
*/
- public function generate($name, $parameters = array(), $absolute = false) {
+ public function generate($name,
+ $parameters = [],
+ $absolute = false) {
$this->loadRoutes();
try {
$referenceType = UrlGenerator::ABSOLUTE_URL;
@@ -376,6 +353,4 @@ class Router implements IRouter {
$application->registerRoutes($this, $routes);
}
}
-
-
}
diff --git a/lib/public/route/irouter.php b/lib/public/route/irouter.php
index 3f5b58ac416..63e7b9b6202 100644
--- a/lib/public/route/irouter.php
+++ b/lib/public/route/irouter.php
@@ -29,6 +29,7 @@ namespace OCP\Route;
*
* @package OCP\Route
* @since 7.0.0
+ * @deprecated 9.0.0
*/
interface IRouter {
@@ -37,19 +38,23 @@ interface IRouter {
*
* @return string[]
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function getRoutingFiles();
/**
* @return string
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function getCacheKey();
/**
- * loads the api routes
- * @return void
+ * Loads the routes
+ *
+ * @param null|string $app
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function loadRoutes($app = null);
@@ -59,6 +64,7 @@ interface IRouter {
* @param string $name Name of the collection to use.
* @return void
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function useCollection($name);
@@ -67,6 +73,7 @@ interface IRouter {
*
* @return string the collection name
* @since 8.0.0
+ * @deprecated 9.0.0
*/
public function getCurrentCollection();
@@ -79,6 +86,7 @@ interface IRouter {
* @param array $requirements An array of requirements for parameters (regexes)
* @return \OCP\Route\IRoute
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function create($name, $pattern, array $defaults = array(), array $requirements = array());
@@ -89,6 +97,7 @@ interface IRouter {
* @throws \Exception
* @return void
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function match($url);
@@ -96,6 +105,7 @@ interface IRouter {
* Get the url generator
*
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function getGenerator();
@@ -107,6 +117,7 @@ interface IRouter {
* @param bool $absolute
* @return string
* @since 7.0.0
+ * @deprecated 9.0.0
*/
public function generate($name, $parameters = array(), $absolute = false);
diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js
index 8191a6d9ed9..73c1f51443c 100644
--- a/settings/l10n/fi_FI.js
+++ b/settings/l10n/fi_FI.js
@@ -218,12 +218,17 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Käytössäsi on <strong>%s</strong>/<strong>%s</strong>",
"Profile picture" : "Profiilikuva",
"Upload new" : "Lähetä uusi",
+ "Select from Files" : "Valitse tiedostosovelluksesta",
"Remove image" : "Poista kuva",
+ "png or jpg, max. 20 MB" : "png tai jpg, korkeintaan 20 Mt",
+ "Picture provided by original account" : "Kuvan tarjoaa alkuperäinen tili",
"Cancel" : "Peru",
+ "Choose as profile picture" : "Valitse profiilikuvaksi",
"Full name" : "Koko nimi",
"No display name set" : "Näyttönimeä ei ole asetettu",
"Email" : "Sähköpostiosoite",
"Your email address" : "Sähköpostiosoitteesi",
+ "For password recovery and notifications" : "Salasanan nollausta ja ilmoituksia varten",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
"You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Password" : "Salasana",
diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json
index 18b8c3938ce..fc38e1d66e6 100644
--- a/settings/l10n/fi_FI.json
+++ b/settings/l10n/fi_FI.json
@@ -216,12 +216,17 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Käytössäsi on <strong>%s</strong>/<strong>%s</strong>",
"Profile picture" : "Profiilikuva",
"Upload new" : "Lähetä uusi",
+ "Select from Files" : "Valitse tiedostosovelluksesta",
"Remove image" : "Poista kuva",
+ "png or jpg, max. 20 MB" : "png tai jpg, korkeintaan 20 Mt",
+ "Picture provided by original account" : "Kuvan tarjoaa alkuperäinen tili",
"Cancel" : "Peru",
+ "Choose as profile picture" : "Valitse profiilikuvaksi",
"Full name" : "Koko nimi",
"No display name set" : "Näyttönimeä ei ole asetettu",
"Email" : "Sähköpostiosoite",
"Your email address" : "Sähköpostiosoitteesi",
+ "For password recovery and notifications" : "Salasanan nollausta ja ilmoituksia varten",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
"You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Password" : "Salasana",
diff --git a/settings/l10n/it.js b/settings/l10n/it.js
index 426838c9971..1350e3d598b 100644
--- a/settings/l10n/it.js
+++ b/settings/l10n/it.js
@@ -227,12 +227,17 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Stai utilizzando <strong>%s</strong> di <strong>%s</strong>",
"Profile picture" : "Immagine del profilo",
"Upload new" : "Carica nuova",
+ "Select from Files" : "Seleziona da file",
"Remove image" : "Rimuovi immagine",
+ "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB",
+ "Picture provided by original account" : "Immagine fornita dall'account originale",
"Cancel" : "Annulla",
+ "Choose as profile picture" : "Scegli come immagine del profilo",
"Full name" : "Nome completo",
"No display name set" : "Nome visualizzato non impostato",
"Email" : "Posta elettronica",
"Your email address" : "Il tuo indirizzo email",
+ "For password recovery and notifications" : "Per il ripristino della password e per le notifiche",
"No email address set" : "Nessun indirizzo email impostato",
"You are member of the following groups:" : "Sei membro dei seguenti gruppi:",
"Password" : "Password",
diff --git a/settings/l10n/it.json b/settings/l10n/it.json
index b78fd4c236d..7b6350a769a 100644
--- a/settings/l10n/it.json
+++ b/settings/l10n/it.json
@@ -225,12 +225,17 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Stai utilizzando <strong>%s</strong> di <strong>%s</strong>",
"Profile picture" : "Immagine del profilo",
"Upload new" : "Carica nuova",
+ "Select from Files" : "Seleziona da file",
"Remove image" : "Rimuovi immagine",
+ "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB",
+ "Picture provided by original account" : "Immagine fornita dall'account originale",
"Cancel" : "Annulla",
+ "Choose as profile picture" : "Scegli come immagine del profilo",
"Full name" : "Nome completo",
"No display name set" : "Nome visualizzato non impostato",
"Email" : "Posta elettronica",
"Your email address" : "Il tuo indirizzo email",
+ "For password recovery and notifications" : "Per il ripristino della password e per le notifiche",
"No email address set" : "Nessun indirizzo email impostato",
"You are member of the following groups:" : "Sei membro dei seguenti gruppi:",
"Password" : "Password",
diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js
index d4e1865c9f2..f3a8101e0b2 100644
--- a/settings/l10n/pt_BR.js
+++ b/settings/l10n/pt_BR.js
@@ -227,12 +227,17 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Você está usando <strong>%s</strong> de <strong>%s</strong>",
"Profile picture" : "Imagem para o perfil",
"Upload new" : "Enviar nova foto",
+ "Select from Files" : "Selecionar de Arquivos",
"Remove image" : "Remover imagem",
+ "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB",
+ "Picture provided by original account" : "Imagem fornecida por conta original",
"Cancel" : "Cancelar",
+ "Choose as profile picture" : "Escolha como imagem de perfil",
"Full name" : "Nome completo",
"No display name set" : "Nenhuma exibição de nome de configuração",
"Email" : "E-mail",
"Your email address" : "Seu endereço de e-mail",
+ "For password recovery and notifications" : "Para recuperação de senha e notificações",
"No email address set" : "Nenhum endereço de email foi configurado",
"You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Password" : "Senha",
diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json
index 445eb55f76c..5da9e2f79b5 100644
--- a/settings/l10n/pt_BR.json
+++ b/settings/l10n/pt_BR.json
@@ -225,12 +225,17 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Você está usando <strong>%s</strong> de <strong>%s</strong>",
"Profile picture" : "Imagem para o perfil",
"Upload new" : "Enviar nova foto",
+ "Select from Files" : "Selecionar de Arquivos",
"Remove image" : "Remover imagem",
+ "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB",
+ "Picture provided by original account" : "Imagem fornecida por conta original",
"Cancel" : "Cancelar",
+ "Choose as profile picture" : "Escolha como imagem de perfil",
"Full name" : "Nome completo",
"No display name set" : "Nenhuma exibição de nome de configuração",
"Email" : "E-mail",
"Your email address" : "Seu endereço de e-mail",
+ "For password recovery and notifications" : "Para recuperação de senha e notificações",
"No email address set" : "Nenhum endereço de email foi configurado",
"You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Password" : "Senha",
diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js
index f2cf8228ad5..df0203c96e2 100644
--- a/settings/l10n/sq.js
+++ b/settings/l10n/sq.js
@@ -227,12 +227,17 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Po përdorni <strong>%s</strong> nga <strong>%s</strong>",
"Profile picture" : "Foto profili",
"Upload new" : "Ngarko të re",
+ "Select from Files" : "Përzgjidhni prej Kartelash",
"Remove image" : "Hiqe figurën",
+ "png or jpg, max. 20 MB" : "png ose jpg, maks. 20 MB",
+ "Picture provided by original account" : "Foto e prurë nga llogaria origjinale",
"Cancel" : "Anuloje",
+ "Choose as profile picture" : "Zgjidhni një foto profili",
"Full name" : "Emër i plotë",
"No display name set" : "S’është caktuar emër për në ekran",
"Email" : "Email",
"Your email address" : "Adresa juaj email",
+ "For password recovery and notifications" : "Për rimarrje fjalëkalimesh dhe njoftime ",
"No email address set" : "S’është caktuar adresë email",
"You are member of the following groups:" : "Jeni anëtar i grupeve vijuese:",
"Password" : "Fjalëkalim",
diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json
index 3cc3c5606b6..2ef56244f85 100644
--- a/settings/l10n/sq.json
+++ b/settings/l10n/sq.json
@@ -225,12 +225,17 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Po përdorni <strong>%s</strong> nga <strong>%s</strong>",
"Profile picture" : "Foto profili",
"Upload new" : "Ngarko të re",
+ "Select from Files" : "Përzgjidhni prej Kartelash",
"Remove image" : "Hiqe figurën",
+ "png or jpg, max. 20 MB" : "png ose jpg, maks. 20 MB",
+ "Picture provided by original account" : "Foto e prurë nga llogaria origjinale",
"Cancel" : "Anuloje",
+ "Choose as profile picture" : "Zgjidhni një foto profili",
"Full name" : "Emër i plotë",
"No display name set" : "S’është caktuar emër për në ekran",
"Email" : "Email",
"Your email address" : "Adresa juaj email",
+ "For password recovery and notifications" : "Për rimarrje fjalëkalimesh dhe njoftime ",
"No email address set" : "S’është caktuar adresë email",
"You are member of the following groups:" : "Jeni anëtar i grupeve vijuese:",
"Password" : "Fjalëkalim",
diff --git a/tests/lib/avatartest.php b/tests/lib/avatartest.php
index 3d77a282a7d..d3e615977cb 100644
--- a/tests/lib/avatartest.php
+++ b/tests/lib/avatartest.php
@@ -110,13 +110,29 @@ class AvatarTest extends \Test\TestCase {
}
public function testSetAvatar() {
- $oldFile = $this->getMock('\OCP\Files\File');
- $this->folder->method('get')
- ->will($this->returnValueMap([
- ['avatar.jpg', $oldFile],
- ['avatar.png', $oldFile],
- ]));
- $oldFile->expects($this->exactly(2))->method('delete');
+ $avatarFileJPG = $this->getMock('\OCP\Files\File');
+ $avatarFileJPG->method('getName')
+ ->willReturn('avatar.jpg');
+ $avatarFileJPG->expects($this->once())->method('delete');
+
+ $avatarFilePNG = $this->getMock('\OCP\Files\File');
+ $avatarFilePNG->method('getName')
+ ->willReturn('avatar.png');
+ $avatarFilePNG->expects($this->once())->method('delete');
+
+ $resizedAvatarFile = $this->getMock('\OCP\Files\File');
+ $resizedAvatarFile->method('getName')
+ ->willReturn('avatar.32.jpg');
+ $resizedAvatarFile->expects($this->once())->method('delete');
+
+ $nonAvatarFile = $this->getMock('\OCP\Files\File');
+ $nonAvatarFile->method('getName')
+ ->willReturn('avatarX');
+ $nonAvatarFile->expects($this->never())->method('delete');
+
+ $this->folder->method('search')
+ ->with('avatar')
+ ->willReturn([$avatarFileJPG, $avatarFilePNG, $resizedAvatarFile, $nonAvatarFile]);
$newFile = $this->getMock('\OCP\Files\File');
$this->folder->expects($this->once())