diff options
Diffstat (limited to 'lib')
135 files changed, 1481 insertions, 665 deletions
diff --git a/lib/base.php b/lib/base.php index feaf46e83f1..6a1841fa93b 100644 --- a/lib/base.php +++ b/lib/base.php @@ -246,18 +246,21 @@ class OC { $configFileWritable = is_writable($configFilePath); if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled() || !$configFileWritable && self::checkUpgrade(false)) { + + $urlGenerator = \OC::$server->getURLGenerator(); + if (self::$CLI) { echo $l->t('Cannot write into "config" directory!')."\n"; echo $l->t('This can usually be fixed by giving the webserver write access to the config directory')."\n"; echo "\n"; - echo $l->t('See %s', array(\OC_Helper::linkToDocs('admin-dir_permissions')))."\n"; + echo $l->t('See %s', [ $urlGenerator->linkToDocs('admin-dir_permissions') ])."\n"; exit; } else { OC_Template::printErrorPage( $l->t('Cannot write into "config" directory!'), $l->t('This can usually be fixed by ' . '%sgiving the webserver write access to the config directory%s.', - array('<a href="'.\OC_Helper::linkToDocs('admin-dir_permissions').'" target="_blank">', '</a>')) + array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')) ); } } diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js index c3ca33e74ad..9f676212377 100644 --- a/lib/l10n/ast.js +++ b/lib/l10n/ast.js @@ -110,8 +110,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu", "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos", - "Error occurred while checking PostgreSQL version" : "Asocedió un fallu mientres se comprobaba la versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, asegúrate que tienes PostgreSQL >= 9 o comprueba los rexistros pa más información tocante al fallu", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.", "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios", "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)", diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json index bfcaf8729d7..8fd9383d849 100644 --- a/lib/l10n/ast.json +++ b/lib/l10n/ast.json @@ -108,8 +108,6 @@ "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu", "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos", - "Error occurred while checking PostgreSQL version" : "Asocedió un fallu mientres se comprobaba la versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, asegúrate que tienes PostgreSQL >= 9 o comprueba los rexistros pa más información tocante al fallu", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.", "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios", "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)", diff --git a/lib/l10n/bg_BG.js b/lib/l10n/bg_BG.js index fae7f894bcc..8f947c22543 100644 --- a/lib/l10n/bg_BG.js +++ b/lib/l10n/bg_BG.js @@ -111,8 +111,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Моля, поискай от своя администратор да рестартира уеб сървъра.", "PostgreSQL >= 9 required" : "Изисква се PostgreSQL >= 9", "Please upgrade your database version" : "Моля, обнови базата данни.", - "Error occurred while checking PostgreSQL version" : "Настъпи грешка при проверката на версията на PostgreSQL.", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Моля, увери се, че PostgreSQL >= 9 или провери докладите за повече информация относно грешката.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Моля, промени правата за достъп на 0770, за да не може директорията да бъде видяна от други потребители.", "Data directory (%s) is readable by other users" : "Data папката (%s) може да бъде разгледана от други потребители", "Data directory (%s) is invalid" : "Data папката (%s) e невалидна", diff --git a/lib/l10n/bg_BG.json b/lib/l10n/bg_BG.json index 21361a20897..b7a3db07d04 100644 --- a/lib/l10n/bg_BG.json +++ b/lib/l10n/bg_BG.json @@ -109,8 +109,6 @@ "Please ask your server administrator to restart the web server." : "Моля, поискай от своя администратор да рестартира уеб сървъра.", "PostgreSQL >= 9 required" : "Изисква се PostgreSQL >= 9", "Please upgrade your database version" : "Моля, обнови базата данни.", - "Error occurred while checking PostgreSQL version" : "Настъпи грешка при проверката на версията на PostgreSQL.", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Моля, увери се, че PostgreSQL >= 9 или провери докладите за повече информация относно грешката.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Моля, промени правата за достъп на 0770, за да не може директорията да бъде видяна от други потребители.", "Data directory (%s) is readable by other users" : "Data папката (%s) може да бъде разгледана от други потребители", "Data directory (%s) is invalid" : "Data папката (%s) e невалидна", diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index 6df1b5245d4..89bc7ca54e3 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -99,8 +99,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Demaneu a l'administrador que reinici el servidor web.", "PostgreSQL >= 9 required" : "Es requereix PostgreSQL >= 9", "Please upgrade your database version" : "Actualitzeu la versió de la base de dades", - "Error occurred while checking PostgreSQL version" : "Hi ha hagut un error en comprovar la versió de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Assegureu-vos que teniu PostgreSQL >= 9 o comproveu els registres per més informació quant a l'error", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", "Data directory (%s) is readable by other users" : "La carpeta de dades (%s) és llegible per altres usuaris", "Data directory (%s) is invalid" : "La carpeta de dades (%s) no és vàlida", diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index bd722389fdc..73be16ae1bd 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -97,8 +97,6 @@ "Please ask your server administrator to restart the web server." : "Demaneu a l'administrador que reinici el servidor web.", "PostgreSQL >= 9 required" : "Es requereix PostgreSQL >= 9", "Please upgrade your database version" : "Actualitzeu la versió de la base de dades", - "Error occurred while checking PostgreSQL version" : "Hi ha hagut un error en comprovar la versió de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Assegureu-vos que teniu PostgreSQL >= 9 o comproveu els registres per més informació quant a l'error", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", "Data directory (%s) is readable by other users" : "La carpeta de dades (%s) és llegible per altres usuaris", "Data directory (%s) is invalid" : "La carpeta de dades (%s) no és vàlida", diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js index 02d667e9cb8..0944b1a6a58 100644 --- a/lib/l10n/cs_CZ.js +++ b/lib/l10n/cs_CZ.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Požádejte svého správce systému o restart webového serveru.", "PostgreSQL >= 9 required" : "Je vyžadováno PostgreSQL >= 9", "Please upgrade your database version" : "Aktualizujte prosím verzi své databáze", - "Error occurred while checking PostgreSQL version" : "Při zjišťování verze PostgreSQL došlo k chybě", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Ujistěte se, že máte PostgreSQL >= 9, a zkontrolujte logy pro více informací o chybě.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Změňte prosím práva na 0770, aby adresář nemohl být otevřen ostatními uživateli.", "Data directory (%s) is readable by other users" : "Datový adresář (%s) je čitelný i ostatními uživateli", "Data directory (%s) must be an absolute path" : "Cesta k datovému adresáři (%s) musí být uvedena absolutně", diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json index d55cb2c9485..3dbe060740f 100644 --- a/lib/l10n/cs_CZ.json +++ b/lib/l10n/cs_CZ.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Požádejte svého správce systému o restart webového serveru.", "PostgreSQL >= 9 required" : "Je vyžadováno PostgreSQL >= 9", "Please upgrade your database version" : "Aktualizujte prosím verzi své databáze", - "Error occurred while checking PostgreSQL version" : "Při zjišťování verze PostgreSQL došlo k chybě", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Ujistěte se, že máte PostgreSQL >= 9, a zkontrolujte logy pro více informací o chybě.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Změňte prosím práva na 0770, aby adresář nemohl být otevřen ostatními uživateli.", "Data directory (%s) is readable by other users" : "Datový adresář (%s) je čitelný i ostatními uživateli", "Data directory (%s) must be an absolute path" : "Cesta k datovému adresáři (%s) musí být uvedena absolutně", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index 232934fdcad..ff1004d6ff2 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 kræves", "Please upgrade your database version" : "Opgradér venligst din databaseversion", - "Error occurred while checking PostgreSQL version" : "Der opstod fejl under tjek af PostgreSQL-versionen", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Sørg venligst for at du har PostgreSQL >= 9 eller tjek loggen for flere informationer om fejlen", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Tilpas venligst rettigheder til 0770, så mappen ikke fremvises for andre brugere.", "Data directory (%s) is readable by other users" : "Datamappen (%s) kan læses af andre brugere", "Data directory (%s) must be an absolute path" : "Datamappen (%s) skal have en absolut sti", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 8b1e7744583..531c591e75b 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 kræves", "Please upgrade your database version" : "Opgradér venligst din databaseversion", - "Error occurred while checking PostgreSQL version" : "Der opstod fejl under tjek af PostgreSQL-versionen", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Sørg venligst for at du har PostgreSQL >= 9 eller tjek loggen for flere informationer om fejlen", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Tilpas venligst rettigheder til 0770, så mappen ikke fremvises for andre brugere.", "Data directory (%s) is readable by other users" : "Datamappen (%s) kan læses af andre brugere", "Data directory (%s) must be an absolute path" : "Datamappen (%s) skal have en absolut sti", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 7baf49e0650..697cedfdd6f 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Bitte kontaktiere Deinen Server-Administrator und bitte um den Neustart des Webservers.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 benötigt", "Please upgrade your database version" : "Bitte aktualisiere Deine Datenbankversion", - "Error occurred while checking PostgreSQL version" : "Es ist ein Fehler beim Prüfen der PostgreSQL-Version aufgetreten", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Stelle bitte sicher, dass Du PostgreSQL >= 9 verwendest oder prüfe die Logs für weitere Informationen über den Fehler", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Bitte ändere die Berechtigungen auf 0770 sodass das Verzeichnis nicht von anderen Nutzer angezeigt werden kann.", "Data directory (%s) is readable by other users" : "Daten-Verzeichnis (%s) ist von anderen Nutzern lesbar", "Data directory (%s) must be an absolute path" : "Das Datenverzeichnis (%s) muss ein absoluter Pfad sein", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 927e610e0d0..bdee6657676 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Bitte kontaktiere Deinen Server-Administrator und bitte um den Neustart des Webservers.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 benötigt", "Please upgrade your database version" : "Bitte aktualisiere Deine Datenbankversion", - "Error occurred while checking PostgreSQL version" : "Es ist ein Fehler beim Prüfen der PostgreSQL-Version aufgetreten", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Stelle bitte sicher, dass Du PostgreSQL >= 9 verwendest oder prüfe die Logs für weitere Informationen über den Fehler", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Bitte ändere die Berechtigungen auf 0770 sodass das Verzeichnis nicht von anderen Nutzer angezeigt werden kann.", "Data directory (%s) is readable by other users" : "Daten-Verzeichnis (%s) ist von anderen Nutzern lesbar", "Data directory (%s) must be an absolute path" : "Das Datenverzeichnis (%s) muss ein absoluter Pfad sein", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index c0c92a12037..ac05b409391 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -136,8 +136,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um den Neustart des Webservers.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 benötigt", "Please upgrade your database version" : "Bitte aktualisieren Sie Ihre Datenbankversion", - "Error occurred while checking PostgreSQL version" : "Es ist ein Fehler beim Prüfen der PostgreSQL-Version aufgetreten", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Stellen Sie sicher, dass Sie PostgreSQL >= 9 verwenden oder prüfen Sie die Logs für weitere Informationen über den Fehler", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Bitte ändern Sie die Berechtigungen auf 0770, so dass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.", "Data directory (%s) is readable by other users" : "Daten-Verzeichnis (%s) ist von anderen Benutzern lesbar", "Data directory (%s) must be an absolute path" : "Das Datenverzeichnis (%s) muss ein absoluter Pfad sein", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index afa38ec4705..6a896b9fd6e 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -134,8 +134,6 @@ "Please ask your server administrator to restart the web server." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um den Neustart des Webservers.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 benötigt", "Please upgrade your database version" : "Bitte aktualisieren Sie Ihre Datenbankversion", - "Error occurred while checking PostgreSQL version" : "Es ist ein Fehler beim Prüfen der PostgreSQL-Version aufgetreten", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Stellen Sie sicher, dass Sie PostgreSQL >= 9 verwenden oder prüfen Sie die Logs für weitere Informationen über den Fehler", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Bitte ändern Sie die Berechtigungen auf 0770, so dass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.", "Data directory (%s) is readable by other users" : "Daten-Verzeichnis (%s) ist von anderen Benutzern lesbar", "Data directory (%s) must be an absolute path" : "Das Datenverzeichnis (%s) muss ein absoluter Pfad sein", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 932028a22cd..d1a6e0100c2 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -137,8 +137,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.", "PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9", "Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας", - "Error occurred while checking PostgreSQL version" : "Προέκυψε σφάλμα κατά τον έλεγχο της έκδοσης PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Παρακαλώ ελέγξτε ότι έχετε PostgreSQL >= 9 ή ελέγξτε στα ιστορικό σφαλμάτων για περισσότερες πληροφορίες για το σφάλμα", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.", "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες", "Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index 33a6abe2494..753b7e5b046 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -135,8 +135,6 @@ "Please ask your server administrator to restart the web server." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.", "PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9", "Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας", - "Error occurred while checking PostgreSQL version" : "Προέκυψε σφάλμα κατά τον έλεγχο της έκδοσης PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Παρακαλώ ελέγξτε ότι έχετε PostgreSQL >= 9 ή ελέγξτε στα ιστορικό σφαλμάτων για περισσότερες πληροφορίες για το σφάλμα", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.", "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες", "Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή", diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js index 1ea5f9ef3ed..58721efe41f 100644 --- a/lib/l10n/en_GB.js +++ b/lib/l10n/en_GB.js @@ -132,8 +132,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Please ask your server administrator to restart the web server.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 required", "Please upgrade your database version" : "Please upgrade your database version", - "Error occurred while checking PostgreSQL version" : "Error occurred while checking PostgreSQL version", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Please change the permissions to 0770 so that the directory cannot be listed by other users.", "Data directory (%s) is readable by other users" : "Data directory (%s) is readable by other users", "Data directory (%s) must be an absolute path" : "Data directory (%s) must be an absolute path", diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json index ddc0cb947e4..f09b192b3d1 100644 --- a/lib/l10n/en_GB.json +++ b/lib/l10n/en_GB.json @@ -130,8 +130,6 @@ "Please ask your server administrator to restart the web server." : "Please ask your server administrator to restart the web server.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 required", "Please upgrade your database version" : "Please upgrade your database version", - "Error occurred while checking PostgreSQL version" : "Error occurred while checking PostgreSQL version", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Please change the permissions to 0770 so that the directory cannot be listed by other users.", "Data directory (%s) is readable by other users" : "Data directory (%s) is readable by other users", "Data directory (%s) must be an absolute path" : "Data directory (%s) must be an absolute path", diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js index b69c0836197..21996ac557d 100644 --- a/lib/l10n/eo.js +++ b/lib/l10n/eo.js @@ -70,7 +70,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Bonvolu peti viajn serviladministranton, ke ŝi/li reekfunkciigu la TTT-servilon.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 necesas", "Please upgrade your database version" : "Bonvolu ĝisdatigi la eldonon de via datumbazo", - "Error occurred while checking PostgreSQL version" : "Eraro okazis dum kontrolo de eldono de PostgreSQL", "Data directory (%s) is readable by other users" : "Dosierujo de datumoj (%s) legeblas de aliaj uzantoj", "Data directory (%s) must be an absolute path" : "Dosierujo de datumoj (%s) devas specifiĝi per absoluta vojo", "Data directory (%s) is invalid" : "Dosierujo de datumoj (%s) ne validas" diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json index 37558aef9e2..b7e60a7fb55 100644 --- a/lib/l10n/eo.json +++ b/lib/l10n/eo.json @@ -68,7 +68,6 @@ "Please ask your server administrator to restart the web server." : "Bonvolu peti viajn serviladministranton, ke ŝi/li reekfunkciigu la TTT-servilon.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 necesas", "Please upgrade your database version" : "Bonvolu ĝisdatigi la eldonon de via datumbazo", - "Error occurred while checking PostgreSQL version" : "Eraro okazis dum kontrolo de eldono de PostgreSQL", "Data directory (%s) is readable by other users" : "Dosierujo de datumoj (%s) legeblas de aliaj uzantoj", "Data directory (%s) must be an absolute path" : "Dosierujo de datumoj (%s) devas specifiĝi per absoluta vojo", "Data directory (%s) is invalid" : "Dosierujo de datumoj (%s) ne validas" diff --git a/lib/l10n/es.js b/lib/l10n/es.js index 3eb2e71a7d4..8f554001cfd 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -87,6 +87,7 @@ OC.L10N.register( "Sharing %s failed, because the backend does not allow shares from type %i" : "No se pudo compartir %s porque el repositorio no permite recursos compartidos del tipo %i", "Sharing %s failed, because the file does not exist" : "No se pudo compartir %s porque el archivo no existe", "You are not allowed to share %s" : "Usted no está autorizado para compartir %s", + "Sharing %s failed, because you can not share with yourself" : "Se falló al compartir %s, porque no puedes compartir contigo mismo", "Sharing %s failed, because the user %s does not exist" : "Se ha fallado al compartir %s, ya que el usuario %s no existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se ha fallado al compartir %s, ya que el usuario %s no es miembro de ningún grupo del que %s sea miembro", "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s", @@ -105,6 +106,7 @@ OC.L10N.register( "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartido %s debe implementar la interfaz OCP\\Share_Backend", "Sharing backend %s not found" : "El motor compartido %s no se ha encontrado", "Sharing backend for %s not found" : "Motor compartido para %s no encontrado", + "Sharing failed, because the user %s is the original sharer" : "Se ha fallado al compartir, ya que el usuario %s es el compartidor original", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Se ha fallado al compartir %s, ya que los permisos superan los permisos otorgados a %s", "Sharing %s failed, because resharing is not allowed" : "Se ha fallado al compartir %s, ya que volver a compartir no está permitido", "Sharing %s failed, because the sharing backend for %s could not find its source" : "Se ha fallado al compartir %s porque el motor compartido para %s podría no encontrar su origen", @@ -138,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Consulte al administrador de su servidor para reiniciar el servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL 9 o superior requerido.", "Please upgrade your database version" : "Actualice su versión de base de datos.", - "Error occurred while checking PostgreSQL version" : "Ha ocurrido un error mientras se comprobaba la versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, asegúrese de que tiene PostgreSQL 9 o superior, o revise los registros para obtener más información acerca del error.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios.", "Data directory (%s) is readable by other users" : "El directorio de datos (%s) se puede leer por otros usuarios.", "Data directory (%s) must be an absolute path" : "El directorio de datos (%s) debe ser una ruta absoluta", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index bbc50f2b5b8..94ff1d3db2c 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -85,6 +85,7 @@ "Sharing %s failed, because the backend does not allow shares from type %i" : "No se pudo compartir %s porque el repositorio no permite recursos compartidos del tipo %i", "Sharing %s failed, because the file does not exist" : "No se pudo compartir %s porque el archivo no existe", "You are not allowed to share %s" : "Usted no está autorizado para compartir %s", + "Sharing %s failed, because you can not share with yourself" : "Se falló al compartir %s, porque no puedes compartir contigo mismo", "Sharing %s failed, because the user %s does not exist" : "Se ha fallado al compartir %s, ya que el usuario %s no existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se ha fallado al compartir %s, ya que el usuario %s no es miembro de ningún grupo del que %s sea miembro", "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s", @@ -103,6 +104,7 @@ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartido %s debe implementar la interfaz OCP\\Share_Backend", "Sharing backend %s not found" : "El motor compartido %s no se ha encontrado", "Sharing backend for %s not found" : "Motor compartido para %s no encontrado", + "Sharing failed, because the user %s is the original sharer" : "Se ha fallado al compartir, ya que el usuario %s es el compartidor original", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Se ha fallado al compartir %s, ya que los permisos superan los permisos otorgados a %s", "Sharing %s failed, because resharing is not allowed" : "Se ha fallado al compartir %s, ya que volver a compartir no está permitido", "Sharing %s failed, because the sharing backend for %s could not find its source" : "Se ha fallado al compartir %s porque el motor compartido para %s podría no encontrar su origen", @@ -136,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Consulte al administrador de su servidor para reiniciar el servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL 9 o superior requerido.", "Please upgrade your database version" : "Actualice su versión de base de datos.", - "Error occurred while checking PostgreSQL version" : "Ha ocurrido un error mientras se comprobaba la versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, asegúrese de que tiene PostgreSQL 9 o superior, o revise los registros para obtener más información acerca del error.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios.", "Data directory (%s) is readable by other users" : "El directorio de datos (%s) se puede leer por otros usuarios.", "Data directory (%s) must be an absolute path" : "El directorio de datos (%s) debe ser una ruta absoluta", diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js index 58c5f473851..aff2406c699 100644 --- a/lib/l10n/es_AR.js +++ b/lib/l10n/es_AR.js @@ -1,6 +1,7 @@ OC.L10N.register( "lib", { + "Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!", "Help" : "Ayuda", "Personal" : "Personal", "Users" : "Usuarios", @@ -48,6 +49,7 @@ OC.L10N.register( "Could not find category \"%s\"" : "No fue posible encontrar la categoría \"%s\"", "Apps" : "Apps", "A valid username must be provided" : "Debe ingresar un nombre de usuario válido", - "A valid password must be provided" : "Debe ingresar una contraseña válida" + "A valid password must be provided" : "Debe ingresar una contraseña válida", + "Storage not available" : "Almacenamiento no disponible" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json index 605aecb1ab1..4cbbb8ad93f 100644 --- a/lib/l10n/es_AR.json +++ b/lib/l10n/es_AR.json @@ -1,4 +1,5 @@ { "translations": { + "Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!", "Help" : "Ayuda", "Personal" : "Personal", "Users" : "Usuarios", @@ -46,6 +47,7 @@ "Could not find category \"%s\"" : "No fue posible encontrar la categoría \"%s\"", "Apps" : "Apps", "A valid username must be provided" : "Debe ingresar un nombre de usuario válido", - "A valid password must be provided" : "Debe ingresar una contraseña válida" + "A valid password must be provided" : "Debe ingresar una contraseña válida", + "Storage not available" : "Almacenamiento no disponible" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index d2146e8af30..eaf98861f23 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -114,8 +114,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 on nõutav", "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni", - "Error occurred while checking PostgreSQL version" : "Viga PostgreSQL versiooni kontrollimisel", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Palun veendu, et kasutad PostgreSQL >=9 või vaata logidest vea kohta detailsemat informatsiooni", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav", "Data directory (%s) is readable by other users" : "Andmete kataloog (%s) on teistele kasutajate loetav", "Data directory (%s) is invalid" : "Andmete kataloog (%s) pole korrektne", diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index 6c223ecfa4f..7d28a75c59e 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -112,8 +112,6 @@ "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 on nõutav", "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni", - "Error occurred while checking PostgreSQL version" : "Viga PostgreSQL versiooni kontrollimisel", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Palun veendu, et kasutad PostgreSQL >=9 või vaata logidest vea kohta detailsemat informatsiooni", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav", "Data directory (%s) is readable by other users" : "Andmete kataloog (%s) on teistele kasutajate loetav", "Data directory (%s) is invalid" : "Andmete kataloog (%s) pole korrektne", diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js index 7b69f456692..c6e75f37988 100644 --- a/lib/l10n/eu.js +++ b/lib/l10n/eu.js @@ -113,8 +113,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Mesedez eskatu zerbitzariaren kudeatzaileari web zerbitzaria berrabiarazteko.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 behar da", "Please upgrade your database version" : "Mesedez eguneratu zure datu basearen bertsioa", - "Error occurred while checking PostgreSQL version" : "Errore bat gertatu da PostgreSQLren bertsioa egiaztatzerakoan", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Mesedez ziurtatu PostgreSQL >= 9 duzula edo begiratu logak erroreari buruzko informazio gehiago lortzeko", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mesedez aldatu baimenak 0770ra beste erabiltzaileek karpetan sartu ezin izateko.", "Data directory (%s) is readable by other users" : "Data karpeta (%s) beste erabiltzaileek irakur dezakete", "Data directory (%s) is invalid" : "Datuen karpeta (%s) ez da baliogarria", diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json index 591c31869ab..cf6c5da9394 100644 --- a/lib/l10n/eu.json +++ b/lib/l10n/eu.json @@ -111,8 +111,6 @@ "Please ask your server administrator to restart the web server." : "Mesedez eskatu zerbitzariaren kudeatzaileari web zerbitzaria berrabiarazteko.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 behar da", "Please upgrade your database version" : "Mesedez eguneratu zure datu basearen bertsioa", - "Error occurred while checking PostgreSQL version" : "Errore bat gertatu da PostgreSQLren bertsioa egiaztatzerakoan", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Mesedez ziurtatu PostgreSQL >= 9 duzula edo begiratu logak erroreari buruzko informazio gehiago lortzeko", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mesedez aldatu baimenak 0770ra beste erabiltzaileek karpetan sartu ezin izateko.", "Data directory (%s) is readable by other users" : "Data karpeta (%s) beste erabiltzaileek irakur dezakete", "Data directory (%s) is invalid" : "Datuen karpeta (%s) ez da baliogarria", diff --git a/lib/l10n/fa.js b/lib/l10n/fa.js index 950b37e631f..4e4d33d0ace 100644 --- a/lib/l10n/fa.js +++ b/lib/l10n/fa.js @@ -70,7 +70,6 @@ OC.L10N.register( "PHP module %s not installed." : "ماژول PHP %s نصب نشده است.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 نیاز است", "Please upgrade your database version" : "لطفا نسخهی پایگاهدادهی خود را بروز کنید", - "Error occurred while checking PostgreSQL version" : "خطا در هنگام بررسی نسخهی PostgreSQL", "Storage not available" : "فضای ذخیره سازی موجود نیست" }, "nplurals=1; plural=0;"); diff --git a/lib/l10n/fa.json b/lib/l10n/fa.json index 2f6270c7e7a..4ca821758dc 100644 --- a/lib/l10n/fa.json +++ b/lib/l10n/fa.json @@ -68,7 +68,6 @@ "PHP module %s not installed." : "ماژول PHP %s نصب نشده است.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 نیاز است", "Please upgrade your database version" : "لطفا نسخهی پایگاهدادهی خود را بروز کنید", - "Error occurred while checking PostgreSQL version" : "خطا در هنگام بررسی نسخهی PostgreSQL", "Storage not available" : "فضای ذخیره سازی موجود نیست" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js index c932fa35d60..3510ebdd956 100644 --- a/lib/l10n/fi_FI.js +++ b/lib/l10n/fi_FI.js @@ -122,8 +122,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Pyydä palvelimen ylläpitäjää käynnistämään web-palvelin uudelleen.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 vaaditaan", "Please upgrade your database version" : "Päivitä tietokantasi versio", - "Error occurred while checking PostgreSQL version" : "Virhe PostgreSQL:n versiota tarkistaessa", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Varmista, että käytössäsi on PostgreSQL >= 9 tai tarkista lokit saadaksesi lisätietoja virheestä", "Data directory (%s) is readable by other users" : "Datakansio (%s) on muiden käyttäjien luettavissa", "Data directory (%s) must be an absolute path" : "Datahakemiston (%s) tulee olla absoluuttinen polku", "Check the value of \"datadirectory\" in your configuration" : "Tarkista \"datadirectory\"-arvo asetuksistasi", diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json index 55209ee0b72..eb55bc2a8ff 100644 --- a/lib/l10n/fi_FI.json +++ b/lib/l10n/fi_FI.json @@ -120,8 +120,6 @@ "Please ask your server administrator to restart the web server." : "Pyydä palvelimen ylläpitäjää käynnistämään web-palvelin uudelleen.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 vaaditaan", "Please upgrade your database version" : "Päivitä tietokantasi versio", - "Error occurred while checking PostgreSQL version" : "Virhe PostgreSQL:n versiota tarkistaessa", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Varmista, että käytössäsi on PostgreSQL >= 9 tai tarkista lokit saadaksesi lisätietoja virheestä", "Data directory (%s) is readable by other users" : "Datakansio (%s) on muiden käyttäjien luettavissa", "Data directory (%s) must be an absolute path" : "Datahakemiston (%s) tulee olla absoluuttinen polku", "Check the value of \"datadirectory\" in your configuration" : "Tarkista \"datadirectory\"-arvo asetuksistasi", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 305dea06792..9660650b4f1 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -139,8 +139,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Veuillez demander à votre administrateur serveur de redémarrer le serveur web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requis", "Please upgrade your database version" : "Veuillez mettre à jour votre gestionnaire de base de données", - "Error occurred while checking PostgreSQL version" : "Une erreur s’est produite pendant la récupération du numéro de version de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Veuillez vérifier que vous utilisez PostgreSQL >= 9 , ou regardez dans le journal d’erreur pour plus d’informations sur ce problème", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Veuillez changer les permissions du répertoire en mode 0770 afin que son contenu ne puisse pas être listé par les autres utilisateurs.", "Data directory (%s) is readable by other users" : "Le répertoire de données (%s) est lisible par les autres utilisateurs", "Data directory (%s) must be an absolute path" : "Le chemin du dossier de données (%s) doit être absolu", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index 9ca7bce8d10..a388630993e 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -137,8 +137,6 @@ "Please ask your server administrator to restart the web server." : "Veuillez demander à votre administrateur serveur de redémarrer le serveur web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requis", "Please upgrade your database version" : "Veuillez mettre à jour votre gestionnaire de base de données", - "Error occurred while checking PostgreSQL version" : "Une erreur s’est produite pendant la récupération du numéro de version de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Veuillez vérifier que vous utilisez PostgreSQL >= 9 , ou regardez dans le journal d’erreur pour plus d’informations sur ce problème", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Veuillez changer les permissions du répertoire en mode 0770 afin que son contenu ne puisse pas être listé par les autres utilisateurs.", "Data directory (%s) is readable by other users" : "Le répertoire de données (%s) est lisible par les autres utilisateurs", "Data directory (%s) must be an absolute path" : "Le chemin du dossier de données (%s) doit être absolu", diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js index d6894749c0d..2025f14d5f8 100644 --- a/lib/l10n/gl.js +++ b/lib/l10n/gl.js @@ -136,8 +136,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..", "PostgreSQL >= 9 required" : "Requírese PostgreSQL >= 9", "Please upgrade your database version" : "Anove a versión da súa base de datos", - "Error occurred while checking PostgreSQL version" : "Produciuse un erro mentres comprobaba a versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Asegúrese de que dispón do PostgreSQL >= 9 ou comprobe os rexistros para obter máis información sobre este erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambie os permisos a 0770 para que o directorio non poida seren listado por outros usuarios.", "Data directory (%s) is readable by other users" : "O directorio de datos (%s) é lexíbel por outros usuarios", "Data directory (%s) must be an absolute path" : "O directorio de datos (%s) debe ser unha ruta absoluta", diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json index 4dab647d768..8e93ad5253a 100644 --- a/lib/l10n/gl.json +++ b/lib/l10n/gl.json @@ -134,8 +134,6 @@ "Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..", "PostgreSQL >= 9 required" : "Requírese PostgreSQL >= 9", "Please upgrade your database version" : "Anove a versión da súa base de datos", - "Error occurred while checking PostgreSQL version" : "Produciuse un erro mentres comprobaba a versión de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Asegúrese de que dispón do PostgreSQL >= 9 ou comprobe os rexistros para obter máis información sobre este erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambie os permisos a 0770 para que o directorio non poida seren listado por outros usuarios.", "Data directory (%s) is readable by other users" : "O directorio de datos (%s) é lexíbel por outros usuarios", "Data directory (%s) must be an absolute path" : "O directorio de datos (%s) debe ser unha ruta absoluta", diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js index ef605582c78..4c3443fa294 100644 --- a/lib/l10n/hr.js +++ b/lib/l10n/hr.js @@ -106,8 +106,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Molimo zamolite svog administratora poslužitelja da ponovno pokrene web poslužitelj.", "PostgreSQL >= 9 required" : "Potreban je PostgreSQL >= 9", "Please upgrade your database version" : "Molimo, ažurirajte svoju verziju baze podataka", - "Error occurred while checking PostgreSQL version" : "Došlo je do pogreške tijekom provjeravanja verzije PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pobrinite se da imate PostgreSQL >= 9. Za više informacija provjerite zapisnike.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Molimo promijenite dozvole na 0770 tako da se tim direktorijem ne mogu služiti drugi korisnici", "Data directory (%s) is readable by other users" : "Podatkovni direktorij (%s) čitljiv je za druge korisnike", "Data directory (%s) is invalid" : "Podatkovni direktorij (%s) nije ispravan", diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json index 6e7e2bd432f..78d3ce21529 100644 --- a/lib/l10n/hr.json +++ b/lib/l10n/hr.json @@ -104,8 +104,6 @@ "Please ask your server administrator to restart the web server." : "Molimo zamolite svog administratora poslužitelja da ponovno pokrene web poslužitelj.", "PostgreSQL >= 9 required" : "Potreban je PostgreSQL >= 9", "Please upgrade your database version" : "Molimo, ažurirajte svoju verziju baze podataka", - "Error occurred while checking PostgreSQL version" : "Došlo je do pogreške tijekom provjeravanja verzije PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pobrinite se da imate PostgreSQL >= 9. Za više informacija provjerite zapisnike.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Molimo promijenite dozvole na 0770 tako da se tim direktorijem ne mogu služiti drugi korisnici", "Data directory (%s) is readable by other users" : "Podatkovni direktorij (%s) čitljiv je za druge korisnike", "Data directory (%s) is invalid" : "Podatkovni direktorij (%s) nije ispravan", diff --git a/lib/l10n/hu_HU.js b/lib/l10n/hu_HU.js index df162844485..7025b1b59b0 100644 --- a/lib/l10n/hu_HU.js +++ b/lib/l10n/hu_HU.js @@ -127,8 +127,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Kérje meg a rendszergazdát, hogy indítsa újra a webszervert!", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 szükséges", "Please upgrade your database version" : "Kérem frissítse az adatbázis-szoftvert!", - "Error occurred while checking PostgreSQL version" : "Hiba történt a PostgreSQL verziójának ellenőrzése közben", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Kérjük gondoskodjon róla, hogy a PostgreSQL legalább 9-es verziójú legyen, vagy ellenőrizze a naplófájlokat, hogy mi okozta a hibát!", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Kérjük módosítsa a könyvtár elérhetőségi engedélybeállítását 0770-re, hogy a tartalmát más felhasználó ne listázhassa!", "Data directory (%s) is readable by other users" : "Az adatkönyvtár (%s) más felhasználók számára is olvasható ", "Data directory (%s) must be an absolute path" : "Az adatkönyvtárnak (%s) abszolút elérési útnak kell lennie", diff --git a/lib/l10n/hu_HU.json b/lib/l10n/hu_HU.json index a94321be0b6..e882e6dae54 100644 --- a/lib/l10n/hu_HU.json +++ b/lib/l10n/hu_HU.json @@ -125,8 +125,6 @@ "Please ask your server administrator to restart the web server." : "Kérje meg a rendszergazdát, hogy indítsa újra a webszervert!", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 szükséges", "Please upgrade your database version" : "Kérem frissítse az adatbázis-szoftvert!", - "Error occurred while checking PostgreSQL version" : "Hiba történt a PostgreSQL verziójának ellenőrzése közben", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Kérjük gondoskodjon róla, hogy a PostgreSQL legalább 9-es verziójú legyen, vagy ellenőrizze a naplófájlokat, hogy mi okozta a hibát!", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Kérjük módosítsa a könyvtár elérhetőségi engedélybeállítását 0770-re, hogy a tartalmát más felhasználó ne listázhassa!", "Data directory (%s) is readable by other users" : "Az adatkönyvtár (%s) más felhasználók számára is olvasható ", "Data directory (%s) must be an absolute path" : "Az adatkönyvtárnak (%s) abszolút elérési útnak kell lennie", diff --git a/lib/l10n/id.js b/lib/l10n/id.js index 70a47a4d87a..9d7842935da 100644 --- a/lib/l10n/id.js +++ b/lib/l10n/id.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Mohon minta administrator Anda untuk menjalankan ulang server web.", "PostgreSQL >= 9 required" : "Diperlukan PostgreSQL >= 9", "Please upgrade your database version" : "Mohon perbarui versi basis data Anda", - "Error occurred while checking PostgreSQL version" : "Terjadi kesalahan saat memeriksa versi PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pastikan bahwa Anda memiliki PostgreSQL >= 9 atau periksa log untuk informasi lebih lanjut tentang kesalahan", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mohon ubah perizinan menjadi 0770 sehingga direktori tersebut tidak dapat dilihat oleh pengguna lain.", "Data directory (%s) is readable by other users" : "Direktori data (%s) dapat dibaca oleh pengguna lain", "Data directory (%s) must be an absolute path" : "Direktori Data (%s) harus berupa lokasi lengkap", diff --git a/lib/l10n/id.json b/lib/l10n/id.json index 01f60eee2f7..f6a042e5dd7 100644 --- a/lib/l10n/id.json +++ b/lib/l10n/id.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Mohon minta administrator Anda untuk menjalankan ulang server web.", "PostgreSQL >= 9 required" : "Diperlukan PostgreSQL >= 9", "Please upgrade your database version" : "Mohon perbarui versi basis data Anda", - "Error occurred while checking PostgreSQL version" : "Terjadi kesalahan saat memeriksa versi PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pastikan bahwa Anda memiliki PostgreSQL >= 9 atau periksa log untuk informasi lebih lanjut tentang kesalahan", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mohon ubah perizinan menjadi 0770 sehingga direktori tersebut tidak dapat dilihat oleh pengguna lain.", "Data directory (%s) is readable by other users" : "Direktori data (%s) dapat dibaca oleh pengguna lain", "Data directory (%s) must be an absolute path" : "Direktori Data (%s) harus berupa lokasi lengkap", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index 92fd849ef7e..ab6c5119c82 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Chiedi all'amministratore di riavviare il server web.", "PostgreSQL >= 9 required" : "Richiesto PostgreSQL >= 9", "Please upgrade your database version" : "Aggiorna la versione del tuo database", - "Error occurred while checking PostgreSQL version" : "Si è verificato un errore durante il controllo della versione di PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Assicurati di avere PostgreSQL >= 9 o controlla i log per ulteriori informazioni sull'errore", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Modifica i permessi in 0770 in modo tale che la cartella non sia leggibile dagli altri utenti.", "Data directory (%s) is readable by other users" : "La cartella dei dati (%s) è leggibile dagli altri utenti", "Data directory (%s) must be an absolute path" : "La cartella dei dati (%s) deve essere un percorso assoluto", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 080f2e87986..0eb2ddd825a 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Chiedi all'amministratore di riavviare il server web.", "PostgreSQL >= 9 required" : "Richiesto PostgreSQL >= 9", "Please upgrade your database version" : "Aggiorna la versione del tuo database", - "Error occurred while checking PostgreSQL version" : "Si è verificato un errore durante il controllo della versione di PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Assicurati di avere PostgreSQL >= 9 o controlla i log per ulteriori informazioni sull'errore", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Modifica i permessi in 0770 in modo tale che la cartella non sia leggibile dagli altri utenti.", "Data directory (%s) is readable by other users" : "La cartella dei dati (%s) è leggibile dagli altri utenti", "Data directory (%s) must be an absolute path" : "La cartella dei dati (%s) deve essere un percorso assoluto", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index d00866d4ba6..21375b53925 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "サーバー管理者にWebサーバーを再起動するよう依頼してください。", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 が必要です", "Please upgrade your database version" : "新しいバージョンのデータベースにアップグレードしてください", - "Error occurred while checking PostgreSQL version" : "PostgreSQL のバージョンチェック中にエラーが発生しました", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL >= 9 がインストールされているかどうか確認してください。もしくは、ログからエラーに関する詳細な情報を確認してください。", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "ディレクトリが他のユーザーから見えないように、パーミッションを 0770 に変更してください。", "Data directory (%s) is readable by other users" : "データディレクトリ (%s) は他のユーザーも閲覧することができます", "Data directory (%s) must be an absolute path" : "データディレクトリ (%s) は、絶対パスである必要があります。", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index e939520703e..204eb63787b 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "サーバー管理者にWebサーバーを再起動するよう依頼してください。", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 が必要です", "Please upgrade your database version" : "新しいバージョンのデータベースにアップグレードしてください", - "Error occurred while checking PostgreSQL version" : "PostgreSQL のバージョンチェック中にエラーが発生しました", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL >= 9 がインストールされているかどうか確認してください。もしくは、ログからエラーに関する詳細な情報を確認してください。", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "ディレクトリが他のユーザーから見えないように、パーミッションを 0770 に変更してください。", "Data directory (%s) is readable by other users" : "データディレクトリ (%s) は他のユーザーも閲覧することができます", "Data directory (%s) must be an absolute path" : "データディレクトリ (%s) は、絶対パスである必要があります。", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index 5a35f149f03..41a7e1921f2 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "서버 관리자에게 웹 서버 재시작을 요청하십시오.", "PostgreSQL >= 9 required" : "PostgreSQL 버전 9 이상이 필요합니다", "Please upgrade your database version" : "데이터베이스 버전을 업그레이드 하십시오", - "Error occurred while checking PostgreSQL version" : "PostgreSQL 버전을 확인하는 중 오류가 발생했습니다", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL 버전 9 이상이 있는지 확인하시고, 자세한 정보는 로그를 확인하십시오", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "권한을 0770으로 변경하여 다른 사용자가 읽을 수 없도록 하십시오.", "Data directory (%s) is readable by other users" : "데이터 디렉터리(%s)를 다른 사용자가 읽을 수 있음", "Data directory (%s) must be an absolute path" : "데이터 디렉터리(%s)는 반드시 절대 경로여야 함", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index deb80e00e98..193ddb2d27b 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "서버 관리자에게 웹 서버 재시작을 요청하십시오.", "PostgreSQL >= 9 required" : "PostgreSQL 버전 9 이상이 필요합니다", "Please upgrade your database version" : "데이터베이스 버전을 업그레이드 하십시오", - "Error occurred while checking PostgreSQL version" : "PostgreSQL 버전을 확인하는 중 오류가 발생했습니다", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL 버전 9 이상이 있는지 확인하시고, 자세한 정보는 로그를 확인하십시오", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "권한을 0770으로 변경하여 다른 사용자가 읽을 수 없도록 하십시오.", "Data directory (%s) is readable by other users" : "데이터 디렉터리(%s)를 다른 사용자가 읽을 수 있음", "Data directory (%s) must be an absolute path" : "데이터 디렉터리(%s)는 반드시 절대 경로여야 함", diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js index 27392c84d2c..c93903ff75e 100644 --- a/lib/l10n/lt_LT.js +++ b/lib/l10n/lt_LT.js @@ -1,6 +1,9 @@ OC.L10N.register( "lib", { + "Cannot write into \"config\" directory!" : "Negalima rašyti į \"config\" aplanką!", + "This can usually be fixed by giving the webserver write access to the config directory" : "Tai gali būti ištaisyta suteikiant web serveriui rašymo teises į config aplanką", + "PHP %s or higher is required." : "Reikalinga PHP %s arba aukštesnė.", "Help" : "Pagalba", "Personal" : "Asmeniniai", "Users" : "Vartotojai", @@ -17,6 +20,8 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["prieš %n min.","Prieš % minutes","Prieš %n minučių"], "seconds ago" : "prieš sekundę", "web services under your control" : "jūsų valdomos web paslaugos", + "Empty filename is not allowed" : "Tuščias failo pavadinimas neleidžiamas", + "File name is a reserved word" : "Failo pavadinimas negalimas, žodis rezervuotas", "File name contains at least one invalid character" : "Failo vardas sudarytas iš neleistinų simbolių", "App directory already exists" : "Programos aplankas jau egzistuoja", "Can't create app folder. Please fix permissions. %s" : "Nepavyksta sukurti aplanko. Prašome pataisyti leidimus. %s", diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json index 674939a7a0a..2784c3aefc1 100644 --- a/lib/l10n/lt_LT.json +++ b/lib/l10n/lt_LT.json @@ -1,4 +1,7 @@ { "translations": { + "Cannot write into \"config\" directory!" : "Negalima rašyti į \"config\" aplanką!", + "This can usually be fixed by giving the webserver write access to the config directory" : "Tai gali būti ištaisyta suteikiant web serveriui rašymo teises į config aplanką", + "PHP %s or higher is required." : "Reikalinga PHP %s arba aukštesnė.", "Help" : "Pagalba", "Personal" : "Asmeniniai", "Users" : "Vartotojai", @@ -15,6 +18,8 @@ "_%n minute ago_::_%n minutes ago_" : ["prieš %n min.","Prieš % minutes","Prieš %n minučių"], "seconds ago" : "prieš sekundę", "web services under your control" : "jūsų valdomos web paslaugos", + "Empty filename is not allowed" : "Tuščias failo pavadinimas neleidžiamas", + "File name is a reserved word" : "Failo pavadinimas negalimas, žodis rezervuotas", "File name contains at least one invalid character" : "Failo vardas sudarytas iš neleistinų simbolių", "App directory already exists" : "Programos aplankas jau egzistuoja", "Can't create app folder. Please fix permissions. %s" : "Nepavyksta sukurti aplanko. Prašome pataisyti leidimus. %s", diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js index 4f85c4975e0..a8ea9cca6ab 100644 --- a/lib/l10n/nb_NO.js +++ b/lib/l10n/nb_NO.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Be server-administratoren om å starte web-serveren på nytt.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 kreves", "Please upgrade your database version" : "Vennligst oppgrader versjonen av databasen din", - "Error occurred while checking PostgreSQL version" : "Det oppstod en feil ved sjekking av PostgreSQL-versjon", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Sjekk at du har PostgreSQL >= 9 eller sjekk loggene for mer informasjon om feilen", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Endre tillatelsene til 0770 slik at mappen ikke kan listes av andre brukere.", "Data directory (%s) is readable by other users" : "Data-mappen (%s) kan leses av andre brukere", "Data directory (%s) must be an absolute path" : "Datamappen (%s) må være en absolutt sti", diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json index 80f1ba19fc9..22a3154f8f3 100644 --- a/lib/l10n/nb_NO.json +++ b/lib/l10n/nb_NO.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Be server-administratoren om å starte web-serveren på nytt.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 kreves", "Please upgrade your database version" : "Vennligst oppgrader versjonen av databasen din", - "Error occurred while checking PostgreSQL version" : "Det oppstod en feil ved sjekking av PostgreSQL-versjon", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Sjekk at du har PostgreSQL >= 9 eller sjekk loggene for mer informasjon om feilen", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Endre tillatelsene til 0770 slik at mappen ikke kan listes av andre brukere.", "Data directory (%s) is readable by other users" : "Data-mappen (%s) kan leses av andre brukere", "Data directory (%s) must be an absolute path" : "Datamappen (%s) må være en absolutt sti", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index d1cfc134c38..24e087a50f5 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Vraag uw beheerder de webserver opnieuw op te starten.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 vereist", "Please upgrade your database version" : "Werk uw database versie bij", - "Error occurred while checking PostgreSQL version" : "Een fout trad op bij checken PostgreSQL versie", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Verifieer dat u PostgreSQL >=9 draait of check de logs voor meer informatie over deze fout", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Wijzig de permissies in 0770 zodat de directory niet door anderen bekeken kan worden.", "Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers", "Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index a38fbdbecc4..691f3e08240 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Vraag uw beheerder de webserver opnieuw op te starten.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 vereist", "Please upgrade your database version" : "Werk uw database versie bij", - "Error occurred while checking PostgreSQL version" : "Een fout trad op bij checken PostgreSQL versie", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Verifieer dat u PostgreSQL >=9 draait of check de logs voor meer informatie over deze fout", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Wijzig de permissies in 0770 zodat de directory niet door anderen bekeken kan worden.", "Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers", "Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben", diff --git a/lib/l10n/oc.js b/lib/l10n/oc.js index b304ccaeec0..e99298f3737 100644 --- a/lib/l10n/oc.js +++ b/lib/l10n/oc.js @@ -139,8 +139,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Demandatz a vòstre administrator servidor que reavie lo servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requesit", "Please upgrade your database version" : "Metètz a jorn vòstre gestionari de banca de donadas", - "Error occurred while checking PostgreSQL version" : "Una error s’es produsida pendent la recuperacion del numèro de version de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Verificatz qu'utilizatz PostgreSQL >= 9 , o agachatz dins lo jornal d’error per mai d’informacions sus aqueste problèma", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambiatz las permissions del repertòri en mòde 0770 per fin que son contengut pòsca èsser listat pels autres utilizaires.", "Data directory (%s) is readable by other users" : "Lo repertòri de donadas (%s) es legible pels autres utilizaires", "Data directory (%s) must be an absolute path" : "Lo camin del dorsièr de donadas (%s) deu èsser absolut", diff --git a/lib/l10n/oc.json b/lib/l10n/oc.json index 2341f7d199b..8a835f35872 100644 --- a/lib/l10n/oc.json +++ b/lib/l10n/oc.json @@ -137,8 +137,6 @@ "Please ask your server administrator to restart the web server." : "Demandatz a vòstre administrator servidor que reavie lo servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requesit", "Please upgrade your database version" : "Metètz a jorn vòstre gestionari de banca de donadas", - "Error occurred while checking PostgreSQL version" : "Una error s’es produsida pendent la recuperacion del numèro de version de PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Verificatz qu'utilizatz PostgreSQL >= 9 , o agachatz dins lo jornal d’error per mai d’informacions sus aqueste problèma", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Cambiatz las permissions del repertòri en mòde 0770 per fin que son contengut pòsca èsser listat pels autres utilizaires.", "Data directory (%s) is readable by other users" : "Lo repertòri de donadas (%s) es legible pels autres utilizaires", "Data directory (%s) must be an absolute path" : "Lo camin del dorsièr de donadas (%s) deu èsser absolut", diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index e347fd6249a..ffb1120a117 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -110,8 +110,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Poproś administratora serwera o restart serwera www.", "PostgreSQL >= 9 required" : "Wymagany PostgreSQL >= 9", "Please upgrade your database version" : "Uaktualnij wersję bazy danych", - "Error occurred while checking PostgreSQL version" : "Wystąpił błąd podczas sprawdzania wersji PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Upewnij się, że PostgreSQL jest w wersji co najmniej 9 lub sprawdź log by uzyskać więcej informacji na temat błędu", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Zmień uprawnienia na 0770, żeby ukryć zawartość katalogu przed innymi użytkownikami.", "Data directory (%s) is readable by other users" : "Katalog danych (%s) jest możliwy do odczytania przez innych użytkowników", "Data directory (%s) is invalid" : "Katalog danych (%s) jest nieprawidłowy", diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index 5f4151f4012..0ac37f3d01d 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -108,8 +108,6 @@ "Please ask your server administrator to restart the web server." : "Poproś administratora serwera o restart serwera www.", "PostgreSQL >= 9 required" : "Wymagany PostgreSQL >= 9", "Please upgrade your database version" : "Uaktualnij wersję bazy danych", - "Error occurred while checking PostgreSQL version" : "Wystąpił błąd podczas sprawdzania wersji PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Upewnij się, że PostgreSQL jest w wersji co najmniej 9 lub sprawdź log by uzyskać więcej informacji na temat błędu", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Zmień uprawnienia na 0770, żeby ukryć zawartość katalogu przed innymi użytkownikami.", "Data directory (%s) is readable by other users" : "Katalog danych (%s) jest możliwy do odczytania przez innych użytkowników", "Data directory (%s) is invalid" : "Katalog danych (%s) jest nieprawidłowy", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 5939fc1f3ca..8078d369b76 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Por favor, peça ao seu administrador do servidor para reiniciar o servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requirido", "Please upgrade your database version" : "Por favor, atualize sua versão do banco de dados", - "Error occurred while checking PostgreSQL version" : "Erro ao verificar a versão do PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, verifique se você tem PostgreSQL> = 9 ou verificar os logs para obter mais informações sobre o erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, altere as permissões para 0770 para que o diretório não possa ser listado por outros usuários.", "Data directory (%s) is readable by other users" : "Diretório de dados (%s) pode ser lido por outros usuários", "Data directory (%s) must be an absolute path" : "Diretório de dados (%s) deve ser um caminho absoluto", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index e25e14daa13..5987c1e2ac7 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Por favor, peça ao seu administrador do servidor para reiniciar o servidor web.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requirido", "Please upgrade your database version" : "Por favor, atualize sua versão do banco de dados", - "Error occurred while checking PostgreSQL version" : "Erro ao verificar a versão do PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor, verifique se você tem PostgreSQL> = 9 ou verificar os logs para obter mais informações sobre o erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, altere as permissões para 0770 para que o diretório não possa ser listado por outros usuários.", "Data directory (%s) is readable by other users" : "Diretório de dados (%s) pode ser lido por outros usuários", "Data directory (%s) must be an absolute path" : "Diretório de dados (%s) deve ser um caminho absoluto", diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js index a4207e996ad..5cf4eb92fee 100644 --- a/lib/l10n/pt_PT.js +++ b/lib/l10n/pt_PT.js @@ -131,8 +131,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Pro favor pergunte ao seu administrador do servidor para reiniciar o servidor da internet.", "PostgreSQL >= 9 required" : "Necessita PostgreSQL >= 9", "Please upgrade your database version" : "Por favor actualize a sua versão da base de dados", - "Error occurred while checking PostgreSQL version" : "Ocorreu um erro enquanto pesquisava a versão do PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor confirme que tem o PostgreSQL >= 9 ou verifique os registos para mais informação sobre o erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor altere as permissões para 0770 para que esse directório não possa ser listado por outros utilizadores.", "Data directory (%s) is readable by other users" : "O directório de dados (%s) é legível para outros utilizadores", "Data directory (%s) must be an absolute path" : "Diretório de dados (%s) deve ser um caminho absoluto", diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json index 94a85e0d371..d4996db5942 100644 --- a/lib/l10n/pt_PT.json +++ b/lib/l10n/pt_PT.json @@ -129,8 +129,6 @@ "Please ask your server administrator to restart the web server." : "Pro favor pergunte ao seu administrador do servidor para reiniciar o servidor da internet.", "PostgreSQL >= 9 required" : "Necessita PostgreSQL >= 9", "Please upgrade your database version" : "Por favor actualize a sua versão da base de dados", - "Error occurred while checking PostgreSQL version" : "Ocorreu um erro enquanto pesquisava a versão do PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Por favor confirme que tem o PostgreSQL >= 9 ou verifique os registos para mais informação sobre o erro", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor altere as permissões para 0770 para que esse directório não possa ser listado por outros utilizadores.", "Data directory (%s) is readable by other users" : "O directório de dados (%s) é legível para outros utilizadores", "Data directory (%s) must be an absolute path" : "Diretório de dados (%s) deve ser um caminho absoluto", diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js index 008fcd83349..92e739b7d54 100644 --- a/lib/l10n/ro.js +++ b/lib/l10n/ro.js @@ -51,7 +51,6 @@ OC.L10N.register( "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "PostgreSQL >= 9 required" : "Este necesară versiunea 9 sau mai mare a PostgreSQL", "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă", - "Error occurred while checking PostgreSQL version" : "A apărut o eroare la verificarea versiunii PostgreSQL", "Storage not available" : "Spațiu de stocare indisponibil" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json index b23f99f410a..9f6abb00413 100644 --- a/lib/l10n/ro.json +++ b/lib/l10n/ro.json @@ -49,7 +49,6 @@ "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "PostgreSQL >= 9 required" : "Este necesară versiunea 9 sau mai mare a PostgreSQL", "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă", - "Error occurred while checking PostgreSQL version" : "A apărut o eroare la verificarea versiunii PostgreSQL", "Storage not available" : "Spațiu de stocare indisponibil" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 58b05ccd2e5..6b5932c0b55 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Пожалуйста, попросите вашего администратора перезапустить веб-сервер.", "PostgreSQL >= 9 required" : "Требуется PostgreSQL >= 9", "Please upgrade your database version" : "Обновите базу данных", - "Error occurred while checking PostgreSQL version" : "Произошла ошибка при проверке версии PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Убедитесь что версия PostgreSQL >= 9 или проверьте журналы для получения дополнительной информацией об ошибке", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.", "Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям", "Data directory (%s) must be an absolute path" : "Директория данных (%s) должна иметь абсолютный путь", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index a5cf92180bb..62567fd749a 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Пожалуйста, попросите вашего администратора перезапустить веб-сервер.", "PostgreSQL >= 9 required" : "Требуется PostgreSQL >= 9", "Please upgrade your database version" : "Обновите базу данных", - "Error occurred while checking PostgreSQL version" : "Произошла ошибка при проверке версии PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Убедитесь что версия PostgreSQL >= 9 или проверьте журналы для получения дополнительной информацией об ошибке", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.", "Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям", "Data directory (%s) must be an absolute path" : "Директория данных (%s) должна иметь абсолютный путь", diff --git a/lib/l10n/sk_SK.js b/lib/l10n/sk_SK.js index 395b45b0dc5..03d2671d2e8 100644 --- a/lib/l10n/sk_SK.js +++ b/lib/l10n/sk_SK.js @@ -138,8 +138,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Prosím, požiadajte administrátora vášho servera o reštartovanie webového servera.", "PostgreSQL >= 9 required" : "Vyžadované PostgreSQL >= 9", "Please upgrade your database version" : "Prosím, aktualizujte verziu svojej databázy", - "Error occurred while checking PostgreSQL version" : "Nastala chyba pri overovaní verzie PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Prosím, uistite sa, že máte PostgreSQL >= 9 alebo sa pozrite do protokolu, kde nájdete podrobnejšie informácie o chybe", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Prosím, zmeňte oprávnenia na 0770, aby tento priečinok nemohli ostatní používatelia otvoriť.", "Data directory (%s) is readable by other users" : "Priečinok dát (%s) je prístupný na čítanie ostatným používateľom", "Data directory (%s) must be an absolute path" : "Priečinok dát (%s) musí byť zadaný ako absolútna cesta", diff --git a/lib/l10n/sk_SK.json b/lib/l10n/sk_SK.json index 6fbfca2602b..2c09cdac580 100644 --- a/lib/l10n/sk_SK.json +++ b/lib/l10n/sk_SK.json @@ -136,8 +136,6 @@ "Please ask your server administrator to restart the web server." : "Prosím, požiadajte administrátora vášho servera o reštartovanie webového servera.", "PostgreSQL >= 9 required" : "Vyžadované PostgreSQL >= 9", "Please upgrade your database version" : "Prosím, aktualizujte verziu svojej databázy", - "Error occurred while checking PostgreSQL version" : "Nastala chyba pri overovaní verzie PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Prosím, uistite sa, že máte PostgreSQL >= 9 alebo sa pozrite do protokolu, kde nájdete podrobnejšie informácie o chybe", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Prosím, zmeňte oprávnenia na 0770, aby tento priečinok nemohli ostatní používatelia otvoriť.", "Data directory (%s) is readable by other users" : "Priečinok dát (%s) je prístupný na čítanie ostatným používateľom", "Data directory (%s) must be an absolute path" : "Priečinok dát (%s) musí byť zadaný ako absolútna cesta", diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js index 07a21c894fb..b84110995e2 100644 --- a/lib/l10n/sl.js +++ b/lib/l10n/sl.js @@ -120,8 +120,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Obvestite skrbnika strežnika, da je treba ponovno zagnati spletni strežnik.", "PostgreSQL >= 9 required" : "Zahtevana je različica PostgreSQL >= 9.", "Please upgrade your database version" : "Posodobite različico podatkovne zbirke.", - "Error occurred while checking PostgreSQL version" : "Prišlo je do napake med preverjanjem različice PostgreSQL.", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Prepričajte se, da je nameščena različica PostgreSQL >= 9 in preverite dnevniški zapis za več podrobnosti o napaki.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Spremenite dovoljenja mape na 0770 in s tem onemogočite branje vsebine drugim uporabnikom.", "Data directory (%s) is readable by other users" : "Podatkovna mapa (%s) ima določena dovoljenja za branje skupine.", "Data directory (%s) is invalid" : "Podatkovna mapa (%s) ni veljavna.", diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json index ed518f770bb..7f70f881b31 100644 --- a/lib/l10n/sl.json +++ b/lib/l10n/sl.json @@ -118,8 +118,6 @@ "Please ask your server administrator to restart the web server." : "Obvestite skrbnika strežnika, da je treba ponovno zagnati spletni strežnik.", "PostgreSQL >= 9 required" : "Zahtevana je različica PostgreSQL >= 9.", "Please upgrade your database version" : "Posodobite različico podatkovne zbirke.", - "Error occurred while checking PostgreSQL version" : "Prišlo je do napake med preverjanjem različice PostgreSQL.", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Prepričajte se, da je nameščena različica PostgreSQL >= 9 in preverite dnevniški zapis za več podrobnosti o napaki.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Spremenite dovoljenja mape na 0770 in s tem onemogočite branje vsebine drugim uporabnikom.", "Data directory (%s) is readable by other users" : "Podatkovna mapa (%s) ima določena dovoljenja za branje skupine.", "Data directory (%s) is invalid" : "Podatkovna mapa (%s) ni veljavna.", diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js index 2cf6eeecdef..ff319d2a01f 100644 --- a/lib/l10n/sq.js +++ b/lib/l10n/sq.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Ju lutemi, kërkojini përgjegjësit të shërbyesit tuaj të rinisë shërbyesin web.", "PostgreSQL >= 9 required" : "Lypset PostgreSQL >= 9", "Please upgrade your database version" : "Ju lutemi, përmirësoni bazën tuaj të të dhënave me një version më të ri.", - "Error occurred while checking PostgreSQL version" : "Ndodhi një gabim teksa kontrollohej versioni i PostgreSQL-së", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Ju lutemi, sigurohuni që keni PostgreSQL >= 9 ose kontrolloni regjistrat për më tepër të dhëna rreth gabimit", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ju lutemi, kalojani lejet në 0770, që kështu atë drejtori të mos mund ta shfaqin përdorues të tjerë.", "Data directory (%s) is readable by other users" : "Drejtoria e të dhënave (%s) është e lexueshme nga përdorues të tjerë", "Data directory (%s) must be an absolute path" : "Drejtoria e të dhënave (%s) duhet të jepë një shteg absolut", diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json index ec412dfff53..200bfd7a9ca 100644 --- a/lib/l10n/sq.json +++ b/lib/l10n/sq.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Ju lutemi, kërkojini përgjegjësit të shërbyesit tuaj të rinisë shërbyesin web.", "PostgreSQL >= 9 required" : "Lypset PostgreSQL >= 9", "Please upgrade your database version" : "Ju lutemi, përmirësoni bazën tuaj të të dhënave me një version më të ri.", - "Error occurred while checking PostgreSQL version" : "Ndodhi një gabim teksa kontrollohej versioni i PostgreSQL-së", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Ju lutemi, sigurohuni që keni PostgreSQL >= 9 ose kontrolloni regjistrat për më tepër të dhëna rreth gabimit", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ju lutemi, kalojani lejet në 0770, që kështu atë drejtori të mos mund ta shfaqin përdorues të tjerë.", "Data directory (%s) is readable by other users" : "Drejtoria e të dhënave (%s) është e lexueshme nga përdorues të tjerë", "Data directory (%s) must be an absolute path" : "Drejtoria e të dhënave (%s) duhet të jepë një shteg absolut", diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js index 677c14b92cc..07fe91c176e 100644 --- a/lib/l10n/sr.js +++ b/lib/l10n/sr.js @@ -138,8 +138,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Замолите вашег администратора сервера да поново покрене веб сервер.", "PostgreSQL >= 9 required" : "Захтеван је ПостгреСкул >= 9", "Please upgrade your database version" : "Надоградите ваше издање базе", - "Error occurred while checking PostgreSQL version" : "Дошло је до грешке приликом провере издања програма ПостгреСкул", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Проверите да ли имате ПостгреСкул >= 9 или проверите дневнике записа за више информација о грешци", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Промените дозволе у 0770 како директоријуми не би могли бити излистани од стране других корисника.", "Data directory (%s) is readable by other users" : "Директоријум података (%s) могу читати остали корисници", "Data directory (%s) must be an absolute path" : "Директоријум података (%s) мора бити апсолутна путања", diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json index 7ac58babca4..38349a02baf 100644 --- a/lib/l10n/sr.json +++ b/lib/l10n/sr.json @@ -136,8 +136,6 @@ "Please ask your server administrator to restart the web server." : "Замолите вашег администратора сервера да поново покрене веб сервер.", "PostgreSQL >= 9 required" : "Захтеван је ПостгреСкул >= 9", "Please upgrade your database version" : "Надоградите ваше издање базе", - "Error occurred while checking PostgreSQL version" : "Дошло је до грешке приликом провере издања програма ПостгреСкул", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Проверите да ли имате ПостгреСкул >= 9 или проверите дневнике записа за више информација о грешци", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Промените дозволе у 0770 како директоријуми не би могли бити излистани од стране других корисника.", "Data directory (%s) is readable by other users" : "Директоријум података (%s) могу читати остали корисници", "Data directory (%s) must be an absolute path" : "Директоријум података (%s) мора бити апсолутна путања", diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js index f5e0ceaf114..a27ea06c152 100644 --- a/lib/l10n/sv.js +++ b/lib/l10n/sv.js @@ -112,8 +112,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Vänligen be din serveradministratör att starta om webservern.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 krävs", "Please upgrade your database version" : "Vänligen uppgradera din databas-version", - "Error occurred while checking PostgreSQL version" : "Ett fel inträffade vid kontroll utav PostgreSQL-version", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Vänligen säkerställ att du har PostgreSQL >= 9 eller kolla loggarna för mer information om felet", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Vänligen ändra rättigheterna till 0770 så att katalogen inte kan listas utav andra användare.", "Data directory (%s) is readable by other users" : "Datakatalogen (%s) kan läsas av andra användare", "Data directory (%s) is invalid" : "Datakatlogen (%s) är ogiltig", diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json index 415f8de7e08..2e85e4bd507 100644 --- a/lib/l10n/sv.json +++ b/lib/l10n/sv.json @@ -110,8 +110,6 @@ "Please ask your server administrator to restart the web server." : "Vänligen be din serveradministratör att starta om webservern.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 krävs", "Please upgrade your database version" : "Vänligen uppgradera din databas-version", - "Error occurred while checking PostgreSQL version" : "Ett fel inträffade vid kontroll utav PostgreSQL-version", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Vänligen säkerställ att du har PostgreSQL >= 9 eller kolla loggarna för mer information om felet", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Vänligen ändra rättigheterna till 0770 så att katalogen inte kan listas utav andra användare.", "Data directory (%s) is readable by other users" : "Datakatalogen (%s) kan läsas av andra användare", "Data directory (%s) is invalid" : "Datakatlogen (%s) är ogiltig", diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js index d7cc862481a..4da409b7d88 100644 --- a/lib/l10n/th_TH.js +++ b/lib/l10n/th_TH.js @@ -140,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อเริ่มการทำงานของเว็บเซิร์ฟเวอร์", "PostgreSQL >= 9 required" : "จำเป็นต้องใช้ PostgreSQL รุ่น >= 9", "Please upgrade your database version" : "กรุณาอัพเดทฐานข้อมูลของคุณ", - "Error occurred while checking PostgreSQL version" : "เกิดข้อผิดพลาดขึ้นขณะที่การตรวจสอบรุ่นของ PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "กรุณาให้แน่ใจว่าคุณมี PostgreSQL รุ่น >= 9 หรือตรวจสอบบันทึกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "กรุณาเปลี่ยนสิทธิ์การเข้าถึงเป็น 0770 เพื่อให้ไดเรกทอรีไม่สามารถแก้ไขโดยผู้ใช้อื่น", "Data directory (%s) is readable by other users" : "ไดเรกทอรีข้อมูล (%s) สามารถอ่านได้โดยผู้ใช้อื่น", "Data directory (%s) must be an absolute path" : "ไดเรกทอรีข้อมูล (%s) จะต้องเป็นเส้นทางที่แน่นอน", diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json index 3a9fc838bd7..a21802be63a 100644 --- a/lib/l10n/th_TH.json +++ b/lib/l10n/th_TH.json @@ -138,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อเริ่มการทำงานของเว็บเซิร์ฟเวอร์", "PostgreSQL >= 9 required" : "จำเป็นต้องใช้ PostgreSQL รุ่น >= 9", "Please upgrade your database version" : "กรุณาอัพเดทฐานข้อมูลของคุณ", - "Error occurred while checking PostgreSQL version" : "เกิดข้อผิดพลาดขึ้นขณะที่การตรวจสอบรุ่นของ PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "กรุณาให้แน่ใจว่าคุณมี PostgreSQL รุ่น >= 9 หรือตรวจสอบบันทึกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "กรุณาเปลี่ยนสิทธิ์การเข้าถึงเป็น 0770 เพื่อให้ไดเรกทอรีไม่สามารถแก้ไขโดยผู้ใช้อื่น", "Data directory (%s) is readable by other users" : "ไดเรกทอรีข้อมูล (%s) สามารถอ่านได้โดยผู้ใช้อื่น", "Data directory (%s) must be an absolute path" : "ไดเรกทอรีข้อมูล (%s) จะต้องเป็นเส้นทางที่แน่นอน", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index 963bbbacc24..89beff7d2e1 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -87,6 +87,7 @@ OC.L10N.register( "Sharing %s failed, because the backend does not allow shares from type %i" : "Arka uç %i türündeki paylaşımlara izin vermediğinden %s paylaşımı başarısız", "Sharing %s failed, because the file does not exist" : "%s paylaşımı, dosya mevcut olmadığından başarısız oldu", "You are not allowed to share %s" : "%s paylaşımını yapma izniniz yok", + "Sharing %s failed, because you can not share with yourself" : "%s paylaşımı başarısız, kendiniz ile paylaşamazsınız", "Sharing %s failed, because the user %s does not exist" : "%s paylaşımı, %s kullanıcısı mevcut olmadığından başarısız oldu", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s paylaşımı, %s kullanıcısının %s üyeliklerinden birine sahip olmadığından başarısız oldu", "Sharing %s failed, because this item is already shared with %s" : "%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu", @@ -105,6 +106,7 @@ OC.L10N.register( "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşma arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli", "Sharing backend %s not found" : "Paylaşım arka ucu %s bulunamadı", "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı", + "Sharing failed, because the user %s is the original sharer" : "%s kullanıcısı özgün paylaşan kişi olduğundan başarısız oldu", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "%s paylaşımı, izinler %s için verilen izinleri aştığından dolayı başarısız oldu", "Sharing %s failed, because resharing is not allowed" : "%s paylaşımı, tekrar paylaşımın izin verilmemesinden dolayı başarısız oldu", "Sharing %s failed, because the sharing backend for %s could not find its source" : "%s paylaşımı, %s için arka ucun kaynağını bulamamasından dolayı başarısız oldu", @@ -138,8 +140,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Lütfen web sunucusunu yeniden başlatması için sunucu yöneticinize danışın.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 gerekli", "Please upgrade your database version" : "Lütfen veritabanı sürümünüzü yükseltin", - "Error occurred while checking PostgreSQL version" : "PostgreSQL sürümü denetlenirken hata oluştu", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL >= 9 sürümüne sahip olduğunuzu doğrulayın veya hata hakkında daha fazla bilgi için günlükleri denetleyin", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Lütfen izinleri 0770 olarak ayarlayıp dizinin diğer kullanıcılar tarafından görülememesini sağlayın.", "Data directory (%s) is readable by other users" : "Veri dizini (%s) diğer kullanıcılar tarafından okunabilir", "Data directory (%s) must be an absolute path" : "Veri dizini (%s) tam yol olmalıdır", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 1880b659fa9..02b3549baca 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -85,6 +85,7 @@ "Sharing %s failed, because the backend does not allow shares from type %i" : "Arka uç %i türündeki paylaşımlara izin vermediğinden %s paylaşımı başarısız", "Sharing %s failed, because the file does not exist" : "%s paylaşımı, dosya mevcut olmadığından başarısız oldu", "You are not allowed to share %s" : "%s paylaşımını yapma izniniz yok", + "Sharing %s failed, because you can not share with yourself" : "%s paylaşımı başarısız, kendiniz ile paylaşamazsınız", "Sharing %s failed, because the user %s does not exist" : "%s paylaşımı, %s kullanıcısı mevcut olmadığından başarısız oldu", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s paylaşımı, %s kullanıcısının %s üyeliklerinden birine sahip olmadığından başarısız oldu", "Sharing %s failed, because this item is already shared with %s" : "%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu", @@ -103,6 +104,7 @@ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşma arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli", "Sharing backend %s not found" : "Paylaşım arka ucu %s bulunamadı", "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı", + "Sharing failed, because the user %s is the original sharer" : "%s kullanıcısı özgün paylaşan kişi olduğundan başarısız oldu", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "%s paylaşımı, izinler %s için verilen izinleri aştığından dolayı başarısız oldu", "Sharing %s failed, because resharing is not allowed" : "%s paylaşımı, tekrar paylaşımın izin verilmemesinden dolayı başarısız oldu", "Sharing %s failed, because the sharing backend for %s could not find its source" : "%s paylaşımı, %s için arka ucun kaynağını bulamamasından dolayı başarısız oldu", @@ -136,8 +138,6 @@ "Please ask your server administrator to restart the web server." : "Lütfen web sunucusunu yeniden başlatması için sunucu yöneticinize danışın.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 gerekli", "Please upgrade your database version" : "Lütfen veritabanı sürümünüzü yükseltin", - "Error occurred while checking PostgreSQL version" : "PostgreSQL sürümü denetlenirken hata oluştu", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "PostgreSQL >= 9 sürümüne sahip olduğunuzu doğrulayın veya hata hakkında daha fazla bilgi için günlükleri denetleyin", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Lütfen izinleri 0770 olarak ayarlayıp dizinin diğer kullanıcılar tarafından görülememesini sağlayın.", "Data directory (%s) is readable by other users" : "Veri dizini (%s) diğer kullanıcılar tarafından okunabilir", "Data directory (%s) must be an absolute path" : "Veri dizini (%s) tam yol olmalıdır", diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js index b2537139cc2..25bd609d82e 100644 --- a/lib/l10n/uk.js +++ b/lib/l10n/uk.js @@ -129,8 +129,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.", "PostgreSQL >= 9 required" : "Потрібно PostgreSQL> = 9", "Please upgrade your database version" : "Оновіть версію бази даних", - "Error occurred while checking PostgreSQL version" : "Сталася помилка при перевірці версії PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Переконайтеся що версія PostgreSQL> = 9 або перевірте журнали для отримання додаткової інформацією про помилку", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Змініть права доступу на 0770, щоб інші користувачі не могли отримати список файлів цього каталогу.", "Data directory (%s) is readable by other users" : "Каталог даних (%s) доступний для читання іншим користувачам", "Data directory (%s) must be an absolute path" : "Тека з даними (%s) має бути задана абсолютним шляхом", diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json index f5b1bc77465..1d07831ae70 100644 --- a/lib/l10n/uk.json +++ b/lib/l10n/uk.json @@ -127,8 +127,6 @@ "Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.", "PostgreSQL >= 9 required" : "Потрібно PostgreSQL> = 9", "Please upgrade your database version" : "Оновіть версію бази даних", - "Error occurred while checking PostgreSQL version" : "Сталася помилка при перевірці версії PostgreSQL", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Переконайтеся що версія PostgreSQL> = 9 або перевірте журнали для отримання додаткової інформацією про помилку", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Змініть права доступу на 0770, щоб інші користувачі не могли отримати список файлів цього каталогу.", "Data directory (%s) is readable by other users" : "Каталог даних (%s) доступний для читання іншим користувачам", "Data directory (%s) must be an absolute path" : "Тека з даними (%s) має бути задана абсолютним шляхом", diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index 1ec317736af..a0d17de2796 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -88,7 +88,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "请联系服务器管理员重启网页服务器。", "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9", "Please upgrade your database version" : "请升级您的数据库版本", - "Error occurred while checking PostgreSQL version" : "检查 PostgreSQL 版本时发生了一个错误", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录。", "Data directory (%s) is readable by other users" : "文件目录 (%s) 可以被其他用户读取", "Data directory (%s) is invalid" : "文件目录 (%s) 无效", diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index d1ec158a8d3..b6bd6642114 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -86,7 +86,6 @@ "Please ask your server administrator to restart the web server." : "请联系服务器管理员重启网页服务器。", "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9", "Please upgrade your database version" : "请升级您的数据库版本", - "Error occurred while checking PostgreSQL version" : "检查 PostgreSQL 版本时发生了一个错误", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录。", "Data directory (%s) is readable by other users" : "文件目录 (%s) 可以被其他用户读取", "Data directory (%s) is invalid" : "文件目录 (%s) 无效", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index 1284f83e541..2fd08b7a8f7 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -135,8 +135,6 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "請聯絡您的系統管理員重新啟動網頁伺服器", "PostgreSQL >= 9 required" : "需要 PostgreSQL 版本 >= 9", "Please upgrade your database version" : "請升級您的資料庫版本", - "Error occurred while checking PostgreSQL version" : "檢查 PostgreSQL 版本時發生錯誤", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "請確定您的 PostgreSQL 版本 >= 9,或是看看記錄檔是否有更詳細的訊息", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "請將該目錄權限設定為 0770 ,以免其他使用者讀取", "Data directory (%s) is readable by other users" : "資料目錄 (%s) 可以被其他使用者讀取", "Data directory (%s) must be an absolute path" : "資料夾目錄(%s) 必須式絕對路徑", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 93aeea2c6e1..25b16b9cae0 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -133,8 +133,6 @@ "Please ask your server administrator to restart the web server." : "請聯絡您的系統管理員重新啟動網頁伺服器", "PostgreSQL >= 9 required" : "需要 PostgreSQL 版本 >= 9", "Please upgrade your database version" : "請升級您的資料庫版本", - "Error occurred while checking PostgreSQL version" : "檢查 PostgreSQL 版本時發生錯誤", - "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "請確定您的 PostgreSQL 版本 >= 9,或是看看記錄檔是否有更詳細的訊息", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "請將該目錄權限設定為 0770 ,以免其他使用者讀取", "Data directory (%s) is readable by other users" : "資料目錄 (%s) 可以被其他使用者讀取", "Data directory (%s) must be an absolute path" : "資料夾目錄(%s) 必須式絕對路徑", diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php index 96620838dfb..ea42c9a8967 100644 --- a/lib/private/appframework/http/request.php +++ b/lib/private/appframework/http/request.php @@ -42,7 +42,7 @@ use OCP\Security\ISecureRandom; */ class Request implements \ArrayAccess, \Countable, IRequest { - const USER_AGENT_IE = '/MSIE/'; + const USER_AGENT_IE = '/(MSIE)|(Trident)/'; const USER_AGENT_IE_8 = '/MSIE 8.0/'; // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent const USER_AGENT_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#'; @@ -674,6 +674,9 @@ class Request implements \ArrayAccess, \Countable, IRequest { * @return bool true if at least one of the given agent matches, false otherwise */ public function isUserAgent(array $agent) { + if (!isset($this->server['HTTP_USER_AGENT'])) { + return false; + } foreach ($agent as $regex) { if (preg_match($regex, $this->server['HTTP_USER_AGENT'])) { return true; diff --git a/lib/private/config.php b/lib/private/config.php index 3ad800a00be..94b4fd56daa 100644 --- a/lib/private/config.php +++ b/lib/private/config.php @@ -234,7 +234,9 @@ class Config { // File does not exist, this can happen when doing a fresh install if(!is_resource ($filePointer)) { - $url = \OC_Helper::linkToDocs('admin-dir_permissions'); + // TODO fix this via DI once it is very clear that this doesn't cause side effects due to initialization order + // currently this breaks app routes but also could have other side effects especially during setup and exception handling + $url = \OC::$server->getURLGenerator()->linkToDocs('admin-dir_permissions'); throw new HintException( "Can't write into config directory!", 'This can usually be fixed by ' diff --git a/lib/private/db/adapteroci8.php b/lib/private/db/adapteroci8.php index 6e7857e6620..76c265bc178 100644 --- a/lib/private/db/adapteroci8.php +++ b/lib/private/db/adapteroci8.php @@ -26,6 +26,9 @@ namespace OC\DB; class AdapterOCI8 extends Adapter { public function lastInsertId($table) { + if (is_null($table)) { + throw new \InvalidArgumentException('Oracle requires a table name to be passed into lastInsertId()'); + } if ($table !== null) { $suffix = '_SEQ'; $table = '"' . $table . $suffix . '"'; diff --git a/lib/private/db/connection.php b/lib/private/db/connection.php index 1b86d3d383a..85b1b7cd5ea 100644 --- a/lib/private/db/connection.php +++ b/lib/private/db/connection.php @@ -214,8 +214,7 @@ class Connection extends \Doctrine\DBAL\Connection implements IDBConnection { * @param string $seqName Name of the sequence object from which the ID should be returned. * @return string A string representation of the last inserted ID. */ - public function lastInsertId($seqName = null) - { + public function lastInsertId($seqName = null) { if ($seqName) { $seqName = $this->replaceTablePrefix($seqName); } diff --git a/lib/private/db/querybuilder/querybuilder.php b/lib/private/db/querybuilder/querybuilder.php index 1d97faf77cc..02d8ee4344d 100644 --- a/lib/private/db/querybuilder/querybuilder.php +++ b/lib/private/db/querybuilder/querybuilder.php @@ -301,6 +301,30 @@ class QueryBuilder implements IQueryBuilder { } /** + * Specifies an item that is to be returned with a different name in the query result. + * + * <code> + * $qb = $conn->getQueryBuilder() + * ->selectAlias('u.id', 'user_id') + * ->from('users', 'u') + * ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id'); + * </code> + * + * @param mixed $select The selection expressions. + * @param string $alias The column alias used in the constructed query. + * + * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance. + */ + public function selectAlias($select, $alias) { + + $this->queryBuilder->addSelect( + $this->helper->quoteColumnName($select) . ' AS ' . $this->helper->quoteColumnName($alias) + ); + + return $this; + } + + /** * Adds an item that is to be returned in the query result. * * <code> diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index 40477243324..e6110c1925d 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -160,6 +160,7 @@ class Cache { } else { //fix types $data['fileid'] = (int)$data['fileid']; + $data['parent'] = (int)$data['parent']; $data['size'] = 0 + $data['size']; $data['mtime'] = (int)$data['mtime']; $data['storage_mtime'] = (int)$data['storage_mtime']; @@ -391,12 +392,17 @@ class Cache { if ($file === '') { return -1; } else { - $parent = dirname($file); - if ($parent === '.') { - $parent = ''; - } - return $this->getId($parent); + $parent = $this->getParentPath($file); + return (int) $this->getId($parent); + } + } + + private function getParentPath($path) { + $parent = dirname($path); + if ($parent === '.') { + $parent = ''; } + return $parent; } /** diff --git a/lib/private/files/cache/changepropagator.php b/lib/private/files/cache/changepropagator.php index 9696a82257e..2a48eb13c59 100644 --- a/lib/private/files/cache/changepropagator.php +++ b/lib/private/files/cache/changepropagator.php @@ -22,6 +22,7 @@ namespace OC\Files\Cache; +use OC\Files\Filesystem; use OC\Hooks\BasicEmitter; /** @@ -61,23 +62,30 @@ class ChangePropagator extends BasicEmitter { * @param int $time (optional) the mtime to set for the folders, if not set the current time is used */ public function propagateChanges($time = null) { - $parents = $this->getAllParents(); - $this->changedFiles = array(); + $changes = $this->getChanges(); + $this->changedFiles = []; if (!$time) { $time = time(); } - foreach ($parents as $parent) { + foreach ($changes as $change) { /** * @var \OC\Files\Storage\Storage $storage * @var string $internalPath */ - list($storage, $internalPath) = $this->view->resolvePath($parent); + $absolutePath = $this->view->getAbsolutePath($change); + $mount = $this->view->getMount($change); + $storage = $mount->getStorage(); + $internalPath = $mount->getInternalPath($absolutePath); if ($storage) { - $cache = $storage->getCache(); - $entry = $cache->get($internalPath); - $cache->update($entry['fileid'], array('mtime' => max($time, $entry['mtime']), 'etag' => $storage->getETag($internalPath))); - $this->emit('\OC\Files', 'propagate', [$parent, $entry]); + $propagator = $storage->getPropagator(); + $propagatedEntries = $propagator->propagateChange($internalPath, $time); + + foreach ($propagatedEntries as $entry) { + $absolutePath = Filesystem::normalizePath($mount->getMountPoint() . '/' . $entry['path']); + $relativePath = $this->view->getRelativePath($absolutePath); + $this->emit('\OC\Files', 'propagate', [$relativePath, $entry]); + } } } } diff --git a/lib/private/files/cache/propagator.php b/lib/private/files/cache/propagator.php new file mode 100644 index 00000000000..bd11cef5990 --- /dev/null +++ b/lib/private/files/cache/propagator.php @@ -0,0 +1,66 @@ +<?php +/** + * @author Robin Appelman <icewind@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 OC\Files\Cache; + +/** + * Propagate etags and mtimes within the storage + */ +class Propagator { + /** + * @var \OC\Files\Storage\Storage + */ + protected $storage; + + /** + * @param \OC\Files\Storage\Storage $storage + */ + public function __construct(\OC\Files\Storage\Storage $storage) { + $this->storage = $storage; + } + + + /** + * @param string $internalPath + * @param int $time + * @return array[] all propagated entries + */ + public function propagateChange($internalPath, $time) { + $cache = $this->storage->getCache($internalPath); + + $parentId = $cache->getParentId($internalPath); + $propagatedEntries = []; + while ($parentId !== -1) { + $entry = $cache->get($parentId); + $propagatedEntries[] = $entry; + if (!$entry) { + return $propagatedEntries; + } + $mtime = max($time, $entry['mtime']); + + $cache->update($parentId, ['mtime' => $mtime, 'etag' => $this->storage->getETag($entry['path'])]); + + $parentId = $entry['parent']; + } + + return $propagatedEntries; + } +} diff --git a/lib/private/files/cache/updater.php b/lib/private/files/cache/updater.php index 85dcc8589de..4d11fa3a251 100644 --- a/lib/private/files/cache/updater.php +++ b/lib/private/files/cache/updater.php @@ -29,8 +29,6 @@ namespace OC\Files\Cache; /** * Update the cache and propagate changes * - * Unlike most other classes an Updater is not related to a specific storage but handles updates for all storages in a users filesystem. - * This is needed because the propagation of mtime and etags need to cross storage boundaries */ class Updater { /** @@ -39,21 +37,33 @@ class Updater { protected $enabled = true; /** - * @var \OC\Files\View + * @var \OC\Files\Storage\Storage */ - protected $view; + protected $storage; /** - * @var \OC\Files\Cache\ChangePropagator + * @var \OC\Files\Cache\Propagator */ protected $propagator; /** - * @param \OC\Files\View $view the view the updater works on, usually the view of the logged in user + * @var Scanner */ - public function __construct($view) { - $this->view = $view; - $this->propagator = new ChangePropagator($view); + protected $scanner; + + /** + * @var Cache + */ + protected $cache; + + /** + * @param \OC\Files\Storage\Storage $storage + */ + public function __construct(\OC\Files\Storage\Storage $storage) { + $this->storage = $storage; + $this->propagator = $storage->getPropagator(); + $this->scanner = $storage->getScanner(); + $this->cache = $storage->getCache(); } /** @@ -73,7 +83,7 @@ class Updater { /** * Get the propagator for etags and mtime for the view the updater works on * - * @return ChangePropagator + * @return Propagator */ public function getPropagator() { return $this->propagator; @@ -89,8 +99,7 @@ class Updater { if (Scanner::isPartialFile($path)) { return; } - $this->propagator->addChange($path); - $this->propagator->propagateChanges($time); + $this->propagator->propagateChange($path, $time); } /** @@ -103,20 +112,14 @@ class Updater { if (!$this->enabled or Scanner::isPartialFile($path)) { return; } - /** - * @var \OC\Files\Storage\Storage $storage - * @var string $internalPath - */ - list($storage, $internalPath) = $this->view->resolvePath($path); - if ($storage) { - $this->propagator->addChange($path); - $cache = $storage->getCache($internalPath); - $scanner = $storage->getScanner($internalPath); - $data = $scanner->scan($internalPath, Scanner::SCAN_SHALLOW, -1, false); - $this->correctParentStorageMtime($storage, $internalPath); - $cache->correctFolderSize($internalPath, $data); - $this->propagator->propagateChanges($time); + if (is_null($time)) { + $time = time(); } + + $data = $this->scanner->scan($path, Scanner::SCAN_SHALLOW, -1, false); + $this->correctParentStorageMtime($path); + $this->cache->correctFolderSize($path, $data); + $this->propagator->propagateChange($path, $time); } /** @@ -128,87 +131,71 @@ class Updater { if (!$this->enabled or Scanner::isPartialFile($path)) { return; } - /** - * @var \OC\Files\Storage\Storage $storage - * @var string $internalPath - */ - list($storage, $internalPath) = $this->view->resolvePath($path); - if ($storage) { - $parent = dirname($internalPath); - if ($parent === '.') { - $parent = ''; - } - $this->propagator->addChange($path); - $cache = $storage->getCache($internalPath); - $cache->remove($internalPath); - $cache->correctFolderSize($parent); - $this->correctParentStorageMtime($storage, $internalPath); - $this->propagator->propagateChanges(); + + $parent = dirname($path); + if ($parent === '.') { + $parent = ''; } + + $this->cache->remove($path); + $this->cache->correctFolderSize($parent); + $this->correctParentStorageMtime($path); + $this->propagator->propagateChange($path, time()); } /** * Rename a file or folder in the cache and update the size, etag and mtime of the parent folders * + * @param \OC\Files\Storage\Storage $sourceStorage * @param string $source * @param string $target */ - public function rename($source, $target) { + public function renameFromStorage(\OC\Files\Storage\Storage $sourceStorage, $source, $target) { if (!$this->enabled or Scanner::isPartialFile($source) or Scanner::isPartialFile($target)) { return; } - /** - * @var \OC\Files\Storage\Storage $sourceStorage - * @var \OC\Files\Storage\Storage $targetStorage - * @var string $sourceInternalPath - * @var string $targetInternalPath - */ - list($sourceStorage, $sourceInternalPath) = $this->view->resolvePath($source); - // if it's a moved mountpoint we dont need to do anything - if ($sourceInternalPath === '') { - return; - } - list($targetStorage, $targetInternalPath) = $this->view->resolvePath($target); - - if ($sourceStorage && $targetStorage) { - $targetCache = $targetStorage->getCache($sourceInternalPath); - if ($sourceStorage->getCache($sourceInternalPath)->inCache($sourceInternalPath)) { - if ($targetCache->inCache($targetInternalPath)) { - $targetCache->remove($targetInternalPath); - } - if ($sourceStorage === $targetStorage) { - $targetCache->move($sourceInternalPath, $targetInternalPath); - } else { - $targetCache->moveFromCache($sourceStorage->getCache(), $sourceInternalPath, $targetInternalPath); - } + + $time = time(); + + $sourceCache = $sourceStorage->getCache($source); + $sourceUpdater = $sourceStorage->getUpdater(); + $sourcePropagator = $sourceStorage->getPropagator(); + + if ($sourceCache->inCache($source)) { + if ($this->cache->inCache($target)) { + $this->cache->remove($target); } - if (pathinfo($sourceInternalPath, PATHINFO_EXTENSION) !== pathinfo($targetInternalPath, PATHINFO_EXTENSION)) { - // handle mime type change - $mimeType = $targetStorage->getMimeType($targetInternalPath); - $fileId = $targetCache->getId($targetInternalPath); - $targetCache->update($fileId, array('mimetype' => $mimeType)); + if ($sourceStorage === $this->storage) { + $this->cache->move($source, $target); + } else { + $this->cache->moveFromCache($sourceCache, $source, $target); } + } - $targetCache->correctFolderSize($sourceInternalPath); - $targetCache->correctFolderSize($targetInternalPath); - $this->correctParentStorageMtime($sourceStorage, $sourceInternalPath); - $this->correctParentStorageMtime($targetStorage, $targetInternalPath); - $this->updateStorageMTimeOnly($targetStorage, $targetInternalPath); - $this->propagator->addChange($source); - $this->propagator->addChange($target); - $this->propagator->propagateChanges(); + if (pathinfo($source, PATHINFO_EXTENSION) !== pathinfo($target, PATHINFO_EXTENSION)) { + // handle mime type change + $mimeType = $this->storage->getMimeType($target); + $fileId = $this->cache->getId($target); + $this->cache->update($fileId, ['mimetype' => $mimeType]); } + + $sourceCache->correctFolderSize($source); + $this->cache->correctFolderSize($target); + $sourceUpdater->correctParentStorageMtime($source); + $this->correctParentStorageMtime($target); + $this->updateStorageMTimeOnly($target); + $sourcePropagator->propagateChange($source, $time); + $this->propagator->propagateChange($target, $time); } - private function updateStorageMTimeOnly($storage, $internalPath) { - $cache = $storage->getCache(); - $fileId = $cache->getId($internalPath); + private function updateStorageMTimeOnly($internalPath) { + $fileId = $this->cache->getId($internalPath); if ($fileId !== -1) { - $cache->update( + $this->cache->update( $fileId, [ 'mtime' => null, // this magic tells it to not overwrite mtime - 'storage_mtime' => $storage->filemtime($internalPath) + 'storage_mtime' => $this->storage->filemtime($internalPath) ] ); } @@ -217,20 +204,13 @@ class Updater { /** * update the storage_mtime of the direct parent in the cache to the mtime from the storage * - * @param \OC\Files\Storage\Storage $storage * @param string $internalPath */ - private function correctParentStorageMtime($storage, $internalPath) { - $cache = $storage->getCache(); - $parentId = $cache->getParentId($internalPath); + public function correctParentStorageMtime($internalPath) { + $parentId = $this->cache->getParentId($internalPath); $parent = dirname($internalPath); if ($parentId != -1) { - $cache->update($parentId, array('storage_mtime' => $storage->filemtime($parent))); + $this->cache->update($parentId, array('storage_mtime' => $this->storage->filemtime($parent))); } } - - public function __destruct() { - // propagate any leftover changes - $this->propagator->propagateChanges(); - } } diff --git a/lib/private/files/fileinfo.php b/lib/private/files/fileinfo.php index bb810dd45ed..5b5e8697004 100644 --- a/lib/private/files/fileinfo.php +++ b/lib/private/files/fileinfo.php @@ -62,6 +62,11 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { private $owner; /** + * @var string[] + */ + private $childEtags = []; + + /** * @param string|boolean $path * @param Storage\Storage $storage * @param string $internalPath @@ -93,6 +98,8 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { public function offsetGet($offset) { if ($offset === 'type') { return $this->getType(); + } else if ($offset === 'etag') { + return $this->getEtag(); } elseif (isset($this->data[$offset])) { return $this->data[$offset]; } else { @@ -153,7 +160,12 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { * @return string */ public function getEtag() { - return $this->data['etag']; + if (count($this->childEtags) > 0) { + $combinedEtag = $this->data['etag'] . '::' . implode('::', $this->childEtags); + return md5($combinedEtag); + } else { + return $this->data['etag']; + } } /** @@ -285,4 +297,26 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { public function getOwner() { return $this->owner; } + + /** + * Add a cache entry which is the child of this folder + * + * Sets the size, etag and size to for cross-storage childs + * + * @param array $data cache entry for the child + * @param string $entryPath full path of the child entry + */ + public function addSubEntry($data, $entryPath) { + $this->data['size'] += isset($data['size']) ? $data['size'] : 0; + if (isset($data['mtime'])) { + $this->data['mtime'] = max($this->data['mtime'], $data['mtime']); + } + if (isset($data['etag'])) { + // prefix the etag with the relative path of the subentry to propagate etag on mount moves + $relativeEntryPath = substr($entryPath, strlen($this->getPath())); + // attach the permissions to propagate etag on permision changes of submounts + $permissions = isset($data['permissions']) ? $data['permissions'] : 0; + $this->childEtags[] = $relativeEntryPath . '/' . $data['etag'] . $permissions; + } + } } diff --git a/lib/private/files/objectstore/objectstorestorage.php b/lib/private/files/objectstore/objectstorestorage.php index e108d7662d4..5ec05a3529e 100644 --- a/lib/private/files/objectstore/objectstorestorage.php +++ b/lib/private/files/objectstore/objectstorestorage.php @@ -370,7 +370,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common { $stat['size'] = filesize($tmpFile); $stat['mtime'] = $mTime; $stat['storage_mtime'] = $mTime; - $stat['mimetype'] = \OC_Helper::getMimeType($tmpFile); + $stat['mimetype'] = \OC::$server->getMimeTypeDetector()->detect($tmpFile); $stat['etag'] = $this->getETag($path); $fileId = $this->getCache()->put($path, $stat); diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index 77a70226b37..0cd67e343ff 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -37,7 +37,9 @@ namespace OC\Files\Storage; use OC\Files\Cache\Cache; +use OC\Files\Cache\Propagator; use OC\Files\Cache\Scanner; +use OC\Files\Cache\Updater; use OC\Files\Filesystem; use OC\Files\Cache\Watcher; use OCP\Files\FileNameTooLongException; @@ -64,7 +66,9 @@ abstract class Common implements Storage { protected $cache; protected $scanner; protected $watcher; + protected $propagator; protected $storageCache; + protected $updater; protected $mountOptions = []; @@ -137,7 +141,7 @@ abstract class Common implements Storage { } public function isSharable($path) { - if (\OC_Util::isSharingDisabledForUser()) { + if (\OCP\Util::isSharingDisabledForUser()) { return false; } @@ -345,6 +349,32 @@ abstract class Common implements Storage { return $this->watcher; } + /** + * get a propagator instance for the cache + * + * @param \OC\Files\Storage\Storage (optional) the storage to pass to the watcher + * @return \OC\Files\Cache\Propagator + */ + public function getPropagator($storage = null) { + if (!$storage) { + $storage = $this; + } + if (!isset($this->propagator)) { + $this->propagator = new Propagator($storage); + } + return $this->propagator; + } + + public function getUpdater($storage = null) { + if (!$storage) { + $storage = $this; + } + if (!isset($this->updater)) { + $this->updater = new Updater($storage); + } + return $this->updater; + } + public function getStorageCache($storage = null) { if (!$storage) { $storage = $this; diff --git a/lib/private/files/storage/dav.php b/lib/private/files/storage/dav.php index dcde7b8029b..9147f572461 100644 --- a/lib/private/files/storage/dav.php +++ b/lib/private/files/storage/dav.php @@ -47,6 +47,7 @@ use OCP\Files\StorageNotAvailableException; use OCP\Util; use Sabre\DAV\Client; use Sabre\DAV\Exception\NotFound; +use Sabre\DAV\Xml\Property\ResourceType; use Sabre\HTTP\ClientException; use Sabre\HTTP\ClientHttpException; @@ -137,7 +138,7 @@ class DAV extends Common { $this->client->setThrowExceptions(true); if ($this->secure === true && $this->certPath) { - $this->client->addTrustedCertificates($this->certPath); + $this->client->addCurlSetting(CURLOPT_CAINFO, $this->certPath); } } @@ -280,7 +281,8 @@ class DAV extends Common { $response = $this->propfind($path); $responseType = array(); if (isset($response["{DAV:}resourcetype"])) { - $responseType = $response["{DAV:}resourcetype"]->resourceType; + /** @var ResourceType[] $response */ + $responseType = $response["{DAV:}resourcetype"]->getValue(); } return (count($responseType) > 0 and $responseType[0] == "{DAV:}collection") ? 'dir' : 'file'; } catch (ClientHttpException $e) { @@ -554,7 +556,8 @@ class DAV extends Common { $response = $this->propfind($path); $responseType = array(); if (isset($response["{DAV:}resourcetype"])) { - $responseType = $response["{DAV:}resourcetype"]->resourceType; + /** @var ResourceType[] $response */ + $responseType = $response["{DAV:}resourcetype"]->getValue(); } $type = (count($responseType) > 0 and $responseType[0] == "{DAV:}collection") ? 'dir' : 'file'; if ($type == 'dir') { diff --git a/lib/private/files/storage/storage.php b/lib/private/files/storage/storage.php index f46ac544b56..fb59752ede1 100644 --- a/lib/private/files/storage/storage.php +++ b/lib/private/files/storage/storage.php @@ -68,6 +68,22 @@ interface Storage extends \OCP\Files\Storage { public function getWatcher($path = '', $storage = null); /** + * get a propagator instance for the cache + * + * @param \OC\Files\Storage\Storage (optional) the storage to pass to the watcher + * @return \OC\Files\Cache\Propagator + */ + public function getPropagator($storage = null); + + /** + * get a updater instance for the cache + * + * @param \OC\Files\Storage\Storage (optional) the storage to pass to the watcher + * @return \OC\Files\Cache\Updater + */ + public function getUpdater($storage = null); + + /** * @return \OC\Files\Cache\Storage */ public function getStorageCache(); diff --git a/lib/private/files/storage/wrapper/wrapper.php b/lib/private/files/storage/wrapper/wrapper.php index 048738170db..81284c7aa69 100644 --- a/lib/private/files/storage/wrapper/wrapper.php +++ b/lib/private/files/storage/wrapper/wrapper.php @@ -430,6 +430,20 @@ class Wrapper implements \OC\Files\Storage\Storage { return $this->storage->getWatcher($path, $storage); } + public function getPropagator($storage = null) { + if (!$storage) { + $storage = $this; + } + return $this->storage->getPropagator($storage); + } + + public function getUpdater($storage = null) { + if (!$storage) { + $storage = $this; + } + return $this->storage->getUpdater($storage); + } + /** * @return \OC\Files\Cache\Storage */ diff --git a/lib/private/files/stream/encryption.php b/lib/private/files/stream/encryption.php index e0d263d80b1..585a697c5d1 100644 --- a/lib/private/files/stream/encryption.php +++ b/lib/private/files/stream/encryption.php @@ -167,7 +167,7 @@ class Encryption extends Wrapper { ) )); - return self::wrapSource($source, $mode, $context, 'ocencryption', $wrapper); + return self::wrapSource($source, $context, 'ocencryption', $wrapper, $mode); } /** @@ -181,7 +181,7 @@ class Encryption extends Wrapper { * @return resource * @throws \BadMethodCallException */ - protected static function wrapSource($source, $mode, $context, $protocol, $class) { + protected static function wrapSource($source, $context, $protocol, $class, $mode = 'r+') { try { stream_wrapper_register($protocol, $class); if (@rewinddir($source) === false) { @@ -471,4 +471,13 @@ class Encryption extends Wrapper { return parent::stream_seek($position); } + /** + * @param string $path + * @param array $options + * @return bool + */ + public function dir_opendir($path, $options) { + return false; + } + } diff --git a/lib/private/files/view.php b/lib/private/files/view.php index cee4b182425..7854790d0e5 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -46,6 +46,7 @@ namespace OC\Files; use Icewind\Streams\CallbackWrapper; use OC\Files\Cache\Updater; use OC\Files\Mount\MoveableMount; +use OC\Files\Storage\Storage; use OC\User\User; use OCP\Files\FileNameTooLongException; use OCP\Files\InvalidCharacterInPathException; @@ -76,9 +77,6 @@ class View { /** @var string */ private $fakeRoot = ''; - /** @var \OC\Files\Cache\Updater */ - protected $updater; - /** * @var \OCP\Lock\ILockingProvider */ @@ -86,6 +84,8 @@ class View { private $lockingEnabled; + private $updaterEnabled = true; + /** * @param string $root * @throws \Exception If $root contains an invalid path @@ -99,7 +99,6 @@ class View { } $this->fakeRoot = $root; - $this->updater = new Updater($this); $this->lockingProvider = \OC::$server->getLockingProvider(); $this->lockingEnabled = !($this->lockingProvider instanceof \OC\Lock\NoopLockingProvider); } @@ -286,6 +285,35 @@ class View { } } + public function disableCacheUpdate() { + $this->updaterEnabled = false; + } + + public function enableCacheUpdate() { + $this->updaterEnabled = true; + } + + protected function writeUpdate(Storage $storage, $internalPath, $time = null) { + if ($this->updaterEnabled) { + if (is_null($time)) { + $time = time(); + } + $storage->getUpdater()->update($internalPath, $time); + } + } + + protected function removeUpdate(Storage $storage, $internalPath) { + if ($this->updaterEnabled) { + $storage->getUpdater()->remove($internalPath); + } + } + + protected function renameUpdate(Storage $sourceStorage, Storage $targetStorage, $sourceInternalPath, $targetInternalPath) { + if ($this->updaterEnabled) { + $targetStorage->getUpdater()->renameFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); + } + } + /** * @param string $path * @return bool|mixed @@ -569,7 +597,7 @@ class View { fclose($target); fclose($data); - $this->updater->update($path); + $this->writeUpdate($storage, $internalPath); $this->changeLock($path, ILockingProvider::LOCK_SHARED); @@ -703,14 +731,11 @@ class View { if ((Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2)) && $result !== false) { // if it was a rename from a part file to a regular file it was a write and not a rename operation - $this->updater->update($path2); + + $this->writeUpdate($storage2, $internalPath2); } else if ($result) { if ($internalPath1 !== '') { // dont do a cache update for moved mounts - $this->updater->rename($path1, $path2); - } else { // only do etag propagation - $this->getUpdater()->getPropagator()->addChange($path1); - $this->getUpdater()->getPropagator()->addChange($path2); - $this->getUpdater()->getPropagator()->propagateChanges(); + $this->renameUpdate($storage1, $storage2, $internalPath1, $internalPath2); } } @@ -807,7 +832,7 @@ class View { $result = $storage2->copyFromStorage($storage1, $internalPath1, $internalPath2); } - $this->updater->update($path2); + $this->writeUpdate($storage2, $internalPath2); $this->changeLock($path2, ILockingProvider::LOCK_SHARED); $lockTypePath2 = ILockingProvider::LOCK_SHARED; @@ -1017,6 +1042,7 @@ class View { } $run = $this->runHooks($hooks, $path); + /** @var \OC\Files\Storage\Storage $storage */ list($storage, $internalPath) = Filesystem::resolvePath($absolutePath . $postFix); if ($run and $storage) { if (in_array('write', $hooks) || in_array('delete', $hooks)) { @@ -1038,13 +1064,13 @@ class View { } if (in_array('delete', $hooks) and $result) { - $this->updater->remove($path); + $this->removeUpdate($storage, $internalPath); } if (in_array('write', $hooks) and $operation !== 'fopen') { - $this->updater->update($path); + $this->writeUpdate($storage, $internalPath); } if (in_array('touch', $hooks)) { - $this->updater->update($path, $extraParam); + $this->writeUpdate($storage, $internalPath, $extraParam); } if ((in_array('write', $hooks) || in_array('delete', $hooks)) && ($operation !== 'fopen' || $result === false)) { @@ -1179,6 +1205,48 @@ class View { } /** + * Get file info from cache + * + * If the file is not in cached it will be scanned + * If the file has changed on storage the cache will be updated + * + * @param \OC\Files\Storage\Storage $storage + * @param string $internalPath + * @param string $relativePath + * @return array|bool + */ + private function getCacheEntry($storage, $internalPath, $relativePath) { + $cache = $storage->getCache($internalPath); + $data = $cache->get($internalPath); + $watcher = $storage->getWatcher($internalPath); + + try { + // if the file is not in the cache or needs to be updated, trigger the scanner and reload the data + if (!$data || $data['size'] === -1) { + $this->lockFile($relativePath, ILockingProvider::LOCK_SHARED); + if (!$storage->file_exists($internalPath)) { + $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); + return false; + } + $scanner = $storage->getScanner($internalPath); + $scanner->scan($internalPath, Cache\Scanner::SCAN_SHALLOW); + $data = $cache->get($internalPath); + $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); + } else if (!Cache\Scanner::isPartialFile($internalPath) && $watcher->needsUpdate($internalPath, $data)) { + $this->lockFile($relativePath, ILockingProvider::LOCK_SHARED); + $watcher->update($internalPath, $data); + $storage->getPropagator()->propagateChange($internalPath, time()); + $data = $cache->get($internalPath); + $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); + } + } catch (LockedException $e) { + // if the file is locked we just use the old cache info + } + + return $data; + } + + /** * get the filesystem info * * @param string $path @@ -1189,9 +1257,8 @@ class View { */ public function getFileInfo($path, $includeMountPoints = true) { $this->assertPathLength($path); - $data = array(); if (!Filesystem::isValidPath($path)) { - return $data; + return false; } if (Cache\Scanner::isPartialFile($path)) { return $this->getPartFileInfo($path); @@ -1202,48 +1269,27 @@ class View { $mount = Filesystem::getMountManager()->find($path); $storage = $mount->getStorage(); $internalPath = $mount->getInternalPath($path); - $data = null; if ($storage) { - $cache = $storage->getCache($internalPath); + $data = $this->getCacheEntry($storage, $internalPath, $relativePath); - $data = $cache->get($internalPath); - $watcher = $storage->getWatcher($internalPath); + if (!is_array($data)) { + return false; + } - try { - // if the file is not in the cache or needs to be updated, trigger the scanner and reload the data - if (!$data) { - $this->lockFile($relativePath, ILockingProvider::LOCK_SHARED); - if (!$storage->file_exists($internalPath)) { - $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); - return false; - } - $scanner = $storage->getScanner($internalPath); - $scanner->scan($internalPath, Cache\Scanner::SCAN_SHALLOW); - $data = $cache->get($internalPath); - $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); - } else if (!Cache\Scanner::isPartialFile($internalPath) && $watcher->needsUpdate($internalPath, $data)) { - $this->lockFile($relativePath, ILockingProvider::LOCK_SHARED); - $watcher->update($internalPath, $data); - $this->updater->propagate($path); - $data = $cache->get($internalPath); - $this->unlockFile($relativePath, ILockingProvider::LOCK_SHARED); - } - } catch (LockedException $e) { - // if the file is locked we just use the old cache info + if ($mount instanceof MoveableMount && $internalPath === '') { + $data['permissions'] |= \OCP\Constants::PERMISSION_DELETE; } + $owner = $this->getUserObjectForOwner($storage->getOwner($internalPath)); + $info = new FileInfo($path, $storage, $internalPath, $data, $mount, $owner); + if ($data and isset($data['fileid'])) { - // upgrades from oc6 or lower might not have the permissions set in the file cache - if ($data['permissions'] === 0) { - $data['permissions'] = $storage->getPermissions($data['path']); - $cache->update($data['fileid'], array('permissions' => $data['permissions'])); - } if ($includeMountPoints and $data['mimetype'] === 'httpd/unix-directory') { //add the sizes of other mount points to the folder $extOnly = ($includeMountPoints === 'ext'); - $mountPoints = Filesystem::getMountPoints($path); - foreach ($mountPoints as $mountPoint) { - $subStorage = Filesystem::getStorage($mountPoint); + $mounts = Filesystem::getMountManager()->findIn($path); + foreach ($mounts as $mount) { + $subStorage = $mount->getStorage(); if ($subStorage) { // exclude shared storage ? if ($extOnly && $subStorage instanceof \OC\Files\Storage\Shared) { @@ -1251,22 +1297,16 @@ class View { } $subCache = $subStorage->getCache(''); $rootEntry = $subCache->get(''); - $data['size'] += isset($rootEntry['size']) ? $rootEntry['size'] : 0; + $info->addSubEntry($rootEntry, $mount->getMountPoint()); } } } } - } - if (!$data) { - return false; - } - if ($mount instanceof MoveableMount && $internalPath === '') { - $data['permissions'] |= \OCP\Constants::PERMISSION_DELETE; + return $info; } - $owner = $this->getUserObjectForOwner($storage->getOwner($internalPath)); - return new FileInfo($path, $storage, $internalPath, $data, $mount, $owner); + return false; } /** @@ -1278,9 +1318,8 @@ class View { */ public function getDirectoryContent($directory, $mimetype_filter = '') { $this->assertPathLength($directory); - $result = array(); if (!Filesystem::isValidPath($directory)) { - return $result; + return []; } $path = $this->getAbsolutePath($directory); $path = Filesystem::normalizePath($path); @@ -1291,50 +1330,25 @@ class View { $cache = $storage->getCache($internalPath); $user = \OC_User::getUser(); - /** - * @var \OC\Files\FileInfo[] $files - */ - $files = array(); + $data = $this->getCacheEntry($storage, $internalPath, $directory); - $data = $cache->get($internalPath); - $watcher = $storage->getWatcher($internalPath); - try { - if (!$data or $data['size'] === -1) { - $this->lockFile($directory, ILockingProvider::LOCK_SHARED); - if (!$storage->file_exists($internalPath)) { - $this->unlockFile($directory, ILockingProvider::LOCK_SHARED); - return array(); - } - $scanner = $storage->getScanner($internalPath); - $scanner->scan($internalPath, Cache\Scanner::SCAN_SHALLOW); - $data = $cache->get($internalPath); - $this->unlockFile($directory, ILockingProvider::LOCK_SHARED); - } else if ($watcher->needsUpdate($internalPath, $data)) { - $this->lockFile($directory, ILockingProvider::LOCK_SHARED); - $watcher->update($internalPath, $data); - $this->updater->propagate($path); - $data = $cache->get($internalPath); - $this->unlockFile($directory, ILockingProvider::LOCK_SHARED); - } - } catch (LockedException $e) { - // if the file is locked we just use the old cache info + if (!is_array($data) || !isset($data['fileid'])) { + return []; } $folderId = $data['fileid']; $contents = $cache->getFolderContentsById($folderId); //TODO: mimetype_filter - foreach ($contents as $content) { - if ($content['permissions'] === 0) { - $content['permissions'] = $storage->getPermissions($content['path']); - $cache->update($content['fileid'], array('permissions' => $content['permissions'])); - } - // if sharing was disabled for the user we remove the share permissions + /** + * @var \OC\Files\FileInfo[] $files + */ + $files = array_map(function (array $content) use ($path, $storage, $mount) { if (\OCP\Util::isSharingDisabledForUser()) { $content['permissions'] = $content['permissions'] & ~\OCP\Constants::PERMISSION_SHARE; } $owner = $this->getUserObjectForOwner($storage->getOwner($content['path'])); - $files[] = new FileInfo($path . '/' . $content['name'], $storage, $content['path'], $content, $mount, $owner); - } + return new FileInfo($path . '/' . $content['name'], $storage, $content['path'], $content, $mount, $owner); + }, $contents); //add a folder for any mountpoint in this directory and add the sizes of other mountpoints to the folders $mounts = Filesystem::getMountManager()->findIn($path); @@ -1345,7 +1359,8 @@ class View { if ($subStorage) { $subCache = $subStorage->getCache(''); - if ($subCache->getStatus('') === Cache\Cache::NOT_FOUND) { + $rootEntry = $subCache->get(''); + if (!$rootEntry) { $subScanner = $subStorage->getScanner(''); try { $subScanner->scanFile(''); @@ -1363,17 +1378,17 @@ class View { ); continue; } + $rootEntry = $subCache->get(''); } - $rootEntry = $subCache->get(''); if ($rootEntry) { $relativePath = trim(substr($mountPoint, $dirLength), '/'); if ($pos = strpos($relativePath, '/')) { //mountpoint inside subfolder add size to the correct folder $entryName = substr($relativePath, 0, $pos); foreach ($files as &$entry) { - if ($entry['name'] === $entryName) { - $entry['size'] += $rootEntry['size']; + if ($entry->getName() === $entryName) { + $entry->addSubEntry($rootEntry, $mountPoint); } } } else { //mountpoint in this folder, add an entry for it @@ -1410,23 +1425,23 @@ class View { } if ($mimetype_filter) { - foreach ($files as $file) { + $files = array_filter($files, function (FileInfo $file) use ($mimetype_filter) { if (strpos($mimetype_filter, '/')) { - if ($file['mimetype'] === $mimetype_filter) { + if ($file->getMimetype() === $mimetype_filter) { $result[] = $file; } } else { - if ($file['mimepart'] === $mimetype_filter) { + if ($file->getMimePart() === $mimetype_filter) { $result[] = $file; } } - } - } else { - $result = $files; + }); } - } - return $result; + return $files; + } else { + return []; + } } /** @@ -1707,13 +1722,6 @@ class View { } /** - * @return Updater - */ - public function getUpdater() { - return $this->updater; - } - - /** * @param string $path * @param string $fileName * @throws InvalidPathException diff --git a/lib/private/group.php b/lib/private/group.php index 4eed2a85450..fdf8086f1e8 100644 --- a/lib/private/group.php +++ b/lib/private/group.php @@ -183,7 +183,7 @@ class OC_Group { * * This function fetches all groups a user belongs to. It does not check * if the user exists at all. - * @deprecated Use \OC::$server->getGroupManager->getuserGroupIds($user) + * @deprecated Use \OC::$server->getGroupManager->getUserGroupIds($user) */ public static function getUserGroups($uid) { $user = self::getUserManager()->get($uid); diff --git a/lib/private/group/manager.php b/lib/private/group/manager.php index 73ff0e537c6..7387b423643 100644 --- a/lib/private/group/manager.php +++ b/lib/private/group/manager.php @@ -210,10 +210,13 @@ class Manager extends PublicEmitter implements IGroupManager { } /** - * @param \OC\User\User $user + * @param \OC\User\User|null $user * @return \OC\Group\Group[] */ public function getUserGroups($user) { + if (is_null($user)) { + return false; + } return $this->getUserIdGroups($user->getUID()); } diff --git a/lib/private/helper.php b/lib/private/helper.php index ee2f520fe2b..fb8e38cc26e 100644 --- a/lib/private/helper.php +++ b/lib/private/helper.php @@ -82,15 +82,6 @@ class OC_Helper { } /** - * @param string $key - * @return string url to the online documentation - * @deprecated Use \OC::$server->getURLGenerator()->linkToDocs($key) - */ - public static function linkToDocs($key) { - return OC::$server->getURLGenerator()->linkToDocs($key); - } - - /** * Creates an absolute url * @param string $app app * @param string $file file @@ -402,18 +393,6 @@ class OC_Helper { } /** - * get the mimetype form a local file - * - * @param string $path - * @return string - * does NOT work for ownClouds filesystem, use OC_FileSystem::getMimeType instead - * @deprecated 8.2.0 Use \OC::$server->getMimeTypeDetector()->detect($path) - */ - static function getMimeType($path) { - return \OC::$server->getMimeTypeDetector()->detect($path); - } - - /** * Get a secure mimetype that won't expose potential XSS. * * @param string $mimeType @@ -645,37 +624,6 @@ class OC_Helper { } /** - * replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement. - * - * @param string $string - * @param string $replacement The replacement string. - * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string. - * @param int $length Length of the part to be replaced - * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8 - * @return string - * @deprecated 8.2.0 Use substr_replace() instead. - */ - public static function mb_substr_replace($string, $replacement, $start, $length = 0, $encoding = 'UTF-8') { - return substr_replace($string, $replacement, $start, $length); - } - - /** - * Replace all occurrences of the search string with the replacement string - * - * @param string $search The value being searched for, otherwise known as the needle. - * @param string $replace The replacement - * @param string $subject The string or array being searched and replaced on, otherwise known as the haystack. - * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8 - * @param int $count If passed, this will be set to the number of replacements performed. - * @return string - * @deprecated 8.2.0 Use str_replace() instead. - * - */ - public static function mb_str_replace($search, $replace, $subject, $encoding = 'UTF-8', &$count = null) { - return str_replace($search, $replace, $subject, $count); - } - - /** * performs a search in a nested array * @param array $haystack the array to be searched * @param string $needle the search string diff --git a/lib/private/installer.php b/lib/private/installer.php index 86968a7c189..021e496392f 100644 --- a/lib/private/installer.php +++ b/lib/private/installer.php @@ -278,7 +278,7 @@ class OC_Installer{ } //detect the archive type - $mime=OC_Helper::getMimeType($path); + $mime = \OC::$server->getMimeTypeDetector()->detect($path); if ($mime !=='application/zip' && $mime !== 'application/x-gzip' && $mime !== 'application/x-bzip2') { throw new \Exception($l->t("Archives of type %s are not supported", array($mime))); } diff --git a/lib/private/notification/inotification.php b/lib/private/notification/inotification.php index a8bf5b110ab..0187abab152 100644 --- a/lib/private/notification/inotification.php +++ b/lib/private/notification/inotification.php @@ -61,25 +61,26 @@ interface INotification { public function getUser(); /** - * @param int $timestamp + * @param \DateTime $dateTime * @return $this - * @throws \InvalidArgumentException if the timestamp are invalid - * @since 8.2.0 + * @throws \InvalidArgumentException if the $dateTime is invalid + * @since 9.0.0 */ - public function setTimestamp($timestamp); + public function setDateTime(\DateTime $dateTime); /** - * @return int - * @since 8.2.0 + * @return \DateTime + * @since 9.0.0 */ - public function getTimestamp(); + public function getDateTime(); /** * @param string $type - * @param int $id + * @param string $id * @return $this - * @throws \InvalidArgumentException if the object type or id are invalid + * @throws \InvalidArgumentException if the object type or id is invalid * @since 8.2.0 + * @changed 9.0.0 Type of $id changed to string */ public function setObject($type, $id); @@ -90,8 +91,9 @@ interface INotification { public function getObjectType(); /** - * @return int + * @return string * @since 8.2.0 + * @changed 9.0.0 Return type changed to string */ public function getObjectId(); diff --git a/lib/private/notification/notification.php b/lib/private/notification/notification.php index 01df659d4a1..70964fc0366 100644 --- a/lib/private/notification/notification.php +++ b/lib/private/notification/notification.php @@ -29,13 +29,13 @@ class Notification implements INotification { /** @var string */ protected $user; - /** @var int */ - protected $timestamp; + /** @var \DateTime */ + protected $dateTime; /** @var string */ protected $objectType; - /** @var int */ + /** @var string */ protected $objectId; /** @var string */ @@ -80,9 +80,10 @@ class Notification implements INotification { public function __construct() { $this->app = ''; $this->user = ''; - $this->timestamp = 0; + $this->dateTime = new \DateTime(); + $this->dateTime->setTimestamp(0); $this->objectType = ''; - $this->objectId = 0; + $this->objectId = ''; $this->subject = ''; $this->subjectParameters = []; $this->subjectParsed = ''; @@ -140,33 +141,34 @@ class Notification implements INotification { } /** - * @param int $timestamp + * @param \DateTime $dateTime * @return $this - * @throws \InvalidArgumentException if the timestamp is invalid - * @since 8.2.0 + * @throws \InvalidArgumentException if the $dateTime is invalid + * @since 9.0.0 */ - public function setTimestamp($timestamp) { - if (!is_int($timestamp)) { - throw new \InvalidArgumentException('The given timestamp is invalid'); + public function setDateTime(\DateTime $dateTime) { + if ($dateTime->getTimestamp() === 0) { + throw new \InvalidArgumentException('The given date time is invalid'); } - $this->timestamp = $timestamp; + $this->dateTime = $dateTime; return $this; } /** - * @return int - * @since 8.2.0 + * @return \DateTime + * @since 9.0.0 */ - public function getTimestamp() { - return $this->timestamp; + public function getDateTime() { + return $this->dateTime; } /** * @param string $type - * @param int $id + * @param string $id * @return $this * @throws \InvalidArgumentException if the object type or id is invalid * @since 8.2.0 + * @changed 9.0.0 Type of $id changed to string */ public function setObject($type, $id) { if (!is_string($type) || $type === '' || isset($type[64])) { @@ -174,10 +176,10 @@ class Notification implements INotification { } $this->objectType = $type; - if (!is_int($id)) { + if (!is_int($id) && (!is_string($id) || $id === '' || isset($id[64]))) { throw new \InvalidArgumentException('The given object id is invalid'); } - $this->objectId = $id; + $this->objectId = (string) $id; return $this; } @@ -190,8 +192,9 @@ class Notification implements INotification { } /** - * @return int + * @return string * @since 8.2.0 + * @changed 9.0.0 Return type changed to string */ public function getObjectId() { return $this->objectId; @@ -438,11 +441,11 @@ class Notification implements INotification { && $this->getUser() !== '' && - $this->getTimestamp() !== 0 + $this->getDateTime()->getTimestamp() !== 0 && $this->getObjectType() !== '' && - $this->getObjectId() !== 0 + $this->getObjectId() !== '' ; } } diff --git a/lib/private/share/share.php b/lib/private/share/share.php index 4503818a9ec..1308c99f804 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -1811,7 +1811,7 @@ class Share extends Constants { } } // Check if resharing is allowed, if not remove share permission - if (isset($row['permissions']) && (!self::isResharingAllowed() | \OC_Util::isSharingDisabledForUser())) { + if (isset($row['permissions']) && (!self::isResharingAllowed() | \OCP\Util::isSharingDisabledForUser())) { $row['permissions'] &= ~\OCP\Constants::PERMISSION_SHARE; } // Add display names to result @@ -2332,22 +2332,7 @@ class Share extends Constants { $id = false; if ($result) { - $id = \OC::$server->getDatabaseConnection()->lastInsertId(); - // Fallback, if lastInterId() doesn't work we need to perform a select - // to get the ID (seems to happen sometimes on Oracle) - if (!$id) { - $getId = \OC_DB::prepare(' - SELECT `id` - FROM`*PREFIX*share` - WHERE `uid_owner` = ? AND `item_target` = ? AND `item_source` = ? AND `stime` = ? - '); - $r = $getId->execute(array($shareData['uidOwner'], $shareData['itemTarget'], $shareData['itemSource'], $shareData['shareTime'])); - if ($r) { - $row = $r->fetchRow(); - $id = $row['id']; - } - } - + $id = \OC::$server->getDatabaseConnection()->lastInsertId('*PREFIX*share'); } return $id; @@ -2581,7 +2566,10 @@ class Share extends Constants { $result = self::tryHttpPost($url, $fields); $status = json_decode($result['result'], true); - return ($result['success'] && $status['ocs']['meta']['statuscode'] === 100); + if ($result['success'] && $status['ocs']['meta']['statuscode'] === 100) { + \OC_Hook::emit('OCP\Share', 'federated_share_added', ['server' => $remote]); + return true; + } } diff --git a/lib/private/share20/defaultshareprovider.php b/lib/private/share20/defaultshareprovider.php index 7f21d3aadf5..bc3bc0ce9ed 100644 --- a/lib/private/share20/defaultshareprovider.php +++ b/lib/private/share20/defaultshareprovider.php @@ -23,65 +23,78 @@ namespace OC\Share20; use OC\Share20\Exception\ShareNotFound; use OC\Share20\Exception\BackendError; use OCP\IUser; +use OCP\IGroupManager; +use OCP\IUserManager; +use OCP\Files\IRootFolder; +use OCP\IDBConnection; +use OCP\Files\Node; class DefaultShareProvider implements IShareProvider { - /** @var \OCP\IDBConnection */ + /** @var IDBConnection */ private $dbConn; - /** @var \OCP\IUserManager */ + /** @var IUserManager */ private $userManager; - /** @var \OCP\IGroupManager */ + /** @var IGroupManager */ private $groupManager; - /** @var \OCP\Files\Folder */ - private $userFolder; + /** @var IRootFolder */ + private $rootFolder; - public function __construct(\OCP\IDBConnection $connection, - \OCP\IUserManager $userManager, - \OCP\IGroupManager $groupManager, - \OCP\Files\Folder $userFolder) { + /** + * DefaultShareProvider constructor. + * + * @param IDBConnection $connection + * @param IUserManager $userManager + * @param IGroupManager $groupManager + * @param IRootFolder $rootFolder + */ + public function __construct( + IDBConnection $connection, + IUserManager $userManager, + IGroupManager $groupManager, + IRootFolder $rootFolder) { $this->dbConn = $connection; $this->userManager = $userManager; $this->groupManager = $groupManager; - $this->userFolder = $userFolder; + $this->rootFolder = $rootFolder; } /** * Share a path * - * @param Share $share - * @return Share The share object + * @param IShare $share + * @return IShare The share object */ - public function create(Share $share) { - throw new \Exception(); + public function create(IShare $share) { } /** * Update a share * - * @param Share $share - * @return Share The share object + * @param IShare $share + * @return IShare The share object */ - public function update(Share $share) { - throw new \Exception(); + public function update(IShare $share) { } /** - * Get all childre of this share + * Get all children of this share * - * @param IShare $share + * @param IShare $parent * @return IShare[] */ - private function getChildren(IShare $share) { + public function getChildren(IShare $parent) { $children = []; $qb = $this->dbConn->getQueryBuilder(); $qb->select('*') ->from('share') ->where($qb->expr()->eq('parent', $qb->createParameter('parent'))) - ->setParameter(':parent', $share->getId()); + ->setParameter(':parent', $parent->getId()) + ->orderBy('id'); $cursor = $qb->execute(); while($data = $cursor->fetch()) { @@ -93,50 +106,15 @@ class DefaultShareProvider implements IShareProvider { } /** - * Delete all the children of this share - * - * @param IShare $share - */ - protected function deleteChildren(IShare $share) { - foreach($this->getChildren($share) as $child) { - $this->delete($child); - } - } - - /** * Delete a share * - * @param Share $share + * @param IShare $share * @throws BackendError */ public function delete(IShare $share) { - $this->deleteChildren($share); - // Fetch share to make sure it exists $share = $this->getShareById($share->getId()); - $shareType = $share->getShareType(); - $sharedWith = ''; - if ($shareType === \OCP\Share::SHARE_TYPE_USER) { - $sharedWith = $share->getSharedWith()->getUID(); - } else if ($shareType === \OCP\Share::SHARE_TYPE_GROUP) { - $sharedWith = $share->getSharedWith()->getGID(); - } - - $hookParams = [ - 'id' => $share->getId(), - 'itemType' => $share->getPath() instanceof \OCP\Files\File ? 'file' : 'folder', - 'itemSource' => $share->getPath()->getId(), - 'shareType' => $shareType, - 'shareWith' => $sharedWith, - 'itemparent' => $share->getParent(), - 'uidOwner' => $share->getSharedBy()->getUID(), - 'fileSource' => $share->getPath()->getId(), - 'fileTarget' => $share->getTarget() - ]; - - \OC_Hook::emit('OCP\Share', 'pre_unshare', $hookParams); - $qb = $this->dbConn->getQueryBuilder(); $qb->delete('share') ->where($qb->expr()->eq('id', $qb->createParameter('id'))) @@ -147,8 +125,6 @@ class DefaultShareProvider implements IShareProvider { } catch (\Exception $e) { throw new BackendError(); } - - \OC_Hook::emit('OCP\Share', 'post_unshare', $hookParams); } /** @@ -161,7 +137,6 @@ class DefaultShareProvider implements IShareProvider { * @return Share[] */ public function getShares(IUser $user, $shareType, $offset, $limit) { - throw new \Exception(); } /** @@ -195,11 +170,11 @@ class DefaultShareProvider implements IShareProvider { /** * Get shares for a given path * + * @param \OCP\IUser $user * @param \OCP\Files\Node $path - * @param Share[] + * @return IShare[] */ - public function getSharesByPath(\OCP\IUser $user, \OCP\Files\Node $path) { - throw new \Exception(); + public function getSharesByPath(IUser $user, Node $path) { } /** @@ -210,7 +185,6 @@ class DefaultShareProvider implements IShareProvider { * @param Share */ public function getSharedWithMe(IUser $user, $shareType = null) { - throw new \Exception(); } /** @@ -221,7 +195,6 @@ class DefaultShareProvider implements IShareProvider { * @param Share */ public function getShareByToken($token, $password = null) { - throw new \Exception(); } /** @@ -253,14 +226,14 @@ class DefaultShareProvider implements IShareProvider { $share->setSharedBy($this->userManager->get($data['uid_owner'])); // TODO: getById can return an array. How to handle this properly?? - $path = $this->userFolder->getById($data['file_source']); - $path = $path[0]; - $share->setPath($path); + $folder = $this->rootFolder->getUserFolder($share->getSharedBy()->getUID()); + $path = $folder->getById((int)$data['file_source'])[0]; - $owner = $path->getStorage()->getOwner('.'); - if ($owner !== false) { - $share->setShareOwner($this->userManager->get($owner)); - } + $owner = $path->getOwner(); + $share->setShareOwner($owner); + + $path = $this->rootFolder->getUserFolder($owner->getUID())->getById((int)$data['file_source'])[0]; + $share->setPath($path); if ($data['expiration'] !== null) { $expiration = \DateTime::createFromFormat('Y-m-d H:i:s', $data['expiration']); @@ -270,5 +243,4 @@ class DefaultShareProvider implements IShareProvider { return $share; } - -} +}
\ No newline at end of file diff --git a/lib/private/share20/ishare.php b/lib/private/share20/ishare.php index a80abebd71c..2e54da7a029 100644 --- a/lib/private/share20/ishare.php +++ b/lib/private/share20/ishare.php @@ -38,7 +38,7 @@ interface IShare { /** * Set the path of this share * - * @param File|Folder $path + * @param Node $path * @return Share The modified object */ public function setPath(Node $path); diff --git a/lib/private/share20/ishareprovider.php b/lib/private/share20/ishareprovider.php index b3f4eb6868f..56a550acf71 100644 --- a/lib/private/share20/ishareprovider.php +++ b/lib/private/share20/ishareprovider.php @@ -29,23 +29,23 @@ interface IShareProvider { /** * Share a path * - * @param Share $share - * @return Share The share object + * @param IShare $share + * @return IShare The share object */ - public function create(Share $share); + public function create(IShare $share); /** * Update a share * - * @param Share $share - * @return Share The share object + * @param IShare $share + * @return IShare The share object */ - public function update(Share $share); + public function update(IShare $share); /** * Delete a share * - * @param Share $share + * @param IShare $share * @throws BackendError */ public function delete(IShare $share); @@ -71,10 +71,19 @@ interface IShareProvider { public function getShareById($id); /** + * Get children + * + * @param IShare $parent + * @return IShare[] + */ + public function getChildren(IShare $parent); + + /** * Get shares for a given path * + * @param \OCP\IUser $user * @param \OCP\Files\Node $path - * @param Share[] + * @return IShare[] */ public function getSharesByPath(\OCP\IUser $user, \OCP\Files\Node $path); diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php index 52e43a9aa9f..882b281c490 100644 --- a/lib/private/share20/manager.php +++ b/lib/private/share20/manager.php @@ -22,11 +22,7 @@ namespace OC\Share20; use OCP\IAppConfig; -use OCP\IUserManager; -use OCP\IGroupManager; -use OCP\IUser; use OCP\ILogger; -use OCP\Files\Folder; use OC\Share20\Exception\ShareNotFound; @@ -40,37 +36,26 @@ class Manager { */ private $defaultProvider; - /** @var IUser */ - private $currentUser; - - /** @var IUserManager */ - private $userManager; - - /** @var IGroupManager */ - private $groupManager; - /** @var ILogger */ private $logger; /** @var IAppConfig */ private $appConfig; - /** @var IFolder */ - private $userFolder; - - public function __construct(IUser $user, - IUserManager $userManager, - IGroupManager $groupManager, - ILogger $logger, - IAppConfig $appConfig, - Folder $userFolder, - IShareProvider $defaultProvider) { - $this->currentUser = $user; - $this->userManager = $userManager; - $this->groupManager = $groupManager; + /** + * Manager constructor. + * + * @param ILogger $logger + * @param IAppConfig $appConfig + * @param IShareProvider $defaultProvider + */ + public function __construct( + ILogger $logger, + IAppConfig $appConfig, + IShareProvider $defaultProvider + ) { $this->logger = $logger; $this->appConfig = $appConfig; - $this->userFolder = $userFolder; // TEMP SOLUTION JUST TO GET STARTED $this->defaultProvider = $defaultProvider; @@ -78,12 +63,11 @@ class Manager { /** * Share a path - * + * * @param Share $share * @return Share The share object */ public function createShare(Share $share) { - throw new \Exception(); } /** @@ -93,22 +77,87 @@ class Manager { * @return Share The share object */ public function updateShare(Share $share) { - throw new \Exception(); + } + + /** + * Delete all the children of this share + * + * @param IShare $share + * @return IShare[] List of deleted shares + */ + protected function deleteChildren(IShare $share) { + $deletedShares = []; + foreach($this->defaultProvider->getChildren($share) as $child) { + $deletedChildren = $this->deleteChildren($child); + $deletedShares = array_merge($deletedShares, $deletedChildren); + + $this->defaultProvider->delete($child); + $deletedShares[] = $child; + } + + return $deletedShares; } /** * Delete a share * - * @param Share $share + * @param IShare $share * @throws ShareNotFound * @throws \OC\Share20\Exception\BackendError */ public function deleteShare(IShare $share) { - if ($share->getId() === null) { - throw new ShareNotFound(); - } - + // Just to make sure we have all the info + $share = $this->getShareById($share->getId()); + + $formatHookParams = function(IShare $share) { + // Prepare hook + $shareType = $share->getShareType(); + $sharedWith = ''; + if ($shareType === \OCP\Share::SHARE_TYPE_USER) { + $sharedWith = $share->getSharedWith()->getUID(); + } else if ($shareType === \OCP\Share::SHARE_TYPE_GROUP) { + $sharedWith = $share->getSharedWith()->getGID(); + } else if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE) { + $sharedWith = $share->getSharedWith(); + } + + $hookParams = [ + 'id' => $share->getId(), + 'itemType' => $share->getPath() instanceof \OCP\Files\File ? 'file' : 'folder', + 'itemSource' => $share->getPath()->getId(), + 'shareType' => $shareType, + 'shareWith' => $sharedWith, + 'itemparent' => $share->getParent(), + 'uidOwner' => $share->getSharedBy()->getUID(), + 'fileSource' => $share->getPath()->getId(), + 'fileTarget' => $share->getTarget() + ]; + return $hookParams; + }; + + $hookParams = $formatHookParams($share); + + // Emit pre-hook + \OC_Hook::emit('OCP\Share', 'pre_unshare', $hookParams); + + // Get all children and delete them as well + $deletedShares = $this->deleteChildren($share); + + // Do the actual delete $this->defaultProvider->delete($share); + + // All the deleted shares caused by this delete + $deletedShares[] = $share; + + //Format hook info + $formattedDeletedShares = array_map(function($share) use ($formatHookParams) { + return $formatHookParams($share); + }, $deletedShares); + + $hookParams['deletedShares'] = $formattedDeletedShares; + + // Emit post hook + \OC_Hook::emit('OCP\Share', 'post_unshare', $hookParams); } /** @@ -119,7 +168,6 @@ class Manager { * @return Share[] */ public function getShares($page=0, $perPage=50) { - throw new \Exception(); } /** @@ -131,14 +179,12 @@ class Manager { * @throws ShareNotFound */ public function getShareById($id) { - $share = $this->defaultProvider->getShareById($id); - - if ($share->getSharedWith() !== $this->currentUser && - $share->getSharedBy() !== $this->currentUser && - $share->getShareOwner() !== $this->currentUser) { + if ($id === null) { throw new ShareNotFound(); } + $share = $this->defaultProvider->getShareById($id); + return $share; } @@ -152,7 +198,6 @@ class Manager { * @return Share[] */ public function getSharesByPath(\OCP\Files\Node $path, $page=0, $perPage=50) { - throw new \Exception(); } /** @@ -165,7 +210,6 @@ class Manager { * @return Share[] */ public function getSharedWithMe($shareType = null, $page=0, $perPage=50) { - throw new \Exception(); } /** @@ -176,10 +220,9 @@ class Manager { * * @return Share * - * @throws ShareNotFoundException + * @throws ShareNotFound */ public function getShareByToken($token, $password=null) { - throw new \Exception(); } /** @@ -207,6 +250,5 @@ class Manager { * @param \OCP\Files\Node $path */ public function getAccessList(\OCP\Files\Node $path) { - throw new \Exception(); } } diff --git a/lib/private/share20/share.php b/lib/private/share20/share.php index 4200816799e..b7ce38ac61d 100644 --- a/lib/private/share20/share.php +++ b/lib/private/share20/share.php @@ -58,7 +58,7 @@ class Share implements IShare { /** * Set the id of the share * - * @param int id + * @param string $id * @return Share The modified object */ public function setId($id) { @@ -292,7 +292,7 @@ class Share implements IShare { /** * Set the target of this share * - * @param string target + * @param string $target * @return Share The modified object */ public function setTarget($target) { diff --git a/lib/private/template.php b/lib/private/template.php index 97666f0b8dc..1476a964ef3 100644 --- a/lib/private/template.php +++ b/lib/private/template.php @@ -143,7 +143,9 @@ class OC_Template extends \OC\Template\Base { OC_Util::addStyle("jquery.ocdialog"); OC_Util::addScript("compatibility", null, true); OC_Util::addScript("placeholders", null, true); - + OC_Util::addScript('files/fileinfo'); + OC_Util::addScript('files/client'); + // Add the stuff we need always // following logic will import all vendor libraries that are // specified in core/js/core.json @@ -158,7 +160,12 @@ class OC_Template extends \OC\Template\Base { } else { throw new \Exception('Cannot read core/js/core.json'); } - + + if (\OC::$server->getRequest()->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE])) { + // shim for the davclient.js library + \OCP\Util::addScript('files/iedavclient'); + } + self::$initTemplateEngineFirstRun = false; } diff --git a/lib/private/template/functions.php b/lib/private/template/functions.php index 1c6eaa9a389..79d18632d2f 100644 --- a/lib/private/template/functions.php +++ b/lib/private/template/functions.php @@ -30,7 +30,7 @@ /** * Prints a sanitized string - * @param string|array $string the string which will be escaped and printed + * @param string $string the string which will be escaped and printed */ function p($string) { print(OC_Util::sanitizeHTML($string)); @@ -154,7 +154,7 @@ function link_to( $app, $file, $args = array() ) { * @return string url to the online documentation */ function link_to_docs($key) { - return OC_Helper::linkToDocs($key); + return \OC::$server->getURLGenerator()->linkToDocs($key); } /** diff --git a/lib/private/user/user.php b/lib/private/user/user.php index 28b66d7f5ba..2740b25d5d3 100644 --- a/lib/private/user/user.php +++ b/lib/private/user/user.php @@ -306,4 +306,14 @@ class User implements IUser { $this->config->setUserValue($this->uid, 'core', 'enabled', $enabled); } } + + /** + * get the users email address + * + * @return string|null + * @since 9.0.0 + */ + public function getEMailAddress() { + return $this->config->getUserValue($this->uid, 'settings', 'email'); + } } diff --git a/lib/private/util.php b/lib/private/util.php index 4c151d63639..84a8c49c383 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -54,6 +54,11 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ + +use OCP\IConfig; +use OCP\IGroupManager; +use OCP\IUser; + class OC_Util { public static $scripts = array(); public static $styles = array(); @@ -218,20 +223,21 @@ class OC_Util { /** * check if sharing is disabled for the current user - * - * @return boolean + * @param IConfig $config + * @param IGroupManager $groupManager + * @param IUser|null $user + * @return bool */ - public static function isSharingDisabledForUser() { - if (\OC::$server->getAppConfig()->getValue('core', 'shareapi_exclude_groups', 'no') === 'yes') { - $user = \OCP\User::getUser(); - $groupsList = \OC::$server->getAppConfig()->getValue('core', 'shareapi_exclude_groups_list', ''); + public static function isSharingDisabledForUser(IConfig $config, IGroupManager $groupManager, $user) { + if ($config->getAppValue('core', 'shareapi_exclude_groups', 'no') === 'yes') { + $groupsList = $config->getAppValue('core', 'shareapi_exclude_groups_list', ''); $excludedGroups = json_decode($groupsList); if (is_null($excludedGroups)) { $excludedGroups = explode(',', $groupsList); $newValue = json_encode($excludedGroups); - \OC::$server->getAppConfig()->setValue('core', 'shareapi_exclude_groups_list', $newValue); + $config->setAppValue('core', 'shareapi_exclude_groups_list', $newValue); } - $usersGroups = \OC_Group::getUserGroups($user); + $usersGroups = $groupManager->getUserGroupIds($user); if (!empty($usersGroups)) { $remainingGroups = array_diff($usersGroups, $excludedGroups); // if the user is only in groups which are disabled for sharing then @@ -615,6 +621,9 @@ class OC_Util { $webServerRestart = false; $setup = new \OC\Setup($config, \OC::$server->getIniWrapper(), \OC::$server->getL10N('lib'), new \OC_Defaults(), \OC::$server->getLogger(), \OC::$server->getSecureRandom()); + + $urlGenerator = \OC::$server->getURLGenerator(); + $availableDatabases = $setup->getSupportedDatabases(); if (empty($availableDatabases)) { $errors[] = array( @@ -643,7 +652,7 @@ class OC_Util { 'error' => $l->t('Cannot write into "config" directory'), 'hint' => $l->t('This can usually be fixed by ' . '%sgiving the webserver write access to the config directory%s.', - array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')) + array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')) ); } @@ -658,7 +667,7 @@ class OC_Util { 'hint' => $l->t('This can usually be fixed by ' . '%sgiving the webserver write access to the apps directory%s' . ' or disabling the appstore in the config file.', - array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')) + array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')) ); } } @@ -673,14 +682,14 @@ class OC_Util { 'error' => $l->t('Cannot create "data" directory (%s)', array($CONFIG_DATADIRECTORY)), 'hint' => $l->t('This can usually be fixed by ' . '<a href="%s" target="_blank">giving the webserver write access to the root directory</a>.', - array(OC_Helper::linkToDocs('admin-dir_permissions'))) + array($urlGenerator->linkToDocs('admin-dir_permissions'))) ); } } else if (!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) { //common hint for all file permissions error messages $permissionsHint = $l->t('Permissions can usually be fixed by ' . '%sgiving the webserver write access to the root directory%s.', - array('<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')); + array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank">', '</a>')); $errors[] = array( 'error' => 'Data directory (' . $CONFIG_DATADIRECTORY . ') not writable by ownCloud', 'hint' => $permissionsHint @@ -858,12 +867,9 @@ class OC_Util { } } } catch (\Doctrine\DBAL\DBALException $e) { - \OCP\Util::logException('core', $e); - $errors[] = array( - 'error' => $l->t('Error occurred while checking PostgreSQL version'), - 'hint' => $l->t('Please make sure you have PostgreSQL >= 9 or' - . ' check the logs for more information about the error') - ); + $logger = \OC::$server->getLogger(); + $logger->warning('Error occurred while checking PostgreSQL version, assuming >= 9'); + $logger->logException($e); } } return $errors; diff --git a/lib/public/comments/icomment.php b/lib/public/comments/icomment.php new file mode 100644 index 00000000000..c8f407624a0 --- /dev/null +++ b/lib/public/comments/icomment.php @@ -0,0 +1,199 @@ +<?php + +namespace OCP\Comments; + +/** + * Interface IComment + * + * This class represents a comment and offers methods for modification. + * + * @package OCP\Comments + * @since 9.0.0 + */ +interface IComment { + + /** + * returns the ID of the comment + * + * It may return an empty string, if the comment was not stored. + * It is expected that the concrete Comment implementation gives an ID + * by itself (e.g. after saving). + * + * @return string + * @since 9.0.0 + */ + public function getId(); + + /** + * sets the ID of the comment and returns itself + * + * It is only allowed to set the ID only, if the current id is an empty + * string (which means it is not stored in a database, storage or whatever + * the concrete implementation does), or vice versa. Changing a given ID is + * not permitted and must result in an IllegalIDChangeException. + * + * @param string $id + * @return IComment + * @throws IllegalIDChangeException + * @since 9.0.0 + */ + public function setId($id); + + /** + * returns the parent ID of the comment + * + * @return string + * @since 9.0.0 + */ + public function getParentId(); + + /** + * sets the parent ID and returns itself + * + * @param string $parentId + * @return IComment + * @since 9.0.0 + */ + public function setParentId($parentId); + + /** + * returns the number of children + * + * @return int + * @since 9.0.0 + */ + public function getChildrenCount(); + + /** + * sets the number of children + * + * @param int $count + * @return IComment + * @since 9.0.0 + */ + public function setChildrenCount($count); + + /** + * returns the message of the comment + * + * @return string + * @since 9.0.0 + */ + public function getMessage(); + + /** + * sets the message of the comment and returns itself + * + * @param string $message + * @return IComment + * @since 9.0.0 + */ + public function setMessage($message); + + /** + * returns the verb of the comment + * + * @return string + * @since 9.0.0 + */ + public function getVerb(); + + /** + * sets the verb of the comment, e.g. 'comment' or 'like' + * + * @param string $verb + * @return IComment + * @since 9.0.0 + */ + public function setVerb($verb); + + /** + * returns the actor type + * + * @return string + * @since 9.0.0 + */ + public function getActorType(); + + /** + * returns the actor ID + * + * @return string + * @since 9.0.0 + */ + public function getActorId(); + + /** + * sets (overwrites) the actor type and id + * + * @param string $actorType e.g. 'user' + * @param string $actorId e.g. 'zombie234' + * @return IComment + * @since 9.0.0 + */ + public function setActor($actorType, $actorId); + + /** + * returns the creation date of the comment. + * + * If not explicitly set, it shall default to the time of initialization. + * + * @return \DateTime + * @since 9.0.0 + */ + public function getCreationDateTime(); + + /** + * sets the creation date of the comment and returns itself + * + * @param \DateTime $dateTime + * @return IComment + * @since 9.0.0 + */ + public function setCreationDateTime(\DateTime $dateTime); + + /** + * returns the date of the most recent child + * + * @return \DateTime + * @since 9.0.0 + */ + public function getLatestChildDateTime(); + + /** + * sets the date of the most recent child + * + * @param \DateTime $dateTime + * @return IComment + * @since 9.0.0 + */ + public function setLatestChildDateTime(\DateTime $dateTime); + + /** + * returns the object type the comment is attached to + * + * @return string + * @since 9.0.0 + */ + public function getObjectType(); + + /** + * returns the object id the comment is attached to + * + * @return string + * @since 9.0.0 + */ + public function getObjectId(); + + /** + * sets (overwrites) the object of the comment + * + * @param string $objectType e.g. 'file' + * @param string $objectId e.g. '16435' + * @return IComment + * @since 9.0.0 + */ + public function setObject($objectType, $objectId); + +} + diff --git a/lib/public/comments/icommentsmanager.php b/lib/public/comments/icommentsmanager.php new file mode 100644 index 00000000000..ebf7a34bf27 --- /dev/null +++ b/lib/public/comments/icommentsmanager.php @@ -0,0 +1,161 @@ +<?php + +namespace OCP\Comments; + +/** + * Interface ICommentsManager + * + * This class manages the access to comments + * + * @package OCP\Comments + * @since 9.0.0 + */ +interface ICommentsManager { + + /** + * returns a comment instance + * + * @param string $id the ID of the comment + * @return IComment + * @throws NotFoundException + * @since 9.0.0 + */ + public function get($id); + + /** + * returns the comment specified by the id and all it's child comments + * + * @param string $id + * @param int $limit max number of entries to return, 0 returns all + * @param int $offset the start entry + * @return [] + * @since 9.0.0 + * + * The return array looks like this + * [ + * 'comment' => IComment, // root comment + * 'replies' => + * [ + * 0 => + * [ + * 'comment' => IComment, + * 'replies' => + * [ + * 0 => + * [ + * 'comment' => IComment, + * 'replies' => [ … ] + * ], + * … + * ] + * ] + * 1 => + * [ + * 'comment' => IComment, + * 'replies'=> [ … ] + * ], + * … + * ] + * ] + */ + public function getTree($id, $limit = 0, $offset = 0); + + /** + * returns comments for a specific object (e.g. a file). + * + * The sort order is always newest to oldest. + * + * @param string $objectType the object type, e.g. 'files' + * @param string $objectId the id of the object + * @param int $limit optional, number of maximum comments to be returned. if + * not specified, all comments are returned. + * @param int $offset optional, starting point + * @param \DateTime $notOlderThan optional, timestamp of the oldest comments + * that may be returned + * @return IComment[] + * @throws NotFoundException in case the requested type or id is not present + * @since 9.0.0 + */ + public function getForObject( + $objectType, + $objectId, + $limit = 0, + $offset = 0, + \DateTime $notOlderThan = null + ); + + /** + * @param $objectType string the object type, e.g. 'files' + * @param $objectId string the id of the object + * @return Int + * @throws NotFoundException in case the requested type or id is not present + * @since 9.0.0 + */ + public function getNumberOfCommentsForObject($objectType, $objectId); + + /** + * creates a new comment and returns it. At this point of time, it is not + * saved in the used data storage. Use save() after setting other fields + * of the comment (e.g. message or verb). + * + * @param string $actorType the actor type (e.g. 'user') + * @param string $actorId a user id + * @param string $objectType the object type the comment is attached to + * @param string $objectId the object id the comment is attached to + * @return IComment + * @since 9.0.0 + */ + public function create($actorType, $actorId, $objectType, $objectId); + + /** + * permanently deletes the comment specified by the ID + * + * When the comment has child comments, their parent ID will be changed to + * the parent ID of the item that is to be deleted. + * + * @param string $id + * @return bool + * @since 9.0.0 + */ + public function delete($id); + + /** + * saves the comment permanently and returns it + * + * if the supplied comment has an empty ID, a new entry comment will be + * saved and the instance updated with the new ID. + * + * Otherwise, an existing comment will be updated. + * + * Throws NotFoundException when a comment that is to be updated does not + * exist anymore at this point of time. + * + * @param IComment + * @return bool + * @throws NotFoundException + * @since 9.0.0 + */ + public function save(&$comment); + + /** + * removes references to specific actor (e.g. on user delete) of a comment. + * The comment itself must not get lost/deleted. + * + * @param string $actorType the actor type (e.g. 'user') + * @param string $actorId a user id + * @return boolean + * @since 9.0.0 + */ + public function deleteReferencesOfActor($actorType, $actorId); + + /** + * deletes all comments made of a specific object (e.g. on file delete) + * + * @param string $objectType the object type (e.g. 'file') + * @param string $objectId e.g. the file id + * @return boolean + * @since 9.0.0 + */ + public function deleteCommentsAtObject($objectType, $objectId); + +} diff --git a/lib/public/comments/illegalidchangeexception.php b/lib/public/comments/illegalidchangeexception.php new file mode 100644 index 00000000000..4e13ef6e444 --- /dev/null +++ b/lib/public/comments/illegalidchangeexception.php @@ -0,0 +1,9 @@ +<?php + +namespace OCP\Comments; + +/** + * Exception for illegal attempts to modify a comment ID + * @since 9.0.0 + */ +class IllegalIDChangeException extends \Exception {} diff --git a/lib/public/comments/notfoundexception.php b/lib/public/comments/notfoundexception.php new file mode 100644 index 00000000000..a82e703b79e --- /dev/null +++ b/lib/public/comments/notfoundexception.php @@ -0,0 +1,9 @@ +<?php + +namespace OCP\Comments; + +/** + * Exception for not found entity + * @since 9.0.0 + */ +class NotFoundException extends \Exception {} diff --git a/lib/public/db/querybuilder/iquerybuilder.php b/lib/public/db/querybuilder/iquerybuilder.php index 3fc07af1a47..beb922b7feb 100644 --- a/lib/public/db/querybuilder/iquerybuilder.php +++ b/lib/public/db/querybuilder/iquerybuilder.php @@ -239,6 +239,24 @@ interface IQueryBuilder { public function select($select = null); /** + * Specifies an item that is to be returned with a different name in the query result. + * + * <code> + * $qb = $conn->getQueryBuilder() + * ->selectAlias('u.id', 'user_id') + * ->from('users', 'u') + * ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id'); + * </code> + * + * @param mixed $select The selection expressions. + * @param string $alias The column alias used in the constructed query. + * + * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance. + * @since 8.2.1 + */ + public function selectAlias($select, $alias); + + /** * Adds an item that is to be returned in the query result. * * <code> diff --git a/lib/public/files.php b/lib/public/files.php index c1dcffcbefb..e3582375f38 100644 --- a/lib/public/files.php +++ b/lib/public/files.php @@ -60,7 +60,7 @@ class Files { * @since 5.0.0 */ static function getMimeType( $path ) { - return(\OC_Helper::getMimeType( $path )); + return \OC::$server->getMimeTypeDetector()->detect($path); } /** diff --git a/lib/public/files/node.php b/lib/public/files/node.php index 866b9b6f61f..aa1115f8c28 100644 --- a/lib/public/files/node.php +++ b/lib/public/files/node.php @@ -225,12 +225,4 @@ interface Node extends FileInfo { * @since 6.0.0 */ public function getName(); - - /** - * Get the file owner - * - * @since 9.0.0 - * @return string - */ - public function getOwner(); } diff --git a/lib/public/igroupmanager.php b/lib/public/igroupmanager.php index 862c77218de..da80cfdd374 100644 --- a/lib/public/igroupmanager.php +++ b/lib/public/igroupmanager.php @@ -93,7 +93,7 @@ interface IGroupManager { public function search($search, $limit = null, $offset = null); /** - * @param \OCP\IUser $user + * @param \OCP\IUser|null $user * @return \OCP\IGroup[] * @since 8.0.0 */ diff --git a/lib/public/iuser.php b/lib/public/iuser.php index 6cbcfbf2312..1e52cd59036 100644 --- a/lib/public/iuser.php +++ b/lib/public/iuser.php @@ -144,4 +144,12 @@ interface IUser { * @since 8.0.0 */ public function setEnabled($enabled); + + /** + * get the users email address + * + * @return string|null + * @since 9.0.0 + */ + public function getEMailAddress(); } diff --git a/lib/public/systemtag/isystemtag.php b/lib/public/systemtag/isystemtag.php new file mode 100644 index 00000000000..76a812f38dc --- /dev/null +++ b/lib/public/systemtag/isystemtag.php @@ -0,0 +1,68 @@ +<?php +/** + * @author Vincent Petry <pvince81@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 OCP\SystemTag; + +/** + * Public interface for a system-wide tag. + * + * @since 9.0.0 + */ +interface ISystemTag { + + /** + * Returns the tag id + * + * @return string id + * + * @since 9.0.0 + */ + public function getId(); + + /** + * Returns the tag display name + * + * @return string tag display name + * + * @since 9.0.0 + */ + public function getName(); + + /** + * Returns whether the tag is visible for regular users + * + * @return bool true if visible, false otherwise + * + * @since 9.0.0 + */ + public function isUserVisible(); + + /** + * Returns whether the tag can be assigned to objects by regular users + * + * @return bool true if assignable, false otherwise + * + * @since 9.0.0 + */ + public function isUserAsssignable(); + +} + diff --git a/lib/public/systemtag/isystemtagobjectmapper.php b/lib/public/systemtag/isystemtagobjectmapper.php new file mode 100644 index 00000000000..8c6c27c4846 --- /dev/null +++ b/lib/public/systemtag/isystemtagobjectmapper.php @@ -0,0 +1,115 @@ +<?php +/** + * @author Vincent Petry <pvince81@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 OCP\SystemTag; + +/** + * Public interface to access and manage system-wide tags. + * + * @since 9.0.0 + */ +interface ISystemTagObjectMapper { + + /** + * Get a list of tag ids for the given object ids. + * + * This returns an array that maps object id to tag ids + * [ + * 1 => array('id1', 'id2'), + * 2 => array('id3', 'id2'), + * 3 => array('id5'), + * 4 => array() + * ] + * + * Untagged objects will have an empty array associated. + * + * @param string|array $objIds object ids + * @param string $objectType object type + * + * @return array with object id as key and an array + * of tag ids as value + * + * @since 9.0.0 + */ + public function getTagIdsForObjects($objIds, $objectType); + + /** + * Get a list of objects tagged with $tagIds. + * + * @param string|array $tagIds Tag id or array of tag ids. + * @param string $objectType object type + * + * @return string[] array of object ids or empty array if none found + * + * @throws \OCP\SystemTag\TagNotFoundException if at least one of the + * given tags does not exist + * + * @since 9.0.0 + */ + public function getObjectIdsForTags($tagIds, $objectType); + + /** + * Assign the given tags to the given object. + * + * @param string $objId object id + * @param string $objectType object type + * @param string|array $tagIds tag id or array of tag ids to assign + * + * @throws \OCP\SystemTag\TagNotFoundException if at least one of the + * given tags does not exist + * + * @since 9.0.0 + */ + public function assignTags($objId, $objectType, $tagIds); + + /** + * Unassign the given tags from the given object. + * + * @param string $objId object id + * @param string $objectType object type + * @param string|array $tagIds tag id or array of tag ids to unassign + * + * @throws \OCP\SystemTag\TagNotFoundException if at least one of the + * given tags does not exist + * + * @since 9.0.0 + */ + public function unassignTags($objId, $objectType, $tagIds); + + /** + * Checks whether the given objects have the given tag. + * + * @param string|array $objIds object ids + * @param string $objectType object type + * @param string $tagId tag id to check + * @param bool $all true to check that ALL objects have the tag assigned, + * false to check that at least ONE object has the tag. + * + * @return bool true if the condition set by $all is matched, false + * otherwise + * + * @throws \OCP\SystemTag\TagNotFoundException if the tag does not exist + * + * @since 9.0.0 + */ + public function haveTag($objIds, $objectType, $tagId, $all = true); + +} diff --git a/lib/public/systemtag/isystemtagsmanager.php b/lib/public/systemtag/isystemtagsmanager.php new file mode 100644 index 00000000000..df59cc48d52 --- /dev/null +++ b/lib/public/systemtag/isystemtagsmanager.php @@ -0,0 +1,111 @@ +<?php +/** + * @author Vincent Petry <pvince81@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 OCP\SystemTag; + +/** + * Public interface to access and manage system-wide tags. + * + * @since 9.0.0 + */ +interface ISystemTagManager { + + /** + * Returns the tag objects matching the given tag ids. + * + * @param array|string $tagIds The ID or array of IDs of the tags to retrieve + * + * @return \OCP\SystemTag\ISystemTag[] array of system tags or empty array if none found + * + * @since 9.0.0 + */ + public function getTagsById($tagIds); + + /** + * Returns the tag object matching the given attributes. + * + * @param string $tagName tag name + * @param bool $userVisible whether the tag is visible by users + * @param bool $userAssignable whether the tag is assignable by users + * + * @return \OCP\SystemTag\ISystemTag system tag + * + * @throws \OCP\SystemTag\TagNotFoundException if tag does not exist + * + * @since 9.0.0 + */ + public function getTag($tagName, $userVisible, $userAssignable); + + /** + * Creates the tag object using the given attributes. + * + * @param string $tagName tag name + * @param bool $userVisible whether the tag is visible by users + * @param bool $userAssignable whether the tag is assignable by users + * + * @return \OCP\SystemTag\ISystemTag system tag + * + * @throws \OCP\SystemTag\TagAlreadyExistsException if tag already exists + * + * @since 9.0.0 + */ + public function createTag($tagName, $userVisible, $userAssignable); + + /** + * Returns all known tags, optionally filtered by visibility. + * + * @param bool $visibleOnly whether to only return user visible tags + * @param string $nameSearchPattern optional search pattern for the tag name + * + * @return \OCP\SystemTag\ISystemTag[] array of system tags or empty array if none found + * + * @since 9.0.0 + */ + public function getAllTags($visibleOnly = false, $nameSearchPattern = null); + + /** + * Updates the given tag + * + * @param string $tagId tag id + * @param string $newName the new tag name + * @param bool $userVisible whether the tag is visible by users + * @param bool $userAssignable whether the tag is assignable by users + * + * @throws \OCP\SystemTag\TagNotFoundException if tag with the given id does not exist + * @throws \OCP\SystemTag\TagAlreadyExistsException if there is already another tag + * with the same attributes + * + * @since 9.0.0 + */ + public function updateTag($tagId, $newName, $userVisible, $userAssignable); + + /** + * Delete the given tags from the database and all their relationships. + * + * @param string|array $tagIds array of tag ids + * + * @throws \OCP\SystemTag\TagNotFoundException if tag did not exist + * + * @since 9.0.0 + */ + public function deleteTags($tagIds); + +} diff --git a/lib/public/systemtag/tagalreadyexistsexception.php b/lib/public/systemtag/tagalreadyexistsexception.php new file mode 100644 index 00000000000..d192b38e7bc --- /dev/null +++ b/lib/public/systemtag/tagalreadyexistsexception.php @@ -0,0 +1,29 @@ +<?php +/** + * @author Vincent Petry <pvince81@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 OCP\SystemTag; + +/** + * Exception when a tag already exists. + * + * @since 9.0.0 + */ +class TagAlreadyExistsException extends \RuntimeException {} diff --git a/lib/public/systemtag/tagnotfoundexception.php b/lib/public/systemtag/tagnotfoundexception.php new file mode 100644 index 00000000000..94bb07c8c12 --- /dev/null +++ b/lib/public/systemtag/tagnotfoundexception.php @@ -0,0 +1,29 @@ +<?php +/** + * @author Vincent Petry <pvince81@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 OCP\SystemTag; + +/** + * Exception when a tag was not found. + * + * @since 9.0.0 + */ +class TagNotFoundException extends \RuntimeException {} diff --git a/lib/public/util.php b/lib/public/util.php index 76b61347d46..50fe9185006 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -173,7 +173,11 @@ class Util { * @since 7.0.0 */ public static function isSharingDisabledForUser() { - return \OC_Util::isSharingDisabledForUser(); + return \OC_Util::isSharingDisabledForUser( + \OC::$server->getConfig(), + \OC::$server->getGroupManager(), + \OC::$server->getUserSession()->getUser() + ); } /** @@ -540,7 +544,7 @@ class Util { * @deprecated 8.2.0 Use substr_replace() instead. */ public static function mb_substr_replace($string, $replacement, $start, $length = null, $encoding = 'UTF-8') { - return(\OC_Helper::mb_substr_replace($string, $replacement, $start, $length, $encoding)); + return substr_replace($string, $replacement, $start, $length); } /** @@ -556,7 +560,7 @@ class Util { * @deprecated 8.2.0 Use str_replace() instead. */ public static function mb_str_replace($search, $replace, $subject, $encoding = 'UTF-8', &$count = null) { - return(\OC_Helper::mb_str_replace($search, $replace, $subject, $encoding, $count)); + return str_replace($search, $replace, $subject, $count); } /** |