diff options
69 files changed, 284 insertions, 55 deletions
diff --git a/.htaccess b/.htaccess index 962e969d59c..78e6255c878 100644 --- a/.htaccess +++ b/.htaccess @@ -13,7 +13,7 @@ php_value post_max_size 513M php_value memory_limit 512M php_value mbstring.func_overload 0 php_value always_populate_raw_post_data -1 -<IfModule env_module> +<IfModule mod_env.c> SetEnv htaccessWorking true </IfModule> </IfModule> @@ -34,7 +34,7 @@ RewriteRule ^(\.|autotest|occ|issue|indie|db_|console).* - [R=404,L] AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> -<IfModule dir_module> +<IfModule mod_dir.c> DirectoryIndex index.php index.html </IfModule> AddDefaultCharset utf-8 diff --git a/apps/files_encryption/appinfo/register_command.php b/apps/files_encryption/appinfo/register_command.php new file mode 100644 index 00000000000..dfb7f5c375a --- /dev/null +++ b/apps/files_encryption/appinfo/register_command.php @@ -0,0 +1,12 @@ +<?php +/** + * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +use OCA\Files_Encryption\Command\MigrateKeys; + +$userManager = OC::$server->getUserManager(); +$application->add(new MigrateKeys($userManager)); diff --git a/apps/files_encryption/appinfo/version b/apps/files_encryption/appinfo/version index faef31a4357..39e898a4f95 100644 --- a/apps/files_encryption/appinfo/version +++ b/apps/files_encryption/appinfo/version @@ -1 +1 @@ -0.7.0 +0.7.1 diff --git a/apps/files_encryption/command/migratekeys.php b/apps/files_encryption/command/migratekeys.php new file mode 100644 index 00000000000..200d7367da6 --- /dev/null +++ b/apps/files_encryption/command/migratekeys.php @@ -0,0 +1,74 @@ +<?php +/** + * Copyright (c) 2015 Thomas Müller <thomas.mueller@tmit.eu> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\Files_Encryption\Command; + +use OCA\Files_Encryption\Migration; +use OCP\IUserBackend; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class MigrateKeys extends Command { + + /** @var \OC\User\Manager */ + private $userManager; + + public function __construct(\OC\User\Manager $userManager) { + $this->userManager = $userManager; + parent::__construct(); + } + + protected function configure() { + $this + ->setName('encryption:migrate-keys') + ->setDescription('migrate encryption keys') + ->addArgument( + 'user_id', + InputArgument::OPTIONAL | InputArgument::IS_ARRAY, + 'will migrate keys of the given user(s)' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + + // perform system reorganization + $migration = new Migration(); + $output->writeln("Reorganize system folder structure"); + $migration->reorganizeSystemFolderStructure(); + + $users = $input->getArgument('user_id'); + if (!empty($users)) { + foreach ($users as $user) { + if ($this->userManager->userExists($user)) { + $output->writeln("Migrating keys <info>$user</info>"); + $migration->reorganizeFolderStructureForUser($user); + } else { + $output->writeln("<error>Unknown user $user</error>"); + } + } + } else { + foreach($this->userManager->getBackends() as $backend) { + $name = get_class($backend); + + if ($backend instanceof IUserBackend) { + $name = $backend->getBackendName(); + } + + $output->writeln("Migrating keys for users on backend <info>$name</info>"); + $users = $backend->getUsers(); + foreach ($users as $user) { + $output->writeln(" <info>$user</info>"); + $migration->reorganizeFolderStructureForUser($user); + } + } + } + + } +} diff --git a/apps/files_encryption/lib/migration.php b/apps/files_encryption/lib/migration.php index 1bab1dfe4a5..cf5552f84ac 100644 --- a/apps/files_encryption/lib/migration.php +++ b/apps/files_encryption/lib/migration.php @@ -40,6 +40,15 @@ class Migration { } public function reorganizeFolderStructure() { + $this->reorganizeSystemFolderStructure(); + + $users = \OCP\User::getUsers(); + foreach ($users as $user) { + $this->reorganizeFolderStructureForUser($user); + } + } + + public function reorganizeSystemFolderStructure() { $this->createPathForKeys('/files_encryption'); @@ -60,27 +69,28 @@ class Migration { $this->view->deleteAll('/owncloud_private_key'); $this->view->deleteAll('/files_encryption/share-keys'); $this->view->deleteAll('/files_encryption/keyfiles'); + } - $users = \OCP\User::getUsers(); - foreach ($users as $user) { - // backup all keys - if ($this->backupUserKeys($user)) { - // create new 'key' folder - $this->view->mkdir($user . '/files_encryption/keys'); - // rename users private key - $this->renameUsersPrivateKey($user); - // rename file keys - $path = $user . '/files_encryption/keyfiles'; - $this->renameFileKeys($user, $path); - $trashPath = $user . '/files_trashbin/keyfiles'; - if (\OC_App::isEnabled('files_trashbin') && $this->view->is_dir($trashPath)) { - $this->renameFileKeys($user, $trashPath, true); - $this->view->deleteAll($trashPath); - $this->view->deleteAll($user . '/files_trashbin/share-keys'); - } - // delete old folders - $this->deleteOldKeys($user); + + public function reorganizeFolderStructureForUser($user) { + // backup all keys + \OC_Util::setupFS($user); + if ($this->backupUserKeys($user)) { + // create new 'key' folder + $this->view->mkdir($user . '/files_encryption/keys'); + // rename users private key + $this->renameUsersPrivateKey($user); + // rename file keys + $path = $user . '/files_encryption/keyfiles'; + $this->renameFileKeys($user, $path); + $trashPath = $user . '/files_trashbin/keyfiles'; + if (\OC_App::isEnabled('files_trashbin') && $this->view->is_dir($trashPath)) { + $this->renameFileKeys($user, $trashPath, true); + $this->view->deleteAll($trashPath); + $this->view->deleteAll($user . '/files_trashbin/share-keys'); } + // delete old folders + $this->deleteOldKeys($user); } } @@ -277,6 +287,4 @@ class Migration { } } } - - } diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css index 101c224c5f5..93689f78c52 100644 --- a/apps/files_external/css/settings.css +++ b/apps/files_external/css/settings.css @@ -32,12 +32,18 @@ tr:hover>td.remove>img { visibility:visible; cursor:pointer; } margin-right: 3px; } +#externalStorage td.configuration label { + min-width: 144px; /* 130px plus 2x7px padding */ + display: inline-block; + margin-right: 6px; +} + + #externalStorage td.applicable div.chzn-container { position: relative; top: 3px; } - #externalStorage td.status .success { border-radius: 50%; } diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js index 34271d0de14..a6ecc0650d2 100644 --- a/apps/files_sharing/l10n/da.js +++ b/apps/files_sharing/l10n/da.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Server til serverdeling er ikke slået til på denne server", "The mountpoint name contains invalid characters." : "Monteringspunktets navn indeholder ugyldige tegn.", "Invalid or untrusted SSL certificate" : "Ugyldigt eller upålideligt SSL-certifikat", + "Could not authenticate to remote share, password might be wrong" : "Kunne ikke autentikere til fjerndelingen - kodeordet er muilgvis forkert", + "Storage not valid" : "Lagerplads er ikke gyldig", "Couldn't add remote share" : "Kunne ikke tliføje den delte ekstern ressource", "Shared with you" : "Delt med dig", "Shared with others" : "Delt med andre", diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json index 762a6ade989..e294b420ba9 100644 --- a/apps/files_sharing/l10n/da.json +++ b/apps/files_sharing/l10n/da.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Server til serverdeling er ikke slået til på denne server", "The mountpoint name contains invalid characters." : "Monteringspunktets navn indeholder ugyldige tegn.", "Invalid or untrusted SSL certificate" : "Ugyldigt eller upålideligt SSL-certifikat", + "Could not authenticate to remote share, password might be wrong" : "Kunne ikke autentikere til fjerndelingen - kodeordet er muilgvis forkert", + "Storage not valid" : "Lagerplads er ikke gyldig", "Couldn't add remote share" : "Kunne ikke tliføje den delte ekstern ressource", "Shared with you" : "Delt med dig", "Shared with others" : "Delt med andre", diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index 96510fbc3f5..10bf076192d 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Der Server für die Serverfreigabe ist auf diesem Server nicht aktiviert", "The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält nicht gültige Zeichen.", "Invalid or untrusted SSL certificate" : "Ungültiges oder nicht vertrauenswürdiges SSL-Zertifikat", + "Could not authenticate to remote share, password might be wrong" : "Die Authentifizierung an der entfernten Freigabe konnte nicht erfolgen, das Passwort könnte falsch sein", + "Storage not valid" : "Speicher ungültig", "Couldn't add remote share" : "Entfernte Freigabe kann nicht hinzu gefügt werden", "Shared with you" : "Mit Dir geteilt", "Shared with others" : "Von Dir geteilt", diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index 58ba73427d0..d8b67be0af8 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Der Server für die Serverfreigabe ist auf diesem Server nicht aktiviert", "The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält nicht gültige Zeichen.", "Invalid or untrusted SSL certificate" : "Ungültiges oder nicht vertrauenswürdiges SSL-Zertifikat", + "Could not authenticate to remote share, password might be wrong" : "Die Authentifizierung an der entfernten Freigabe konnte nicht erfolgen, das Passwort könnte falsch sein", + "Storage not valid" : "Speicher ungültig", "Couldn't add remote share" : "Entfernte Freigabe kann nicht hinzu gefügt werden", "Shared with you" : "Mit Dir geteilt", "Shared with others" : "Von Dir geteilt", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 197e41f49e7..61cc0485d64 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Der Server für die Serverfreigabe ist auf diesem Server nicht aktiviert", "The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält nicht gültige Zeichen.", "Invalid or untrusted SSL certificate" : "Ungültiges oder nicht vertrauenswürdiges SSL-Zertifikat", + "Could not authenticate to remote share, password might be wrong" : "Die Authentifizierung an der entfernten Freigabe konnte nicht erfolgen, das Passwort könnte falsch sein", + "Storage not valid" : "Speicher ungültig", "Couldn't add remote share" : "Entfernte Freigabe kann nicht hinzugefügt werden", "Shared with you" : "Mit Ihnen geteilt", "Shared with others" : "Von Ihnen geteilt", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index f812da438a1..16d6aebd5ee 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Der Server für die Serverfreigabe ist auf diesem Server nicht aktiviert", "The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält nicht gültige Zeichen.", "Invalid or untrusted SSL certificate" : "Ungültiges oder nicht vertrauenswürdiges SSL-Zertifikat", + "Could not authenticate to remote share, password might be wrong" : "Die Authentifizierung an der entfernten Freigabe konnte nicht erfolgen, das Passwort könnte falsch sein", + "Storage not valid" : "Speicher ungültig", "Couldn't add remote share" : "Entfernte Freigabe kann nicht hinzugefügt werden", "Shared with you" : "Mit Ihnen geteilt", "Shared with others" : "Von Ihnen geteilt", diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index af6159e0420..8488f4f6e85 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor", "The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no confiable", + "Could not authenticate to remote share, password might be wrong" : "No se ha podido autenticar para compartir remotamente, quizás esté mal la contraseña", + "Storage not valid" : "Almacenamiento inválido", "Couldn't add remote share" : "No se puede añadir un compartido remoto", "Shared with you" : "Compartido contigo", "Shared with others" : "Compartido con otros", diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index e8f9c2f5517..35c657d8eca 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor", "The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no confiable", + "Could not authenticate to remote share, password might be wrong" : "No se ha podido autenticar para compartir remotamente, quizás esté mal la contraseña", + "Storage not valid" : "Almacenamiento inválido", "Couldn't add remote share" : "No se puede añadir un compartido remoto", "Shared with you" : "Compartido contigo", "Shared with others" : "Compartido con otros", diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js index 5b42bd73062..641b229448f 100644 --- a/apps/files_sharing/l10n/fi_FI.js +++ b/apps/files_sharing/l10n/fi_FI.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Palvelimelta-palvelimelle-jakaminen ei ole käytössä tällä palvelimella", "The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.", "Invalid or untrusted SSL certificate" : "Virheellinen tai ei-luotettu SSL-varmenne", + "Could not authenticate to remote share, password might be wrong" : "Tunnistautuminen etäjakoa kohtaan epäonnistui. Salasana saattaa olla väärä", + "Storage not valid" : "Tallennustila ei ole kelvollinen", "Couldn't add remote share" : "Etäjaon liittäminen epäonnistui", "Shared with you" : "Jaettu kanssasi", "Shared with others" : "Jaettu muiden kanssa", diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json index 32c14309fb3..7d1b2fdf673 100644 --- a/apps/files_sharing/l10n/fi_FI.json +++ b/apps/files_sharing/l10n/fi_FI.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Palvelimelta-palvelimelle-jakaminen ei ole käytössä tällä palvelimella", "The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.", "Invalid or untrusted SSL certificate" : "Virheellinen tai ei-luotettu SSL-varmenne", + "Could not authenticate to remote share, password might be wrong" : "Tunnistautuminen etäjakoa kohtaan epäonnistui. Salasana saattaa olla väärä", + "Storage not valid" : "Tallennustila ei ole kelvollinen", "Couldn't add remote share" : "Etäjaon liittäminen epäonnistui", "Shared with you" : "Jaettu kanssasi", "Shared with others" : "Jaettu muiden kanssa", diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index 418ef7764c1..7f8520b620d 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur", "The mountpoint name contains invalid characters." : "Le nom du point de montage contient des caractères invalides.", "Invalid or untrusted SSL certificate" : "Certificat SSL non valable ou non fiable", + "Could not authenticate to remote share, password might be wrong" : "Impossible de s'authentifier au partage distant : le mot de passe en probablement incorrect", + "Storage not valid" : "Support de stockage non valide", "Couldn't add remote share" : "Impossible d'ajouter le partage distant", "Shared with you" : "Partagés avec vous", "Shared with others" : "Partagés avec d'autres", diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index 73b5b199213..02be0c0d003 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur", "The mountpoint name contains invalid characters." : "Le nom du point de montage contient des caractères invalides.", "Invalid or untrusted SSL certificate" : "Certificat SSL non valable ou non fiable", + "Could not authenticate to remote share, password might be wrong" : "Impossible de s'authentifier au partage distant : le mot de passe en probablement incorrect", + "Storage not valid" : "Support de stockage non valide", "Couldn't add remote share" : "Impossible d'ajouter le partage distant", "Shared with you" : "Partagés avec vous", "Shared with others" : "Partagés avec d'autres", diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js index a04775b368a..3f6eff72f33 100644 --- a/apps/files_sharing/l10n/gl.js +++ b/apps/files_sharing/l10n/gl.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor", "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL incorrecto ou non fiábel", + "Could not authenticate to remote share, password might be wrong" : "Non se puido autenticar na compartición remota, o contrasinal podería ser erróneo", + "Storage not valid" : "Almacenamento non válido", "Couldn't add remote share" : "Non foi posíbel engadir a compartición remota", "Shared with you" : "Compartido con vostede", "Shared with others" : "Compartido con outros", diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json index f08296ee74d..891ed0363ea 100644 --- a/apps/files_sharing/l10n/gl.json +++ b/apps/files_sharing/l10n/gl.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor", "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL incorrecto ou non fiábel", + "Could not authenticate to remote share, password might be wrong" : "Non se puido autenticar na compartición remota, o contrasinal podería ser erróneo", + "Storage not valid" : "Almacenamento non válido", "Couldn't add remote share" : "Non foi posíbel engadir a compartición remota", "Shared with you" : "Compartido con vostede", "Shared with others" : "Compartido con outros", diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index a5f2a0fe7f9..fe78f1e2731 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server", "The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.", "Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile", + "Could not authenticate to remote share, password might be wrong" : "Impossibile autenticarsi sulla condivisione remota, la password potrebbe essere errata", + "Storage not valid" : "Archiviazione non valida", "Couldn't add remote share" : "Impossibile aggiungere la condivisione remota", "Shared with you" : "Condivisi con te", "Shared with others" : "Condivisi con altri", diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index 0b1702bc368..a777674fc59 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server", "The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.", "Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile", + "Could not authenticate to remote share, password might be wrong" : "Impossibile autenticarsi sulla condivisione remota, la password potrebbe essere errata", + "Storage not valid" : "Archiviazione non valida", "Couldn't add remote share" : "Impossibile aggiungere la condivisione remota", "Shared with you" : "Condivisi con te", "Shared with others" : "Condivisi con altri", diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index 0ca0b3e9fc3..749e3383b3d 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Server met server delen is niet geactiveerd op deze server", "The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.", "Invalid or untrusted SSL certificate" : "Ongeldig of onvertrouwd SSL-certificaat", + "Could not authenticate to remote share, password might be wrong" : "Kon niet authenticeren bij externe share, misschien verkeerd wachtwoord", + "Storage not valid" : "Opslag ongeldig", "Couldn't add remote share" : "Kon geen externe share toevoegen", "Shared with you" : "Gedeeld met u", "Shared with others" : "Gedeeld door u", diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index d1fec7c4d90..703ca3481cc 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Server met server delen is niet geactiveerd op deze server", "The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.", "Invalid or untrusted SSL certificate" : "Ongeldig of onvertrouwd SSL-certificaat", + "Could not authenticate to remote share, password might be wrong" : "Kon niet authenticeren bij externe share, misschien verkeerd wachtwoord", + "Storage not valid" : "Opslag ongeldig", "Couldn't add remote share" : "Kon geen externe share toevoegen", "Shared with you" : "Gedeeld met u", "Shared with others" : "Gedeeld door u", diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index 031720194ad..8ecf29bf125 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Compartilhamento de servidor para servidor não está habilitado no servidor", "The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável", + "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticação com o compartilhamento remoto, a senha deve estar errada", + "Storage not valid" : "Armazenamento não válido", "Couldn't add remote share" : "Não foi possível adicionar compartilhamento remoto", "Shared with you" : "Compartilhado com você", "Shared with others" : "Compartilhado com outros", diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 457b72c4389..7ef2591cf74 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Compartilhamento de servidor para servidor não está habilitado no servidor", "The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém caracteres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável", + "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticação com o compartilhamento remoto, a senha deve estar errada", + "Storage not valid" : "Armazenamento não válido", "Couldn't add remote share" : "Não foi possível adicionar compartilhamento remoto", "Shared with you" : "Compartilhado com você", "Shared with others" : "Compartilhado com outros", diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index 588dc05f611..269ddc19337 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа", "The mountpoint name contains invalid characters." : "Имя точки монтирования содержит недопустимые символы.", "Invalid or untrusted SSL certificate" : "Недействительный или недоверенный сертификат SSL", + "Could not authenticate to remote share, password might be wrong" : "Не удалось произвести аутентификацию для доступа к удалённому хранилищу, возможно неправильно указан пароль", + "Storage not valid" : "Хранилище не доступно", "Couldn't add remote share" : "Невозможно добавить удалённый общий ресурс", "Shared with you" : "Поделились с вами", "Shared with others" : "Доступные для других", diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index 1a2fcbb9d95..bb0e90ec787 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа", "The mountpoint name contains invalid characters." : "Имя точки монтирования содержит недопустимые символы.", "Invalid or untrusted SSL certificate" : "Недействительный или недоверенный сертификат SSL", + "Could not authenticate to remote share, password might be wrong" : "Не удалось произвести аутентификацию для доступа к удалённому хранилищу, возможно неправильно указан пароль", + "Storage not valid" : "Хранилище не доступно", "Couldn't add remote share" : "Невозможно добавить удалённый общий ресурс", "Shared with you" : "Поделились с вами", "Shared with others" : "Доступные для других", diff --git a/apps/files_sharing/l10n/sk_SK.js b/apps/files_sharing/l10n/sk_SK.js index d7df97d53ea..cf3d5e15332 100644 --- a/apps/files_sharing/l10n/sk_SK.js +++ b/apps/files_sharing/l10n/sk_SK.js @@ -4,6 +4,8 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Zdieľanie server-server nie je na tomto serveri povolené", "The mountpoint name contains invalid characters." : "Názov pripojovacieho bodu obsahuje nepovolené znaky.", "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL", + "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne", + "Storage not valid" : "Neplatné úložisko", "Couldn't add remote share" : "Nemožno pridať vzdialené zdieľanie", "Shared with you" : "Zdieľané s vami", "Shared with others" : "Zdieľané s ostanými", diff --git a/apps/files_sharing/l10n/sk_SK.json b/apps/files_sharing/l10n/sk_SK.json index b88d2cfca15..8c96ff059b0 100644 --- a/apps/files_sharing/l10n/sk_SK.json +++ b/apps/files_sharing/l10n/sk_SK.json @@ -2,6 +2,8 @@ "Server to server sharing is not enabled on this server" : "Zdieľanie server-server nie je na tomto serveri povolené", "The mountpoint name contains invalid characters." : "Názov pripojovacieho bodu obsahuje nepovolené znaky.", "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL", + "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne", + "Storage not valid" : "Neplatné úložisko", "Couldn't add remote share" : "Nemožno pridať vzdialené zdieľanie", "Shared with you" : "Zdieľané s vami", "Shared with others" : "Zdieľané s ostanými", diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index 4086bb1216d..0576be66b4b 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -167,6 +167,9 @@ class Trashbin { $trashPath = '/files_trashbin/files/' . $filename . '.d' . $timestamp; try { $sizeOfAddedFiles = $view->filesize('/files/' . $file_path); + if ($view->file_exists($trashPath)) { + $view->unlink($trashPath); + } $view->rename('/files/' . $file_path, $trashPath); } catch (\OCA\Files_Trashbin\Exceptions\CopyRecursiveException $e) { $sizeOfAddedFiles = false; diff --git a/apps/provisioning_api/appinfo/info.xml b/apps/provisioning_api/appinfo/info.xml index 3f1fa745cf5..7c662c18c09 100644 --- a/apps/provisioning_api/appinfo/info.xml +++ b/apps/provisioning_api/appinfo/info.xml @@ -19,4 +19,8 @@ <documentation> <admin>admin-provisioning-api</admin> </documentation> + <types> + <!-- this is used to disable the feature of enabling an app for specific groups only because this would break this app --> + <filesystem/> + </types> </info> diff --git a/config/.htaccess b/config/.htaccess index 2421e9a1631..c7a7b79feac 100644 --- a/config/.htaccess +++ b/config/.htaccess @@ -1,10 +1,10 @@ # line below if for Apache 2.4 -<ifModule mod_authz_core> +<ifModule mod_authz_core.c> Require all denied </ifModule> # line below if for Apache 2.2 -<ifModule !mod_authz_core> +<ifModule !mod_authz_core.c> deny from all </ifModule> diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php index 0f5a3315f8f..12ce633838f 100644 --- a/lib/private/connector/sabre/file.php +++ b/lib/private/connector/sabre/file.php @@ -64,7 +64,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\ throw new \Sabre\DAV\Exception\ServiceUnavailable("Encryption is disabled"); } - $fileName = basename($this->path); + $fileName = basename($this->info->getPath()); if (!\OCP\Util::isValidFileName($fileName)) { throw new \Sabre\DAV\Exception\BadRequest(); } @@ -74,8 +74,8 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\ return $this->createFileChunked($data); } - list($storage, ) = $this->fileView->resolvePath($this->path); - $needsPartFile = $this->needsPartFile($storage); + list($storage,) = $this->fileView->resolvePath($this->path); + $needsPartFile = $this->needsPartFile($storage) && (strlen($this->path) > 1); if ($needsPartFile) { // mark file as partial while uploading (ignored by the scanner) diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index 8831320bcee..5438bdad5cb 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -596,6 +596,7 @@ class Cache { 'WHERE `parent` = ? AND `storage` = ?'; $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); if ($row = $result->fetchRow()) { + $result->closeCursor(); list($sum, $min, $unencryptedSum) = array_values($row); $sum = 0 + $sum; $min = 0 + $min; @@ -618,6 +619,8 @@ class Cache { if ($totalSize !== -1 and $unencryptedSum > 0) { $totalSize = $unencryptedSum; } + } else { + $result->closeCursor(); } } return $totalSize; diff --git a/lib/private/files/cache/homecache.php b/lib/private/files/cache/homecache.php index 2b3967c8807..ad7f587b8b6 100644 --- a/lib/private/files/cache/homecache.php +++ b/lib/private/files/cache/homecache.php @@ -35,6 +35,7 @@ class HomeCache extends Cache { 'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0'; $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); if ($row = $result->fetchRow()) { + $result->closeCursor(); list($sum, $unencryptedSum) = array_values($row); $totalSize = 0 + $sum; $unencryptedSize = 0 + $unencryptedSum; diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index c460159ece3..140d892652f 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -293,7 +293,7 @@ class Filesystem { } $mount = self::$mounts->find($path); if ($mount) { - return array($mount->getStorage(), $mount->getInternalPath($path)); + return array($mount->getStorage(), rtrim($mount->getInternalPath($path), '/')); } else { return array(null, null); } diff --git a/lib/private/files/node/root.php b/lib/private/files/node/root.php index 1dd4a3e378d..1834ef67bef 100644 --- a/lib/private/files/node/root.php +++ b/lib/private/files/node/root.php @@ -155,7 +155,7 @@ class Root extends Folder implements IRootFolder { * @param string $path * @throws \OCP\Files\NotFoundException * @throws \OCP\Files\NotPermittedException - * @return string + * @return \OCP\Files\Node */ public function get($path) { $path = $this->normalizePath($path); diff --git a/lib/private/files/view.php b/lib/private/files/view.php index 096d8044b75..a2717ce4321 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -537,16 +537,18 @@ class View { if ($this->shouldEmitHooks()) { $this->emit_file_hooks_post($exists, $path2); } - } elseif ($this->shouldEmitHooks() && $result !== false) { + } elseif ($result !== false) { $this->updater->rename($path1, $path2); - \OC_Hook::emit( - Filesystem::CLASSNAME, - Filesystem::signal_post_rename, - array( - Filesystem::signal_param_oldpath => $this->getHookPath($path1), - Filesystem::signal_param_newpath => $this->getHookPath($path2) - ) - ); + if ($this->shouldEmitHooks($path1) and $this->shouldEmitHooks($path2)) { + \OC_Hook::emit( + Filesystem::CLASSNAME, + Filesystem::signal_post_rename, + array( + Filesystem::signal_param_oldpath => $this->getHookPath($path1), + Filesystem::signal_param_newpath => $this->getHookPath($path2) + ) + ); + } } return $result; } else { @@ -1315,7 +1317,7 @@ class View { $maxLen = min(PHP_MAXPATHLEN, 4000); // Check for the string length - performed using isset() instead of strlen() // because isset() is about 5x-40x faster. - if(isset($path[$maxLen])) { + if (isset($path[$maxLen])) { $pathLen = strlen($path); throw new \OCP\Files\InvalidPathException("Path length($pathLen) exceeds max path length($maxLen): $path"); } @@ -1351,7 +1353,7 @@ class View { * @return \OCP\Files\FileInfo */ private function getPartFileInfo($path) { - $mount = $this->getMount($path); + $mount = $this->getMount($path); $storage = $mount->getStorage(); $internalPath = $mount->getInternalPath($this->getAbsolutePath($path)); return new FileInfo( diff --git a/lib/private/search/result/file.php b/lib/private/search/result/file.php index 13f1a62fbc0..ad65dce2bc4 100644 --- a/lib/private/search/result/file.php +++ b/lib/private/search/result/file.php @@ -77,7 +77,7 @@ class File extends \OCP\Search\Result { $this->link = \OCP\Util::linkTo( 'files', 'index.php', - array('dir' => $info['dirname'], 'file' => $info['basename']) + array('dir' => $info['dirname'], 'scrollto' => $info['basename']) ); $this->permissions = $data->getPermissions(); $this->path = $path; diff --git a/lib/private/setup.php b/lib/private/setup.php index a350838763f..e3a29b6469d 100644 --- a/lib/private/setup.php +++ b/lib/private/setup.php @@ -287,11 +287,11 @@ class OC_Setup { $now = date('Y-m-d H:i:s'); $content = "# Generated by ownCloud on $now\n"; $content.= "# line below if for Apache 2.4\n"; - $content.= "<ifModule mod_authz_core>\n"; + $content.= "<ifModule mod_authz_core.c>\n"; $content.= "Require all denied\n"; $content.= "</ifModule>\n\n"; $content.= "# line below if for Apache 2.2\n"; - $content.= "<ifModule !mod_authz_core>\n"; + $content.= "<ifModule !mod_authz_core.c>\n"; $content.= "deny from all\n"; $content.= "</ifModule>\n\n"; $content.= "# section for Apache 2.2 and 2.4\n"; diff --git a/lib/private/share/share.php b/lib/private/share/share.php index c9f9654203e..b2c84e39044 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -706,6 +706,7 @@ class Share extends \OC\Share\Constants { $token = \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->generate(self::TOKEN_LENGTH, \OCP\Security\ISecureRandom::CHAR_LOWER . \OCP\Security\ISecureRandom::CHAR_UPPER . \OCP\Security\ISecureRandom::CHAR_DIGITS); + $shareWith = rtrim($shareWith, '/'); $shareId = self::put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, null, $token, $itemSourceName); $send = false; diff --git a/settings/l10n/da.js b/settings/l10n/da.js index 9ab3a0b443c..97e85ac6ded 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "aldrig", "deleted {userName}" : "slettede {userName}", "add group" : "Tilføj gruppe", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Ændring af kodeordet vil føre til datatab, fordi datagendannelse ikke er tilgængelig for denne bruger", "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "Error creating user" : "Fejl ved oprettelse af bruger", "A valid password must be provided" : "En gyldig adgangskode skal angives", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index 0eb32f82012..1b0453e3d48 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -85,6 +85,7 @@ "never" : "aldrig", "deleted {userName}" : "slettede {userName}", "add group" : "Tilføj gruppe", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Ændring af kodeordet vil føre til datatab, fordi datagendannelse ikke er tilgængelig for denne bruger", "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "Error creating user" : "Fejl ved oprettelse af bruger", "A valid password must be provided" : "En gyldig adgangskode skal angives", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index 9076255b464..b9e84f22b73 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -7,7 +7,7 @@ OC.L10N.register( "Security" : "Sicherheit", "Email Server" : "E-Mail-Server", "Log" : "Log", - "Authentication error" : "Fehler bei der Anmeldung", + "Authentication error" : "Authentifizierungsfehler", "Your full name has been changed." : "Dein vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "niemals", "deleted {userName}" : "{userName} gelöscht", "add group" : "Gruppe hinzufügen", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Die Änderung des Passworts führt zum Datenverlust, da die Datenwiederherstellung für diesen Nutzer nicht verfügbar ist", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Error creating user" : "Beim Anlegen des Benutzers ist ein Fehler aufgetreten", "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index fae5062e5c9..cb6f351f74a 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -5,7 +5,7 @@ "Security" : "Sicherheit", "Email Server" : "E-Mail-Server", "Log" : "Log", - "Authentication error" : "Fehler bei der Anmeldung", + "Authentication error" : "Authentifizierungsfehler", "Your full name has been changed." : "Dein vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", @@ -85,6 +85,7 @@ "never" : "niemals", "deleted {userName}" : "{userName} gelöscht", "add group" : "Gruppe hinzufügen", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Die Änderung des Passworts führt zum Datenverlust, da die Datenwiederherstellung für diesen Nutzer nicht verfügbar ist", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Error creating user" : "Beim Anlegen des Benutzers ist ein Fehler aufgetreten", "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 1b3177f9375..3ead0502493 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -7,7 +7,7 @@ OC.L10N.register( "Security" : "Sicherheit", "Email Server" : "E-Mail-Server", "Log" : "Log", - "Authentication error" : "Authentifizierungs-Fehler", + "Authentication error" : "Authentifizierungsfehler", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "niemals", "deleted {userName}" : "{userName} gelöscht", "add group" : "Gruppe hinzufügen", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Die Änderung des Passworts führt zum Datenverlust, da die Datenwiederherstellung für diesen Nutzer nicht verfügbar ist", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten", "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", @@ -213,7 +214,7 @@ OC.L10N.register( "Email" : "E-Mail", "Your email address" : "Ihre E-Mail-Adresse", "Fill in an email address to enable password recovery and receive notifications" : "Geben Sie eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen", - "No email address set" : "Keine E-Mail Adresse angegeben", + "No email address set" : "Keine E-Mail-Adresse angegeben", "Profile picture" : "Profilbild", "Upload new" : "Neues hochladen", "Select new from Files" : "Neues aus Dateien wählen", @@ -261,7 +262,7 @@ OC.L10N.register( "Last Login" : "Letzte Anmeldung", "change full name" : "Vollständigen Namen ändern", "set new password" : "Neues Passwort setzen", - "change email address" : "E-Mail Adresse ändern", + "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index c1205620d9c..226c2d6a517 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -5,7 +5,7 @@ "Security" : "Sicherheit", "Email Server" : "E-Mail-Server", "Log" : "Log", - "Authentication error" : "Authentifizierungs-Fehler", + "Authentication error" : "Authentifizierungsfehler", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", @@ -85,6 +85,7 @@ "never" : "niemals", "deleted {userName}" : "{userName} gelöscht", "add group" : "Gruppe hinzufügen", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Die Änderung des Passworts führt zum Datenverlust, da die Datenwiederherstellung für diesen Nutzer nicht verfügbar ist", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten", "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", @@ -211,7 +212,7 @@ "Email" : "E-Mail", "Your email address" : "Ihre E-Mail-Adresse", "Fill in an email address to enable password recovery and receive notifications" : "Geben Sie eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen", - "No email address set" : "Keine E-Mail Adresse angegeben", + "No email address set" : "Keine E-Mail-Adresse angegeben", "Profile picture" : "Profilbild", "Upload new" : "Neues hochladen", "Select new from Files" : "Neues aus Dateien wählen", @@ -259,7 +260,7 @@ "Last Login" : "Letzte Anmeldung", "change full name" : "Vollständigen Namen ändern", "set new password" : "Neues Passwort setzen", - "change email address" : "E-Mail Adresse ändern", + "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es.js b/settings/l10n/es.js index 6e114758a6c..8b1fb5dee0f 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "nunca", "deleted {userName}" : "borrado {userName}", "add group" : "añadir Grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Cambiar la contraseña provocará pérdida de datos porque la recuperación de datos no está disponible para este usuario", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Error creating user" : "Error al crear usuario", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index ef372d13532..9f9b4fa75ea 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -85,6 +85,7 @@ "never" : "nunca", "deleted {userName}" : "borrado {userName}", "add group" : "añadir Grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Cambiar la contraseña provocará pérdida de datos porque la recuperación de datos no está disponible para este usuario", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Error creating user" : "Error al crear usuario", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index a02a13c7998..41e355143ad 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "ei koskaan", "deleted {userName}" : "poistettu {userName}", "add group" : "lisää ryhmä", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Salasanan muuttaminen johtaa tietojen häviämiseen, koska tietojen palautusta ei ole käytettävissä tämän käyttäjän kohdalla", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Error creating user" : "Virhe käyttäjää luotaessa", "A valid password must be provided" : "Anna kelvollinen salasana", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index eb945d8003b..9316614cfbd 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -85,6 +85,7 @@ "never" : "ei koskaan", "deleted {userName}" : "poistettu {userName}", "add group" : "lisää ryhmä", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Salasanan muuttaminen johtaa tietojen häviämiseen, koska tietojen palautusta ei ole käytettävissä tämän käyttäjän kohdalla", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Error creating user" : "Virhe käyttäjää luotaessa", "A valid password must be provided" : "Anna kelvollinen salasana", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 1b237acab14..af8c4abec7d 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "jamais", "deleted {userName}" : "{userName} supprimé", "add group" : "ajouter un groupe", + "Changing the password will result in data loss, because data recovery is not available for this user" : "La modification du mot de passe entrainera la perte des données car la restauration de données n'est pas disponible pour cet utilisateur", "A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi", "Error creating user" : "Erreur lors de la création de l'utilisateur", "A valid password must be provided" : "Un mot de passe valide doit être saisi", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 9b676cc8a0d..d033844ab52 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -85,6 +85,7 @@ "never" : "jamais", "deleted {userName}" : "{userName} supprimé", "add group" : "ajouter un groupe", + "Changing the password will result in data loss, because data recovery is not available for this user" : "La modification du mot de passe entrainera la perte des données car la restauration de données n'est pas disponible pour cet utilisateur", "A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi", "Error creating user" : "Erreur lors de la création de l'utilisateur", "A valid password must be provided" : "Un mot de passe valide doit être saisi", diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js index 38b89b874b5..6d85345ed14 100644 --- a/settings/l10n/gl.js +++ b/settings/l10n/gl.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "nunca", "deleted {userName}" : "{userName} foi eliminado", "add group" : "engadir un grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Mudar o contrasinal resultará nunha perda de datos, xa que a recuperación de datos non está dispoñible para este usuario", "A valid username must be provided" : "Debe fornecer un nome de usuario", "Error creating user" : "Produciuse un erro ao crear o usuario", "A valid password must be provided" : "Debe fornecer un contrasinal", diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json index 09ede2a400c..f9f338a2dc8 100644 --- a/settings/l10n/gl.json +++ b/settings/l10n/gl.json @@ -85,6 +85,7 @@ "never" : "nunca", "deleted {userName}" : "{userName} foi eliminado", "add group" : "engadir un grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Mudar o contrasinal resultará nunha perda de datos, xa que a recuperación de datos non está dispoñible para este usuario", "A valid username must be provided" : "Debe fornecer un nome de usuario", "Error creating user" : "Produciuse un erro ao crear o usuario", "A valid password must be provided" : "Debe fornecer un contrasinal", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index d33b5d60488..a57e2e7e092 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "mai", "deleted {userName}" : "{userName} eliminato", "add group" : "aggiungi gruppo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Il cambiamento della password causerà una perdita di dati, poiché il ripristino dei dati non è disponibile per questo utente", "A valid username must be provided" : "Deve essere fornito un nome utente valido", "Error creating user" : "Errore durante la creazione dell'utente", "A valid password must be provided" : "Deve essere fornita una password valida", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index 3fa9e35c447..32b9f5b2296 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -85,6 +85,7 @@ "never" : "mai", "deleted {userName}" : "{userName} eliminato", "add group" : "aggiungi gruppo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Il cambiamento della password causerà una perdita di dati, poiché il ripristino dei dati non è disponibile per questo utente", "A valid username must be provided" : "Deve essere fornito un nome utente valido", "Error creating user" : "Errore durante la creazione dell'utente", "A valid password must be provided" : "Deve essere fornita una password valida", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index db5d1c311e8..ad757be6024 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "geen", "deleted {userName}" : "verwijderd {userName}", "add group" : "toevoegen groep", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Wijzigen van het wachtwoord leidt tot gegevensverlies, omdat gegevensherstel voor deze gebruiker niet beschikbaar is", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Error creating user" : "Fout bij aanmaken gebruiker", "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 88ec42e1f23..bfd61b476d4 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -85,6 +85,7 @@ "never" : "geen", "deleted {userName}" : "verwijderd {userName}", "add group" : "toevoegen groep", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Wijzigen van het wachtwoord leidt tot gegevensverlies, omdat gegevensherstel voor deze gebruiker niet beschikbaar is", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Error creating user" : "Fout bij aanmaken gebruiker", "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index b55fa78e1cd..c0d70d4a541 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "nunca", "deleted {userName}" : "eliminado {userName}", "add group" : "adicionar grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Trocar a senha irá resultar em perda de dados, porque recuperação de dados não está disponível para este usuário", "A valid username must be provided" : "Forneça um nome de usuário válido", "Error creating user" : "Erro ao criar usuário", "A valid password must be provided" : "Forneça uma senha válida", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index b46bfedb48e..638ade0c4fa 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -85,6 +85,7 @@ "never" : "nunca", "deleted {userName}" : "eliminado {userName}", "add group" : "adicionar grupo", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Trocar a senha irá resultar em perda de dados, porque recuperação de dados não está disponível para este usuário", "A valid username must be provided" : "Forneça um nome de usuário válido", "Error creating user" : "Erro ao criar usuário", "A valid password must be provided" : "Forneça uma senha válida", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index 6debe72b8d8..b2bb954b777 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "никогда", "deleted {userName}" : "удалён {userName}", "add group" : "добавить группу", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Изменение пароля приведёт к потере данных, потому что восстановление данных не доступно для этого пользователя", "A valid username must be provided" : "Укажите правильное имя пользователя", "Error creating user" : "Ошибка создания пользователя", "A valid password must be provided" : "Предоставьте корректный пароль", diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index 4c38a015489..e3955dcab27 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -85,6 +85,7 @@ "never" : "никогда", "deleted {userName}" : "удалён {userName}", "add group" : "добавить группу", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Изменение пароля приведёт к потере данных, потому что восстановление данных не доступно для этого пользователя", "A valid username must be provided" : "Укажите правильное имя пользователя", "Error creating user" : "Ошибка создания пользователя", "A valid password must be provided" : "Предоставьте корректный пароль", diff --git a/settings/l10n/sk_SK.js b/settings/l10n/sk_SK.js index eb3ec0f6b82..f5a676281f4 100644 --- a/settings/l10n/sk_SK.js +++ b/settings/l10n/sk_SK.js @@ -87,6 +87,7 @@ OC.L10N.register( "never" : "nikdy", "deleted {userName}" : "vymazané {userName}", "add group" : "pridať skupinu", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Zmena hesla bude mať za následok stratu dát, pretože obnova dát nie je k dispozícii pre tohto používateľa", "A valid username must be provided" : "Musíte zadať platné používateľské meno", "Error creating user" : "Chyba pri vytváraní používateľa", "A valid password must be provided" : "Musíte zadať platné heslo", diff --git a/settings/l10n/sk_SK.json b/settings/l10n/sk_SK.json index d6bfaf75280..d42fb25f03b 100644 --- a/settings/l10n/sk_SK.json +++ b/settings/l10n/sk_SK.json @@ -85,6 +85,7 @@ "never" : "nikdy", "deleted {userName}" : "vymazané {userName}", "add group" : "pridať skupinu", + "Changing the password will result in data loss, because data recovery is not available for this user" : "Zmena hesla bude mať za následok stratu dát, pretože obnova dát nie je k dispozícii pre tohto používateľa", "A valid username must be provided" : "Musíte zadať platné používateľské meno", "Error creating user" : "Chyba pri vytváraní používateľa", "A valid password must be provided" : "Musíte zadať platné heslo", diff --git a/tests/lib/connector/sabre/file.php b/tests/lib/connector/sabre/file.php index 6bb1b4e75d1..33dc78f87d8 100644 --- a/tests/lib/connector/sabre/file.php +++ b/tests/lib/connector/sabre/file.php @@ -32,6 +32,31 @@ class Test_OC_Connector_Sabre_File extends \Test\TestCase { $file->put('test data'); } + public function testPutSingleFileShare() { + // setup + $storage = $this->getMock('\OCP\Files\Storage'); + $view = $this->getMock('\OC\Files\View', array('file_put_contents', 'getRelativePath'), array()); + $view->expects($this->any()) + ->method('resolvePath') + ->with('') + ->will($this->returnValue(array($storage, ''))); + $view->expects($this->any()) + ->method('getRelativePath') + ->will($this->returnValue('')); + $view->expects($this->any()) + ->method('file_put_contents') + ->with('') + ->will($this->returnValue(true)); + + $info = new \OC\Files\FileInfo('/foo.txt', null, null, array( + 'permissions' => \OCP\Constants::PERMISSION_ALL + ), null); + + $file = new OC_Connector_Sabre_File($view, $info); + + $this->assertNotEmpty($file->put('test data')); + } + /** * @expectedException \Sabre\DAV\Exception */ diff --git a/tests/lib/files/node/integration.php b/tests/lib/files/node/integration.php index d8c180cc844..456a4a0e287 100644 --- a/tests/lib/files/node/integration.php +++ b/tests/lib/files/node/integration.php @@ -80,7 +80,9 @@ class IntegrationTests extends \Test\TestCase { $this->assertEquals('text/plain', $file->getMimeType()); $this->assertEquals('qwerty', $file->getContent()); $this->assertFalse($this->root->nodeExists('/bar.txt')); - $file->move('/bar.txt'); + $target = $file->move('/bar.txt'); + $this->assertEquals($id, $target->getId()); + $this->assertEquals($id, $file->getId()); $this->assertFalse($this->root->nodeExists('/foo.txt')); $this->assertTrue($this->root->nodeExists('/bar.txt')); $this->assertEquals('bar.txt', $file->getName()); diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php index 158c964fd0d..5e42e5ffd0f 100644 --- a/tests/lib/files/view.php +++ b/tests/lib/files/view.php @@ -729,6 +729,22 @@ class View extends \Test\TestCase { ); } + public function testFileView() { + $storage = new Temporary(array()); + $scanner = $storage->getScanner(); + $storage->file_put_contents('foo.txt', 'bar'); + \OC\Files\Filesystem::mount($storage, array(), '/test/'); + $scanner->scan(''); + $view = new \OC\Files\View('/test/foo.txt'); + + $this->assertEquals('bar', $view->file_get_contents('')); + $fh = tmpfile(); + fwrite($fh, 'foo'); + rewind($fh); + $view->file_put_contents('', $fh); + $this->assertEquals('foo', $view->file_get_contents('')); + } + /** * @dataProvider tooLongPathDataProvider * @expectedException \OCP\Files\InvalidPathException |