summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/l10n/az.js1
-rw-r--r--lib/l10n/az.json1
-rw-r--r--lib/l10n/bg_BG.js18
-rw-r--r--lib/l10n/bg_BG.json18
-rw-r--r--lib/l10n/de.js2
-rw-r--r--lib/l10n/de.json2
-rw-r--r--lib/l10n/de_DE.js14
-rw-r--r--lib/l10n/de_DE.json14
-rw-r--r--lib/l10n/eu.js19
-rw-r--r--lib/l10n/eu.json19
-rw-r--r--lib/l10n/nb_NO.js2
-rw-r--r--lib/l10n/nb_NO.json2
-rw-r--r--lib/l10n/pt_PT.js18
-rw-r--r--lib/l10n/pt_PT.json18
-rw-r--r--lib/l10n/tr.js2
-rw-r--r--lib/l10n/tr.json2
-rw-r--r--lib/private/app.php3
-rw-r--r--lib/private/app/appmanager.php4
-rw-r--r--lib/private/connector/sabre/file.php15
-rw-r--r--lib/private/connector/sabre/filesplugin.php4
-rw-r--r--lib/private/connector/sabre/node.php16
-rw-r--r--lib/private/files/cache/cache.php2
-rw-r--r--lib/private/files/filesystem.php10
-rw-r--r--lib/private/files/mapper.php18
-rw-r--r--lib/private/files/view.php5
-rw-r--r--lib/private/helper.php3
-rw-r--r--lib/private/mimetypes.list.php5
-rw-r--r--lib/private/repair.php2
-rw-r--r--lib/private/tempmanager.php14
-rw-r--r--lib/private/util.php3
-rw-r--r--lib/repair/enablefilesapp.php50
-rw-r--r--lib/repair/repairmimetypes.php189
32 files changed, 345 insertions, 150 deletions
diff --git a/lib/l10n/az.js b/lib/l10n/az.js
index 3d5793ef799..c9eb5ee2b3a 100644
--- a/lib/l10n/az.js
+++ b/lib/l10n/az.js
@@ -19,6 +19,7 @@ OC.L10N.register(
"_%n year ago_::_%n years ago_" : ["",""],
"_%n hour ago_::_%n hours ago_" : ["",""],
"_%n minute ago_::_%n minutes ago_" : ["",""],
+ "seconds ago" : "saniyələr öncə",
"App directory already exists" : "Proqram təminatı qovluğu artıq mövcuddur.",
"Can't create app folder. Please fix permissions. %s" : "Proqram təminatı qovluğunu yaratmaq mümkün olmadı. Xahiş edilir yetkiləri düzgün təyin edəsiniz. %s",
"Application is not enabled" : "Proqram təminatı aktiv edilməyib",
diff --git a/lib/l10n/az.json b/lib/l10n/az.json
index 49d2df41c96..d9b3e95e08b 100644
--- a/lib/l10n/az.json
+++ b/lib/l10n/az.json
@@ -17,6 +17,7 @@
"_%n year ago_::_%n years ago_" : ["",""],
"_%n hour ago_::_%n hours ago_" : ["",""],
"_%n minute ago_::_%n minutes ago_" : ["",""],
+ "seconds ago" : "saniyələr öncə",
"App directory already exists" : "Proqram təminatı qovluğu artıq mövcuddur.",
"Can't create app folder. Please fix permissions. %s" : "Proqram təminatı qovluğunu yaratmaq mümkün olmadı. Xahiş edilir yetkiləri düzgün təyin edəsiniz. %s",
"Application is not enabled" : "Proqram təminatı aktiv edilməyib",
diff --git a/lib/l10n/bg_BG.js b/lib/l10n/bg_BG.js
index 021a5c6a08e..009d582cb94 100644
--- a/lib/l10n/bg_BG.js
+++ b/lib/l10n/bg_BG.js
@@ -8,6 +8,15 @@ OC.L10N.register(
"Sample configuration detected" : "Открита е примерна конфигурация",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Усетено беше че примерната конфигурация е копирана. Това може да развли инсталацията ти и не се поддържа. Моля, прочети документацията преди да правиш промени на config.php",
"PHP %s or higher is required." : "Изисква се PHP %s или по-нова.",
+ "PHP with a version lower than %s is required." : "Необходим е PHP с версия по-ниска от %s.",
+ "Following databases are supported: %s" : "Следните бази данни са поддържани: %s",
+ "The command line tool %s could not be found" : "Конзолната команда %s не може да бъде намерена",
+ "The library %s is not available." : "Библиотеката %s не е налична",
+ "Library %s with a version higher than %s is required - available version %s." : "Необходима е библиотеката %s с версия по-висока от %s - налична версия %s. ",
+ "Library %s with a version lower than %s is required - available version %s." : "Необходима е библиотеката %s с версия по-ниска от %s - налична версия %s. ",
+ "Following platforms are supported: %s" : "Поддържани са следните платформи: %s",
+ "ownCloud %s or higher is required." : "Необходим е ownCloud %s или по-висока версия.",
+ "ownCloud with a version lower than %s is required." : "Необходим е ownCloud с по-ниска версия от %s.",
"Help" : "Помощ",
"Personal" : "Лични",
"Settings" : "Настройки",
@@ -15,16 +24,17 @@ OC.L10N.register(
"Admin" : "Админ",
"Recommended" : "Препоръчано",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "Приложението \\\"%s\\\" не може да бъде инсталирано, защото не е съвместимо с тази версия на ownCloud.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложението \\\"%s\\\" не може да бъде инсталирано, защот следните зависимости не са удовлетворени: %s",
"No app name specified" : "Не е зададено име на преложението",
"Unknown filetype" : "Непознат тип файл.",
"Invalid image" : "Невалидно изображение.",
"today" : "днес",
"yesterday" : "вчера",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["преди %n ден","преди %n дни"],
"last month" : "миналия месец",
"_%n month ago_::_%n months ago_" : ["","преди %n месеца"],
"last year" : "миналата година",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["преди %n година","преди %n години"],
"_%n hour ago_::_%n hours ago_" : ["","преди %n часа"],
"_%n minute ago_::_%n minutes ago_" : ["","преди %n минути"],
"seconds ago" : "преди секунди",
@@ -67,6 +77,7 @@ OC.L10N.register(
"Set an admin password." : "Задай парола за администратор.",
"Can't create or write into the data directory %s" : "Неуспешно създаване или записване в \"data\" папката %s",
"%s shared »%s« with you" : "%s сподели »%s« с теб",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "Неуспешно споделяне на %s , защото сървъра не позволява споделяне от тип $i.",
"Sharing %s failed, because the file does not exist" : "Неуспешно споделяне на %s, защото файлът не съществува.",
"You are not allowed to share %s" : "Не ти е разрешено да споделяш %s.",
"Sharing %s failed, because the user %s is the item owner" : "Споделяне на %s е неуспешно, защото потребител %s е оригиналния собственик.",
@@ -77,6 +88,7 @@ OC.L10N.register(
"Sharing %s failed, because %s is not a member of the group %s" : "Неуспешно споделяне на %s, защото %s не е член на групата %s.",
"You need to provide a password to create a public link, only protected links are allowed" : "Трябва да зададеш парола, за да създадеш общодостъпен линк за споделяне, само защитени с пароли линкове са разрешени.",
"Sharing %s failed, because sharing with links is not allowed" : "Неуспешно споделяне на %s, защото споделянето посредством връзки не е разрешено.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Неуспешно споделяне на на %s, не може бъде намерено %s. Може би сървъра в момента е недостъпен.",
"Share type %s is not valid for %s" : "Споделянето на тип %s не валидно за %s.",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Неуспешна промяна на правата за достъп за %s, защото промените надвишават правата на достъп дадени на %s.",
"Setting permissions for %s failed, because the item was not found" : "Неуспешна промяна на правата за достъп за %s, защото съдържанието не е открито.",
@@ -107,6 +119,8 @@ OC.L10N.register(
"Please ask your server administrator to install the module." : "Моля, поискай твоят администратор да инсталира модула.",
"PHP module %s not installed." : "PHP модулът %s не е инсталиран.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Моля, поискай твоят администратор да обнови PHP до най-новата верския. Твоята PHP версия вече не се поддържа от ownCloud и PHP общността.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP е конфигуриран да запълва post данните от ниско ниво. От PHP 5.6 насам това води до връщането на грешки при абсолютно валиден код.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "За да поправите този проблем, задайте на <code>always_populate_raw_post_data</code> стойност <code>-1</code> във вашоя php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP е настроен да премахва inline doc блокове. Това може да превърне няколко основни приложения недостъпни.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на cache/accelerator като Zend OPache или eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP модулите са инсталирани, но все още се обявяват като липсващи?",
diff --git a/lib/l10n/bg_BG.json b/lib/l10n/bg_BG.json
index c7bcc9d7dc1..2e9c228729d 100644
--- a/lib/l10n/bg_BG.json
+++ b/lib/l10n/bg_BG.json
@@ -6,6 +6,15 @@
"Sample configuration detected" : "Открита е примерна конфигурация",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Усетено беше че примерната конфигурация е копирана. Това може да развли инсталацията ти и не се поддържа. Моля, прочети документацията преди да правиш промени на config.php",
"PHP %s or higher is required." : "Изисква се PHP %s или по-нова.",
+ "PHP with a version lower than %s is required." : "Необходим е PHP с версия по-ниска от %s.",
+ "Following databases are supported: %s" : "Следните бази данни са поддържани: %s",
+ "The command line tool %s could not be found" : "Конзолната команда %s не може да бъде намерена",
+ "The library %s is not available." : "Библиотеката %s не е налична",
+ "Library %s with a version higher than %s is required - available version %s." : "Необходима е библиотеката %s с версия по-висока от %s - налична версия %s. ",
+ "Library %s with a version lower than %s is required - available version %s." : "Необходима е библиотеката %s с версия по-ниска от %s - налична версия %s. ",
+ "Following platforms are supported: %s" : "Поддържани са следните платформи: %s",
+ "ownCloud %s or higher is required." : "Необходим е ownCloud %s или по-висока версия.",
+ "ownCloud with a version lower than %s is required." : "Необходим е ownCloud с по-ниска версия от %s.",
"Help" : "Помощ",
"Personal" : "Лични",
"Settings" : "Настройки",
@@ -13,16 +22,17 @@
"Admin" : "Админ",
"Recommended" : "Препоръчано",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "Приложението \\\"%s\\\" не може да бъде инсталирано, защото не е съвместимо с тази версия на ownCloud.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложението \\\"%s\\\" не може да бъде инсталирано, защот следните зависимости не са удовлетворени: %s",
"No app name specified" : "Не е зададено име на преложението",
"Unknown filetype" : "Непознат тип файл.",
"Invalid image" : "Невалидно изображение.",
"today" : "днес",
"yesterday" : "вчера",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["преди %n ден","преди %n дни"],
"last month" : "миналия месец",
"_%n month ago_::_%n months ago_" : ["","преди %n месеца"],
"last year" : "миналата година",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["преди %n година","преди %n години"],
"_%n hour ago_::_%n hours ago_" : ["","преди %n часа"],
"_%n minute ago_::_%n minutes ago_" : ["","преди %n минути"],
"seconds ago" : "преди секунди",
@@ -65,6 +75,7 @@
"Set an admin password." : "Задай парола за администратор.",
"Can't create or write into the data directory %s" : "Неуспешно създаване или записване в \"data\" папката %s",
"%s shared »%s« with you" : "%s сподели »%s« с теб",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "Неуспешно споделяне на %s , защото сървъра не позволява споделяне от тип $i.",
"Sharing %s failed, because the file does not exist" : "Неуспешно споделяне на %s, защото файлът не съществува.",
"You are not allowed to share %s" : "Не ти е разрешено да споделяш %s.",
"Sharing %s failed, because the user %s is the item owner" : "Споделяне на %s е неуспешно, защото потребител %s е оригиналния собственик.",
@@ -75,6 +86,7 @@
"Sharing %s failed, because %s is not a member of the group %s" : "Неуспешно споделяне на %s, защото %s не е член на групата %s.",
"You need to provide a password to create a public link, only protected links are allowed" : "Трябва да зададеш парола, за да създадеш общодостъпен линк за споделяне, само защитени с пароли линкове са разрешени.",
"Sharing %s failed, because sharing with links is not allowed" : "Неуспешно споделяне на %s, защото споделянето посредством връзки не е разрешено.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Неуспешно споделяне на на %s, не може бъде намерено %s. Може би сървъра в момента е недостъпен.",
"Share type %s is not valid for %s" : "Споделянето на тип %s не валидно за %s.",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Неуспешна промяна на правата за достъп за %s, защото промените надвишават правата на достъп дадени на %s.",
"Setting permissions for %s failed, because the item was not found" : "Неуспешна промяна на правата за достъп за %s, защото съдържанието не е открито.",
@@ -105,6 +117,8 @@
"Please ask your server administrator to install the module." : "Моля, поискай твоят администратор да инсталира модула.",
"PHP module %s not installed." : "PHP модулът %s не е инсталиран.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Моля, поискай твоят администратор да обнови PHP до най-новата верския. Твоята PHP версия вече не се поддържа от ownCloud и PHP общността.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP е конфигуриран да запълва post данните от ниско ниво. От PHP 5.6 насам това води до връщането на грешки при абсолютно валиден код.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "За да поправите този проблем, задайте на <code>always_populate_raw_post_data</code> стойност <code>-1</code> във вашоя php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP е настроен да премахва inline doc блокове. Това може да превърне няколко основни приложения недостъпни.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на cache/accelerator като Zend OPache или eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP модулите са инсталирани, но все още се обявяват като липсващи?",
diff --git a/lib/l10n/de.js b/lib/l10n/de.js
index 0d8c6085a64..91f2544058b 100644
--- a/lib/l10n/de.js
+++ b/lib/l10n/de.js
@@ -40,7 +40,7 @@ OC.L10N.register(
"seconds ago" : "Gerade eben",
"Database Error" : "Datenbankfehler",
"Please contact your system administrator." : "Bitte kontaktiere Deinen Systemadministrator.",
- "web services under your control" : "Web-Services unter Deiner Kontrolle",
+ "web services under your control" : "Web-Dienste unter Deiner Kontrolle",
"App directory already exists" : "Das Applikationsverzeichnis existiert bereits",
"Can't create app folder. Please fix permissions. %s" : "Es kann kein Applikationsordner erstellt werden. Bitte passe die Berechtigungen an. %s",
"No source specified when installing app" : "Für die Installation der Applikation wurde keine Quelle angegeben",
diff --git a/lib/l10n/de.json b/lib/l10n/de.json
index cc021ab8d81..ae255cd7b1e 100644
--- a/lib/l10n/de.json
+++ b/lib/l10n/de.json
@@ -38,7 +38,7 @@
"seconds ago" : "Gerade eben",
"Database Error" : "Datenbankfehler",
"Please contact your system administrator." : "Bitte kontaktiere Deinen Systemadministrator.",
- "web services under your control" : "Web-Services unter Deiner Kontrolle",
+ "web services under your control" : "Web-Dienste unter Deiner Kontrolle",
"App directory already exists" : "Das Applikationsverzeichnis existiert bereits",
"Can't create app folder. Please fix permissions. %s" : "Es kann kein Applikationsordner erstellt werden. Bitte passe die Berechtigungen an. %s",
"No source specified when installing app" : "Für die Installation der Applikation wurde keine Quelle angegeben",
diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js
index c315ea09728..02346b0e8d2 100644
--- a/lib/l10n/de_DE.js
+++ b/lib/l10n/de_DE.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"lib",
{
- "Cannot write into \"config\" directory!" : "Das Schreiben in das »config«-Verzeichnis nicht möglich!",
+ "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das config-Verzeichnis %s gegeben wird.",
@@ -23,9 +23,9 @@ OC.L10N.register(
"Users" : "Benutzer",
"Admin" : "Administrator",
"Recommended" : "Empfohlen",
- "App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "App »%s« kann nicht installiert werden, da sie mit dieser ownCloud-Version nicht kompatibel ist.",
- "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App \\\"%s\\\" kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind: %s",
- "No app name specified" : "Es wurde kein Applikation-Name angegeben",
+ "App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "Die App „%s“ kann nicht installiert werden, da sie mit dieser ownCloud-Version nicht kompatibel ist.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind: %s",
+ "No app name specified" : "Es wurde kein App-Name angegeben",
"Unknown filetype" : "Unbekannter Dateityp",
"Invalid image" : "Ungültiges Bild",
"today" : "Heute",
@@ -40,9 +40,9 @@ OC.L10N.register(
"seconds ago" : "Gerade eben",
"Database Error" : "Datenbankfehler",
"Please contact your system administrator." : "Bitte kontaktieren Sie Ihren Systemadministrator.",
- "web services under your control" : "Web-Services unter Ihrer Kontrolle",
- "App directory already exists" : "Der Ordner für die Anwendung ist bereits vorhanden.",
- "Can't create app folder. Please fix permissions. %s" : "Der Ordner für die Anwendung konnte nicht angelegt werden. Bitte überprüfen Sie die Ordner- und Dateirechte und passen Sie diese entsprechend an. %s",
+ "web services under your control" : "Web-Dienste unter Ihrer Kontrolle",
+ "App directory already exists" : "Der Ordner für die App ist bereits vorhanden.",
+ "Can't create app folder. Please fix permissions. %s" : "Der Ordner für die App konnte nicht angelegt werden. Bitte überprüfen Sie die Ordner- und Dateirechte und passen Sie diese entsprechend an. %s",
"No source specified when installing app" : "Für die Installation der Applikation wurde keine Quelle angegeben",
"No href specified when installing app from http" : "Der Link (href) wurde nicht angegeben um die Applikation per http zu installieren",
"No path specified when installing app from local file" : "Bei der Installation der Applikation aus einer lokalen Datei wurde kein Pfad angegeben",
diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json
index 55f9522274e..20ff8b059ee 100644
--- a/lib/l10n/de_DE.json
+++ b/lib/l10n/de_DE.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Cannot write into \"config\" directory!" : "Das Schreiben in das »config«-Verzeichnis nicht möglich!",
+ "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das config-Verzeichnis %s gegeben wird.",
@@ -21,9 +21,9 @@
"Users" : "Benutzer",
"Admin" : "Administrator",
"Recommended" : "Empfohlen",
- "App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "App »%s« kann nicht installiert werden, da sie mit dieser ownCloud-Version nicht kompatibel ist.",
- "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App \\\"%s\\\" kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind: %s",
- "No app name specified" : "Es wurde kein Applikation-Name angegeben",
+ "App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "Die App „%s“ kann nicht installiert werden, da sie mit dieser ownCloud-Version nicht kompatibel ist.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind: %s",
+ "No app name specified" : "Es wurde kein App-Name angegeben",
"Unknown filetype" : "Unbekannter Dateityp",
"Invalid image" : "Ungültiges Bild",
"today" : "Heute",
@@ -38,9 +38,9 @@
"seconds ago" : "Gerade eben",
"Database Error" : "Datenbankfehler",
"Please contact your system administrator." : "Bitte kontaktieren Sie Ihren Systemadministrator.",
- "web services under your control" : "Web-Services unter Ihrer Kontrolle",
- "App directory already exists" : "Der Ordner für die Anwendung ist bereits vorhanden.",
- "Can't create app folder. Please fix permissions. %s" : "Der Ordner für die Anwendung konnte nicht angelegt werden. Bitte überprüfen Sie die Ordner- und Dateirechte und passen Sie diese entsprechend an. %s",
+ "web services under your control" : "Web-Dienste unter Ihrer Kontrolle",
+ "App directory already exists" : "Der Ordner für die App ist bereits vorhanden.",
+ "Can't create app folder. Please fix permissions. %s" : "Der Ordner für die App konnte nicht angelegt werden. Bitte überprüfen Sie die Ordner- und Dateirechte und passen Sie diese entsprechend an. %s",
"No source specified when installing app" : "Für die Installation der Applikation wurde keine Quelle angegeben",
"No href specified when installing app from http" : "Der Link (href) wurde nicht angegeben um die Applikation per http zu installieren",
"No path specified when installing app from local file" : "Bei der Installation der Applikation aus einer lokalen Datei wurde kein Pfad angegeben",
diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js
index f4e0e337107..e28eec8e214 100644
--- a/lib/l10n/eu.js
+++ b/lib/l10n/eu.js
@@ -8,6 +8,15 @@ OC.L10N.register(
"Sample configuration detected" : "Adibide-ezarpena detektatua",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detektatu da adibide-ezarpena kopiatu dela. Honek zure instalazioa apur dezake eta ez da onartzen. Irakurri dokumentazioa config.php fitxategia aldatu aurretik.",
"PHP %s or higher is required." : "PHP %s edo berriagoa behar da.",
+ "PHP with a version lower than %s is required." : "PHPren bertsioa %s baino txikiagoa izan behar da.",
+ "Following databases are supported: %s" : "Hurrengo datubaseak onartzen dira: %s",
+ "The command line tool %s could not be found" : "Komando lerroko %s tresna ezin da aurkitu",
+ "The library %s is not available." : "%s liburutegia ez dago eskuragarri.",
+ "Library %s with a version higher than %s is required - available version %s." : "%s liburutegiak %s baino bertsio handiagoa izan behar du - dagoen bertsioa %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "%s liburutegiak %s baino bertsio txikiagoa izan behar du - dagoen bertsioa %s.",
+ "Following platforms are supported: %s" : "Hurrengo plataformak onartzen dira: %s",
+ "ownCloud %s or higher is required." : "ownCloud %s edo haundiagoa behar da.",
+ "ownCloud with a version lower than %s is required." : "ownCloud %s baino bertsio txikiagoa behar da.",
"Help" : "Laguntza",
"Personal" : "Pertsonala",
"Settings" : "Ezarpenak",
@@ -15,19 +24,22 @@ OC.L10N.register(
"Admin" : "Admin",
"Recommended" : "Aholkatuta",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "\\\"%s\\\" Aplikazioa ezin da instalatu ownCloud bertsio honekin bateragarria ez delako.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "\\\"%s\\\" Aplikazioa ezin da instalatu hurrengo menpekotasunak betetzen ez direlako: %s",
"No app name specified" : "Ez da aplikazioaren izena zehaztu",
"Unknown filetype" : "Fitxategi mota ezezaguna",
"Invalid image" : "Baliogabeko irudia",
"today" : "gaur",
"yesterday" : "atzo",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["orain dela egun %n","orain dela %n egun"],
"last month" : "joan den hilabetean",
"_%n month ago_::_%n months ago_" : ["orain dela hilabete %n","orain dela %n hilabete"],
"last year" : "joan den urtean",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["orain dela urte %n","orain dela %n urte"],
"_%n hour ago_::_%n hours ago_" : ["orain dela ordu %n","orain dela %n ordu"],
"_%n minute ago_::_%n minutes ago_" : ["orain dela minutu %n","orain dela %n minutu"],
"seconds ago" : "segundu",
+ "Database Error" : "Datu basearen errorea",
+ "Please contact your system administrator." : "Mesedez jarri harremetan zure sistemaren kudeatzailearekin.",
"web services under your control" : "web zerbitzuak zure kontrolpean",
"App directory already exists" : "Aplikazioaren karpeta dagoeneko existitzen da",
"Can't create app folder. Please fix permissions. %s" : "Ezin izan da aplikazioaren karpeta sortu. Mesdez konpondu baimenak. %s",
@@ -65,6 +77,7 @@ OC.L10N.register(
"Set an admin password." : "Ezarri administraziorako pasahitza.",
"Can't create or write into the data directory %s" : "Ezin da %s datu karpeta sortu edo bertan idatzi ",
"%s shared »%s« with you" : "%s-ek »%s« zurekin partekatu du",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "%s partekatzeak huts egin du, motorrak %i motako partekatzeak baimentzen ez dituelako",
"Sharing %s failed, because the file does not exist" : "%s elkarbanatzeak huts egin du, fitxategia ez delako existitzen",
"You are not allowed to share %s" : "Ez zadue %s elkarbanatzeko baimendua",
"Sharing %s failed, because the user %s is the item owner" : "%s elkarbanatzeak huts egin du, %s erabiltzailea jabea delako",
@@ -75,6 +88,7 @@ OC.L10N.register(
"Sharing %s failed, because %s is not a member of the group %s" : "%s elkarbanatzeak huts egin du, %s ez delako %s taldearen partaidea",
"You need to provide a password to create a public link, only protected links are allowed" : "Lotura publiko bat sortzeko pasahitza idatzi behar duzu, bakarrik babestutako loturak baimenduta daude",
"Sharing %s failed, because sharing with links is not allowed" : "%s elkarbanatzeak huts egin du, lotura bidezko elkarbanatzea baimendua ez dagoelako",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s partekatzeak huts egin du, ezin da %s aurkitu, agian zerbitzaria orain ez dago eskuragarri.",
"Share type %s is not valid for %s" : "%s elkarbanaketa mota ez da %srentzako egokia",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "%srentzako baimenak ezartzea huts egin du, baimenak %sri emandakoak baino gehiago direlako",
"Setting permissions for %s failed, because the item was not found" : "%srentzako baimenak ezartzea huts egin du, aurkitu ez delako",
@@ -105,6 +119,7 @@ OC.L10N.register(
"Please ask your server administrator to install the module." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari modulua instala dezan.",
"PHP module %s not installed." : "PHPren %s modulua ez dago instalaturik.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari PHP azkenengo bertsiora eguneratzea. Zure PHP bertsioa ez dute ez ownCloud eta ez PHP komunitateek mantentzen.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Hau konpontzeko ezarri <code>always_populate_raw_post_data</code> berdin <code>-1</code> zure php.inian",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Badirudi PHP konfiguratuta dagoela lineako dokumentu blokeak aldatzeko. Honek zenbait oinarrizko aplikazio eskuraezin bihurtuko ditu.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP moduluak instalatu dira, baina oraindik faltan bezala markatuta daude?",
diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json
index 46786f41d9c..6405f8968fb 100644
--- a/lib/l10n/eu.json
+++ b/lib/l10n/eu.json
@@ -6,6 +6,15 @@
"Sample configuration detected" : "Adibide-ezarpena detektatua",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detektatu da adibide-ezarpena kopiatu dela. Honek zure instalazioa apur dezake eta ez da onartzen. Irakurri dokumentazioa config.php fitxategia aldatu aurretik.",
"PHP %s or higher is required." : "PHP %s edo berriagoa behar da.",
+ "PHP with a version lower than %s is required." : "PHPren bertsioa %s baino txikiagoa izan behar da.",
+ "Following databases are supported: %s" : "Hurrengo datubaseak onartzen dira: %s",
+ "The command line tool %s could not be found" : "Komando lerroko %s tresna ezin da aurkitu",
+ "The library %s is not available." : "%s liburutegia ez dago eskuragarri.",
+ "Library %s with a version higher than %s is required - available version %s." : "%s liburutegiak %s baino bertsio handiagoa izan behar du - dagoen bertsioa %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "%s liburutegiak %s baino bertsio txikiagoa izan behar du - dagoen bertsioa %s.",
+ "Following platforms are supported: %s" : "Hurrengo plataformak onartzen dira: %s",
+ "ownCloud %s or higher is required." : "ownCloud %s edo haundiagoa behar da.",
+ "ownCloud with a version lower than %s is required." : "ownCloud %s baino bertsio txikiagoa behar da.",
"Help" : "Laguntza",
"Personal" : "Pertsonala",
"Settings" : "Ezarpenak",
@@ -13,19 +22,22 @@
"Admin" : "Admin",
"Recommended" : "Aholkatuta",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "\\\"%s\\\" Aplikazioa ezin da instalatu ownCloud bertsio honekin bateragarria ez delako.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "\\\"%s\\\" Aplikazioa ezin da instalatu hurrengo menpekotasunak betetzen ez direlako: %s",
"No app name specified" : "Ez da aplikazioaren izena zehaztu",
"Unknown filetype" : "Fitxategi mota ezezaguna",
"Invalid image" : "Baliogabeko irudia",
"today" : "gaur",
"yesterday" : "atzo",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["orain dela egun %n","orain dela %n egun"],
"last month" : "joan den hilabetean",
"_%n month ago_::_%n months ago_" : ["orain dela hilabete %n","orain dela %n hilabete"],
"last year" : "joan den urtean",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["orain dela urte %n","orain dela %n urte"],
"_%n hour ago_::_%n hours ago_" : ["orain dela ordu %n","orain dela %n ordu"],
"_%n minute ago_::_%n minutes ago_" : ["orain dela minutu %n","orain dela %n minutu"],
"seconds ago" : "segundu",
+ "Database Error" : "Datu basearen errorea",
+ "Please contact your system administrator." : "Mesedez jarri harremetan zure sistemaren kudeatzailearekin.",
"web services under your control" : "web zerbitzuak zure kontrolpean",
"App directory already exists" : "Aplikazioaren karpeta dagoeneko existitzen da",
"Can't create app folder. Please fix permissions. %s" : "Ezin izan da aplikazioaren karpeta sortu. Mesdez konpondu baimenak. %s",
@@ -63,6 +75,7 @@
"Set an admin password." : "Ezarri administraziorako pasahitza.",
"Can't create or write into the data directory %s" : "Ezin da %s datu karpeta sortu edo bertan idatzi ",
"%s shared »%s« with you" : "%s-ek »%s« zurekin partekatu du",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "%s partekatzeak huts egin du, motorrak %i motako partekatzeak baimentzen ez dituelako",
"Sharing %s failed, because the file does not exist" : "%s elkarbanatzeak huts egin du, fitxategia ez delako existitzen",
"You are not allowed to share %s" : "Ez zadue %s elkarbanatzeko baimendua",
"Sharing %s failed, because the user %s is the item owner" : "%s elkarbanatzeak huts egin du, %s erabiltzailea jabea delako",
@@ -73,6 +86,7 @@
"Sharing %s failed, because %s is not a member of the group %s" : "%s elkarbanatzeak huts egin du, %s ez delako %s taldearen partaidea",
"You need to provide a password to create a public link, only protected links are allowed" : "Lotura publiko bat sortzeko pasahitza idatzi behar duzu, bakarrik babestutako loturak baimenduta daude",
"Sharing %s failed, because sharing with links is not allowed" : "%s elkarbanatzeak huts egin du, lotura bidezko elkarbanatzea baimendua ez dagoelako",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s partekatzeak huts egin du, ezin da %s aurkitu, agian zerbitzaria orain ez dago eskuragarri.",
"Share type %s is not valid for %s" : "%s elkarbanaketa mota ez da %srentzako egokia",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "%srentzako baimenak ezartzea huts egin du, baimenak %sri emandakoak baino gehiago direlako",
"Setting permissions for %s failed, because the item was not found" : "%srentzako baimenak ezartzea huts egin du, aurkitu ez delako",
@@ -103,6 +117,7 @@
"Please ask your server administrator to install the module." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari modulua instala dezan.",
"PHP module %s not installed." : "PHPren %s modulua ez dago instalaturik.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari PHP azkenengo bertsiora eguneratzea. Zure PHP bertsioa ez dute ez ownCloud eta ez PHP komunitateek mantentzen.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Hau konpontzeko ezarri <code>always_populate_raw_post_data</code> berdin <code>-1</code> zure php.inian",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Badirudi PHP konfiguratuta dagoela lineako dokumentu blokeak aldatzeko. Honek zenbait oinarrizko aplikazio eskuraezin bihurtuko ditu.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP moduluak instalatu dira, baina oraindik faltan bezala markatuta daude?",
diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js
index 22f50896cf8..fea128e6f0a 100644
--- a/lib/l10n/nb_NO.js
+++ b/lib/l10n/nb_NO.js
@@ -119,6 +119,8 @@ OC.L10N.register(
"Please ask your server administrator to install the module." : "Be server-administratoren om å installere modulen.",
"PHP module %s not installed." : "PHP-modul %s er ikke installert.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Be server-administratoren om å oppdatere PHP til nyeste versjon. PHP-versjonen du bruker støttes ikke lenger av ownCloud og PHP-fellesskapet.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP er konfigurert til å fylle \"raw post data\". Fra og med PHP 5.6 vil dette føre til at PHP utsteder notiser for fullstendig gyldig kode.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "For å fikse dette problemet, sett <code>always_populate_raw_post_data</code> til <code>-1</code> i php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?",
diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json
index 201dfeeea69..0fe634772f7 100644
--- a/lib/l10n/nb_NO.json
+++ b/lib/l10n/nb_NO.json
@@ -117,6 +117,8 @@
"Please ask your server administrator to install the module." : "Be server-administratoren om å installere modulen.",
"PHP module %s not installed." : "PHP-modul %s er ikke installert.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Be server-administratoren om å oppdatere PHP til nyeste versjon. PHP-versjonen du bruker støttes ikke lenger av ownCloud og PHP-fellesskapet.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP er konfigurert til å fylle \"raw post data\". Fra og med PHP 5.6 vil dette føre til at PHP utsteder notiser for fullstendig gyldig kode.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "For å fikse dette problemet, sett <code>always_populate_raw_post_data</code> til <code>-1</code> i php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?",
diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js
index 05bda3ed595..5abfa3f57cd 100644
--- a/lib/l10n/pt_PT.js
+++ b/lib/l10n/pt_PT.js
@@ -8,6 +8,15 @@ OC.L10N.register(
"Sample configuration detected" : "Exemplo de configuração detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de amostra foi copiada. Isso pode danificar a sua instalação e não é suportado. Por favor, leia a documentação antes de realizar mudanças no config.php",
"PHP %s or higher is required." : "Necessário PHP %s ou maior.",
+ "PHP with a version lower than %s is required." : "É necessário um PHP com uma versão inferir a %s.",
+ "Following databases are supported: %s" : "As seguintes bases de dados são suportadas: %s",
+ "The command line tool %s could not be found" : "A ferramenta de linha de comento %s não foi encontrada",
+ "The library %s is not available." : "A biblioteca %s não está disponível.",
+ "Library %s with a version higher than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão superior a %s - versão disponível: %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão inferior a %s - versão disponível: %s.",
+ "Following platforms are supported: %s" : "As seguintes plataformas são suportadas: %s",
+ "ownCloud %s or higher is required." : "É necessário ownCloud %s ou superior.",
+ "ownCloud with a version lower than %s is required." : "É necessário uma versão do ownCloud inferior a %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
"Settings" : "Configurações",
@@ -15,16 +24,17 @@ OC.L10N.register(
"Admin" : "Admin",
"Recommended" : "Recomendado",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "A Aplicação \\\"%s\\\" não pode ser instalada porque não é compatível com esta versão do owncloud.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "A aplicação \\\"%s\\\" não pode ser instalada porque as seguintes dependências não podem ser realizadas: %s",
"No app name specified" : "O nome da aplicação não foi especificado",
"Unknown filetype" : "Ficheiro desconhecido",
"Invalid image" : "Imagem inválida",
"today" : "hoje",
"yesterday" : "ontem",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["%n dia atrás","%n dias atrás"],
"last month" : "ultímo mês",
"_%n month ago_::_%n months ago_" : ["","%n meses atrás"],
"last year" : "ano passado",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"],
"_%n hour ago_::_%n hours ago_" : ["","%n horas atrás"],
"_%n minute ago_::_%n minutes ago_" : ["","%n minutos atrás"],
"seconds ago" : "Minutos atrás",
@@ -67,6 +77,7 @@ OC.L10N.register(
"Set an admin password." : "Definiar uma password de administrador",
"Can't create or write into the data directory %s" : "Não é possível criar ou escrever a directoria data %s",
"%s shared »%s« with you" : "%s partilhado »%s« consigo",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "A partilha de %s falhou porque não são autorizadas partilhas do tipo %i",
"Sharing %s failed, because the file does not exist" : "A partilha de %s falhou, porque o ficheiro não existe",
"You are not allowed to share %s" : "Não está autorizado a partilhar %s",
"Sharing %s failed, because the user %s is the item owner" : "A partilha %s falhou, porque o utilizador %s é o proprietário",
@@ -77,6 +88,7 @@ OC.L10N.register(
"Sharing %s failed, because %s is not a member of the group %s" : "A partilha %s falhou, porque o utilizador %s não é membro do grupo %s",
"You need to provide a password to create a public link, only protected links are allowed" : "Necessita de fornecer a senha para criar um link publico, só são permitidos links protegidos",
"Sharing %s failed, because sharing with links is not allowed" : "A partilha de %s falhou, porque partilhar com links não é permitido",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "A partilha de %s falhou, não foi possível encontrar %s. É possível que o servidor esteja inacessível.",
"Share type %s is not valid for %s" : "O tipo de partilha %s não é válido para %s",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Definir permissões para %s falhou, porque as permissões excedem as permissões concedidas a %s",
"Setting permissions for %s failed, because the item was not found" : "Definir permissões para %s falhou, porque o item não foi encontrado",
@@ -107,6 +119,8 @@ OC.L10N.register(
"Please ask your server administrator to install the module." : "Por favor pergunte ao seu administrador do servidor para instalar o modulo.",
"PHP module %s not installed." : "O modulo %s PHP não está instalado.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Por favor pessa ao seu administrador de servidor para actualizar o PHP para a ultima versão. A sua versão de PHP não é mais suportada pelo owncloud e a comunidade PHP.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "O PHP está configurado para popular dados raw post. Desde o PHP 5.6 isto levará a que o PHP mostre avisos sobre código perfeitamente válido.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para corrigir este problema altere <code>always_populate_raw_post_data</code> para <code>-1</code> no seu php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado a remover blocos doc em linha. Isto vai fazer algumas aplicações basicas inacessíveis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.",
"PHP modules have been installed, but they are still listed as missing?" : "Os módulos PHP foram instalados, mas eles ainda estão listados como desaparecidos?",
diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json
index e61ca5e06fa..fff334cb3b0 100644
--- a/lib/l10n/pt_PT.json
+++ b/lib/l10n/pt_PT.json
@@ -6,6 +6,15 @@
"Sample configuration detected" : "Exemplo de configuração detectada",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de amostra foi copiada. Isso pode danificar a sua instalação e não é suportado. Por favor, leia a documentação antes de realizar mudanças no config.php",
"PHP %s or higher is required." : "Necessário PHP %s ou maior.",
+ "PHP with a version lower than %s is required." : "É necessário um PHP com uma versão inferir a %s.",
+ "Following databases are supported: %s" : "As seguintes bases de dados são suportadas: %s",
+ "The command line tool %s could not be found" : "A ferramenta de linha de comento %s não foi encontrada",
+ "The library %s is not available." : "A biblioteca %s não está disponível.",
+ "Library %s with a version higher than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão superior a %s - versão disponível: %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão inferior a %s - versão disponível: %s.",
+ "Following platforms are supported: %s" : "As seguintes plataformas são suportadas: %s",
+ "ownCloud %s or higher is required." : "É necessário ownCloud %s ou superior.",
+ "ownCloud with a version lower than %s is required." : "É necessário uma versão do ownCloud inferior a %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
"Settings" : "Configurações",
@@ -13,16 +22,17 @@
"Admin" : "Admin",
"Recommended" : "Recomendado",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "A Aplicação \\\"%s\\\" não pode ser instalada porque não é compatível com esta versão do owncloud.",
+ "App \\\"%s\\\" cannot be installed because the following dependencies are not fulfilled: %s" : "A aplicação \\\"%s\\\" não pode ser instalada porque as seguintes dependências não podem ser realizadas: %s",
"No app name specified" : "O nome da aplicação não foi especificado",
"Unknown filetype" : "Ficheiro desconhecido",
"Invalid image" : "Imagem inválida",
"today" : "hoje",
"yesterday" : "ontem",
- "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n day ago_::_%n days ago_" : ["%n dia atrás","%n dias atrás"],
"last month" : "ultímo mês",
"_%n month ago_::_%n months ago_" : ["","%n meses atrás"],
"last year" : "ano passado",
- "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"],
"_%n hour ago_::_%n hours ago_" : ["","%n horas atrás"],
"_%n minute ago_::_%n minutes ago_" : ["","%n minutos atrás"],
"seconds ago" : "Minutos atrás",
@@ -65,6 +75,7 @@
"Set an admin password." : "Definiar uma password de administrador",
"Can't create or write into the data directory %s" : "Não é possível criar ou escrever a directoria data %s",
"%s shared »%s« with you" : "%s partilhado »%s« consigo",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "A partilha de %s falhou porque não são autorizadas partilhas do tipo %i",
"Sharing %s failed, because the file does not exist" : "A partilha de %s falhou, porque o ficheiro não existe",
"You are not allowed to share %s" : "Não está autorizado a partilhar %s",
"Sharing %s failed, because the user %s is the item owner" : "A partilha %s falhou, porque o utilizador %s é o proprietário",
@@ -75,6 +86,7 @@
"Sharing %s failed, because %s is not a member of the group %s" : "A partilha %s falhou, porque o utilizador %s não é membro do grupo %s",
"You need to provide a password to create a public link, only protected links are allowed" : "Necessita de fornecer a senha para criar um link publico, só são permitidos links protegidos",
"Sharing %s failed, because sharing with links is not allowed" : "A partilha de %s falhou, porque partilhar com links não é permitido",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "A partilha de %s falhou, não foi possível encontrar %s. É possível que o servidor esteja inacessível.",
"Share type %s is not valid for %s" : "O tipo de partilha %s não é válido para %s",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Definir permissões para %s falhou, porque as permissões excedem as permissões concedidas a %s",
"Setting permissions for %s failed, because the item was not found" : "Definir permissões para %s falhou, porque o item não foi encontrado",
@@ -105,6 +117,8 @@
"Please ask your server administrator to install the module." : "Por favor pergunte ao seu administrador do servidor para instalar o modulo.",
"PHP module %s not installed." : "O modulo %s PHP não está instalado.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Por favor pessa ao seu administrador de servidor para actualizar o PHP para a ultima versão. A sua versão de PHP não é mais suportada pelo owncloud e a comunidade PHP.",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "O PHP está configurado para popular dados raw post. Desde o PHP 5.6 isto levará a que o PHP mostre avisos sobre código perfeitamente válido.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para corrigir este problema altere <code>always_populate_raw_post_data</code> para <code>-1</code> no seu php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado a remover blocos doc em linha. Isto vai fazer algumas aplicações basicas inacessíveis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.",
"PHP modules have been installed, but they are still listed as missing?" : "Os módulos PHP foram instalados, mas eles ainda estão listados como desaparecidos?",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 0819c2b40f6..f6f8a89713f 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -11,7 +11,7 @@ OC.L10N.register(
"PHP with a version lower than %s is required." : "PHP'nin %s sürümü öncesi gerekli.",
"Following databases are supported: %s" : "Şu veritabanları desteklenmekte: %s",
"The command line tool %s could not be found" : "Komut satırı aracı %s bulunamadı",
- "The library %s is not available." : "%s kütüphanesi kullanılamıyor.",
+ "The library %s is not available." : "%s kütüphanesi mevcut değil.",
"Library %s with a version higher than %s is required - available version %s." : "%s kütüphanesinin %s sürümünden daha yüksek sürümü gerekli - kullanılabilir sürüm %s.",
"Library %s with a version lower than %s is required - available version %s." : "%s kütüphanesinin %s sürümünden daha düşük sürümü gerekli - kullanılabilir sürüm %s.",
"Following platforms are supported: %s" : "Aşağıdaki platformlar destekleniyor: %s",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index adbf8b1b94f..778818c8a86 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -9,7 +9,7 @@
"PHP with a version lower than %s is required." : "PHP'nin %s sürümü öncesi gerekli.",
"Following databases are supported: %s" : "Şu veritabanları desteklenmekte: %s",
"The command line tool %s could not be found" : "Komut satırı aracı %s bulunamadı",
- "The library %s is not available." : "%s kütüphanesi kullanılamıyor.",
+ "The library %s is not available." : "%s kütüphanesi mevcut değil.",
"Library %s with a version higher than %s is required - available version %s." : "%s kütüphanesinin %s sürümünden daha yüksek sürümü gerekli - kullanılabilir sürüm %s.",
"Library %s with a version lower than %s is required - available version %s." : "%s kütüphanesinin %s sürümünden daha düşük sürümü gerekli - kullanılabilir sürüm %s.",
"Following platforms are supported: %s" : "Aşağıdaki platformlar destekleniyor: %s",
diff --git a/lib/private/app.php b/lib/private/app.php
index 3a1f731d621..60b644e58e2 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -321,6 +321,9 @@ class OC_App {
* @param string $app app
*/
public static function disable($app) {
+ if($app === 'files') {
+ throw new \Exception("files can't be disabled.");
+ }
self::$enabledAppsCache = array(); // flush
// check if app is a shipped app or not. if not delete
\OC_Hook::emit('OC_App', 'pre_disable', array('app' => $app));
diff --git a/lib/private/app/appmanager.php b/lib/private/app/appmanager.php
index 6d9aa0bfe37..20a765e3434 100644
--- a/lib/private/app/appmanager.php
+++ b/lib/private/app/appmanager.php
@@ -131,8 +131,12 @@ class AppManager implements IAppManager {
* Disable an app for every user
*
* @param string $appId
+ * @throws \Exception if app can't be disabled
*/
public function disableApp($appId) {
+ if($appId === 'files') {
+ throw new \Exception("files can't be disabled.");
+ }
$this->appConfig->setValue($appId, 'enabled', 'no');
}
}
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index 12ce633838f..e57d04f9a6e 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -220,6 +220,21 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
}
/**
+ * Returns the ETag for a file
+ *
+ * An ETag is a unique identifier representing the current version of the
+ * file. If the file changes, the ETag MUST change. The ETag is an
+ * arbitrary string, but MUST be surrounded by double-quotes.
+ *
+ * Return null if the ETag can not effectively be determined
+ *
+ * @return mixed
+ */
+ public function getETag() {
+ return '"' . $this->info->getEtag() . '"';
+ }
+
+ /**
* Returns the mime-type for a file
*
* If null is returned, we'll assume application/octet-stream
diff --git a/lib/private/connector/sabre/filesplugin.php b/lib/private/connector/sabre/filesplugin.php
index ff5a6cc8b4b..f6f0fac878b 100644
--- a/lib/private/connector/sabre/filesplugin.php
+++ b/lib/private/connector/sabre/filesplugin.php
@@ -123,10 +123,6 @@ class OC_Connector_Sabre_FilesPlugin extends \Sabre\DAV\ServerPlugin
if (!is_null($fileId)) {
$this->server->httpResponse->setHeader('OC-FileId', $fileId);
}
- $eTag = $node->getETag();
- if (!is_null($eTag)) {
- $this->server->httpResponse->setHeader('OC-ETag', $eTag);
- }
}
}
diff --git a/lib/private/connector/sabre/node.php b/lib/private/connector/sabre/node.php
index 3173ab8a30f..adc37849286 100644
--- a/lib/private/connector/sabre/node.php
+++ b/lib/private/connector/sabre/node.php
@@ -281,20 +281,4 @@ abstract class OC_Connector_Sabre_Node implements \Sabre\DAV\INode, \Sabre\DAV\I
}
return $p;
}
-
- /**
- * Returns the ETag for a file
- *
- * An ETag is a unique identifier representing the current version of the
- * file. If the file changes, the ETag MUST change. The ETag is an
- * arbitrary string, but MUST be surrounded by double-quotes.
- *
- * Return null if the ETag can not effectively be determined
- *
- * @return mixed
- */
- public function getETag() {
- return '"' . $this->info->getEtag() . '"';
- }
-
}
diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php
index 5438bdad5cb..cad4c8a40b9 100644
--- a/lib/private/files/cache/cache.php
+++ b/lib/private/files/cache/cache.php
@@ -408,12 +408,14 @@ class Cache {
$result = \OC_DB::executeAudited($sql, array($this->getNumericStorageId(), $source . '/%'));
$childEntries = $result->fetchAll();
$sourceLength = strlen($source);
+ \OC_DB::beginTransaction();
$query = \OC_DB::prepare('UPDATE `*PREFIX*filecache` SET `path` = ?, `path_hash` = ? WHERE `fileid` = ?');
foreach ($childEntries as $child) {
$targetPath = $target . substr($child['path'], $sourceLength);
\OC_DB::executeAudited($query, array($targetPath, md5($targetPath), $child['fileid']));
}
+ \OC_DB::commit();
}
$sql = 'UPDATE `*PREFIX*filecache` SET `path` = ?, `path_hash` = ?, `name` = ?, `parent` =? WHERE `fileid` = ?';
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index 140d892652f..e933782ce2f 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -543,9 +543,11 @@ class Filesystem {
* @return bool
*/
static public function isFileBlacklisted($filename) {
+ $filename = self::normalizePath($filename);
+
$blacklist = \OC_Config::getValue('blacklisted_files', array('.htaccess'));
$filename = strtolower(basename($filename));
- return (in_array($filename, $blacklist));
+ return in_array($filename, $blacklist);
}
/**
@@ -734,6 +736,9 @@ class Filesystem {
return '/';
}
+ //normalize unicode if possible
+ $path = \OC_Util::normalizeUnicode($path);
+
//no windows style slashes
$path = str_replace('\\', '/', $path);
@@ -770,9 +775,6 @@ class Filesystem {
$path = substr($path, 0, -2);
}
- //normalize unicode if possible
- $path = \OC_Util::normalizeUnicode($path);
-
$normalizedPath = $windows_drive_letter . $path;
self::$normalizedPathCache[$cacheKey] = $normalizedPath;
diff --git a/lib/private/files/mapper.php b/lib/private/files/mapper.php
index 5e78ef03dd0..86c23c62e4b 100644
--- a/lib/private/files/mapper.php
+++ b/lib/private/files/mapper.php
@@ -115,6 +115,8 @@ class Mapper
/**
* @param string $logicPath
+ * @return null
+ * @throws \OC\DatabaseException
*/
private function resolveLogicPath($logicPath) {
$logicPath = $this->resolveRelativePath($logicPath);
@@ -162,7 +164,8 @@ class Mapper
/**
* @param string $logicPath
- * @param boolean $store
+ * @param bool $store
+ * @return string
*/
private function create($logicPath, $store) {
$logicPath = $this->resolveRelativePath($logicPath);
@@ -191,7 +194,9 @@ class Mapper
}
/**
- * @param integer $index
+ * @param string $path
+ * @param int $index
+ * @return string
*/
public function slugifyPath($path, $index = null) {
$path = $this->stripRootFolder($path, $this->unchangedPhysicalRoot);
@@ -205,7 +210,7 @@ class Mapper
continue;
}
- $sluggedElements[] = self::slugify($pathElement);
+ $sluggedElements[] = $this->slugify($pathElement);
}
// apply index to file name
@@ -253,13 +258,18 @@ class Mapper
// trim ending dots (for security reasons and win compatibility)
$text = preg_replace('~\.+$~', '', $text);
- if (empty($text)) {
+ if (empty($text) || \OC\Files\Filesystem::isFileBlacklisted($text)) {
/**
* Item slug would be empty. Previously we used uniqid() here.
* However this means that the behaviour is not reproducible, so
* when uploading files into a "empty" folder, the folders name is
* different.
*
+ * The other case is, that the slugified name would be a blacklisted
+ * filename. In this case we just use the same workaround by
+ * returning the secure md5 hash of the original name.
+ *
+ *
* If there would be a md5() hash collision, the deduplicate check
* will spot this and append an index later, so this should not be
* a problem.
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 6c720a6f5c0..3bc9fdff1ee 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -87,6 +87,11 @@ class View {
if ($this->fakeRoot == '') {
return $path;
}
+
+ if (rtrim($path,'/') === rtrim($this->fakeRoot, '/')) {
+ return '/';
+ }
+
if (strpos($path, $this->fakeRoot) !== 0) {
return null;
} else {
diff --git a/lib/private/helper.php b/lib/private/helper.php
index 238eab502ad..887c3f33402 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -40,7 +40,8 @@ class OC_Helper {
'application/x-gimp' => 'image',
'application/x-photoshop' => 'image',
- 'application/x-font-ttf' => 'font',
+ 'application/font-sfnt' => 'font',
+ 'application/x-font' => 'font',
'application/font-woff' => 'font',
'application/vnd.ms-fontobject' => 'font',
diff --git a/lib/private/mimetypes.list.php b/lib/private/mimetypes.list.php
index 4f11829859a..265fffa7db3 100644
--- a/lib/private/mimetypes.list.php
+++ b/lib/private/mimetypes.list.php
@@ -104,9 +104,10 @@ return array(
'oga' => array('audio/ogg', null),
'ogg' => array('audio/ogg', null),
'ogv' => array('video/ogg', null),
- 'otf' => array('font/opentype', null),
+ 'otf' => array('application/font-sfnt', null),
'pages' => array('application/x-iwork-pages-sffpages', null),
'pdf' => array('application/pdf', null),
+ 'pfb' => array('application/x-font', null),
'php' => array('application/x-php', null),
'pl' => array('application/x-perl', null),
'png' => array('image/png', null),
@@ -137,7 +138,7 @@ return array(
'tgz' => array('application/x-compressed', null),
'tiff' => array('image/tiff', null),
'tif' => array('image/tiff', null),
- 'ttf' => array('application/x-font-ttf', null),
+ 'ttf' => array('application/font-sfnt', null),
'txt' => array('text/plain', null),
'vcard' => array('text/vcard', null),
'vcf' => array('text/vcard', null),
diff --git a/lib/private/repair.php b/lib/private/repair.php
index d9fd99707e8..c74283896fd 100644
--- a/lib/private/repair.php
+++ b/lib/private/repair.php
@@ -13,6 +13,7 @@ use OC\Hooks\Emitter;
use OC\Repair\AssetCache;
use OC\Repair\CleanTags;
use OC\Repair\Collation;
+use OC\Repair\EnableFilesApp;
use OC\Repair\FillETags;
use OC\Repair\InnoDB;
use OC\Repair\RepairConfig;
@@ -84,6 +85,7 @@ class Repair extends BasicEmitter {
new AssetCache(),
new FillETags(\OC_DB::getConnection()),
new CleanTags(\OC_DB::getConnection()),
+ new EnableFilesApp(\OC::$server->getConfig()),
);
}
diff --git a/lib/private/tempmanager.php b/lib/private/tempmanager.php
index a3bb07f9d63..60b9c9dc0d4 100644
--- a/lib/private/tempmanager.php
+++ b/lib/private/tempmanager.php
@@ -132,12 +132,14 @@ class TempManager implements ITempManager {
$cutOfTime = time() - 3600;
$files = array();
$dh = opendir($this->tmpBaseDir);
- while (($file = readdir($dh)) !== false) {
- if (substr($file, 0, 7) === 'oc_tmp_') {
- $path = $this->tmpBaseDir . '/' . $file;
- $mtime = filemtime($path);
- if ($mtime < $cutOfTime) {
- $files[] = $path;
+ if ($dh) {
+ while (($file = readdir($dh)) !== false) {
+ if (substr($file, 0, 7) === 'oc_tmp_') {
+ $path = $this->tmpBaseDir . '/' . $file;
+ $mtime = filemtime($path);
+ if ($mtime < $cutOfTime) {
+ $files[] = $path;
+ }
}
}
}
diff --git a/lib/private/util.php b/lib/private/util.php
index c08cff81469..9a01ca3ac95 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -818,8 +818,7 @@ class OC_Util {
$parameters['user_autofocus'] = true;
}
if (isset($_REQUEST['redirect_url'])) {
- $redirectUrl = $_REQUEST['redirect_url'];
- $parameters['redirect_url'] = urlencode($redirectUrl);
+ $parameters['redirect_url'] = $_REQUEST['redirect_url'];
}
$parameters['alt_login'] = OC_App::getAlternativeLogIns();
diff --git a/lib/repair/enablefilesapp.php b/lib/repair/enablefilesapp.php
new file mode 100644
index 00000000000..a3298cf76b3
--- /dev/null
+++ b/lib/repair/enablefilesapp.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Copyright (c) 2015 Morris Jobke <hey@morrisjobke.de>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Repair;
+
+use OC\Hooks\BasicEmitter;
+use OC\RepairStep;
+use OCP\IConfig;
+
+/**
+ * Class EnableFilesApp - enables files app if disabled
+ *
+ * TODO: remove this with ownCloud 8.1 - this isn't possible anymore with 8.0
+ *
+ * @package OC\Repair
+ */
+class EnableFilesApp extends BasicEmitter implements RepairStep {
+
+ /** @var IConfig */
+ protected $config;
+
+ /**
+ * @param IConfig $config
+ */
+ public function __construct(IConfig $config) {
+ $this->config = $config;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName() {
+ return 'Re-enable file app';
+ }
+
+ /**
+ * Enables the files app if it is disabled
+ */
+ public function run() {
+ if ($this->config->getAppValue('files', 'enabled', 'no') !== 'yes') {
+ $this->config->setAppValue('files', 'enabled', 'yes');
+ $this->emit('\OC\Repair', 'info', ['Files app was disabled - re-enabled']);
+ }
+ }
+}
diff --git a/lib/repair/repairmimetypes.php b/lib/repair/repairmimetypes.php
index e3f4402cfd5..06cd144bff4 100644
--- a/lib/repair/repairmimetypes.php
+++ b/lib/repair/repairmimetypes.php
@@ -2,6 +2,7 @@
/**
* Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com>
* Copyright (c) 2014 Jörn Dreyer jfd@owncloud.com
+ * Copyright (c) 2014 Olivier Paroz owncloud@oparoz.com
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
@@ -16,32 +17,32 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
public function getName() {
return 'Repair mime types';
}
-
- private function fixOfficeMimeTypes() {
- // update wrong mimetypes
- $wrongMimetypes = array(
- 'application/mspowerpoint' => 'application/vnd.ms-powerpoint',
- 'application/msexcel' => 'application/vnd.ms-excel',
- );
-
- $existsStmt = \OC_DB::prepare('
+
+ private static function existsStmt() {
+ return \OC_DB::prepare('
SELECT count(`mimetype`)
FROM `*PREFIX*mimetypes`
WHERE `mimetype` = ?
');
+ }
- $getIdStmt = \OC_DB::prepare('
+ private static function getIdStmt() {
+ return \OC_DB::prepare('
SELECT `id`
FROM `*PREFIX*mimetypes`
WHERE `mimetype` = ?
');
+ }
- $insertStmt = \OC_DB::prepare('
+ private static function insertStmt() {
+ return \OC_DB::prepare('
INSERT INTO `*PREFIX*mimetypes` ( `mimetype` )
VALUES ( ? )
');
+ }
- $updateWrongStmt = \OC_DB::prepare('
+ private static function updateWrongStmt() {
+ return \OC_DB::prepare('
UPDATE `*PREFIX*filecache`
SET `mimetype` = (
SELECT `id`
@@ -49,106 +50,125 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
WHERE `mimetype` = ?
) WHERE `mimetype` = ?
');
-
- $deleteStmt = \OC_DB::prepare('
+ }
+
+ private static function deleteStmt() {
+ return \OC_DB::prepare('
DELETE FROM `*PREFIX*mimetypes`
WHERE `id` = ?
');
-
+ }
+
+ private static function updateByNameStmt() {
+ return \OC_DB::prepare('
+ UPDATE `*PREFIX*filecache`
+ SET `mimetype` = (
+ SELECT `id`
+ FROM `*PREFIX*mimetypes`
+ WHERE `mimetype` = ?
+ ) WHERE `name` LIKE ?
+ ');
+ }
+
+ private function repairMimetypes($wrongMimetypes) {
foreach ($wrongMimetypes as $wrong => $correct) {
-
-
// do we need to remove a wrong mimetype?
- $result = \OC_DB::executeAudited($getIdStmt, array($wrong));
+ $result = \OC_DB::executeAudited(self::getIdStmt(), array($wrong));
$wrongId = $result->fetchOne();
if ($wrongId !== false) {
-
// do we need to insert the correct mimetype?
- $result = \OC_DB::executeAudited($existsStmt, array($correct));
+ $result = \OC_DB::executeAudited(self::existsStmt(), array($correct));
$exists = $result->fetchOne();
- if ( ! $exists ) {
- // insert mimetype
- \OC_DB::executeAudited($insertStmt, array($correct));
- }
-
- // change wrong mimetype to correct mimetype in filecache
- \OC_DB::executeAudited($updateWrongStmt, array($correct, $wrongId));
+ if ( ! is_null($correct) ) {
+ if ( ! $exists ) {
+ // insert mimetype
+ \OC_DB::executeAudited(self::insertStmt(), array($correct));
+ }
+ // change wrong mimetype to correct mimetype in filecache
+ \OC_DB::executeAudited(self::updateWrongStmt(), array($correct, $wrongId));
+ }
+
// delete wrong mimetype
- \OC_DB::executeAudited($deleteStmt, array($wrongId));
+ \OC_DB::executeAudited(self::deleteStmt(), array($wrongId));
}
-
}
-
- $updatedMimetypes = array(
- 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
- 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
- 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
- );
-
- $updateByNameStmt = \OC_DB::prepare('
- UPDATE `*PREFIX*filecache`
- SET `mimetype` = (
- SELECT `id`
- FROM `*PREFIX*mimetypes`
- WHERE `mimetype` = ?
- ) WHERE `name` LIKE ?
- ');
-
- // separate doc from docx etc
+ }
+
+ private function updateMimetypes($updatedMimetypes) {
+
foreach ($updatedMimetypes as $extension => $mimetype ) {
- $result = \OC_DB::executeAudited($existsStmt, array($mimetype));
+ $result = \OC_DB::executeAudited(self::existsStmt(), array($mimetype));
$exists = $result->fetchOne();
if ( ! $exists ) {
// insert mimetype
- \OC_DB::executeAudited($insertStmt, array($mimetype));
+ \OC_DB::executeAudited(self::insertStmt(), array($mimetype));
}
// change mimetype for files with x extension
- \OC_DB::executeAudited($updateByNameStmt, array($mimetype, '%.'.$extension));
+ \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetype, '%.'.$extension));
}
}
- private function fixAPKMimeType() {
- $existsStmt = \OC_DB::prepare('
- SELECT count(`mimetype`)
- FROM `*PREFIX*mimetypes`
- WHERE `mimetype` = ?
- ');
+ private function fixOfficeMimeTypes() {
+ // update wrong mimetypes
+ $wrongMimetypes = array(
+ 'application/mspowerpoint' => 'application/vnd.ms-powerpoint',
+ 'application/msexcel' => 'application/vnd.ms-excel',
+ );
- $insertStmt = \OC_DB::prepare('
- INSERT INTO `*PREFIX*mimetypes` ( `mimetype` )
- VALUES ( ? )
- ');
+ self::repairMimetypes($wrongMimetypes);
+ $updatedMimetypes = array(
+ 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+ );
- $updateByNameStmt = \OC_DB::prepare('
- UPDATE `*PREFIX*filecache`
- SET `mimetype` = (
- SELECT `id`
- FROM `*PREFIX*mimetypes`
- WHERE `mimetype` = ?
- ) WHERE `name` LIKE ?
- ');
+ // separate doc from docx etc
+ self::updateMimetypes($updatedMimetypes);
+
+ }
+
+ private function fixApkMimeType() {
+ $updatedMimetypes = array(
+ 'apk' => 'application/vnd.android.package-archive',
+ );
- $mimeTypeExtension = 'apk';
- $mimeTypeName = 'application/vnd.android.package-archive';
+ self::updateMimetypes($updatedMimetypes);
+ }
+
+ private function fixFontsMimeTypes() {
+ // update wrong mimetypes
+ $wrongMimetypes = array(
+ 'font' => null,
+ 'font/opentype' => 'application/font-sfnt',
+ 'application/x-font-ttf' => 'application/font-sfnt',
+ );
- $result = \OC_DB::executeAudited($existsStmt, array($mimeTypeName));
- $exists = $result->fetchOne();
+ self::repairMimetypes($wrongMimetypes);
+
+ $updatedMimetypes = array(
+ 'ttf' => 'application/font-sfnt',
+ 'otf' => 'application/font-sfnt',
+ 'pfb' => 'application/x-font',
+ );
- if ( ! $exists ) {
- // insert mimetype
- \OC_DB::executeAudited($insertStmt, array($mimeTypeName));
- }
+ self::updateMimetypes($updatedMimetypes);
+ }
+
+ private function fixPostscriptMimeType() {
+ $updatedMimetypes = array(
+ 'eps' => 'application/postscript',
+ 'ps' => 'application/postscript',
+ );
- // change mimetype for files with x extension
- \OC_DB::executeAudited($updateByNameStmt, array($mimeTypeName, '%.'.$mimeTypeExtension));
+ self::updateMimetypes($updatedMimetypes);
}
/**
@@ -158,10 +178,17 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
if ($this->fixOfficeMimeTypes()) {
$this->emit('\OC\Repair', 'info', array('Fixed office mime types'));
}
-
- if ($this->fixAPKMimeType()) {
+
+ if ($this->fixApkMimeType()) {
$this->emit('\OC\Repair', 'info', array('Fixed APK mime type'));
}
+
+ if ($this->fixFontsMimeTypes()) {
+ $this->emit('\OC\Repair', 'info', array('Fixed fonts mime types'));
+ }
+
+ if ($this->fixPostscriptMimeType()) {
+ $this->emit('\OC\Repair', 'info', array('Fixed Postscript mime types'));
+ }
}
-}
-
+} \ No newline at end of file