aboutsummaryrefslogtreecommitdiffstats
path: root/settings
diff options
context:
space:
mode:
Diffstat (limited to 'settings')
-rw-r--r--settings/admin.php1
-rw-r--r--settings/ajax/enableapp.php6
-rw-r--r--settings/ajax/navigationdetect.php3
-rw-r--r--settings/changepassword/controller.php1
-rw-r--r--settings/controller/certificatecontroller.php26
-rw-r--r--settings/controller/checksetupcontroller.php28
-rw-r--r--settings/controller/encryptioncontroller.php1
-rw-r--r--settings/js/apps.js22
-rw-r--r--settings/js/personal.js46
-rw-r--r--settings/l10n/cs_CZ.js1
-rw-r--r--settings/l10n/cs_CZ.json1
-rw-r--r--settings/l10n/de.js4
-rw-r--r--settings/l10n/de.json4
-rw-r--r--settings/l10n/de_DE.js2
-rw-r--r--settings/l10n/de_DE.json2
-rw-r--r--settings/l10n/el.js2
-rw-r--r--settings/l10n/el.json2
-rw-r--r--settings/l10n/fa.js8
-rw-r--r--settings/l10n/fa.json8
-rw-r--r--settings/l10n/fi_FI.js2
-rw-r--r--settings/l10n/fi_FI.json2
-rw-r--r--settings/l10n/fr.js1
-rw-r--r--settings/l10n/fr.json1
-rw-r--r--settings/l10n/hu_HU.js1
-rw-r--r--settings/l10n/hu_HU.json1
-rw-r--r--settings/l10n/it.js2
-rw-r--r--settings/l10n/it.json2
-rw-r--r--settings/l10n/nds.js19
-rw-r--r--settings/l10n/nds.json17
-rw-r--r--settings/l10n/pt_BR.js2
-rw-r--r--settings/l10n/pt_BR.json2
-rw-r--r--settings/l10n/ru.js11
-rw-r--r--settings/l10n/ru.json11
-rw-r--r--settings/l10n/zh_TW.js7
-rw-r--r--settings/l10n/zh_TW.json7
-rw-r--r--settings/personal.php8
-rw-r--r--settings/templates/personal.php11
-rw-r--r--settings/users.php2
38 files changed, 236 insertions, 41 deletions
diff --git a/settings/admin.php b/settings/admin.php
index aa891314fab..bccb1171743 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -12,7 +12,6 @@
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <icewind@owncloud.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
- * @author Vincent Petry <pvince81@owncloud.com>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php
index 55298430e28..04b92283f3e 100644
--- a/settings/ajax/enableapp.php
+++ b/settings/ajax/enableapp.php
@@ -5,6 +5,7 @@
* @author Kamil Domanski <kdomanski@kdemail.net>
* @author Lukas Reschke <lukas@owncloud.com>
* @author Robin Appelman <icewind@owncloud.com>
+ * @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
@@ -28,8 +29,9 @@ OCP\JSON::callCheck();
$groups = isset($_POST['groups']) ? (array)$_POST['groups'] : null;
try {
- OC_App::enable(OC_App::cleanAppId((string)$_POST['appid']), $groups);
- OC_JSON::success();
+ $app = OC_App::cleanAppId((string)$_POST['appid']);
+ OC_App::enable($app, $groups);
+ OC_JSON::success(['data' => ['update_required' => \OC_App::shouldUpgrade($app)]]);
} catch (Exception $e) {
\OCP\Util::writeLog('core', $e->getMessage(), \OCP\Util::ERROR);
OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
diff --git a/settings/ajax/navigationdetect.php b/settings/ajax/navigationdetect.php
index 5d3b34e10ef..be410b874ee 100644
--- a/settings/ajax/navigationdetect.php
+++ b/settings/ajax/navigationdetect.php
@@ -1,8 +1,7 @@
<?php
/**
- * @author Bart Visscher <bartv@thisnet.nl>
- * @author Lukas Reschke <lukas@owncloud.com>
* @author Robin Appelman <icewind@owncloud.com>
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
diff --git a/settings/changepassword/controller.php b/settings/changepassword/controller.php
index 12499ada15d..3fa3ac67edb 100644
--- a/settings/changepassword/controller.php
+++ b/settings/changepassword/controller.php
@@ -6,7 +6,6 @@
* @author cmeh <cmeh@users.noreply.github.com>
* @author Florin Peter <github@florin-peter.de>
* @author Jakob Sack <mail@jakobsack.de>
- * @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <icewind@owncloud.com>
* @author Sam Tuke <mail@samtuke.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
diff --git a/settings/controller/certificatecontroller.php b/settings/controller/certificatecontroller.php
index 4c129dcd588..750144e7a2c 100644
--- a/settings/controller/certificatecontroller.php
+++ b/settings/controller/certificatecontroller.php
@@ -1,6 +1,8 @@
<?php
/**
+ * @author Björn Schießle <schiessle@owncloud.com>
* @author Lukas Reschke <lukas@owncloud.com>
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
@@ -66,19 +68,25 @@ class CertificateController extends Controller {
* @return array
*/
public function addPersonalRootCertificate() {
+ $headers = [];
+ if ($this->request->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE_8])) {
+ // due to upload iframe workaround, need to set content-type to text/plain
+ $headers['Content-Type'] = 'text/plain';
+ }
if ($this->isCertificateImportAllowed() === false) {
- return new DataResponse('Individual certificate management disabled', Http::STATUS_FORBIDDEN);
+ return new DataResponse(['message' => 'Individual certificate management disabled'], Http::STATUS_FORBIDDEN, $headers);
}
$file = $this->request->getUploadedFile('rootcert_import');
if(empty($file)) {
- return new DataResponse(['message' => 'No file uploaded'], Http::STATUS_UNPROCESSABLE_ENTITY);
+ return new DataResponse(['message' => 'No file uploaded'], Http::STATUS_UNPROCESSABLE_ENTITY, $headers);
}
try {
$certificate = $this->certificateManager->addCertificate(file_get_contents($file['tmp_name']), $file['name']);
- return new DataResponse([
+ return new DataResponse(
+ [
'name' => $certificate->getName(),
'commonName' => $certificate->getCommonName(),
'organization' => $certificate->getOrganization(),
@@ -88,9 +96,12 @@ class CertificateController extends Controller {
'validTillString' => $this->l10n->l('date', $certificate->getExpireDate()),
'issuer' => $certificate->getIssuerName(),
'issuerOrganization' => $certificate->getIssuerOrganization(),
- ]);
+ ],
+ Http::STATUS_OK,
+ $headers
+ );
} catch (\Exception $e) {
- return new DataResponse('An error occurred.', Http::STATUS_UNPROCESSABLE_ENTITY);
+ return new DataResponse('An error occurred.', Http::STATUS_UNPROCESSABLE_ENTITY, $headers);
}
}
@@ -120,8 +131,9 @@ class CertificateController extends Controller {
protected function isCertificateImportAllowed() {
$externalStorageEnabled = $this->appManager->isEnabledForUser('files_external');
if ($externalStorageEnabled) {
- $backendService = \OC_Mount_Config::$app->getContainer()->query('OCA\Files_External\Service\BackendService');
- if ($backendService->getBackendsVisibleFor(\OCA\Files_External\Service\BackendService::VISIBILITY_PERSONAL)) {
+ /** @var \OCA\Files_External\Service\BackendService $backendService */
+ $backendService = \OC_Mount_Config::$app->getContainer()->query('\OCA\Files_External\Service\BackendService');
+ if ($backendService->isUserMountingAllowed()) {
return true;
}
}
diff --git a/settings/controller/checksetupcontroller.php b/settings/controller/checksetupcontroller.php
index 34fe824bc97..2ff55fc72c9 100644
--- a/settings/controller/checksetupcontroller.php
+++ b/settings/controller/checksetupcontroller.php
@@ -3,6 +3,8 @@
* @author Joas Schilling <nickvergessen@owncloud.com>
* @author Lukas Reschke <lukas@owncloud.com>
* @author Morris Jobke <hey@morrisjobke.de>
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
@@ -121,7 +123,7 @@ class CheckSetupController extends Controller {
*
* @return array
*/
- public function getCurlVersion() {
+ protected function getCurlVersion() {
return curl_version();
}
@@ -135,6 +137,24 @@ class CheckSetupController extends Controller {
* @return string
*/
private function isUsedTlsLibOutdated() {
+ // Appstore is disabled by default in EE
+ $appStoreDefault = false;
+ if (\OC_Util::getEditionString() === '') {
+ $appStoreDefault = true;
+ }
+
+ // Don't run check when:
+ // 1. Server has `has_internet_connection` set to false
+ // 2. AppStore AND S2S is disabled
+ if(!$this->config->getSystemValue('has_internet_connection', true)) {
+ return '';
+ }
+ if(!$this->config->getSystemValue('appstoreenabled', $appStoreDefault)
+ && $this->config->getAppValue('files_sharing', 'outgoing_server2server_share_enabled', 'yes') === 'no'
+ && $this->config->getAppValue('files_sharing', 'incoming_server2server_share_enabled', 'yes') === 'no') {
+ return '';
+ }
+
$versionString = $this->getCurlVersion();
if(isset($versionString['ssl_version'])) {
$versionString = $versionString['ssl_version'];
@@ -143,7 +163,7 @@ class CheckSetupController extends Controller {
}
$features = (string)$this->l10n->t('installing and updating apps via the app store or Federated Cloud Sharing');
- if(!$this->config->getSystemValue('appstoreenabled', true)) {
+ if(!$this->config->getSystemValue('appstoreenabled', $appStoreDefault)) {
$features = (string)$this->l10n->t('Federated Cloud Sharing');
}
@@ -176,7 +196,7 @@ class CheckSetupController extends Controller {
return '';
}
- /*
+ /**
* Whether the php version is still supported (at time of release)
* according to: https://secure.php.net/supported-versions.php
*
@@ -193,7 +213,7 @@ class CheckSetupController extends Controller {
return ['eol' => $eol, 'version' => PHP_VERSION];
}
- /*
+ /**
* Check if the reverse proxy configuration is working as expected
*
* @return bool
diff --git a/settings/controller/encryptioncontroller.php b/settings/controller/encryptioncontroller.php
index 7aaf184482f..b3515f962f4 100644
--- a/settings/controller/encryptioncontroller.php
+++ b/settings/controller/encryptioncontroller.php
@@ -1,6 +1,7 @@
<?php
/**
* @author Björn Schießle <schiessle@owncloud.com>
+ * @author Lukas Reschke <lukas@owncloud.com>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
diff --git a/settings/js/apps.js b/settings/js/apps.js
index f775ecad620..d51c642c9c9 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -245,6 +245,14 @@ OC.Settings.Apps = OC.Settings.Apps || {
element.val(t('settings','Enable'));
appItem.addClass('appwarning');
} else {
+ if (result.data.update_required) {
+ OC.Settings.Apps.showReloadMessage();
+
+ setTimeout(function() {
+ location.reload();
+ }, 5000);
+ }
+
OC.Settings.Apps.rebuildNavigation();
appItem.data('active',true);
element.data('active',true);
@@ -390,6 +398,20 @@ OC.Settings.Apps = OC.Settings.Apps || {
.text('');
},
+ showReloadMessage: function(appId) {
+ OC.dialogs.info(
+ t(
+ 'settings',
+ 'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'
+ ),
+ t('settings','App update'),
+ function (result) {
+ window.location.reload();
+ },
+ true
+ );
+ },
+
filter: function(query) {
query = query.toLowerCase();
$('#apps-list').find('.section').addClass('hidden');
diff --git a/settings/js/personal.js b/settings/js/personal.js
index 33746d22aca..acc1478cd78 100644
--- a/settings/js/personal.js
+++ b/settings/js/personal.js
@@ -5,8 +5,6 @@
* See the COPYING-README file.
*/
-/* global OC, t */
-
/**
* The callback will be fired as soon as enter is pressed by the
* user or 1 second after the last data entry
@@ -156,6 +154,9 @@ function cleanCropper () {
}
function avatarResponseHandler (data) {
+ if (typeof data === 'string') {
+ data = $.parseJSON(data);
+ }
var $warning = $('#avatar .warning');
$warning.hide();
if (data.status === "success") {
@@ -233,7 +234,21 @@ $(document).ready(function () {
var uploadparms = {
done: function (e, data) {
- avatarResponseHandler(data.result);
+ var response = data;
+ if (typeof data.result === 'string') {
+ response = $.parseJSON(data.result);
+ } else if (data.result && data.result.length) {
+ // fetch response from iframe
+ response = $.parseJSON(data.result[0].body.innerText);
+ } else {
+ response = data.result;
+ }
+ avatarResponseHandler(response);
+ },
+ submit: function(e, data) {
+ data.formData = _.extend(data.formData || {}, {
+ requesttoken: OC.requestToken
+ });
},
fail: function (e, data){
var msg = data.jqXHR.statusText + ' (' + data.jqXHR.status + ')';
@@ -251,10 +266,6 @@ $(document).ready(function () {
}
};
- $('#uploadavatarbutton').click(function () {
- $('#uploadavatar').click();
- });
-
$('#uploadavatar').fileupload(uploadparms);
$('#selectavatar').click(function () {
@@ -344,7 +355,24 @@ $(document).ready(function () {
$('#sslCertificate tr > td').tipsy({gravity: 'n', live: true});
$('#rootcert_import').fileupload({
+ submit: function(e, data) {
+ data.formData = _.extend(data.formData || {}, {
+ requesttoken: OC.requestToken
+ });
+ },
success: function (data) {
+ if (typeof data === 'string') {
+ data = $.parseJSON(data);
+ } else if (data && data.length) {
+ // fetch response from iframe
+ data = $.parseJSON(data[0].body.innerText);
+ }
+ if (!data || typeof(data) === 'string') {
+ // IE8 iframe workaround comes here instead of fail()
+ OC.Notification.showTemporary(
+ t('settings', 'An error occurred. Please upload an ASCII-encoded PEM certificate.'));
+ return;
+ }
var issueDate = new Date(data.validFrom * 1000);
var expireDate = new Date(data.validTill * 1000);
var now = new Date();
@@ -374,10 +402,6 @@ $(document).ready(function () {
}
});
- $('#rootcert_import_button').click(function () {
- $('#rootcert_import').click();
- });
-
if ($('#sslCertificate > tbody > tr').length === 0) {
$('#sslCertificate').hide();
}
diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js
index 17f02402aee..9af784c1c96 100644
--- a/settings/l10n/cs_CZ.js
+++ b/settings/l10n/cs_CZ.js
@@ -146,6 +146,7 @@ OC.L10N.register(
"Allow users to send mail notification for shared files to other users" : "Povolit uživatelům odesílat emailová upozornění na sdílené soubory ostatním uživatelům",
"Exclude groups from sharing" : "Vyjmout skupiny ze sdílení",
"These groups will still be able to receive shares, but not to initiate them." : "Těmto skupinám bude stále možno sdílet, nemohou ale sami sdílet ostatním.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Povolit automatické vyplňování v dialogu sdílení. Pokud je toto vypnuto, je třeba ručně vyplňovat celé uživatelské jméno.",
"Last cron job execution: %s." : "Poslední cron proběhl: %s.",
"Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
"Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json
index 455280dbeb8..3d750f668a1 100644
--- a/settings/l10n/cs_CZ.json
+++ b/settings/l10n/cs_CZ.json
@@ -144,6 +144,7 @@
"Allow users to send mail notification for shared files to other users" : "Povolit uživatelům odesílat emailová upozornění na sdílené soubory ostatním uživatelům",
"Exclude groups from sharing" : "Vyjmout skupiny ze sdílení",
"These groups will still be able to receive shares, but not to initiate them." : "Těmto skupinám bude stále možno sdílet, nemohou ale sami sdílet ostatním.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Povolit automatické vyplňování v dialogu sdílení. Pokud je toto vypnuto, je třeba ručně vyplňovat celé uživatelské jméno.",
"Last cron job execution: %s." : "Poslední cron proběhl: %s.",
"Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
"Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
diff --git a/settings/l10n/de.js b/settings/l10n/de.js
index 709b95f9424..7e59f4567ac 100644
--- a/settings/l10n/de.js
+++ b/settings/l10n/de.js
@@ -118,7 +118,7 @@ OC.L10N.register(
"SSL" : "SSL",
"TLS" : "TLS",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.",
- "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfe die <a target=\"_blank\" href=\"%s\">Installationsdokumentation ↗</a>auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.",
+ "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schau in der <a target=\"_blank\" href=\"%s\">Installationsdokumentation ↗</a>auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.",
@@ -218,7 +218,7 @@ OC.L10N.register(
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\noder\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
diff --git a/settings/l10n/de.json b/settings/l10n/de.json
index 29352fe9232..f5265888072 100644
--- a/settings/l10n/de.json
+++ b/settings/l10n/de.json
@@ -116,7 +116,7 @@
"SSL" : "SSL",
"TLS" : "TLS",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.",
- "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfe die <a target=\"_blank\" href=\"%s\">Installationsdokumentation ↗</a>auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.",
+ "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schau in der <a target=\"_blank\" href=\"%s\">Installationsdokumentation ↗</a>auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.",
@@ -216,7 +216,7 @@
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\noder\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js
index 5c931504348..ddf85fb4515 100644
--- a/settings/l10n/de_DE.js
+++ b/settings/l10n/de_DE.js
@@ -212,7 +212,7 @@ OC.L10N.register(
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\noder\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json
index 0518e75c4e5..ba5b2edeecb 100644
--- a/settings/l10n/de_DE.json
+++ b/settings/l10n/de_DE.json
@@ -210,7 +210,7 @@
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\noder\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
diff --git a/settings/l10n/el.js b/settings/l10n/el.js
index 363758011e1..c9bd6733321 100644
--- a/settings/l10n/el.js
+++ b/settings/l10n/el.js
@@ -77,6 +77,8 @@ OC.L10N.register(
"Uninstalling ...." : "Απεγκατάσταση ....",
"Error while uninstalling app" : "Σφάλμα κατά την απεγκατάσταση της εφαρμογής",
"Uninstall" : "Απεγκατάσταση",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
+ "App update" : "Ενημέρωση εφαρμογής",
"An error occurred: {message}" : "Παρουσιάστηκε σφάλμα: {message}",
"Select a profile picture" : "Επιλογή εικόνας προφίλ",
"Very weak password" : "Πολύ αδύναμο συνθηματικό",
diff --git a/settings/l10n/el.json b/settings/l10n/el.json
index 12d2436fc92..3b2a1412273 100644
--- a/settings/l10n/el.json
+++ b/settings/l10n/el.json
@@ -75,6 +75,8 @@
"Uninstalling ...." : "Απεγκατάσταση ....",
"Error while uninstalling app" : "Σφάλμα κατά την απεγκατάσταση της εφαρμογής",
"Uninstall" : "Απεγκατάσταση",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
+ "App update" : "Ενημέρωση εφαρμογής",
"An error occurred: {message}" : "Παρουσιάστηκε σφάλμα: {message}",
"Select a profile picture" : "Επιλογή εικόνας προφίλ",
"Very weak password" : "Πολύ αδύναμο συνθηματικό",
diff --git a/settings/l10n/fa.js b/settings/l10n/fa.js
index 641e8ae3f80..b6345dbb767 100644
--- a/settings/l10n/fa.js
+++ b/settings/l10n/fa.js
@@ -3,12 +3,14 @@ OC.L10N.register(
{
"APCu" : "APCu",
"Redis" : "Redis",
+ "Security & setup warnings" : "اخطارهای نصب و امنیتی",
"Sharing" : "اشتراک گذاری",
"Server-side encryption" : "رمزگذاری سمت سرور",
"External Storage" : "حافظه خارجی",
"Cron" : "زمانبند",
"Email server" : "سرور ایمیل",
"Log" : "کارنامه",
+ "Tips & tricks" : "نکات و راهنمایی‌ها",
"Updates" : "به روز رسانی ها",
"Authentication error" : "خطا در اعتبار سنجی",
"Your full name has been changed." : "نام کامل شما تغییر یافت",
@@ -70,6 +72,7 @@ OC.L10N.register(
"A valid username must be provided" : "نام کاربری صحیح باید وارد شود",
"Error creating user" : "خطا در ایجاد کاربر",
"A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
+ "A valid email must be provided" : "یک ایمیل معتبر باید وارد شود",
"__language_name__" : "__language_name__",
"Sync clients" : "همگام‌سازی مشتریان",
"Personal info" : "مشخصات شخصی",
@@ -86,6 +89,7 @@ OC.L10N.register(
"SSL" : "SSL",
"TLS" : "TLS",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ماژول 'fileinfo' PHP از کار افتاده است.ما اکیدا توصیه می کنیم که این ماژول را فعال کنید تا نتایج بهتری به وسیله ی mime-type detection دریافت کنید.",
+ "All checks passed." : "تمامی موارد با موفقیت چک شدند.",
"Open documentation" : "بازکردن مستند",
"Allow apps to use the Share API" : "اجازه ی برنامه ها برای استفاده از API اشتراک گذاری",
"Allow users to share via link" : "اجازه دادن به کاربران برای اشتراک گذاری توسط پیوند",
@@ -158,9 +162,13 @@ OC.L10N.register(
"Choose as profile image" : "یک تصویر پروفایل انتخاب کنید",
"Language" : "زبان",
"Help translate" : "به ترجمه آن کمک کنید",
+ "Common Name" : "نام مشترک",
"Valid until" : "متعبر تا",
+ "Issued By" : "صدور توسط",
+ "Valid until %s" : "متعبر تا %s",
"Show storage location" : "نمایش محل ذخیره‌سازی",
"Show last log in" : "نمایش اخرین ورود",
+ "Send email to new user" : "ارسال ایمیل به کاربر جدید",
"Show email address" : "نمایش پست الکترونیکی",
"Username" : "نام کاربری",
"E-Mail" : "ایمیل",
diff --git a/settings/l10n/fa.json b/settings/l10n/fa.json
index 1b9c287348a..b9f5e3aca22 100644
--- a/settings/l10n/fa.json
+++ b/settings/l10n/fa.json
@@ -1,12 +1,14 @@
{ "translations": {
"APCu" : "APCu",
"Redis" : "Redis",
+ "Security & setup warnings" : "اخطارهای نصب و امنیتی",
"Sharing" : "اشتراک گذاری",
"Server-side encryption" : "رمزگذاری سمت سرور",
"External Storage" : "حافظه خارجی",
"Cron" : "زمانبند",
"Email server" : "سرور ایمیل",
"Log" : "کارنامه",
+ "Tips & tricks" : "نکات و راهنمایی‌ها",
"Updates" : "به روز رسانی ها",
"Authentication error" : "خطا در اعتبار سنجی",
"Your full name has been changed." : "نام کامل شما تغییر یافت",
@@ -68,6 +70,7 @@
"A valid username must be provided" : "نام کاربری صحیح باید وارد شود",
"Error creating user" : "خطا در ایجاد کاربر",
"A valid password must be provided" : "رمز عبور صحیح باید وارد شود",
+ "A valid email must be provided" : "یک ایمیل معتبر باید وارد شود",
"__language_name__" : "__language_name__",
"Sync clients" : "همگام‌سازی مشتریان",
"Personal info" : "مشخصات شخصی",
@@ -84,6 +87,7 @@
"SSL" : "SSL",
"TLS" : "TLS",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ماژول 'fileinfo' PHP از کار افتاده است.ما اکیدا توصیه می کنیم که این ماژول را فعال کنید تا نتایج بهتری به وسیله ی mime-type detection دریافت کنید.",
+ "All checks passed." : "تمامی موارد با موفقیت چک شدند.",
"Open documentation" : "بازکردن مستند",
"Allow apps to use the Share API" : "اجازه ی برنامه ها برای استفاده از API اشتراک گذاری",
"Allow users to share via link" : "اجازه دادن به کاربران برای اشتراک گذاری توسط پیوند",
@@ -156,9 +160,13 @@
"Choose as profile image" : "یک تصویر پروفایل انتخاب کنید",
"Language" : "زبان",
"Help translate" : "به ترجمه آن کمک کنید",
+ "Common Name" : "نام مشترک",
"Valid until" : "متعبر تا",
+ "Issued By" : "صدور توسط",
+ "Valid until %s" : "متعبر تا %s",
"Show storage location" : "نمایش محل ذخیره‌سازی",
"Show last log in" : "نمایش اخرین ورود",
+ "Send email to new user" : "ارسال ایمیل به کاربر جدید",
"Show email address" : "نمایش پست الکترونیکی",
"Username" : "نام کاربری",
"E-Mail" : "ایمیل",
diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js
index a7db9452562..cff1591d1e4 100644
--- a/settings/l10n/fi_FI.js
+++ b/settings/l10n/fi_FI.js
@@ -76,6 +76,8 @@ OC.L10N.register(
"Uninstalling ...." : "Poistetaan asennusta....",
"Error while uninstalling app" : "Virhe sovellusta poistaessa",
"Uninstall" : "Poista asennus",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Tämä sovellus on otettu käyttöön, mutta se vaatii päivityksen. Sinut ohjataan päivityssivulle viiden sekunnin kuluttua.",
+ "App update" : "Sovelluspäivitys",
"An error occurred: {message}" : "Tapahtui virhe: {message}",
"Select a profile picture" : "Valitse profiilikuva",
"Very weak password" : "Erittäin heikko salasana",
diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json
index 9705353642b..853028e72ed 100644
--- a/settings/l10n/fi_FI.json
+++ b/settings/l10n/fi_FI.json
@@ -74,6 +74,8 @@
"Uninstalling ...." : "Poistetaan asennusta....",
"Error while uninstalling app" : "Virhe sovellusta poistaessa",
"Uninstall" : "Poista asennus",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Tämä sovellus on otettu käyttöön, mutta se vaatii päivityksen. Sinut ohjataan päivityssivulle viiden sekunnin kuluttua.",
+ "App update" : "Sovelluspäivitys",
"An error occurred: {message}" : "Tapahtui virhe: {message}",
"Select a profile picture" : "Valitse profiilikuva",
"Very weak password" : "Erittäin heikko salasana",
diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js
index a7c389aab1e..23cc6357a2a 100644
--- a/settings/l10n/fr.js
+++ b/settings/l10n/fr.js
@@ -77,6 +77,7 @@ OC.L10N.register(
"Uninstalling ...." : "Désinstallation...",
"Error while uninstalling app" : "Erreur lors de la désinstallation de l'application",
"Uninstall" : "Désinstaller",
+ "App update" : "Mise à jour App",
"An error occurred: {message}" : "Une erreur est survenue : {message}",
"Select a profile picture" : "Selectionnez une photo de profil ",
"Very weak password" : "Mot de passe de très faible sécurité",
diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json
index 81011944298..b51a82df574 100644
--- a/settings/l10n/fr.json
+++ b/settings/l10n/fr.json
@@ -75,6 +75,7 @@
"Uninstalling ...." : "Désinstallation...",
"Error while uninstalling app" : "Erreur lors de la désinstallation de l'application",
"Uninstall" : "Désinstaller",
+ "App update" : "Mise à jour App",
"An error occurred: {message}" : "Une erreur est survenue : {message}",
"Select a profile picture" : "Selectionnez une photo de profil ",
"Very weak password" : "Mot de passe de très faible sécurité",
diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js
index 226ce7e01d9..5451728773b 100644
--- a/settings/l10n/hu_HU.js
+++ b/settings/l10n/hu_HU.js
@@ -72,6 +72,7 @@ OC.L10N.register(
"Uninstalling ...." : "Eltávolítás ...",
"Error while uninstalling app" : "Hiba történt az alkalmazás eltávolítása közben",
"Uninstall" : "Eltávolítás",
+ "App update" : "Alkalmazás frissítése",
"An error occurred: {message}" : "Hiba történt: {message}",
"Select a profile picture" : "Válasszon profilképet!",
"Very weak password" : "Nagyon gyenge jelszó",
diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json
index 14577924e94..08a34e158f5 100644
--- a/settings/l10n/hu_HU.json
+++ b/settings/l10n/hu_HU.json
@@ -70,6 +70,7 @@
"Uninstalling ...." : "Eltávolítás ...",
"Error while uninstalling app" : "Hiba történt az alkalmazás eltávolítása közben",
"Uninstall" : "Eltávolítás",
+ "App update" : "Alkalmazás frissítése",
"An error occurred: {message}" : "Hiba történt: {message}",
"Select a profile picture" : "Válasszon profilképet!",
"Very weak password" : "Nagyon gyenge jelszó",
diff --git a/settings/l10n/it.js b/settings/l10n/it.js
index 7081214d89d..f6fd6352fef 100644
--- a/settings/l10n/it.js
+++ b/settings/l10n/it.js
@@ -77,6 +77,8 @@ OC.L10N.register(
"Uninstalling ...." : "Disinstallazione...",
"Error while uninstalling app" : "Errore durante la disinstallazione dell'applicazione",
"Uninstall" : "Disinstalla",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.",
+ "App update" : "Aggiornamento applicazione",
"An error occurred: {message}" : "Si è verificato un errore: {message}",
"Select a profile picture" : "Seleziona un'immagine del profilo",
"Very weak password" : "Password molto debole",
diff --git a/settings/l10n/it.json b/settings/l10n/it.json
index 70325f7071a..a51b053c2c9 100644
--- a/settings/l10n/it.json
+++ b/settings/l10n/it.json
@@ -75,6 +75,8 @@
"Uninstalling ...." : "Disinstallazione...",
"Error while uninstalling app" : "Errore durante la disinstallazione dell'applicazione",
"Uninstall" : "Disinstalla",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.",
+ "App update" : "Aggiornamento applicazione",
"An error occurred: {message}" : "Si è verificato un errore: {message}",
"Select a profile picture" : "Seleziona un'immagine del profilo",
"Very weak password" : "Password molto debole",
diff --git a/settings/l10n/nds.js b/settings/l10n/nds.js
new file mode 100644
index 00000000000..e1998c807fd
--- /dev/null
+++ b/settings/l10n/nds.js
@@ -0,0 +1,19 @@
+OC.L10N.register(
+ "settings",
+ {
+ "External Storage" : "Externer Speicher",
+ "Saved" : "Gespeichert",
+ "Very weak password" : "Sehr schwaches Passwort",
+ "Weak password" : "Schwaches Passwort",
+ "So-so password" : "Mittelstarkes Passwort",
+ "Good password" : "Gutes Passwort",
+ "Strong password" : "Starkes Passwort",
+ "Delete" : "Löschen",
+ "None" : "Keine(r)",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "Port" : "Port",
+ "Password" : "Passwort",
+ "Cancel" : "Abbrechen",
+ "Username" : "Benutzername"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/nds.json b/settings/l10n/nds.json
new file mode 100644
index 00000000000..2c56decc573
--- /dev/null
+++ b/settings/l10n/nds.json
@@ -0,0 +1,17 @@
+{ "translations": {
+ "External Storage" : "Externer Speicher",
+ "Saved" : "Gespeichert",
+ "Very weak password" : "Sehr schwaches Passwort",
+ "Weak password" : "Schwaches Passwort",
+ "So-so password" : "Mittelstarkes Passwort",
+ "Good password" : "Gutes Passwort",
+ "Strong password" : "Starkes Passwort",
+ "Delete" : "Löschen",
+ "None" : "Keine(r)",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "Port" : "Port",
+ "Password" : "Passwort",
+ "Cancel" : "Abbrechen",
+ "Username" : "Benutzername"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js
index f4bbc350a93..8adfebcac11 100644
--- a/settings/l10n/pt_BR.js
+++ b/settings/l10n/pt_BR.js
@@ -77,6 +77,8 @@ OC.L10N.register(
"Uninstalling ...." : "Desinstalando ...",
"Error while uninstalling app" : "Erro enquanto desinstalava aplicativo",
"Uninstall" : "Desinstalar",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi habilitado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.",
+ "App update" : "Atualização de aplicativo",
"An error occurred: {message}" : "Ocorreu um erro: {message}",
"Select a profile picture" : "Selecione uma imagem para o perfil",
"Very weak password" : "Senha muito fraca",
diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json
index f27256b828f..2bd0848cee5 100644
--- a/settings/l10n/pt_BR.json
+++ b/settings/l10n/pt_BR.json
@@ -75,6 +75,8 @@
"Uninstalling ...." : "Desinstalando ...",
"Error while uninstalling app" : "Erro enquanto desinstalava aplicativo",
"Uninstall" : "Desinstalar",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi habilitado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.",
+ "App update" : "Atualização de aplicativo",
"An error occurred: {message}" : "Ocorreu um erro: {message}",
"Select a profile picture" : "Selecione uma imagem para o perfil",
"Very weak password" : "Senha muito fraca",
diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js
index 4366083d5c2..24b1d9e96f5 100644
--- a/settings/l10n/ru.js
+++ b/settings/l10n/ru.js
@@ -118,18 +118,22 @@ OC.L10N.register(
"SSL" : "SSL",
"TLS" : "TLS",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.",
+ "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к <a target=\"_blank\" href=\"%s\">документации по установке</a> для получения заметок по настройке php, а также к настройкам php вашего сервера, особенно это касается php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ваш сервер работает на ОС Microsoft Windows. Мы настоятельно рекомендуем использовать ОС семейства Linux для достижения наилучших условий использования.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s, по причинам стабильности и производительности мы рекомендуем обновиться до новой версии %1$s.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-модуль 'fileinfo' отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (mime-type) файлов.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Блокировка файлов во время передачи отключена, это может привести к состоянию гонки. Включите параметр 'filelocking.enabled' в config.php для избежания этой проблемы. За подробной информацией обратитесь к <a target=\"_blank\" href=\"%s\">документации</a>.",
"System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8",
"This means that there might be problems with certain characters in file names." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Мы рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.",
"If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Если ваша копия ownCloud установлена не в корне домена и использует системный планировщик cron, возможны проблемы с правильной генерацией URL. Чтобы избежать этого, установите опцию \"overwrite.cli.url\" в файле config.php равной пути папки установки. (Предположительно: \"%s\".)",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:",
+ "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Механизм блокировки файлов во время передачи основан на базе данных, для лучшей производительности рекомендуется использование memcache. За подробной информацией обратитесь к <a target=\"_blank\" href=\"%s\">документации</a>.",
"Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Пожалуйста, перепроверьте <a href=\"%s\">инструкцию по установке</a> и проверьте ошибки или предупреждения в <a href=\"#log-section\">журнале</a>",
+ "All checks passed." : "Все проверки пройдены.",
"Open documentation" : "Открыть документацию",
"Allow apps to use the Share API" : "Позволить приложениям использовать API общего доступа",
"Allow users to share via link" : "Разрешить пользователям публикации через ссылки",
@@ -145,6 +149,7 @@ OC.L10N.register(
"Allow users to send mail notification for shared files to other users" : "Разрешить пользователям отправлять оповещение других пользователей об открытии доступа к файлам",
"Exclude groups from sharing" : "Исключить группы из общего доступа",
"These groups will still be able to receive shares, but not to initiate them." : "Эти группы смогут получать общие ресурсы, но не могут их создавать.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Включить автоматическое завершение имен пользователей в окне общего доступа. Если отключено, то необходимо вводить полное имя вручную.",
"Last cron job execution: %s." : "Последнее выполненное Cron задание: %s.",
"Last cron job execution: %s. Something seems wrong." : "Последнее выполненное Cron задание: %s. Что-то кажется неправильным.",
"Cron was not executed yet!" : "Задачи cron ещё не запускались!",
@@ -152,6 +157,12 @@ OC.L10N.register(
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"Enable server-side encryption" : "Включить шифрование на стороне сервера",
+ "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:",
+ "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Шифрование на стороне сервера необратимый процесс. После включения шифрования все файлы на сервере будут зашифрованы, отключение этой опции невозможно.",
+ "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Любой привилегированный пользователь, который имеет доступ к серверу ownCloud может расшифровать файлы путем перехвата паролей от пользователей, которые хранятся в открытом в виде в файлах сессии. Шифрование на стороне сервера не защищает от администраторов-злоумышленников, но оно может быть полезно при использовании стороннего хостинга.",
+ "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "В зависимости от модуля шифрования общий размер файла может увеличиться (на 35 или более %% при использовании модуля по умолчанию)",
+ "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Вам необходимо постоянно создавать резервную копию ключей шифрования с целью предотвращения потери данных (data/<user>/files_encryption и data/files_encryption)",
+ "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?",
"Enable encryption" : "Включить шифрование",
"No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.",
"Select default encryption module:" : "Выберите модуль шифрования по умолчанию:",
diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json
index 55a2680ed30..0cc7346af1c 100644
--- a/settings/l10n/ru.json
+++ b/settings/l10n/ru.json
@@ -116,18 +116,22 @@
"SSL" : "SSL",
"TLS" : "TLS",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.",
+ "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к <a target=\"_blank\" href=\"%s\">документации по установке</a> для получения заметок по настройке php, а также к настройкам php вашего сервера, особенно это касается php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ваш сервер работает на ОС Microsoft Windows. Мы настоятельно рекомендуем использовать ОС семейства Linux для достижения наилучших условий использования.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s, по причинам стабильности и производительности мы рекомендуем обновиться до новой версии %1$s.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-модуль 'fileinfo' отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (mime-type) файлов.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Блокировка файлов во время передачи отключена, это может привести к состоянию гонки. Включите параметр 'filelocking.enabled' в config.php для избежания этой проблемы. За подробной информацией обратитесь к <a target=\"_blank\" href=\"%s\">документации</a>.",
"System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8",
"This means that there might be problems with certain characters in file names." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Мы рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.",
"If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Если ваша копия ownCloud установлена не в корне домена и использует системный планировщик cron, возможны проблемы с правильной генерацией URL. Чтобы избежать этого, установите опцию \"overwrite.cli.url\" в файле config.php равной пути папки установки. (Предположительно: \"%s\".)",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:",
+ "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Механизм блокировки файлов во время передачи основан на базе данных, для лучшей производительности рекомендуется использование memcache. За подробной информацией обратитесь к <a target=\"_blank\" href=\"%s\">документации</a>.",
"Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Пожалуйста, перепроверьте <a href=\"%s\">инструкцию по установке</a> и проверьте ошибки или предупреждения в <a href=\"#log-section\">журнале</a>",
+ "All checks passed." : "Все проверки пройдены.",
"Open documentation" : "Открыть документацию",
"Allow apps to use the Share API" : "Позволить приложениям использовать API общего доступа",
"Allow users to share via link" : "Разрешить пользователям публикации через ссылки",
@@ -143,6 +147,7 @@
"Allow users to send mail notification for shared files to other users" : "Разрешить пользователям отправлять оповещение других пользователей об открытии доступа к файлам",
"Exclude groups from sharing" : "Исключить группы из общего доступа",
"These groups will still be able to receive shares, but not to initiate them." : "Эти группы смогут получать общие ресурсы, но не могут их создавать.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Включить автоматическое завершение имен пользователей в окне общего доступа. Если отключено, то необходимо вводить полное имя вручную.",
"Last cron job execution: %s." : "Последнее выполненное Cron задание: %s.",
"Last cron job execution: %s. Something seems wrong." : "Последнее выполненное Cron задание: %s. Что-то кажется неправильным.",
"Cron was not executed yet!" : "Задачи cron ещё не запускались!",
@@ -150,6 +155,12 @@
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"Enable server-side encryption" : "Включить шифрование на стороне сервера",
+ "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:",
+ "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Шифрование на стороне сервера необратимый процесс. После включения шифрования все файлы на сервере будут зашифрованы, отключение этой опции невозможно.",
+ "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Любой привилегированный пользователь, который имеет доступ к серверу ownCloud может расшифровать файлы путем перехвата паролей от пользователей, которые хранятся в открытом в виде в файлах сессии. Шифрование на стороне сервера не защищает от администраторов-злоумышленников, но оно может быть полезно при использовании стороннего хостинга.",
+ "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "В зависимости от модуля шифрования общий размер файла может увеличиться (на 35 или более %% при использовании модуля по умолчанию)",
+ "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Вам необходимо постоянно создавать резервную копию ключей шифрования с целью предотвращения потери данных (data/<user>/files_encryption и data/files_encryption)",
+ "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?",
"Enable encryption" : "Включить шифрование",
"No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.",
"Select default encryption module:" : "Выберите модуль шифрования по умолчанию:",
diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js
index 9f3946a930f..355533c0e67 100644
--- a/settings/l10n/zh_TW.js
+++ b/settings/l10n/zh_TW.js
@@ -29,6 +29,7 @@ OC.L10N.register(
"Unable to change password" : "無法修改密碼",
"Enabled" : "已啓用",
"Not enabled" : "無啟動",
+ "Federated Cloud Sharing" : "聯盟式雲端分享",
"Migration Completed" : "遷移已完成",
"Group already exists." : "群組已存在",
"Unable to add group." : "無法新增群組",
@@ -98,13 +99,18 @@ OC.L10N.register(
"System locale can not be set to a one which supports UTF-8." : "系統語系無法設定只支援 UTF-8",
"This means that there might be problems with certain characters in file names." : "這個意思是指在檔名中使用一些字元可能會有問題",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
+ "Enforce password protection" : "強制分享連結使用密碼保護",
"Allow public uploads" : "允許任何人上傳",
"Allow users to send mail notification for shared files" : "允許使用者寄送有關分享檔案的郵件通知",
"days" : "天",
+ "Enforce expiration date" : "強制分享連結設置分享期限",
"Allow resharing" : "允許轉貼分享",
+ "Allow users to send mail notification for shared files to other users" : "允許使用者寄送檔案分享通知給其他使用者",
+ "Exclude groups from sharing" : "禁止群組分享檔案",
"Cron was not executed yet!" : "排程沒有執行!",
"Execute one task with each page loaded" : "當頁面載入時,執行",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每15分鐘呼叫 cron.php",
+ "Enable server-side encryption" : "啓用伺服器端加密",
"This is used for sending out notifications." : "寄送通知用",
"Send mode" : "寄送模式",
"Encryption" : "加密",
@@ -180,6 +186,7 @@ OC.L10N.register(
"Language" : "語言",
"Help translate" : "幫助翻譯",
"Common Name" : "Common Name",
+ "Issued By" : "發行者:",
"Show storage location" : "顯示儲存位置",
"Show last log in" : "顯示最近登入",
"Show user backend" : "顯示用戶後台",
diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json
index ce87ffa614a..fad9ad99ed5 100644
--- a/settings/l10n/zh_TW.json
+++ b/settings/l10n/zh_TW.json
@@ -27,6 +27,7 @@
"Unable to change password" : "無法修改密碼",
"Enabled" : "已啓用",
"Not enabled" : "無啟動",
+ "Federated Cloud Sharing" : "聯盟式雲端分享",
"Migration Completed" : "遷移已完成",
"Group already exists." : "群組已存在",
"Unable to add group." : "無法新增群組",
@@ -96,13 +97,18 @@
"System locale can not be set to a one which supports UTF-8." : "系統語系無法設定只支援 UTF-8",
"This means that there might be problems with certain characters in file names." : "這個意思是指在檔名中使用一些字元可能會有問題",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
+ "Enforce password protection" : "強制分享連結使用密碼保護",
"Allow public uploads" : "允許任何人上傳",
"Allow users to send mail notification for shared files" : "允許使用者寄送有關分享檔案的郵件通知",
"days" : "天",
+ "Enforce expiration date" : "強制分享連結設置分享期限",
"Allow resharing" : "允許轉貼分享",
+ "Allow users to send mail notification for shared files to other users" : "允許使用者寄送檔案分享通知給其他使用者",
+ "Exclude groups from sharing" : "禁止群組分享檔案",
"Cron was not executed yet!" : "排程沒有執行!",
"Execute one task with each page loaded" : "當頁面載入時,執行",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每15分鐘呼叫 cron.php",
+ "Enable server-side encryption" : "啓用伺服器端加密",
"This is used for sending out notifications." : "寄送通知用",
"Send mode" : "寄送模式",
"Encryption" : "加密",
@@ -178,6 +184,7 @@
"Language" : "語言",
"Help translate" : "幫助翻譯",
"Common Name" : "Common Name",
+ "Issued By" : "發行者:",
"Show storage location" : "顯示儲存位置",
"Show last log in" : "顯示最近登入",
"Show user backend" : "顯示用戶後台",
diff --git a/settings/personal.php b/settings/personal.php
index 26e730d8089..8cbcf923a58 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -4,14 +4,15 @@
* @author Bart Visscher <bartv@thisnet.nl>
* @author Björn Schießle <schiessle@owncloud.com>
* @author Christopher Schäpers <kondou@ts.unde.re>
- * @author Frank Karlitschek <frank@owncloud.org>
* @author Georg Ehrke <georg@owncloud.com>
* @author Jakob Sack <mail@jakobsack.de>
* @author Jan-Christoph Borchardt <hey@jancborchardt.net>
+ * @author Joas Schilling <nickvergessen@owncloud.com>
* @author Lukas Reschke <lukas@owncloud.com>
* @author Marvin Thomas Rabe <mrabe@marvinrabe.de>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <icewind@owncloud.com>
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Volkan Gezer <volkangezer@gmail.com>
@@ -45,6 +46,7 @@ OC_Util::addScript( 'settings', 'personal' );
OC_Util::addStyle( 'settings', 'settings' );
\OC_Util::addVendorScript('strengthify/jquery.strengthify');
\OC_Util::addVendorStyle('strengthify/strengthify');
+\OC_Util::addScript('files', 'jquery.iframe-transport');
\OC_Util::addScript('files', 'jquery.fileupload');
if ($config->getSystemValue('enable_avatars', true) === true) {
\OC_Util::addVendorScript('jcrop/js/jquery.Jcrop');
@@ -118,7 +120,9 @@ $clients = array(
$enableCertImport = false;
$externalStorageEnabled = \OC::$server->getAppManager()->isEnabledForUser('files_external');
if ($externalStorageEnabled) {
- $enableCertImport = true;
+ /** @var \OCA\Files_External\Service\BackendService $backendService */
+ $backendService = \OC_Mount_Config::$app->getContainer()->query('\OCA\Files_External\Service\BackendService');
+ $enableCertImport = $backendService->isUserMountingAllowed();
}
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index c0adaf9c5a3..0eba71d77d1 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -155,10 +155,11 @@ if($_['passwordChangeSupported']) {
<div class="avatardiv"></div><br>
<div class="warning hidden"></div>
<?php if ($_['avatarChangeSupported']): ?>
- <div class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload new')); ?></div>
- <input type="file" class="hidden" name="files[]" id="uploadavatar">
+ <label for="uploadavatar" class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload new')); ?></label>
<div class="inlineblock button" id="selectavatar"><?php p($l->t('Select new from Files')); ?></div>
- <div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove image')); ?></div><br>
+ <div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove image')); ?></div>
+ <input type="file" name="files[]" id="uploadavatar" class="hiddenuploadfield">
+ <br>
<?php p($l->t('Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB.')); ?>
<?php else: ?>
<?php p($l->t('Your avatar is provided by your original account.')); ?>
@@ -239,8 +240,8 @@ if($_['passwordChangeSupported']) {
</tbody>
</table>
<form class="uploadButton" method="post" action="<?php p($_['urlGenerator']->linkToRoute('settings.Certificate.addPersonalRootCertificate')); ?>" target="certUploadFrame">
- <input type="file" id="rootcert_import" name="rootcert_import" class="hidden">
- <input type="button" id="rootcert_import_button" value="<?php p($l->t('Import root certificate')); ?>"/>
+ <label for="rootcert_import" class="inlineblock button" id="rootcert_import_button"><?php p($l->t('Import root certificate')); ?></label>
+ <input type="file" id="rootcert_import" name="rootcert_import" class="hiddenuploadfield">
</form>
</div>
<?php endif; ?>
diff --git a/settings/users.php b/settings/users.php
index e0ef56f15c5..f16cbca2ae9 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -11,6 +11,8 @@
* @author Lukas Reschke <lukas@owncloud.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <icewind@owncloud.com>
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Stephan Peijnik <speijnik@anexia-it.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*