From d6771502f21349d5393158eda6d2d16569fd60c3 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Tue, 17 Sep 2013 18:11:43 +0200 Subject: [PATCH 01/46] check only permission from link-share to decide if public upload is enabled or disabled --- core/js/share.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/js/share.js b/core/js/share.js index 5d34faf8a5..250f410072 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -177,7 +177,9 @@ OC.Share={ if (allowPublicUploadStatus) { return true; } - allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false; + if (value.share_type === OC.Share.SHARE_TYPE_LINK) { + allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false; + } }); html += ''; From 642b064c5b98990f6ac0e3ba344db8cd1fe4d1f8 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Tue, 17 Sep 2013 18:18:23 +0200 Subject: [PATCH 02/46] we can leave the loop if the permission of the link share was checked --- core/js/share.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/js/share.js b/core/js/share.js index 250f410072..641252a4d7 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -174,11 +174,9 @@ OC.Share={ var allowPublicUploadStatus = false; $.each(data.shares, function(key, value) { - if (allowPublicUploadStatus) { - return true; - } if (value.share_type === OC.Share.SHARE_TYPE_LINK) { allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false; + return true; } }); From e8bf576184fdafbe74f3394dc253a56c07be6507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Fri, 26 Jul 2013 14:11:59 +0200 Subject: [PATCH 03/46] add initial search in shared files --- apps/files_sharing/lib/cache.php | 26 +++++++++++++++++++++++++- lib/public/share.php | 2 +- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 33cd142889..28e3cbdb2e 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -226,7 +226,31 @@ class Shared_Cache extends Cache { * @return array of file data */ public function search($pattern) { - // TODO + + // normalize pattern + $pattern = $this->normalize($pattern); + + $ids = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL); + foreach ($ids as $file) { + $folderBackend = \OCP\Share::getBackend('folder'); + $children = $folderBackend->getChildren($file); + foreach ($children as $child) { + $ids[] = (int)$child['source']; + } + + } + $placeholders = join(',', array_fill(0, count($ids), '?')); + + $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` + FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `fileid` IN (' . $placeholders . ')'; + $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $ids)); + $files = array(); + while ($row = $result->fetchRow()) { + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; + } + return $files; } /** diff --git a/lib/public/share.php b/lib/public/share.php index 9ab956d84b..10922965ea 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -748,7 +748,7 @@ class Share { * @param string Item type * @return Sharing backend object */ - private static function getBackend($itemType) { + public static function getBackend($itemType) { if (isset(self::$backends[$itemType])) { return self::$backends[$itemType]; } else if (isset(self::$backendTypes[$itemType]['class'])) { From 27511d9187a5ffd4d5a087602a9c648e9ec1c06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 31 Jul 2013 15:13:00 +0200 Subject: [PATCH 04/46] divide ids into chunks of 1k --- apps/files_sharing/lib/cache.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 28e3cbdb2e..6386f1d2c6 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -239,16 +239,25 @@ class Shared_Cache extends Cache { } } - $placeholders = join(',', array_fill(0, count($ids), '?')); - - $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` - FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `fileid` IN (' . $placeholders . ')'; - $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $ids)); + $files = array(); - while ($row = $result->fetchRow()) { - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); - $files[] = $row; + + // divide into 1k chunks + $chunks = array_chunk($ids, 1000); + + foreach ($chunks as $chunk) { + $placeholders = join(',', array_fill(0, count($chunk), '?')); + + $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` + FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `fileid` IN (' . $placeholders . ')'; + + $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $chunk)); + + while ($row = $result->fetchRow()) { + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; + } } return $files; } From 392c6b6832edfc37a2956ef3a77fab6020a7a746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 7 Aug 2013 18:18:40 +0200 Subject: [PATCH 05/46] return fixed path, skip shared files outside of 'files' --- apps/files_sharing/lib/cache.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 6386f1d2c6..a440246448 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -254,9 +254,12 @@ class Shared_Cache extends Cache { $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $chunk)); while ($row = $result->fetchRow()) { - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); - $files[] = $row; + if (substr($row['path'], 0, 6)==='files/') { + $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared' + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; + } // else skip results out of the files folder } } return $files; From 466fd8acda010ad330930055925ce26ede1fbf06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 28 Aug 2013 12:39:43 +0200 Subject: [PATCH 06/46] fix getAll(), refactor search by mime & search --- apps/files_sharing/lib/cache.php | 55 +++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index a440246448..82588df42d 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -230,15 +230,7 @@ class Shared_Cache extends Cache { // normalize pattern $pattern = $this->normalize($pattern); - $ids = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL); - foreach ($ids as $file) { - $folderBackend = \OCP\Share::getBackend('folder'); - $children = $folderBackend->getChildren($file); - foreach ($children as $child) { - $ids[] = (int)$child['source']; - } - - } + $ids = $this->getAll(); $files = array(); @@ -248,7 +240,8 @@ class Shared_Cache extends Cache { foreach ($chunks as $chunk) { $placeholders = join(',', array_fill(0, count($chunk), '?')); - $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` + $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, + `encrypted`, `unencrypted_size`, `etag` FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `fileid` IN (' . $placeholders . ')'; $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $chunk)); @@ -280,13 +273,30 @@ class Shared_Cache extends Cache { } $mimetype = $this->getMimetypeId($mimetype); $ids = $this->getAll(); - $placeholders = join(',', array_fill(0, count($ids), '?')); - $query = \OC_DB::prepare(' - SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted` - FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `fileid` IN (' . $placeholders . ')' - ); - $result = $query->execute(array_merge(array($mimetype), $ids)); - return $result->fetchAll(); + + $files = array(); + + // divide into 1k chunks + $chunks = array_chunk($ids, 1000); + + foreach ($chunks as $chunk) { + $placeholders = join(',', array_fill(0, count($ids), '?')); + $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, + `encrypted`, `unencrypted_size`, `etag` + FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `fileid` IN (' . $placeholders . ')'; + + $result = \OC_DB::executeAudited($sql, array_merge(array($mimetype), $chunk)); + + while ($row = $result->fetchRow()) { + if (substr($row['path'], 0, 6)==='files/') { + $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared' + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; + } // else skip results out of the files folder + } + } + return $files; } /** @@ -308,7 +318,16 @@ class Shared_Cache extends Cache { * @return int[] */ public function getAll() { - return \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL); + $ids = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL); + $folderBackend = \OCP\Share::getBackend('folder'); + foreach ($ids as $file) { + $children = $folderBackend->getChildren($file); + foreach ($children as $child) { + $ids[] = (int)$child['source']; + } + + } + return $ids; } /** From 3b4020e81131cd526a6bbffe14bc14f1cac4fd60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 28 Aug 2013 21:04:21 +0200 Subject: [PATCH 07/46] add all results, sharing cache also returns entries for shared files in external storages --- apps/files_sharing/lib/cache.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 82588df42d..acb064f31a 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -249,10 +249,10 @@ class Shared_Cache extends Cache { while ($row = $result->fetchRow()) { if (substr($row['path'], 0, 6)==='files/') { $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared' - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); - $files[] = $row; - } // else skip results out of the files folder + } + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; } } return $files; From 6aeb0a99daf28ecb68b010d96369636a99ad77be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 28 Aug 2013 21:10:06 +0200 Subject: [PATCH 08/46] same for search by mime --- apps/files_sharing/lib/cache.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index acb064f31a..51e8713b97 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -290,10 +290,10 @@ class Shared_Cache extends Cache { while ($row = $result->fetchRow()) { if (substr($row['path'], 0, 6)==='files/') { $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared' - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); - $files[] = $row; - } // else skip results out of the files folder + } + $row['mimetype'] = $this->getMimetype($row['mimetype']); + $row['mimepart'] = $this->getMimetype($row['mimepart']); + $files[] = $row; } } return $files; From e55f25b64df09a3ba6535274eaf738e82910e1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Mon, 23 Sep 2013 22:04:37 +0200 Subject: [PATCH 09/46] handle error situation of rename proper --- lib/connector/sabre/directory.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index 3181a4b310..9e0fe5e64e 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -88,7 +88,12 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa } // rename to correct path - \OC\Files\Filesystem::rename($partpath, $newPath); + $renameOkay = \OC\Files\Filesystem::rename($partpath, $newPath); + if (!$renameOkay) { + \OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR); + \OC\Files\Filesystem::unlink($partpath); + throw new Sabre_DAV_Exception(); + } // allow sync clients to send the mtime along in a header $mtime = OC_Request::hasModificationTime(); From 00c998c5bb611ea775f2b1a294ef4f2029a52c89 Mon Sep 17 00:00:00 2001 From: Boris Rybalkin Date: Mon, 23 Sep 2013 21:08:58 -0400 Subject: [PATCH 10/46] fixing typo Typo in comment "feature" => "future" --- cron.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cron.php b/cron.php index d39800c884..8e1a3376d5 100644 --- a/cron.php +++ b/cron.php @@ -79,7 +79,7 @@ try { // We call ownCloud from the CLI (aka cron) if ($appmode != 'cron') { - // Use cron in feature! + // Use cron in future! OC_BackgroundJob::setExecutionType('cron'); } From cd2421c7ee04e6d46481a1d0ae36387757b204fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 24 Sep 2013 10:37:58 +0200 Subject: [PATCH 11/46] adding PHPDoc comments to getBackend ensure getChildren() is called on an instance of Share_Backend_Collection --- apps/files_sharing/lib/cache.php | 15 ++++++++++----- lib/public/share.php | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 51e8713b97..123268e240 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -20,6 +20,7 @@ */ namespace OC\Files\Cache; +use OCP\Share_Backend_Collection; /** * Metadata cache for shared files @@ -320,13 +321,17 @@ class Shared_Cache extends Cache { public function getAll() { $ids = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL); $folderBackend = \OCP\Share::getBackend('folder'); - foreach ($ids as $file) { - $children = $folderBackend->getChildren($file); - foreach ($children as $child) { - $ids[] = (int)$child['source']; + if ($folderBackend instanceof Share_Backend_Collection) { + foreach ($ids as $file) { + /** @var $folderBackend Share_Backend_Collection */ + $children = $folderBackend->getChildren($file); + foreach ($children as $child) { + $ids[] = (int)$child['source']; + } + } - } + return $ids; } diff --git a/lib/public/share.php b/lib/public/share.php index 10922965ea..41f5ccbf40 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -745,8 +745,8 @@ class Share { /** * @brief Get the backend class for the specified item type - * @param string Item type - * @return Sharing backend object + * @param string $itemType + * @return Share_Backend */ public static function getBackend($itemType) { if (isset(self::$backends[$itemType])) { From 31d2048eb83d60007183cec43a54d7a112d7a3b2 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Tue, 24 Sep 2013 11:00:08 +0200 Subject: [PATCH 12/46] add blacklist to txt preview backend --- lib/preview/txt.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/preview/txt.php b/lib/preview/txt.php index a487330691..77e728eb36 100644 --- a/lib/preview/txt.php +++ b/lib/preview/txt.php @@ -9,11 +9,21 @@ namespace OC\Preview; class TXT extends Provider { + private static $blacklist = array( + 'text/calendar', + 'text/vcard', + ); + public function getMimeType() { return '/text\/.*/'; } public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) { + $mimetype = $fileview->getMimeType($path); + if(in_array($mimetype, self::$blacklist)) { + return false; + } + $content = $fileview->fopen($path, 'r'); $content = stream_get_contents($content); From ee1f627155cad4153f3da3160ca6040c137841d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 24 Sep 2013 13:26:12 +0200 Subject: [PATCH 13/46] adding privilege check on move and rename operations --- lib/connector/sabre/node.php | 11 +++++++++++ lib/connector/sabre/objecttree.php | 24 +++++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index 0bffa58af7..29b7f9e53a 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -78,6 +78,11 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr */ public function setName($name) { + // rename is only allowed if the update privilege is granted + if (!\OC\Files\Filesystem::isUpdatable($this->path)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + list($parentPath, ) = Sabre_DAV_URLUtil::splitPath($this->path); list(, $newName) = Sabre_DAV_URLUtil::splitPath($name); @@ -135,6 +140,12 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr * Even if the modification time is set to a custom value the access time is set to now. */ public function touch($mtime) { + + // touch is only allowed if the update privilege is granted + if (!\OC\Files\Filesystem::isUpdatable($this->path)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + \OC\Files\Filesystem::touch($this->path, $mtime); } diff --git a/lib/connector/sabre/objecttree.php b/lib/connector/sabre/objecttree.php index acff45ed5e..7accf98c8e 100644 --- a/lib/connector/sabre/objecttree.php +++ b/lib/connector/sabre/objecttree.php @@ -64,7 +64,29 @@ class ObjectTree extends \Sabre_DAV_ObjectTree { list($sourceDir,) = \Sabre_DAV_URLUtil::splitPath($sourcePath); list($destinationDir,) = \Sabre_DAV_URLUtil::splitPath($destinationPath); - Filesystem::rename($sourcePath, $destinationPath); + // check update privileges + if ($sourceDir === $destinationDir) { + // for renaming it's enough to check if the sourcePath can be updated + if (!\OC\Files\Filesystem::isUpdatable($sourcePath)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + } else { + // for a full move we need update privileges on sourcePath and sourceDir as well as destinationDir + if (!\OC\Files\Filesystem::isUpdatable($sourcePath)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + if (!\OC\Files\Filesystem::isUpdatable($sourceDir)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + if (!\OC\Files\Filesystem::isUpdatable($destinationDir)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + } + + $renameOkay = Filesystem::rename($sourcePath, $destinationPath); + if (!$renameOkay) { + throw new \Sabre_DAV_Exception_Forbidden(''); + } $this->markDirty($sourceDir); $this->markDirty($destinationDir); From 52f1d5856dfaa9186a05d529674c2dbab9cc90b7 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Tue, 24 Sep 2013 13:26:51 +0200 Subject: [PATCH 14/46] add test data for cal and contact preview --- tests/data/testcal.ics | 13 +++++++++++++ tests/data/testcontact.vcf | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 tests/data/testcal.ics create mode 100644 tests/data/testcontact.vcf diff --git a/tests/data/testcal.ics b/tests/data/testcal.ics new file mode 100644 index 0000000000..e05f01ba1c --- /dev/null +++ b/tests/data/testcal.ics @@ -0,0 +1,13 @@ +BEGIN:VCALENDAR +PRODID:-//some random cal software//EN +VERSION:2.0 +BEGIN:VEVENT +CREATED:20130102T120000Z +LAST-MODIFIED:20130102T120000Z +DTSTAMP:20130102T120000Z +UID:f106ecdf-c716-43ef-9d94-4e6f19f2fcfb +SUMMARY:a test cal file +DTSTART;VALUE=DATE:20130101 +DTEND;VALUE=DATE:20130102 +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/tests/data/testcontact.vcf b/tests/data/testcontact.vcf new file mode 100644 index 0000000000..2af963d691 --- /dev/null +++ b/tests/data/testcontact.vcf @@ -0,0 +1,6 @@ +BEGIN:VCARD +VERSION:3.0 +PRODID:-//some random contact software//EN +N:def;abc;;; +FN:abc def +END:VCARD \ No newline at end of file From d101ff42f16ef7288b40666eba20c69621481ea4 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 16 Sep 2013 14:15:35 +0200 Subject: [PATCH 15/46] User: move checkPassword from User to Manager to not break API --- lib/public/user.php | 2 +- lib/user.php | 14 +++++--------- lib/user/http.php | 6 +++++- lib/user/manager.php | 17 +++++++++++++++++ lib/user/session.php | 19 ++++++++++--------- lib/user/user.php | 18 ------------------ tests/lib/user/session.php | 32 ++++++++++---------------------- 7 files changed, 48 insertions(+), 60 deletions(-) diff --git a/lib/public/user.php b/lib/public/user.php index 23ff991642..576a64d704 100644 --- a/lib/public/user.php +++ b/lib/public/user.php @@ -102,7 +102,7 @@ class User { * @brief Check if the password is correct * @param $uid The username * @param $password The password - * @returns true/false + * @returns mixed username on success, false otherwise * * Check if the password is correct without logging in the user */ diff --git a/lib/user.php b/lib/user.php index 0f6f40aec9..8868428ce2 100644 --- a/lib/user.php +++ b/lib/user.php @@ -416,16 +416,12 @@ class OC_User { * returns the user id or false */ public static function checkPassword($uid, $password) { - $user = self::getManager()->get($uid); - if ($user) { - if ($user->checkPassword($password)) { - return $user->getUID(); - } else { - return false; - } - } else { - return false; + $manager = self::getManager(); + $username = $manager->checkPassword($uid, $password); + if ($username !== false) { + return $manger->get($username); } + return false; } /** diff --git a/lib/user/http.php b/lib/user/http.php index 1e044ed418..ea14cb57c9 100644 --- a/lib/user/http.php +++ b/lib/user/http.php @@ -79,7 +79,11 @@ class OC_User_HTTP extends OC_User_Backend { curl_close($ch); - return $status==200; + if($status == 200) { + return $uid; + } + + return false; } /** diff --git a/lib/user/manager.php b/lib/user/manager.php index 8dc9bfe272..2de694a3d9 100644 --- a/lib/user/manager.php +++ b/lib/user/manager.php @@ -118,6 +118,23 @@ class Manager extends PublicEmitter { return ($user !== null); } + /** + * Check if the password is valid for the user + * + * @param $loginname + * @param $password + * @return mixed the User object on success, false otherwise + */ + public function checkPassword($loginname, $password) { + foreach ($this->backends as $backend) { + $uid = $backend->checkPassword($loginname, $password); + if ($uid !== false) { + return $this->getUserObject($uid, $backend); + } + } + return null; + } + /** * search by user id * diff --git a/lib/user/session.php b/lib/user/session.php index 9a6c669e93..b5e9385234 100644 --- a/lib/user/session.php +++ b/lib/user/session.php @@ -121,15 +121,16 @@ class Session implements Emitter { */ public function login($uid, $password) { $this->manager->emit('\OC\User', 'preLogin', array($uid, $password)); - $user = $this->manager->get($uid); - if ($user) { - $result = $user->checkPassword($password); - if ($result and $user->isEnabled()) { - $this->setUser($user); - $this->manager->emit('\OC\User', 'postLogin', array($user, $password)); - return true; - } else { - return false; + $user = $this->manager->checkPassword($uid, $password); + if($user !== false) { + if (!is_null($user)) { + if ($user->isEnabled()) { + $this->setUser($user); + $this->manager->emit('\OC\User', 'postLogin', array($user, $password)); + return true; + } else { + return false; + } } } else { return false; diff --git a/lib/user/user.php b/lib/user/user.php index 8115c43198..e5f842944f 100644 --- a/lib/user/user.php +++ b/lib/user/user.php @@ -105,24 +105,6 @@ class User { return !($result === false); } - /** - * Check if the password is valid for the user - * - * @param $password - * @return bool - */ - public function checkPassword($password) { - if ($this->backend->implementsActions(\OC_USER_BACKEND_CHECK_PASSWORD)) { - $result = $this->backend->checkPassword($this->uid, $password); - if ($result !== false) { - $this->uid = $result; - } - return !($result === false); - } else { - return false; - } - } - /** * Set the password of the user * diff --git a/tests/lib/user/session.php b/tests/lib/user/session.php index 274e9e2831..e457a7bda3 100644 --- a/tests/lib/user/session.php +++ b/tests/lib/user/session.php @@ -61,10 +61,6 @@ class Session extends \PHPUnit_Framework_TestCase { $backend = $this->getMock('OC_User_Dummy'); $user = $this->getMock('\OC\User\User', array(), array('foo', $backend)); - $user->expects($this->once()) - ->method('checkPassword') - ->with('bar') - ->will($this->returnValue(true)); $user->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(true)); @@ -73,8 +69,8 @@ class Session extends \PHPUnit_Framework_TestCase { ->will($this->returnValue('foo')); $manager->expects($this->once()) - ->method('get') - ->with('foo') + ->method('checkPassword') + ->with('foo', 'bar') ->will($this->returnValue($user)); $userSession = new \OC\User\Session($manager, $session); @@ -92,17 +88,13 @@ class Session extends \PHPUnit_Framework_TestCase { $backend = $this->getMock('OC_User_Dummy'); $user = $this->getMock('\OC\User\User', array(), array('foo', $backend)); - $user->expects($this->once()) - ->method('checkPassword') - ->with('bar') - ->will($this->returnValue(true)); $user->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(false)); $manager->expects($this->once()) - ->method('get') - ->with('foo') + ->method('checkPassword') + ->with('foo', 'bar') ->will($this->returnValue($user)); $userSession = new \OC\User\Session($manager, $session); @@ -119,17 +111,13 @@ class Session extends \PHPUnit_Framework_TestCase { $backend = $this->getMock('OC_User_Dummy'); $user = $this->getMock('\OC\User\User', array(), array('foo', $backend)); - $user->expects($this->once()) - ->method('checkPassword') - ->with('bar') - ->will($this->returnValue(false)); $user->expects($this->never()) ->method('isEnabled'); $manager->expects($this->once()) - ->method('get') - ->with('foo') - ->will($this->returnValue($user)); + ->method('checkPassword') + ->with('foo', 'bar') + ->will($this->returnValue(false)); $userSession = new \OC\User\Session($manager, $session); $userSession->login('foo', 'bar'); @@ -145,9 +133,9 @@ class Session extends \PHPUnit_Framework_TestCase { $backend = $this->getMock('OC_User_Dummy'); $manager->expects($this->once()) - ->method('get') - ->with('foo') - ->will($this->returnValue(null)); + ->method('checkPassword') + ->with('foo', 'bar') + ->will($this->returnValue(false)); $userSession = new \OC\User\Session($manager, $session); $userSession->login('foo', 'bar'); From fe88a62d6e9ee4bb138ac4fb0fe81d8fbe082e09 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 24 Sep 2013 13:51:33 +0200 Subject: [PATCH 16/46] === not == --- lib/user/http.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/user/http.php b/lib/user/http.php index ea14cb57c9..e99afe59ba 100644 --- a/lib/user/http.php +++ b/lib/user/http.php @@ -79,7 +79,7 @@ class OC_User_HTTP extends OC_User_Backend { curl_close($ch); - if($status == 200) { + if($status === 200) { return $uid; } From 6c5466a540340a22e487d71a2605dcda3498a658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 24 Sep 2013 13:53:32 +0200 Subject: [PATCH 17/46] adding file_exists check just to be on the save side --- lib/connector/sabre/directory.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index 9e0fe5e64e..a50098df79 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -89,7 +89,8 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa // rename to correct path $renameOkay = \OC\Files\Filesystem::rename($partpath, $newPath); - if (!$renameOkay) { + $fileExists = \OC\Files\Filesystem::file_exists($newPath); + if ($renameOkay === false || $fileExists === false) { \OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR); \OC\Files\Filesystem::unlink($partpath); throw new Sabre_DAV_Exception(); From e9eb34f1872a0237b7474496e8c759a4a3ef1156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 24 Sep 2013 13:54:18 +0200 Subject: [PATCH 18/46] duplicate code :sigh: - will fix this in a second pr --- lib/connector/sabre/file.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/file.php b/lib/connector/sabre/file.php index 61bdcd5e0a..433b114855 100644 --- a/lib/connector/sabre/file.php +++ b/lib/connector/sabre/file.php @@ -74,7 +74,14 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D } // rename to correct path - \OC\Files\Filesystem::rename($partpath, $this->path); + $renameOkay = \OC\Files\Filesystem::rename($partpath, $this->path); + $fileExists = \OC\Files\Filesystem::file_exists($this->path); + if ($renameOkay === false || $fileExists === false) { + \OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR); + \OC\Files\Filesystem::unlink($partpath); + throw new Sabre_DAV_Exception(); + } + //allow sync clients to send the mtime along in a header $mtime = OC_Request::hasModificationTime(); From 0a7ee7c3f7b6825815a5aae1e41725481dbbfb08 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 24 Sep 2013 14:11:47 +0200 Subject: [PATCH 19/46] Fix return value from User object to User ID --- lib/user.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/user.php b/lib/user.php index 8868428ce2..ba6036bad9 100644 --- a/lib/user.php +++ b/lib/user.php @@ -419,7 +419,7 @@ class OC_User { $manager = self::getManager(); $username = $manager->checkPassword($uid, $password); if ($username !== false) { - return $manger->get($username); + return $manager->get($username)->getUID(); } return false; } From 63324e23472071f34746e2f6132a6246babe7e74 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 24 Sep 2013 14:12:44 +0200 Subject: [PATCH 20/46] Fix doc --- lib/user.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/user.php b/lib/user.php index ba6036bad9..da774ff86f 100644 --- a/lib/user.php +++ b/lib/user.php @@ -410,7 +410,7 @@ class OC_User { * @brief Check if the password is correct * @param string $uid The username * @param string $password The password - * @return bool + * @return mixed user id a string on success, false otherwise * * Check if the password is correct without logging in the user * returns the user id or false From 14a160e176135cb86191eed46b4cc3b3b0e58f44 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 24 Sep 2013 17:10:01 +0200 Subject: [PATCH 21/46] Adjust Tests and satisfy them --- lib/user/manager.php | 10 +++++---- tests/lib/user/manager.php | 45 ++++++++++++++++++++++++++++++++++++++ tests/lib/user/user.php | 40 --------------------------------- 3 files changed, 51 insertions(+), 44 deletions(-) diff --git a/lib/user/manager.php b/lib/user/manager.php index 2de694a3d9..13286bc28a 100644 --- a/lib/user/manager.php +++ b/lib/user/manager.php @@ -127,12 +127,14 @@ class Manager extends PublicEmitter { */ public function checkPassword($loginname, $password) { foreach ($this->backends as $backend) { - $uid = $backend->checkPassword($loginname, $password); - if ($uid !== false) { - return $this->getUserObject($uid, $backend); + if($backend->implementsActions(\OC_USER_BACKEND_CHECK_PASSWORD)) { + $uid = $backend->checkPassword($loginname, $password); + if ($uid !== false) { + return $this->getUserObject($uid, $backend); + } } } - return null; + return false; } /** diff --git a/tests/lib/user/manager.php b/tests/lib/user/manager.php index bc49f6db4b..00901dd411 100644 --- a/tests/lib/user/manager.php +++ b/tests/lib/user/manager.php @@ -98,6 +98,51 @@ class Manager extends \PHPUnit_Framework_TestCase { $this->assertTrue($manager->userExists('foo')); } + public function testCheckPassword() { + /** + * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend + */ + $backend = $this->getMock('\OC_User_Dummy'); + $backend->expects($this->once()) + ->method('checkPassword') + ->with($this->equalTo('foo'), $this->equalTo('bar')) + ->will($this->returnValue(true)); + + $backend->expects($this->any()) + ->method('implementsActions') + ->will($this->returnCallback(function ($actions) { + if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) { + return true; + } else { + return false; + } + })); + + $manager = new \OC\User\Manager(); + $manager->registerBackend($backend); + + $user = $manager->checkPassword('foo', 'bar'); + $this->assertTrue($user instanceof \OC\User\User); + } + + public function testCheckPasswordNotSupported() { + /** + * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend + */ + $backend = $this->getMock('\OC_User_Dummy'); + $backend->expects($this->never()) + ->method('checkPassword'); + + $backend->expects($this->any()) + ->method('implementsActions') + ->will($this->returnValue(false)); + + $manager = new \OC\User\Manager(); + $manager->registerBackend($backend); + + $this->assertFalse($manager->checkPassword('foo', 'bar')); + } + public function testGetOneBackendExists() { /** * @var \OC_User_Dummy | \PHPUnit_Framework_MockObject_MockObject $backend diff --git a/tests/lib/user/user.php b/tests/lib/user/user.php index b0d170cbfc..de5ccbf38c 100644 --- a/tests/lib/user/user.php +++ b/tests/lib/user/user.php @@ -100,46 +100,6 @@ class User extends \PHPUnit_Framework_TestCase { $this->assertTrue($user->delete()); } - public function testCheckPassword() { - /** - * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend - */ - $backend = $this->getMock('\OC_User_Dummy'); - $backend->expects($this->once()) - ->method('checkPassword') - ->with($this->equalTo('foo'), $this->equalTo('bar')) - ->will($this->returnValue(true)); - - $backend->expects($this->any()) - ->method('implementsActions') - ->will($this->returnCallback(function ($actions) { - if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) { - return true; - } else { - return false; - } - })); - - $user = new \OC\User\User('foo', $backend); - $this->assertTrue($user->checkPassword('bar')); - } - - public function testCheckPasswordNotSupported() { - /** - * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend - */ - $backend = $this->getMock('\OC_User_Dummy'); - $backend->expects($this->never()) - ->method('checkPassword'); - - $backend->expects($this->any()) - ->method('implementsActions') - ->will($this->returnValue(false)); - - $user = new \OC\User\User('foo', $backend); - $this->assertFalse($user->checkPassword('bar')); - } - public function testGetHome() { /** * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend From 2d12e52769a30ba37d5760b1194f613bcc71035b Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 24 Sep 2013 12:59:48 -0400 Subject: [PATCH 22/46] [tx-robot] updated from transifex --- apps/files/l10n/ca.php | 5 +++ apps/files/l10n/en_GB.php | 7 +++- apps/files/l10n/fr.php | 5 +++ apps/files/l10n/gl.php | 5 +++ apps/files/l10n/nn_NO.php | 5 +++ core/l10n/en_GB.php | 9 ++++- core/l10n/fr.php | 6 +++- core/l10n/gl.php | 9 ++++- core/l10n/nn_NO.php | 16 ++++++++- l10n/ca/files.po | 18 +++++----- l10n/da/settings.po | 34 +++++++++---------- l10n/en_GB/core.po | 38 ++++++++++----------- l10n/en_GB/files.po | 20 +++++------ l10n/fr/core.po | 32 +++++++++--------- l10n/fr/files.po | 18 +++++----- l10n/gl/core.po | 38 ++++++++++----------- l10n/gl/files.po | 18 +++++----- l10n/nn_NO/core.po | 52 ++++++++++++++--------------- l10n/nn_NO/files.po | 19 ++++++----- l10n/nn_NO/lib.po | 14 ++++---- l10n/nn_NO/settings.po | 52 ++++++++++++++--------------- l10n/templates/core.pot | 16 ++++----- l10n/templates/files.pot | 2 +- l10n/templates/files_encryption.pot | 2 +- l10n/templates/files_external.pot | 2 +- l10n/templates/files_sharing.pot | 2 +- l10n/templates/files_trashbin.pot | 2 +- l10n/templates/files_versions.pot | 2 +- l10n/templates/lib.pot | 2 +- l10n/templates/settings.pot | 20 +++++------ l10n/templates/user_ldap.pot | 2 +- l10n/templates/user_webdavauth.pot | 2 +- lib/l10n/nn_NO.php | 2 ++ settings/l10n/da.php | 5 +++ settings/l10n/nn_NO.php | 14 ++++++++ 35 files changed, 287 insertions(+), 208 deletions(-) diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php index 8fd72ac0a6..5c2cade8d6 100644 --- a/apps/files/l10n/ca.php +++ b/apps/files/l10n/ca.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta un fitxer temporal", "Failed to write to disk" => "Ha fallat en escriure al disc", "Not enough storage available" => "No hi ha prou espai disponible", +"Upload failed. Could not get file info." => "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.", +"Upload failed. Could not find uploaded file" => "La pujada ha fallat. El fitxer pujat no s'ha trobat.", "Invalid directory." => "Directori no vàlid.", "Files" => "Fitxers", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "No es pot pujar {filename} perquè és una carpeta o té 0 bytes", "Not enough space available" => "No hi ha prou espai disponible", "Upload cancelled." => "La pujada s'ha cancel·lat.", +"Could not get result from server." => "No hi ha resposta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." => "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.", "URL cannot be empty." => "La URL no pot ser buida", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud", @@ -42,6 +46,7 @@ $TRANSLATIONS = array( "Your storage is almost full ({usedSpacePercent}%)" => "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "L'encriptació s'ha desactivat però els vostres fitxers segueixen encriptats. Aneu a la vostra configuració personal per desencriptar els vostres fitxers.", "Your download is being prepared. This might take some time if the files are big." => "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans.", +"Error moving file" => "Error en moure el fitxer", "Name" => "Nom", "Size" => "Mida", "Modified" => "Modificat", diff --git a/apps/files/l10n/en_GB.php b/apps/files/l10n/en_GB.php index e67719efba..c747555e40 100644 --- a/apps/files/l10n/en_GB.php +++ b/apps/files/l10n/en_GB.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Missing a temporary folder", "Failed to write to disk" => "Failed to write to disk", "Not enough storage available" => "Not enough storage available", +"Upload failed. Could not get file info." => "Upload failed. Could not get file info.", +"Upload failed. Could not find uploaded file" => "Upload failed. Could not find uploaded file", "Invalid directory." => "Invalid directory.", "Files" => "Files", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Unable to upload {filename} as it is a directory or has 0 bytes", "Not enough space available" => "Not enough space available", "Upload cancelled." => "Upload cancelled.", +"Could not get result from server." => "Could not get result from server.", "File upload is in progress. Leaving the page now will cancel the upload." => "File upload is in progress. Leaving the page now will cancel the upload.", "URL cannot be empty." => "URL cannot be empty.", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Invalid folder name. Usage of 'Shared' is reserved by ownCloud", @@ -37,11 +41,12 @@ $TRANSLATIONS = array( "_Uploading %n file_::_Uploading %n files_" => array("Uploading %n file","Uploading %n files"), "'.' is an invalid file name." => "'.' is an invalid file name.", "File name cannot be empty." => "File name cannot be empty.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Invalid name: '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed.", "Your storage is full, files can not be updated or synced anymore!" => "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" => "Your storage is almost full ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files.", "Your download is being prepared. This might take some time if the files are big." => "Your download is being prepared. This might take some time if the files are big.", +"Error moving file" => "Error moving file", "Name" => "Name", "Size" => "Size", "Modified" => "Modified", diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php index d647045808..03505a2a26 100644 --- a/apps/files/l10n/fr.php +++ b/apps/files/l10n/fr.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Absence de dossier temporaire.", "Failed to write to disk" => "Erreur d'écriture sur le disque", "Not enough storage available" => "Plus assez d'espace de stockage disponible", +"Upload failed. Could not get file info." => "L'envoi a échoué. Impossible d'obtenir les informations du fichier.", +"Upload failed. Could not find uploaded file" => "L'envoi a échoué. Impossible de trouver le fichier envoyé.", "Invalid directory." => "Dossier invalide.", "Files" => "Fichiers", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle", "Not enough space available" => "Espace disponible insuffisant", "Upload cancelled." => "Envoi annulé.", +"Could not get result from server." => "Ne peut recevoir les résultats du serveur.", "File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.", "URL cannot be empty." => "L'URL ne peut-être vide", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud", @@ -42,6 +46,7 @@ $TRANSLATIONS = array( "Your storage is almost full ({usedSpacePercent}%)" => "Votre espace de stockage est presque plein ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Le chiffrement était désactivé mais vos fichiers sont toujours chiffrés. Veuillez vous rendre sur vos Paramètres personnels pour déchiffrer vos fichiers.", "Your download is being prepared. This might take some time if the files are big." => "Votre téléchargement est cours de préparation. Ceci peut nécessiter un certain temps si les fichiers sont volumineux.", +"Error moving file" => "Erreur lors du déplacement du fichier", "Name" => "Nom", "Size" => "Taille", "Modified" => "Modifié", diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php index 0eba94f7d6..2766478650 100644 --- a/apps/files/l10n/gl.php +++ b/apps/files/l10n/gl.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta o cartafol temporal", "Failed to write to disk" => "Produciuse un erro ao escribir no disco", "Not enough storage available" => "Non hai espazo de almacenamento abondo", +"Upload failed. Could not get file info." => "O envío fracasou. Non foi posíbel obter información do ficheiro.", +"Upload failed. Could not find uploaded file" => "O envío fracasou. Non foi posíbel atopar o ficheiro enviado", "Invalid directory." => "O directorio é incorrecto.", "Files" => "Ficheiros", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Non é posíbel enviar {filename}, xa que ou é un directorio ou ten 0 bytes", "Not enough space available" => "O espazo dispoñíbel é insuficiente", "Upload cancelled." => "Envío cancelado.", +"Could not get result from server." => "Non foi posíbel obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." => "O envío do ficheiro está en proceso. Saír agora da páxina cancelará o envío.", "URL cannot be empty." => "O URL non pode quedar baleiro.", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Nome de cartafol incorrecto. O uso de «Compartido» e «Shared» está reservado para o ownClod", @@ -42,6 +46,7 @@ $TRANSLATIONS = array( "Your storage is almost full ({usedSpacePercent}%)" => "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "O cifrado foi desactivado, mais os ficheiros están cifrados. Vaia á configuración persoal para descifrar os ficheiros.", "Your download is being prepared. This might take some time if the files are big." => "Está a prepararse a súa descarga. Isto pode levar bastante tempo se os ficheiros son grandes.", +"Error moving file" => "Produciuse un erro ao mover o ficheiro", "Name" => "Nome", "Size" => "Tamaño", "Modified" => "Modificado", diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php index 04c47c31fb..e29b1d3ad3 100644 --- a/apps/files/l10n/nn_NO.php +++ b/apps/files/l10n/nn_NO.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Manglar ei mellombels mappe", "Failed to write to disk" => "Klarte ikkje skriva til disk", "Not enough storage available" => "Ikkje nok lagringsplass tilgjengeleg", +"Upload failed. Could not get file info." => "Feil ved opplasting. Klarte ikkje å henta filinfo.", +"Upload failed. Could not find uploaded file" => "Feil ved opplasting. Klarte ikkje å finna opplasta fil.", "Invalid directory." => "Ugyldig mappe.", "Files" => "Filer", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.", "Not enough space available" => "Ikkje nok lagringsplass tilgjengeleg", "Upload cancelled." => "Opplasting avbroten.", +"Could not get result from server." => "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." => "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", "URL cannot be empty." => "Nettadressa kan ikkje vera tom.", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Ugyldig mappenamn. Mappa «Shared» er reservert av ownCloud", @@ -42,6 +46,7 @@ $TRANSLATIONS = array( "Your storage is almost full ({usedSpacePercent}%)" => "Lagringa di er nesten full ({usedSpacePercent} %)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kryptering er skrudd av, men filene dine er enno krypterte. Du kan dekryptera filene i personlege innstillingar.", "Your download is being prepared. This might take some time if the files are big." => "Gjer klar nedlastinga di. Dette kan ta ei stund viss filene er store.", +"Error moving file" => "Feil ved flytting av fil", "Name" => "Namn", "Size" => "Storleik", "Modified" => "Endra", diff --git a/core/l10n/en_GB.php b/core/l10n/en_GB.php index feeacd481a..bb26f1469d 100644 --- a/core/l10n/en_GB.php +++ b/core/l10n/en_GB.php @@ -58,8 +58,15 @@ $TRANSLATIONS = array( "No" => "No", "Ok" => "OK", "Error loading message template: {error}" => "Error loading message template: {error}", -"_{count} file conflict_::_{count} file conflicts_" => array("",""), +"_{count} file conflict_::_{count} file conflicts_" => array("{count} file conflict","{count} file conflicts"), +"One file conflict" => "One file conflict", +"Which files do you want to keep?" => "Which files do you wish to keep?", +"If you select both versions, the copied file will have a number added to its name." => "If you select both versions, the copied file will have a number added to its name.", "Cancel" => "Cancel", +"Continue" => "Continue", +"(all selected)" => "(all selected)", +"({count} selected)" => "({count} selected)", +"Error loading file exists template" => "Error loading file exists template", "The object type is not specified." => "The object type is not specified.", "Error" => "Error", "The app name is not specified." => "The app name is not specified.", diff --git a/core/l10n/fr.php b/core/l10n/fr.php index d3229ddf99..29489e86b7 100644 --- a/core/l10n/fr.php +++ b/core/l10n/fr.php @@ -56,8 +56,12 @@ $TRANSLATIONS = array( "No" => "Non", "Ok" => "Ok", "Error loading message template: {error}" => "Erreur de chargement du modèle de message : {error}", -"_{count} file conflict_::_{count} file conflicts_" => array("",""), +"_{count} file conflict_::_{count} file conflicts_" => array("{count} fichier en conflit","{count} fichiers en conflit"), +"One file conflict" => "Un conflit de fichier", +"Which files do you want to keep?" => "Quels fichiers désirez-vous garder ?", +"If you select both versions, the copied file will have a number added to its name." => "Si vous sélectionnez les deux versions, un nombre sera ajouté au nom du fichier copié.", "Cancel" => "Annuler", +"({count} selected)" => "({count} sélectionnés)", "The object type is not specified." => "Le type d'objet n'est pas spécifié.", "Error" => "Erreur", "The app name is not specified." => "Le nom de l'application n'est pas spécifié.", diff --git a/core/l10n/gl.php b/core/l10n/gl.php index 9ba5ab645a..e3be94537e 100644 --- a/core/l10n/gl.php +++ b/core/l10n/gl.php @@ -58,8 +58,15 @@ $TRANSLATIONS = array( "No" => "Non", "Ok" => "Aceptar", "Error loading message template: {error}" => "Produciuse un erro ao cargar o modelo da mensaxe: {error}", -"_{count} file conflict_::_{count} file conflicts_" => array("",""), +"_{count} file conflict_::_{count} file conflicts_" => array("{count} conflito de ficheiro","{count} conflitos de ficheiros"), +"One file conflict" => "Un conflito de ficheiro", +"Which files do you want to keep?" => "Que ficheiros quere conservar?", +"If you select both versions, the copied file will have a number added to its name." => "Se selecciona ambas versións, o ficheiro copiado terá un número engadido ao nome.", "Cancel" => "Cancelar", +"Continue" => "Continuar", +"(all selected)" => "(todo o seleccionado)", +"({count} selected)" => "({count} seleccionados)", +"Error loading file exists template" => "Produciuse un erro ao cargar o modelo de ficheiro existente", "The object type is not specified." => "Non se especificou o tipo de obxecto.", "Error" => "Erro", "The app name is not specified." => "Non se especificou o nome do aplicativo.", diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php index 8ec3892a8a..d596605dbc 100644 --- a/core/l10n/nn_NO.php +++ b/core/l10n/nn_NO.php @@ -16,6 +16,11 @@ $TRANSLATIONS = array( "Error adding %s to favorites." => "Klarte ikkje leggja til %s i favorittar.", "No categories selected for deletion." => "Ingen kategoriar valt for sletting.", "Error removing %s from favorites." => "Klarte ikkje fjerna %s frå favorittar.", +"No image or file provided" => "Inga bilete eller fil gitt", +"Unknown filetype" => "Ukjend filtype", +"Invalid image" => "Ugyldig bilete", +"No temporary profile picture available, try again" => "Inga midlertidig profilbilete tilgjengeleg, prøv igjen", +"No crop data provided" => "Ingen beskjeringsdata gitt", "Sunday" => "Søndag", "Monday" => "Måndag", "Tuesday" => "Tysdag", @@ -48,11 +53,20 @@ $TRANSLATIONS = array( "last year" => "i fjor", "years ago" => "år sidan", "Choose" => "Vel", +"Error loading file picker template: {error}" => "Klarte ikkje å lasta filplukkarmal: {error}", "Yes" => "Ja", "No" => "Nei", "Ok" => "Greitt", -"_{count} file conflict_::_{count} file conflicts_" => array("",""), +"Error loading message template: {error}" => "Klarte ikkje å lasta meldingsmal: {error}", +"_{count} file conflict_::_{count} file conflicts_" => array("{count} filkonflikt","{count} filkonfliktar"), +"One file conflict" => "Éin filkonflikt", +"Which files do you want to keep?" => "Kva filer vil du spara?", +"If you select both versions, the copied file will have a number added to its name." => "Viss du vel begge utgåvene, vil den kopierte fila få eit tal lagt til namnet.", "Cancel" => "Avbryt", +"Continue" => "Gå vidare", +"(all selected)" => "(alle valte)", +"({count} selected)" => "({count} valte)", +"Error loading file exists template" => "Klarte ikkje å lasta fil-finst-mal", "The object type is not specified." => "Objekttypen er ikkje spesifisert.", "Error" => "Feil", "The app name is not specified." => "Programnamnet er ikkje spesifisert.", diff --git a/l10n/ca/files.po b/l10n/ca/files.po index 173aeb30ac..82091cf75b 100644 --- a/l10n/ca/files.po +++ b/l10n/ca/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 15:10+0000\n" +"Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -78,23 +78,23 @@ msgstr "No hi ha prou espai disponible" #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "La pujada ha fallat. El fitxer pujat no s'ha trobat." #: ajax/upload.php:160 msgid "Invalid directory." msgstr "Directori no vàlid." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Fitxers" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "No es pot pujar {filename} perquè és una carpeta o té 0 bytes" #: js/file-upload.js:255 msgid "Not enough space available" @@ -106,7 +106,7 @@ msgstr "La pujada s'ha cancel·lat." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "No hi ha resposta del servidor." #: js/file-upload.js:446 msgid "" @@ -223,7 +223,7 @@ msgstr "S'està preparant la baixada. Pot trigar una estona si els fitxers són #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Error en moure el fitxer" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/da/settings.po b/l10n/da/settings.po index accacfac32..7251a13d4f 100644 --- a/l10n/da/settings.po +++ b/l10n/da/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:45-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 16:59+0000\n" +"Last-Translator: Sappe\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -89,28 +89,28 @@ msgstr "Kunne ikke opdatere app'en." #: changepassword/controller.php:20 msgid "Wrong password" -msgstr "" +msgstr "Forkert kodeord" #: changepassword/controller.php:42 msgid "No user supplied" -msgstr "" +msgstr "Intet brugernavn givet" #: changepassword/controller.php:74 msgid "" "Please provide an admin recovery password, otherwise all user data will be " "lost" -msgstr "" +msgstr "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt" #: changepassword/controller.php:79 msgid "" "Wrong admin recovery password. Please check the password and try again." -msgstr "" +msgstr "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen." #: changepassword/controller.php:87 msgid "" "Back-end doesn't support password change, but the users encryption key was " "successfully updated." -msgstr "" +msgstr "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnøgle blev opdateret." #: changepassword/controller.php:92 changepassword/controller.php:103 msgid "Unable to change password" @@ -120,11 +120,11 @@ msgstr "" msgid "Update to {appversion}" msgstr "Opdatér til {appversion}" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "Deaktiver" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "Aktiver" @@ -132,31 +132,31 @@ msgstr "Aktiver" msgid "Please wait...." msgstr "Vent venligst..." -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "Kunne ikke deaktivere app" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "Kunne ikke aktivere app" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "Opdaterer...." -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "Der opstod en fejl under app opgraderingen" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "Fejl" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "Opdater" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "Opdateret" diff --git a/l10n/en_GB/core.po b/l10n/en_GB/core.po index 5ac5d34f56..f9b0f0d24f 100644 --- a/l10n/en_GB/core.po +++ b/l10n/en_GB/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-23 16:10+0000\n" +"Last-Translator: mnestis \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -270,22 +270,22 @@ msgstr "Error loading message template: {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" msgid_plural "{count} file conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{count} file conflict" +msgstr[1] "{count} file conflicts" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "One file conflict" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" -msgstr "" +msgstr "Which files do you wish to keep?" #: js/oc-dialogs.js:368 msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "" +msgstr "If you select both versions, the copied file will have a number added to its name." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -293,19 +293,19 @@ msgstr "Cancel" #: js/oc-dialogs.js:386 msgid "Continue" -msgstr "" +msgstr "Continue" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "" +msgstr "(all selected)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" -msgstr "" +msgstr "({count} selected)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" -msgstr "" +msgstr "Error loading file exists template" #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 @@ -316,7 +316,7 @@ msgstr "The object type is not specified." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Error" @@ -336,7 +336,7 @@ msgstr "Shared" msgid "Share" msgstr "Share" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Error whilst sharing" @@ -436,23 +436,23 @@ msgstr "delete" msgid "share" msgstr "share" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Password protected" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Error unsetting expiration date" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Error setting expiration date" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Sending ..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "Email sent" diff --git a/l10n/en_GB/files.po b/l10n/en_GB/files.po index fe7922ffe9..bf8e937434 100644 --- a/l10n/en_GB/files.po +++ b/l10n/en_GB/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 16:00+0000\n" +"Last-Translator: mnestis \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -77,23 +77,23 @@ msgstr "Not enough storage available" #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "Upload failed. Could not get file info." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "Upload failed. Could not find uploaded file" #: ajax/upload.php:160 msgid "Invalid directory." msgstr "Invalid directory." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Files" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "Unable to upload {filename} as it is a directory or has 0 bytes" #: js/file-upload.js:255 msgid "Not enough space available" @@ -105,7 +105,7 @@ msgstr "Upload cancelled." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "Could not get result from server." #: js/file-upload.js:446 msgid "" @@ -198,7 +198,7 @@ msgstr "File name cannot be empty." msgid "" "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " "allowed." -msgstr "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." +msgstr "Invalid name: '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." #: js/files.js:51 msgid "Your storage is full, files can not be updated or synced anymore!" @@ -222,7 +222,7 @@ msgstr "Your download is being prepared. This might take some time if the files #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Error moving file" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/fr/core.po b/l10n/fr/core.po index 76dc658c71..4c7f6be045 100644 --- a/l10n/fr/core.po +++ b/l10n/fr/core.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-23 19:40+0000\n" +"Last-Translator: ogre_sympathique \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -275,22 +275,22 @@ msgstr "Erreur de chargement du modèle de message : {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" msgid_plural "{count} file conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{count} fichier en conflit" +msgstr[1] "{count} fichiers en conflit" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "Un conflit de fichier" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" -msgstr "" +msgstr "Quels fichiers désirez-vous garder ?" #: js/oc-dialogs.js:368 msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "" +msgstr "Si vous sélectionnez les deux versions, un nombre sera ajouté au nom du fichier copié." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -306,7 +306,7 @@ msgstr "" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" -msgstr "" +msgstr "({count} sélectionnés)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" @@ -321,7 +321,7 @@ msgstr "Le type d'objet n'est pas spécifié." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Erreur" @@ -341,7 +341,7 @@ msgstr "Partagé" msgid "Share" msgstr "Partager" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Erreur lors de la mise en partage" @@ -441,23 +441,23 @@ msgstr "supprimer" msgid "share" msgstr "partager" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Protégé par un mot de passe" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Une erreur est survenue pendant la suppression de la date d'expiration" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Erreur lors de la spécification de la date d'expiration" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "En cours d'envoi ..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "Email envoyé" diff --git a/l10n/fr/files.po b/l10n/fr/files.po index fcbbbad254..72963e3573 100644 --- a/l10n/fr/files.po +++ b/l10n/fr/files.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-23 19:30+0000\n" +"Last-Translator: ogre_sympathique \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -80,23 +80,23 @@ msgstr "Plus assez d'espace de stockage disponible" #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "L'envoi a échoué. Impossible d'obtenir les informations du fichier." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "L'envoi a échoué. Impossible de trouver le fichier envoyé." #: ajax/upload.php:160 msgid "Invalid directory." msgstr "Dossier invalide." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Fichiers" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle" #: js/file-upload.js:255 msgid "Not enough space available" @@ -108,7 +108,7 @@ msgstr "Envoi annulé." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "Ne peut recevoir les résultats du serveur." #: js/file-upload.js:446 msgid "" @@ -225,7 +225,7 @@ msgstr "Votre téléchargement est cours de préparation. Ceci peut nécessiter #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Erreur lors du déplacement du fichier" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/gl/core.po b/l10n/gl/core.po index 72986b81c8..b8bcfd4eea 100644 --- a/l10n/gl/core.po +++ b/l10n/gl/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-23 10:30+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -270,22 +270,22 @@ msgstr "Produciuse un erro ao cargar o modelo da mensaxe: {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" msgid_plural "{count} file conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{count} conflito de ficheiro" +msgstr[1] "{count} conflitos de ficheiros" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "Un conflito de ficheiro" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" -msgstr "" +msgstr "Que ficheiros quere conservar?" #: js/oc-dialogs.js:368 msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "" +msgstr "Se selecciona ambas versións, o ficheiro copiado terá un número engadido ao nome." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -293,19 +293,19 @@ msgstr "Cancelar" #: js/oc-dialogs.js:386 msgid "Continue" -msgstr "" +msgstr "Continuar" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "" +msgstr "(todo o seleccionado)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" -msgstr "" +msgstr "({count} seleccionados)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" -msgstr "" +msgstr "Produciuse un erro ao cargar o modelo de ficheiro existente" #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 @@ -316,7 +316,7 @@ msgstr "Non se especificou o tipo de obxecto." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Erro" @@ -336,7 +336,7 @@ msgstr "Compartir" msgid "Share" msgstr "Compartir" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Produciuse un erro ao compartir" @@ -436,23 +436,23 @@ msgstr "eliminar" msgid "share" msgstr "compartir" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Protexido con contrasinal" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Produciuse un erro ao retirar a data de caducidade" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Produciuse un erro ao definir a data de caducidade" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Enviando..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "Correo enviado" diff --git a/l10n/gl/files.po b/l10n/gl/files.po index 45a9129ab2..33e76e8487 100644 --- a/l10n/gl/files.po +++ b/l10n/gl/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-23 10:30+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -77,23 +77,23 @@ msgstr "Non hai espazo de almacenamento abondo" #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "O envío fracasou. Non foi posíbel obter información do ficheiro." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "O envío fracasou. Non foi posíbel atopar o ficheiro enviado" #: ajax/upload.php:160 msgid "Invalid directory." msgstr "O directorio é incorrecto." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Ficheiros" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "Non é posíbel enviar {filename}, xa que ou é un directorio ou ten 0 bytes" #: js/file-upload.js:255 msgid "Not enough space available" @@ -105,7 +105,7 @@ msgstr "Envío cancelado." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "Non foi posíbel obter o resultado do servidor." #: js/file-upload.js:446 msgid "" @@ -222,7 +222,7 @@ msgstr "Está a prepararse a súa descarga. Isto pode levar bastante tempo se os #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Produciuse un erro ao mover o ficheiro" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po index 40a6de51ba..e16776a098 100644 --- a/l10n/nn_NO/core.po +++ b/l10n/nn_NO/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 08:30+0000\n" +"Last-Translator: unhammer \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -95,23 +95,23 @@ msgstr "Klarte ikkje fjerna %s frå favorittar." #: avatar/controller.php:62 msgid "No image or file provided" -msgstr "" +msgstr "Inga bilete eller fil gitt" #: avatar/controller.php:81 msgid "Unknown filetype" -msgstr "" +msgstr "Ukjend filtype" #: avatar/controller.php:85 msgid "Invalid image" -msgstr "" +msgstr "Ugyldig bilete" #: avatar/controller.php:115 avatar/controller.php:142 msgid "No temporary profile picture available, try again" -msgstr "" +msgstr "Inga midlertidig profilbilete tilgjengeleg, prøv igjen" #: avatar/controller.php:135 msgid "No crop data provided" -msgstr "" +msgstr "Ingen beskjeringsdata gitt" #: js/config.php:32 msgid "Sunday" @@ -251,7 +251,7 @@ msgstr "Vel" #: js/oc-dialogs.js:146 msgid "Error loading file picker template: {error}" -msgstr "" +msgstr "Klarte ikkje å lasta filplukkarmal: {error}" #: js/oc-dialogs.js:172 msgid "Yes" @@ -267,27 +267,27 @@ msgstr "Greitt" #: js/oc-dialogs.js:219 msgid "Error loading message template: {error}" -msgstr "" +msgstr "Klarte ikkje å lasta meldingsmal: {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" msgid_plural "{count} file conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{count} filkonflikt" +msgstr[1] "{count} filkonfliktar" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "Éin filkonflikt" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" -msgstr "" +msgstr "Kva filer vil du spara?" #: js/oc-dialogs.js:368 msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "" +msgstr "Viss du vel begge utgåvene, vil den kopierte fila få eit tal lagt til namnet." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -295,19 +295,19 @@ msgstr "Avbryt" #: js/oc-dialogs.js:386 msgid "Continue" -msgstr "" +msgstr "Gå vidare" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "" +msgstr "(alle valte)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" -msgstr "" +msgstr "({count} valte)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" -msgstr "" +msgstr "Klarte ikkje å lasta fil-finst-mal" #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 @@ -318,7 +318,7 @@ msgstr "Objekttypen er ikkje spesifisert." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Feil" @@ -338,7 +338,7 @@ msgstr "Delt" msgid "Share" msgstr "Del" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Feil ved deling" @@ -438,23 +438,23 @@ msgstr "slett" msgid "share" msgstr "del" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Passordverna" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Klarte ikkje fjerna utløpsdato" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Klarte ikkje setja utløpsdato" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Sender …" -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "E-post sendt" diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po index 0573ecf295..dc82bdca1b 100644 --- a/l10n/nn_NO/files.po +++ b/l10n/nn_NO/files.po @@ -5,13 +5,14 @@ # Translators: # unhammer , 2013 # unhammer , 2013 +# unhammer , 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 08:20+0000\n" +"Last-Translator: unhammer \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -78,23 +79,23 @@ msgstr "Ikkje nok lagringsplass tilgjengeleg" #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "Feil ved opplasting. Klarte ikkje å henta filinfo." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "Feil ved opplasting. Klarte ikkje å finna opplasta fil." #: ajax/upload.php:160 msgid "Invalid directory." msgstr "Ugyldig mappe." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Filer" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte." #: js/file-upload.js:255 msgid "Not enough space available" @@ -106,7 +107,7 @@ msgstr "Opplasting avbroten." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "Klarte ikkje å henta resultat frå tenaren." #: js/file-upload.js:446 msgid "" @@ -223,7 +224,7 @@ msgstr "Gjer klar nedlastinga di. Dette kan ta ei stund viss filene er store." #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Feil ved flytting av fil" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/nn_NO/lib.po b/l10n/nn_NO/lib.po index dd499893e3..9e73f6fe6a 100644 --- a/l10n/nn_NO/lib.po +++ b/l10n/nn_NO/lib.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-16 11:33-0400\n" -"PO-Revision-Date: 2013-09-16 15:34+0000\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 08:30+0000\n" "Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" @@ -61,11 +61,11 @@ msgstr "" #: avatar.php:64 msgid "Unknown filetype" -msgstr "" +msgstr "Ukjend filtype" #: avatar.php:69 msgid "Invalid image" -msgstr "" +msgstr "Ugyldig bilete" #: defaults.php:35 msgid "web services under your control" @@ -166,15 +166,15 @@ msgstr "Feil i autentisering" msgid "Token expired. Please reload page." msgstr "" -#: search/provider/file.php:17 search/provider/file.php:35 +#: search/provider/file.php:18 search/provider/file.php:36 msgid "Files" msgstr "Filer" -#: search/provider/file.php:26 search/provider/file.php:33 +#: search/provider/file.php:27 search/provider/file.php:34 msgid "Text" msgstr "Tekst" -#: search/provider/file.php:29 +#: search/provider/file.php:30 msgid "Images" msgstr "" diff --git a/l10n/nn_NO/settings.po b/l10n/nn_NO/settings.po index 6100216bbd..761b9f4627 100644 --- a/l10n/nn_NO/settings.po +++ b/l10n/nn_NO/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:45-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"PO-Revision-Date: 2013-09-24 08:30+0000\n" +"Last-Translator: unhammer \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -89,42 +89,42 @@ msgstr "Klarte ikkje oppdatera programmet." #: changepassword/controller.php:20 msgid "Wrong password" -msgstr "" +msgstr "Feil passord" #: changepassword/controller.php:42 msgid "No user supplied" -msgstr "" +msgstr "Ingen brukar gitt" #: changepassword/controller.php:74 msgid "" "Please provide an admin recovery password, otherwise all user data will be " "lost" -msgstr "" +msgstr "Ver venleg og gi eit admingjenopprettingspassord, elles vil all brukardata gå tapt." #: changepassword/controller.php:79 msgid "" "Wrong admin recovery password. Please check the password and try again." -msgstr "" +msgstr "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen." #: changepassword/controller.php:87 msgid "" "Back-end doesn't support password change, but the users encryption key was " "successfully updated." -msgstr "" +msgstr "Bakstykket støttar ikkje passordendring, men krypteringsnøkkelen til brukaren blei oppdatert." #: changepassword/controller.php:92 changepassword/controller.php:103 msgid "Unable to change password" -msgstr "" +msgstr "Klarte ikkje å endra passordet" #: js/apps.js:43 msgid "Update to {appversion}" msgstr "Oppdater til {appversion}" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "Slå av" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "Slå på" @@ -132,37 +132,37 @@ msgstr "Slå på" msgid "Please wait...." msgstr "Ver venleg og vent …" -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "Klarte ikkje å skru av programmet" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "Klarte ikkje å skru på programmet" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "Oppdaterer …" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "Feil ved oppdatering av app" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "Feil" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "Oppdater" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "Oppdatert" #: js/personal.js:220 msgid "Select a profile picture" -msgstr "" +msgstr "Vel eit profilbilete" #: js/personal.js:265 msgid "Decrypting files... Please wait, this can take some time." @@ -492,31 +492,31 @@ msgstr "Fyll inn e-postadressa di for å gjera passordgjenoppretting mogleg" #: templates/personal.php:86 msgid "Profile picture" -msgstr "" +msgstr "Profilbilete" #: templates/personal.php:90 msgid "Upload new" -msgstr "" +msgstr "Last opp ny" #: templates/personal.php:92 msgid "Select new from Files" -msgstr "" +msgstr "Vel ny frå Filer" #: templates/personal.php:93 msgid "Remove image" -msgstr "" +msgstr "Fjern bilete" #: templates/personal.php:94 msgid "Either png or jpg. Ideally square but you will be able to crop it." -msgstr "" +msgstr "Anten PNG eller JPG. Helst kvadratisk, men du får moglegheita til å beskjera det." #: templates/personal.php:97 msgid "Abort" -msgstr "" +msgstr "Avbryt" #: templates/personal.php:98 msgid "Choose as profile image" -msgstr "" +msgstr "Vel som profilbilete" #: templates/personal.php:106 templates/personal.php:107 msgid "Language" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index e3ee79caef..a57486f5ed 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -316,7 +316,7 @@ msgstr "" #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "" @@ -336,7 +336,7 @@ msgstr "" msgid "Share" msgstr "" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "" @@ -436,23 +436,23 @@ msgstr "" msgid "share" msgstr "" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "" -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index 6dd2e8281c..23d0cd0b17 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:51-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index 17a33f8792..44e17a2fcb 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:51-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index 5d1b69c53a..abdd985cfd 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index bc0fb489f7..34ed992660 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot index c0b82eeb69..45fa700a43 100644 --- a/l10n/templates/files_trashbin.pot +++ b/l10n/templates/files_trashbin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 42221b0028..2e73cce980 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index 15b4f1c6d0..0733e0c273 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:56-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index 4602bc52d6..66c00629bd 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:56-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -116,11 +116,11 @@ msgstr "" msgid "Update to {appversion}" msgstr "" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "" @@ -128,31 +128,31 @@ msgstr "" msgid "Please wait...." msgstr "" -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index c27848c366..919a39b405 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot index e23c0a1dc5..dfb732ed0c 100644 --- a/l10n/templates/user_webdavauth.pot +++ b/l10n/templates/user_webdavauth.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-22 12:54-0400\n" +"POT-Creation-Date: 2013-09-24 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lib/l10n/nn_NO.php b/lib/l10n/nn_NO.php index d5da8c6441..e8bf8dfdef 100644 --- a/lib/l10n/nn_NO.php +++ b/lib/l10n/nn_NO.php @@ -5,6 +5,8 @@ $TRANSLATIONS = array( "Settings" => "Innstillingar", "Users" => "Brukarar", "Admin" => "Administrer", +"Unknown filetype" => "Ukjend filtype", +"Invalid image" => "Ugyldig bilete", "web services under your control" => "Vev tjenester under din kontroll", "Authentication error" => "Feil i autentisering", "Files" => "Filer", diff --git a/settings/l10n/da.php b/settings/l10n/da.php index 9872d3f5e0..fcff9dbcfd 100644 --- a/settings/l10n/da.php +++ b/settings/l10n/da.php @@ -16,6 +16,11 @@ $TRANSLATIONS = array( "Unable to add user to group %s" => "Brugeren kan ikke tilføjes til gruppen %s", "Unable to remove user from group %s" => "Brugeren kan ikke fjernes fra gruppen %s", "Couldn't update app." => "Kunne ikke opdatere app'en.", +"Wrong password" => "Forkert kodeord", +"No user supplied" => "Intet brugernavn givet", +"Please provide an admin recovery password, otherwise all user data will be lost" => "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt", +"Wrong admin recovery password. Please check the password and try again." => "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.", +"Back-end doesn't support password change, but the users encryption key was successfully updated." => "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnøgle blev opdateret.", "Update to {appversion}" => "Opdatér til {appversion}", "Disable" => "Deaktiver", "Enable" => "Aktiver", diff --git a/settings/l10n/nn_NO.php b/settings/l10n/nn_NO.php index 822a17e783..9eb31a887b 100644 --- a/settings/l10n/nn_NO.php +++ b/settings/l10n/nn_NO.php @@ -16,6 +16,12 @@ $TRANSLATIONS = array( "Unable to add user to group %s" => "Klarte ikkje leggja til brukaren til gruppa %s", "Unable to remove user from group %s" => "Klarte ikkje fjerna brukaren frå gruppa %s", "Couldn't update app." => "Klarte ikkje oppdatera programmet.", +"Wrong password" => "Feil passord", +"No user supplied" => "Ingen brukar gitt", +"Please provide an admin recovery password, otherwise all user data will be lost" => "Ver venleg og gi eit admingjenopprettingspassord, elles vil all brukardata gå tapt.", +"Wrong admin recovery password. Please check the password and try again." => "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.", +"Back-end doesn't support password change, but the users encryption key was successfully updated." => "Bakstykket støttar ikkje passordendring, men krypteringsnøkkelen til brukaren blei oppdatert.", +"Unable to change password" => "Klarte ikkje å endra passordet", "Update to {appversion}" => "Oppdater til {appversion}", "Disable" => "Slå av", "Enable" => "Slå på", @@ -27,6 +33,7 @@ $TRANSLATIONS = array( "Error" => "Feil", "Update" => "Oppdater", "Updated" => "Oppdatert", +"Select a profile picture" => "Vel eit profilbilete", "Decrypting files... Please wait, this can take some time." => "Dekrypterer filer … Ver venleg og vent, dette kan ta ei stund.", "Saving..." => "Lagrar …", "deleted" => "sletta", @@ -100,6 +107,13 @@ $TRANSLATIONS = array( "Email" => "E-post", "Your email address" => "Di epost-adresse", "Fill in an email address to enable password recovery" => "Fyll inn e-postadressa di for å gjera passordgjenoppretting mogleg", +"Profile picture" => "Profilbilete", +"Upload new" => "Last opp ny", +"Select new from Files" => "Vel ny frå Filer", +"Remove image" => "Fjern bilete", +"Either png or jpg. Ideally square but you will be able to crop it." => "Anten PNG eller JPG. Helst kvadratisk, men du får moglegheita til å beskjera det.", +"Abort" => "Avbryt", +"Choose as profile image" => "Vel som profilbilete", "Language" => "Språk", "Help translate" => "Hjelp oss å omsetja", "WebDAV" => "WebDAV", From 9e4fe103291133ea78427af18693d93bd78d2bd0 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Wed, 25 Sep 2013 10:20:40 +0200 Subject: [PATCH 23/46] add test for txt blacklist --- tests/lib/preview.php | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/lib/preview.php b/tests/lib/preview.php index bebdc12b50..c40b2d03ef 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -92,6 +92,44 @@ class Preview extends \PHPUnit_Framework_TestCase { $this->assertEquals($image->height(), $maxY); } + public function testTxtBlacklist() { + $user = $this->initFS(); + + $x = 32; + $y = 32; + + $txt = 'random text file'; + $ics = file_get_contents(__DIR__ . '/../data/testcal.ics'); + $vcf = file_get_contents(__DIR__ . '/../data/testcontact.vcf'); + + $rootView = new \OC\Files\View(''); + $rootView->mkdir('/'.$user); + $rootView->mkdir('/'.$user.'/files'); + + $toTest = array('txt', + 'ics', + 'vcf'); + + foreach($toTest as $test) { + $sample = '/'.$user.'/files/test.'.$test; + $rootView->file_put_contents($sample, ${$test}); + $preview = new \OC\Preview($user, 'files/', 'test.'.$test, $x, $y); + $image = $preview->getPreview(); + $resource = $image->resource(); + + //http://stackoverflow.com/questions/5702953/imagecolorat-and-transparency + $colorIndex = imagecolorat($resource, 1, 1); + $colorInfo = imagecolorsforindex($resource, $colorIndex); + $isTransparent = ($colorInfo['alpha'] === 127); + + if($test === 'txt') { + $this->assertEquals($isTransparent, false); + } else { + $this->assertEquals($isTransparent, true); + } + } + } + private function initFS() { if(\OC\Files\Filesystem::getView()){ $user = \OC_User::getUser(); From 24eb41548eb6fc08849619b9725cbb61679f04f6 Mon Sep 17 00:00:00 2001 From: kondou Date: Wed, 25 Sep 2013 12:57:41 +0200 Subject: [PATCH 24/46] Make it possible to have a different color than the username for placeholder --- core/js/placeholder.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/js/placeholder.js b/core/js/placeholder.js index d63730547d..3c7b11ef46 100644 --- a/core/js/placeholder.js +++ b/core/js/placeholder.js @@ -36,10 +36,22 @@ * *
T
* + * You may also call it like this, to have a different background, than the seed: + * + * $('#albumart').placeholder('The Album Title', 'Album Title'); + * + * Resulting in: + * + *
A
+ * */ (function ($) { - $.fn.placeholder = function(seed) { + $.fn.placeholder = function(seed, text) { + if (typeof(text) === "undefined") { + text = seed; + } + var hash = md5(seed), maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16), hue = parseInt(hash, 16) / maxRange * 256, @@ -56,7 +68,7 @@ this.css('font-size', (height * 0.55) + 'px'); if(seed !== null && seed.length) { - this.html(seed[0].toUpperCase()); + this.html(text[0].toUpperCase()); } }; }(jQuery)); From 0486dc24adef5caf4582f54da00b8d1ee251aae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 25 Sep 2013 14:41:03 +0200 Subject: [PATCH 25/46] collect coverage for all databases again - ci.owncloud.org has more RAM available --- autotest.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/autotest.sh b/autotest.sh index a343f6a25a..83f184fa9c 100755 --- a/autotest.sh +++ b/autotest.sh @@ -142,12 +142,7 @@ EOF rm -rf coverage-html-$1 mkdir coverage-html-$1 php -f enable_all.php - if [ "$1" == "sqlite" ] ; then - # coverage only with sqlite - causes segfault on ci.tmit.eu - reason unknown - phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3 - else - phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml $2 $3 - fi + phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3 } # From 1c976a7c9bd27f1fe3f2b1834fd3cbdf5f235bc1 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 25 Sep 2013 15:03:22 +0200 Subject: [PATCH 26/46] manager checkPassword now returns User object, adjust internal user class accordingly. --- lib/user.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/user.php b/lib/user.php index da774ff86f..b5fd418acd 100644 --- a/lib/user.php +++ b/lib/user.php @@ -419,7 +419,7 @@ class OC_User { $manager = self::getManager(); $username = $manager->checkPassword($uid, $password); if ($username !== false) { - return $manager->get($username)->getUID(); + return $username->getUID(); } return false; } From 5e7a7b3f6187365c60e63dfed8699e525be45a0b Mon Sep 17 00:00:00 2001 From: kondou Date: Wed, 25 Sep 2013 17:19:38 +0200 Subject: [PATCH 27/46] Shorten optional text-argument processing --- core/js/placeholder.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/js/placeholder.js b/core/js/placeholder.js index 3c7b11ef46..ee2a8ce84c 100644 --- a/core/js/placeholder.js +++ b/core/js/placeholder.js @@ -48,9 +48,8 @@ (function ($) { $.fn.placeholder = function(seed, text) { - if (typeof(text) === "undefined") { - text = seed; - } + // set optional argument "text" to value of "seed" if undefined + text = text || seed; var hash = md5(seed), maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16), From 71bbb2ea8bd76697cc1785fe4324b54973c410b9 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 25 Sep 2013 17:44:05 +0200 Subject: [PATCH 28/46] check if key exists before reading it --- apps/files_encryption/lib/keymanager.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php index 9be3dda7ce..7143fcff0f 100755 --- a/apps/files_encryption/lib/keymanager.php +++ b/apps/files_encryption/lib/keymanager.php @@ -40,11 +40,14 @@ class Keymanager { public static function getPrivateKey(\OC_FilesystemView $view, $user) { $path = '/' . $user . '/' . 'files_encryption' . '/' . $user . '.private.key'; + $key = false; $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - $key = $view->file_get_contents($path); + if ($view->file_exists($path)) { + $key = $view->file_get_contents($path); + } \OC_FileProxy::$enabled = $proxyStatus; From b5ac672864b6d7ac892de0b4c36debd61e4a1588 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 25 Sep 2013 19:15:27 +0200 Subject: [PATCH 29/46] Missing Test for the previous commit --- tests/lib/user.php | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/lib/user.php diff --git a/tests/lib/user.php b/tests/lib/user.php new file mode 100644 index 0000000000..66c7f3f0d7 --- /dev/null +++ b/tests/lib/user.php @@ -0,0 +1,43 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +use OC\Hooks\PublicEmitter; + +class User extends \PHPUnit_Framework_TestCase { + + public function testCheckPassword() { + /** + * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend + */ + $backend = $this->getMock('\OC_User_Dummy'); + $backend->expects($this->once()) + ->method('checkPassword') + ->with($this->equalTo('foo'), $this->equalTo('bar')) + ->will($this->returnValue('foo')); + + $backend->expects($this->any()) + ->method('implementsActions') + ->will($this->returnCallback(function ($actions) { + if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) { + return true; + } else { + return false; + } + })); + + $manager = \OC_User::getManager(); + $manager->registerBackend($backend); + + $uid = \OC_User::checkPassword('foo', 'bar'); + $this->assertEquals($uid, 'foo'); + } + +} \ No newline at end of file From 0b98427536d9ff951577273af096c0a4ab219a83 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 25 Sep 2013 19:23:07 +0200 Subject: [PATCH 30/46] fix check if app is enabled --- apps/files_encryption/lib/proxy.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index eb7ba60cb9..4ec810a519 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -50,9 +50,8 @@ class Proxy extends \OC_FileProxy { private static function shouldEncrypt($path) { if (is_null(self::$enableEncryption)) { - if ( - \OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true') === 'true' + \OCP\App::isEnabled('files_encryption') === true && Crypt::mode() === 'server' ) { @@ -200,7 +199,7 @@ class Proxy extends \OC_FileProxy { */ public function preUnlink($path) { - // let the trashbin handle this + // let the trashbin handle this if (\OCP\App::isEnabled('files_trashbin')) { return true; } @@ -291,7 +290,7 @@ class Proxy extends \OC_FileProxy { // Close the original encrypted file fclose($result); - // Open the file using the crypto stream wrapper + // Open the file using the crypto stream wrapper // protocol and let it do the decryption work instead $result = fopen('crypt://' . $path, $meta['mode']); From b11d8799c17b24e7823de8d8dc171fb78f9b8442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Thu, 26 Sep 2013 10:50:15 +0200 Subject: [PATCH 31/46] adding unit tests for ObjectTree::move() --- lib/connector/sabre/objecttree.php | 44 +++++++--- tests/lib/connector/sabre/objecttree.php | 104 +++++++++++++++++++++++ 2 files changed, 134 insertions(+), 14 deletions(-) create mode 100644 tests/lib/connector/sabre/objecttree.php diff --git a/lib/connector/sabre/objecttree.php b/lib/connector/sabre/objecttree.php index 7accf98c8e..80c3840b99 100644 --- a/lib/connector/sabre/objecttree.php +++ b/lib/connector/sabre/objecttree.php @@ -11,6 +11,14 @@ namespace OC\Connector\Sabre; use OC\Files\Filesystem; class ObjectTree extends \Sabre_DAV_ObjectTree { + + /** + * keep this public to allow mock injection during unit test + * + * @var \OC\Files\View + */ + public $fileView; + /** * Returns the INode object for the requested path * @@ -21,14 +29,16 @@ class ObjectTree extends \Sabre_DAV_ObjectTree { public function getNodeForPath($path) { $path = trim($path, '/'); - if (isset($this->cache[$path])) return $this->cache[$path]; + if (isset($this->cache[$path])) { + return $this->cache[$path]; + } // Is it the root node? if (!strlen($path)) { return $this->rootNode; } - $info = Filesystem::getFileInfo($path); + $info = $this->getFileView()->getFileInfo($path); if (!$info) { throw new \Sabre_DAV_Exception_NotFound('File with name ' . $path . ' could not be located'); @@ -65,25 +75,21 @@ class ObjectTree extends \Sabre_DAV_ObjectTree { list($destinationDir,) = \Sabre_DAV_URLUtil::splitPath($destinationPath); // check update privileges - if ($sourceDir === $destinationDir) { - // for renaming it's enough to check if the sourcePath can be updated - if (!\OC\Files\Filesystem::isUpdatable($sourcePath)) { - throw new \Sabre_DAV_Exception_Forbidden(); - } - } else { + $fs = $this->getFileView(); + if (!$fs->isUpdatable($sourcePath)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + if ($sourceDir !== $destinationDir) { // for a full move we need update privileges on sourcePath and sourceDir as well as destinationDir - if (!\OC\Files\Filesystem::isUpdatable($sourcePath)) { + if (!$fs->isUpdatable($sourceDir)) { throw new \Sabre_DAV_Exception_Forbidden(); } - if (!\OC\Files\Filesystem::isUpdatable($sourceDir)) { - throw new \Sabre_DAV_Exception_Forbidden(); - } - if (!\OC\Files\Filesystem::isUpdatable($destinationDir)) { + if (!$fs->isUpdatable($destinationDir)) { throw new \Sabre_DAV_Exception_Forbidden(); } } - $renameOkay = Filesystem::rename($sourcePath, $destinationPath); + $renameOkay = $fs->rename($sourcePath, $destinationPath); if (!$renameOkay) { throw new \Sabre_DAV_Exception_Forbidden(''); } @@ -123,4 +129,14 @@ class ObjectTree extends \Sabre_DAV_ObjectTree { list($destinationDir,) = \Sabre_DAV_URLUtil::splitPath($destination); $this->markDirty($destinationDir); } + + /** + * @return \OC\Files\View + */ + public function getFileView() { + if (is_null($this->fileView)) { + $this->fileView = \OC\Files\Filesystem::getView(); + } + return $this->fileView; + } } diff --git a/tests/lib/connector/sabre/objecttree.php b/tests/lib/connector/sabre/objecttree.php new file mode 100644 index 0000000000..c920441c8b --- /dev/null +++ b/tests/lib/connector/sabre/objecttree.php @@ -0,0 +1,104 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test\OC\Connector\Sabre; + + +use OC_Connector_Sabre_Directory; +use PHPUnit_Framework_TestCase; +use Sabre_DAV_Exception_Forbidden; + +class TestDoubleFileView extends \OC\Files\View{ + + public function __construct($updatables, $canRename = true) { + $this->updatables = $updatables; + $this->canRename = $canRename; + } + + public function isUpdatable($path) { + return $this->updatables[$path]; + } + + public function rename($path1, $path2) { + return $this->canRename; + } +} + +class ObjectTree extends PHPUnit_Framework_TestCase { + + /** + * @dataProvider moveFailedProvider + * @expectedException Sabre_DAV_Exception_Forbidden + */ + public function testMoveFailed($source, $dest, $updatables) { + $rootDir = new OC_Connector_Sabre_Directory(''); + $objectTree = $this->getMock('\OC\Connector\Sabre\ObjectTree', + array('nodeExists', 'getNodeForPath'), + array($rootDir)); + + $objectTree->expects($this->once()) + ->method('getNodeForPath') + ->with($this->identicalTo('a/b')) + ->will($this->returnValue(false)); + + /** @var $objectTree \OC\Connector\Sabre\ObjectTree */ + $objectTree->fileView = new TestDoubleFileView($updatables); + $objectTree->move($source, $dest); + } + + /** + * @dataProvider moveSuccessProvider + */ + public function testMoveSuccess($source, $dest, $updatables) { + $rootDir = new OC_Connector_Sabre_Directory(''); + $objectTree = $this->getMock('\OC\Connector\Sabre\ObjectTree', + array('nodeExists', 'getNodeForPath'), + array($rootDir)); + + $objectTree->expects($this->once()) + ->method('getNodeForPath') + ->with($this->identicalTo('a/b')) + ->will($this->returnValue(false)); + + /** @var $objectTree \OC\Connector\Sabre\ObjectTree */ + $objectTree->fileView = new TestDoubleFileView($updatables); + $objectTree->move($source, $dest); + $this->assertTrue(true); + } + + function moveFailedProvider() { + return array( + array('a/b', 'a/c', array('a' => false, 'a/b' => false, 'a/c' => false)), + array('a/b', 'b/b', array('a' => false, 'a/b' => false, 'b' => false, 'b/b' => false)), + array('a/b', 'b/b', array('a' => false, 'a/b' => true, 'b' => false, 'b/b' => false)), + array('a/b', 'b/b', array('a' => true, 'a/b' => true, 'b' => false, 'b/b' => false)), + ); + } + + function moveSuccessProvider() { + return array( + array('a/b', 'a/c', array('a' => false, 'a/b' => true, 'a/c' => false)), + array('a/b', 'b/b', array('a' => true, 'a/b' => true, 'b' => true, 'b/b' => false)), + ); + } + +// private function buildFileViewMock($updatables) { +// // mock filesysten +// $view = $this->getMock('\OC\Files\View', array('isUpdatable'), array(), '', FALSE); +// +// foreach ($updatables as $path => $updatable) { +// $view->expects($this->any()) +// ->method('isUpdatable') +// ->with($this->identicalTo($path)) +// ->will($this->returnValue($updatable)); +// } +// +// return $view; +// } + +} From d1b5d65622122b71dfb46cd5d1addf514552032a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Thu, 26 Sep 2013 12:02:06 +0200 Subject: [PATCH 32/46] run unit tests for apps as well --- tests/bootstrap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/bootstrap.php b/tests/bootstrap.php index fb667263e4..d273676f4c 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,7 +1,7 @@ Date: Thu, 26 Sep 2013 13:34:47 +0200 Subject: [PATCH 33/46] prelogin apps have to be loaded within setupBackend() otherwise required classes cannot be loaded --- lib/user.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/user.php b/lib/user.php index da774ff86f..62c2f318cc 100644 --- a/lib/user.php +++ b/lib/user.php @@ -177,6 +177,7 @@ class OC_User { * setup the configured backends in config.php */ public static function setupBackends() { + OC_App::loadApps(array('prelogin')); $backends = OC_Config::getValue('user_backends', array()); foreach ($backends as $i => $config) { $class = $config['class']; From f8933eaf922c82c369b48275510ad6920ac70b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Thu, 26 Sep 2013 14:03:04 +0200 Subject: [PATCH 34/46] Remove $RUNTIME_NOAPPS - setting to false was not enough --- tests/bootstrap.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/bootstrap.php b/tests/bootstrap.php index d273676f4c..581cfcff9f 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,7 +1,5 @@ Date: Thu, 26 Sep 2013 19:05:47 +0200 Subject: [PATCH 35/46] phpunit.xml: Port code coverage excludes from autotest to dist. --- tests/phpunit.xml.dist | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/phpunit.xml.dist b/tests/phpunit.xml.dist index 25dfc64cfe..71a4ff2762 100644 --- a/tests/phpunit.xml.dist +++ b/tests/phpunit.xml.dist @@ -11,7 +11,21 @@ .. ../3rdparty + ../apps/files/l10n + ../apps/files_external/l10n + ../apps/files_external/3rdparty + ../apps/files_versions/l10n + ../apps/files_encryption/l10n + ../apps/files_encryption/3rdparty + ../apps/files_sharing/l10n + ../apps/files_trashbin/l10n + ../apps/user_ldap/l10n + ../apps/user_webdavauth/l10n ../lib/MDB2 + ../lib/l10n + ../core/l10n + ../settings/l10n + ../tests From f31d31844e0a498ccb0364fa618d55b33cc30236 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 27 Sep 2013 00:02:30 -0400 Subject: [PATCH 36/46] [tx-robot] updated from transifex --- apps/files/l10n/el.php | 1 + apps/files/l10n/hu_HU.php | 13 ++++++++--- apps/files_trashbin/l10n/hu_HU.php | 4 ++-- apps/user_ldap/l10n/hu_HU.php | 8 +++++++ core/l10n/cs_CZ.php | 1 + core/l10n/da.php | 2 ++ core/l10n/fr.php | 5 +++++ l10n/cs_CZ/core.po | 22 +++++++++---------- l10n/da/core.po | 22 +++++++++---------- l10n/da/lib.po | 18 +++++++-------- l10n/da/settings.po | 6 ++--- l10n/el/files.po | 11 +++++----- l10n/fr/core.po | 16 +++++++------- l10n/fr/settings.po | 30 ++++++++++++------------- l10n/hu_HU/files.po | 34 ++++++++++++++--------------- l10n/hu_HU/files_trashbin.po | 30 ++++++++++++------------- l10n/hu_HU/user_ldap.po | 22 +++++++++---------- l10n/templates/core.pot | 2 +- l10n/templates/files.pot | 2 +- l10n/templates/files_encryption.pot | 2 +- l10n/templates/files_external.pot | 2 +- l10n/templates/files_sharing.pot | 2 +- l10n/templates/files_trashbin.pot | 2 +- l10n/templates/files_versions.pot | 2 +- l10n/templates/lib.pot | 2 +- l10n/templates/settings.pot | 2 +- l10n/templates/user_ldap.pot | 2 +- l10n/templates/user_webdavauth.pot | 2 +- lib/l10n/da.php | 3 +++ settings/l10n/da.php | 1 + settings/l10n/fr.php | 3 +++ 31 files changed, 153 insertions(+), 121 deletions(-) diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php index 37a61c6b95..de524f4dd9 100644 --- a/apps/files/l10n/el.php +++ b/apps/files/l10n/el.php @@ -41,6 +41,7 @@ $TRANSLATIONS = array( "Your storage is almost full ({usedSpacePercent}%)" => "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Η κρυπτογράφηση απενεργοποιήθηκε, αλλά τα αρχεία σας είναι ακόμα κρυπτογραφημένα. Παρακαλούμε απενεργοποιήσετε την κρυπτογράφηση αρχείων από τις προσωπικές σας ρυθμίσεις", "Your download is being prepared. This might take some time if the files are big." => "Η λήψη προετοιμάζεται. Αυτό μπορεί να πάρει ώρα εάν τα αρχεία έχουν μεγάλο μέγεθος.", +"Error moving file" => "Σφάλμα κατά τη μετακίνηση του αρχείου", "Name" => "Όνομα", "Size" => "Μέγεθος", "Modified" => "Τροποποιήθηκε", diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php index 5d313ff248..4dd6a13d32 100644 --- a/apps/files/l10n/hu_HU.php +++ b/apps/files/l10n/hu_HU.php @@ -13,10 +13,14 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Hiányzik egy ideiglenes mappa", "Failed to write to disk" => "Nem sikerült a lemezre történő írás", "Not enough storage available" => "Nincs elég szabad hely.", +"Upload failed. Could not get file info." => "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el.", +"Upload failed. Could not find uploaded file" => "A feltöltés nem sikerült. Nem található a feltöltendő állomány.", "Invalid directory." => "Érvénytelen mappa.", "Files" => "Fájlok", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll.", "Not enough space available" => "Nincs elég szabad hely", "Upload cancelled." => "A feltöltést megszakítottuk.", +"Could not get result from server." => "A kiszolgálótól nem kapható meg az eredmény.", "File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.", "URL cannot be empty." => "Az URL nem lehet semmi.", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Érvénytelen mappanév. A 'Shared' az ownCloud számára fenntartott elnevezés", @@ -31,15 +35,18 @@ $TRANSLATIONS = array( "cancel" => "mégse", "replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}", "undo" => "visszavonás", -"_%n folder_::_%n folders_" => array("",""), -"_%n file_::_%n files_" => array("",""), -"_Uploading %n file_::_Uploading %n files_" => array("",""), +"_%n folder_::_%n folders_" => array("%n mappa","%n mappa"), +"_%n file_::_%n files_" => array("%n állomány","%n állomány"), +"{dirs} and {files}" => "{dirs} és {files}", +"_Uploading %n file_::_Uploading %n files_" => array("%n állomány feltöltése","%n állomány feltöltése"), "'.' is an invalid file name." => "'.' fájlnév érvénytelen.", "File name cannot be empty." => "A fájlnév nem lehet semmi.", "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'", "Your storage is full, files can not be updated or synced anymore!" => "A tároló tele van, a fájlok nem frissíthetőek vagy szinkronizálhatóak a jövőben.", "Your storage is almost full ({usedSpacePercent}%)" => "A tároló majdnem tele van ({usedSpacePercent}%)", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "A titkosítási funkciót kikapcsolták, de az Ön állományai még mindig titkosított állapotban vannak. A személyes beállításoknál tudja a titkosítást feloldani.", "Your download is being prepared. This might take some time if the files are big." => "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok.", +"Error moving file" => "Az állomány áthelyezése nem sikerült.", "Name" => "Név", "Size" => "Méret", "Modified" => "Módosítva", diff --git a/apps/files_trashbin/l10n/hu_HU.php b/apps/files_trashbin/l10n/hu_HU.php index aac6cf7800..766ddcbce4 100644 --- a/apps/files_trashbin/l10n/hu_HU.php +++ b/apps/files_trashbin/l10n/hu_HU.php @@ -8,8 +8,8 @@ $TRANSLATIONS = array( "Delete permanently" => "Végleges törlés", "Name" => "Név", "Deleted" => "Törölve", -"_%n folder_::_%n folders_" => array("",""), -"_%n file_::_%n files_" => array("",""), +"_%n folder_::_%n folders_" => array("","%n mappa"), +"_%n file_::_%n files_" => array("","%n állomány"), "restored" => "visszaállítva", "Nothing in here. Your trash bin is empty!" => "Itt nincs semmi. Az Ön szemetes mappája üres!", "Restore" => "Visszaállítás", diff --git a/apps/user_ldap/l10n/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php index 6961869f3e..b41cf98e2b 100644 --- a/apps/user_ldap/l10n/hu_HU.php +++ b/apps/user_ldap/l10n/hu_HU.php @@ -16,6 +16,7 @@ $TRANSLATIONS = array( "Connection test failed" => "A kapcsolatellenőrzés eredménye: nem sikerült", "Do you really want to delete the current Server Configuration?" => "Tényleg törölni szeretné a kiszolgáló beállításait?", "Confirm Deletion" => "A törlés megerősítése", +"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Figyelem: a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket.", "Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Figyelmeztetés: Az LDAP PHP modul nincs telepítve, ezért ez az alrendszer nem fog működni. Kérje meg a rendszergazdát, hogy telepítse!", "Server configuration" => "A kiszolgálók beállításai", "Add Server Configuration" => "Új kiszolgáló beállításának hozzáadása", @@ -29,8 +30,11 @@ $TRANSLATIONS = array( "Password" => "Jelszó", "For anonymous access, leave DN and Password empty." => "Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!", "User Login Filter" => "Szűrő a bejelentkezéshez", +"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" => "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\"", "User List Filter" => "A felhasználók szűrője", +"Defines the filter to apply, when retrieving users (no placeholders). Example: \"objectClass=person\"" => "Ez a szűrő érvényes a felhasználók listázásakor (nincs helyettesíthető változó). Például: \"objectClass=person\"", "Group Filter" => "A csoportok szűrője", +"Defines the filter to apply, when retrieving groups (no placeholders). Example: \"objectClass=posixGroup\"" => "Ez a szűrő érvényes a csoportok listázásakor (nincs helyettesíthető változó). Például: \"objectClass=posixGroup\"", "Connection Settings" => "Kapcsolati beállítások", "Configuration Active" => "A beállítás aktív", "When unchecked, this configuration will be skipped." => "Ha nincs kipipálva, ez a beállítás kihagyódik.", @@ -39,19 +43,23 @@ $TRANSLATIONS = array( "Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Adjon meg egy opcionális másodkiszolgálót. Ez a fő LDAP/AD kiszolgáló szinkron másolata (replikája) kell legyen.", "Backup (Replica) Port" => "A másodkiszolgáló (replika) portszáma", "Disable Main Server" => "A fő szerver kihagyása", +"Only connect to the replica server." => "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk.", "Use TLS" => "Használjunk TLS-t", "Do not use it additionally for LDAPS connections, it will fail." => "LDAPS kapcsolatok esetén ne kapcsoljuk be, mert nem fog működni.", "Case insensitve LDAP server (Windows)" => "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)", "Turn off SSL certificate validation." => "Ne ellenőrizzük az SSL-tanúsítvány érvényességét", +"Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!", "Cache Time-To-Live" => "A gyorsítótár tárolási időtartama", "in seconds. A change empties the cache." => "másodpercben. A változtatás törli a cache tartalmát.", "Directory Settings" => "Címtár beállítások", "User Display Name Field" => "A felhasználónév mezője", +"The LDAP attribute to use to generate the user's display name." => "Ebből az LDAP attribútumból képződik a felhasználó megjelenítendő neve.", "Base User Tree" => "A felhasználói fa gyökere", "One User Base DN per line" => "Soronként egy felhasználói fa gyökerét adhatjuk meg", "User Search Attributes" => "A felhasználók lekérdezett attribútumai", "Optional; one attribute per line" => "Nem kötelező megadni, soronként egy attribútum", "Group Display Name Field" => "A csoport nevének mezője", +"The LDAP attribute to use to generate the groups's display name." => "Ebből az LDAP attribútumból képződik a csoport megjelenítendő neve.", "Base Group Tree" => "A csoportfa gyökere", "One Group Base DN per line" => "Soronként egy csoportfa gyökerét adhatjuk meg", "Group Search Attributes" => "A csoportok lekérdezett attribútumai", diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php index 449a49f568..abed4a0fda 100644 --- a/core/l10n/cs_CZ.php +++ b/core/l10n/cs_CZ.php @@ -59,6 +59,7 @@ $TRANSLATIONS = array( "Ok" => "Ok", "Error loading message template: {error}" => "Chyba při nahrávání šablony zprávy: {error}", "_{count} file conflict_::_{count} file conflicts_" => array("","",""), +"One file conflict" => "Jeden konflikt souboru", "Cancel" => "Zrušit", "The object type is not specified." => "Není určen typ objektu.", "Error" => "Chyba", diff --git a/core/l10n/da.php b/core/l10n/da.php index e2399fdc5c..8938f2107f 100644 --- a/core/l10n/da.php +++ b/core/l10n/da.php @@ -16,6 +16,8 @@ $TRANSLATIONS = array( "Error adding %s to favorites." => "Fejl ved tilføjelse af %s til favoritter.", "No categories selected for deletion." => "Ingen kategorier valgt", "Error removing %s from favorites." => "Fejl ved fjernelse af %s fra favoritter.", +"Unknown filetype" => "Ukendt filtype", +"Invalid image" => "Ugyldigt billede", "Sunday" => "Søndag", "Monday" => "Mandag", "Tuesday" => "Tirsdag", diff --git a/core/l10n/fr.php b/core/l10n/fr.php index 29489e86b7..e7cb75e53f 100644 --- a/core/l10n/fr.php +++ b/core/l10n/fr.php @@ -19,6 +19,8 @@ $TRANSLATIONS = array( "No image or file provided" => "Aucune image ou fichier fourni", "Unknown filetype" => "Type de fichier inconnu", "Invalid image" => "Image invalide", +"No temporary profile picture available, try again" => "Aucune image temporaire disponible pour le profil. Essayez à nouveau.", +"No crop data provided" => "Aucune donnée de culture fournie", "Sunday" => "Dimanche", "Monday" => "Lundi", "Tuesday" => "Mardi", @@ -61,7 +63,10 @@ $TRANSLATIONS = array( "Which files do you want to keep?" => "Quels fichiers désirez-vous garder ?", "If you select both versions, the copied file will have a number added to its name." => "Si vous sélectionnez les deux versions, un nombre sera ajouté au nom du fichier copié.", "Cancel" => "Annuler", +"Continue" => "Poursuivre", +"(all selected)" => "(tous sélectionnés)", "({count} selected)" => "({count} sélectionnés)", +"Error loading file exists template" => "Erreur de chargement du modèle de fichier existant", "The object type is not specified." => "Le type d'objet n'est pas spécifié.", "Error" => "Erreur", "The app name is not specified." => "Le nom de l'application n'est pas spécifié.", diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po index 61a7e861b2..40b693b988 100644 --- a/l10n/cs_CZ/core.po +++ b/l10n/cs_CZ/core.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-25 10:50+0000\n" +"Last-Translator: pstast \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -284,7 +284,7 @@ msgstr[2] "" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "Jeden konflikt souboru" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" @@ -325,7 +325,7 @@ msgstr "Není určen typ objektu." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Chyba" @@ -345,7 +345,7 @@ msgstr "Sdílené" msgid "Share" msgstr "Sdílet" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Chyba při sdílení" @@ -445,23 +445,23 @@ msgstr "smazat" msgid "share" msgstr "sdílet" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Chráněno heslem" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Chyba při odstraňování data vypršení platnosti" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Chyba při nastavení data vypršení platnosti" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Odesílám ..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "E-mail odeslán" diff --git a/l10n/da/core.po b/l10n/da/core.po index 690bb46c21..89530e0745 100644 --- a/l10n/da/core.po +++ b/l10n/da/core.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 17:20+0000\n" "Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" @@ -100,11 +100,11 @@ msgstr "" #: avatar/controller.php:81 msgid "Unknown filetype" -msgstr "" +msgstr "Ukendt filtype" #: avatar/controller.php:85 msgid "Invalid image" -msgstr "" +msgstr "Ugyldigt billede" #: avatar/controller.php:115 avatar/controller.php:142 msgid "No temporary profile picture available, try again" @@ -319,7 +319,7 @@ msgstr "Objekttypen er ikke angivet." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Fejl" @@ -339,7 +339,7 @@ msgstr "Delt" msgid "Share" msgstr "Del" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Fejl under deling" @@ -439,23 +439,23 @@ msgstr "slet" msgid "share" msgstr "del" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Beskyttet med adgangskode" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Fejl ved fjernelse af udløbsdato" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Fejl under sætning af udløbsdato" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Sender ..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "E-mail afsendt" diff --git a/l10n/da/lib.po b/l10n/da/lib.po index 0bacfcf5e8..7d01d7a969 100644 --- a/l10n/da/lib.po +++ b/l10n/da/lib.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-16 11:33-0400\n" -"PO-Revision-Date: 2013-09-16 15:34+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 17:20+0000\n" +"Last-Translator: Sappe\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -58,15 +58,15 @@ msgstr "Upgradering af \"%s\" fejlede" #: avatar.php:56 msgid "Custom profile pictures don't work with encryption yet" -msgstr "" +msgstr "Personligt profilbillede virker endnu ikke sammen med kryptering" #: avatar.php:64 msgid "Unknown filetype" -msgstr "" +msgstr "Ukendt filtype" #: avatar.php:69 msgid "Invalid image" -msgstr "" +msgstr "Ugyldigt billede" #: defaults.php:35 msgid "web services under your control" @@ -167,15 +167,15 @@ msgstr "Adgangsfejl" msgid "Token expired. Please reload page." msgstr "Adgang er udløbet. Genindlæs siden." -#: search/provider/file.php:17 search/provider/file.php:35 +#: search/provider/file.php:18 search/provider/file.php:36 msgid "Files" msgstr "Filer" -#: search/provider/file.php:26 search/provider/file.php:33 +#: search/provider/file.php:27 search/provider/file.php:34 msgid "Text" msgstr "SMS" -#: search/provider/file.php:29 +#: search/provider/file.php:30 msgid "Images" msgstr "Billeder" diff --git a/l10n/da/settings.po b/l10n/da/settings.po index 7251a13d4f..e5f2b57e88 100644 --- a/l10n/da/settings.po +++ b/l10n/da/settings.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" -"PO-Revision-Date: 2013-09-24 16:59+0000\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 17:00+0000\n" "Last-Translator: Sappe\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" @@ -114,7 +114,7 @@ msgstr "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnø #: changepassword/controller.php:92 changepassword/controller.php:103 msgid "Unable to change password" -msgstr "" +msgstr "Kunne ikke ændre kodeord" #: js/apps.js:43 msgid "Update to {appversion}" diff --git a/l10n/el/files.po b/l10n/el/files.po index f6b7bcf82a..87c112acc6 100644 --- a/l10n/el/files.po +++ b/l10n/el/files.po @@ -5,14 +5,15 @@ # Translators: # Efstathios Iosifidis , 2013 # Efstathios Iosifidis , 2013 +# gtsamis , 2013 # frerisp , 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-25 12:10+0000\n" +"Last-Translator: gtsamis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -89,7 +90,7 @@ msgstr "" msgid "Invalid directory." msgstr "Μη έγκυρος φάκελος." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Αρχεία" @@ -224,7 +225,7 @@ msgstr "Η λήψη προετοιμάζεται. Αυτό μπορεί να π #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Σφάλμα κατά τη μετακίνηση του αρχείου" #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/fr/core.po b/l10n/fr/core.po index 4c7f6be045..bce932689a 100644 --- a/l10n/fr/core.po +++ b/l10n/fr/core.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" -"PO-Revision-Date: 2013-09-23 19:40+0000\n" -"Last-Translator: ogre_sympathique \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-26 15:10+0000\n" +"Last-Translator: Christophe Lherieau \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -110,11 +110,11 @@ msgstr "Image invalide" #: avatar/controller.php:115 avatar/controller.php:142 msgid "No temporary profile picture available, try again" -msgstr "" +msgstr "Aucune image temporaire disponible pour le profil. Essayez à nouveau." #: avatar/controller.php:135 msgid "No crop data provided" -msgstr "" +msgstr "Aucune donnée de culture fournie" #: js/config.php:32 msgid "Sunday" @@ -298,11 +298,11 @@ msgstr "Annuler" #: js/oc-dialogs.js:386 msgid "Continue" -msgstr "" +msgstr "Poursuivre" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "" +msgstr "(tous sélectionnés)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" @@ -310,7 +310,7 @@ msgstr "({count} sélectionnés)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" -msgstr "" +msgstr "Erreur de chargement du modèle de fichier existant" #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po index 529e2e8c35..21918cf68d 100644 --- a/l10n/fr/settings.po +++ b/l10n/fr/settings.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:45-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-26 15:00+0000\n" +"Last-Translator: Christophe Lherieau \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -102,18 +102,18 @@ msgstr "Aucun utilisateur fourni" msgid "" "Please provide an admin recovery password, otherwise all user data will be " "lost" -msgstr "" +msgstr "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues" #: changepassword/controller.php:79 msgid "" "Wrong admin recovery password. Please check the password and try again." -msgstr "" +msgstr "Mot de passe administrateur de récupération de données invalide. Veuillez vérifier le mot de passe et essayer à nouveau." #: changepassword/controller.php:87 msgid "" "Back-end doesn't support password change, but the users encryption key was " "successfully updated." -msgstr "" +msgstr "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement des utilisateurs a été mise à jour avec succès." #: changepassword/controller.php:92 changepassword/controller.php:103 msgid "Unable to change password" @@ -123,11 +123,11 @@ msgstr "Impossible de modifier le mot de passe" msgid "Update to {appversion}" msgstr "Mettre à jour vers {appversion}" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "Désactiver" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "Activer" @@ -135,31 +135,31 @@ msgstr "Activer" msgid "Please wait...." msgstr "Veuillez patienter…" -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "Erreur lors de la désactivation de l'application" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "Erreur lors de l'activation de l'application" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "Mise à jour..." -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "Erreur lors de la mise à jour de l'application" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "Erreur" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "Mettre à jour" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "Mise à jour effectuée avec succès" diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po index 51bd0806da..e61d77e5cb 100644 --- a/l10n/hu_HU/files.po +++ b/l10n/hu_HU/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 18:40+0000\n" +"Last-Translator: Laszlo Tornoci \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -77,23 +77,23 @@ msgstr "Nincs elég szabad hely." #: ajax/upload.php:120 ajax/upload.php:143 msgid "Upload failed. Could not get file info." -msgstr "" +msgstr "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el." #: ajax/upload.php:136 msgid "Upload failed. Could not find uploaded file" -msgstr "" +msgstr "A feltöltés nem sikerült. Nem található a feltöltendő állomány." #: ajax/upload.php:160 msgid "Invalid directory." msgstr "Érvénytelen mappa." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Fájlok" #: js/file-upload.js:244 msgid "Unable to upload {filename} as it is a directory or has 0 bytes" -msgstr "" +msgstr "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll." #: js/file-upload.js:255 msgid "Not enough space available" @@ -105,7 +105,7 @@ msgstr "A feltöltést megszakítottuk." #: js/file-upload.js:356 msgid "Could not get result from server." -msgstr "" +msgstr "A kiszolgálótól nem kapható meg az eredmény." #: js/file-upload.js:446 msgid "" @@ -167,24 +167,24 @@ msgstr "visszavonás" #: js/filelist.js:533 js/filelist.js:599 js/files.js:576 msgid "%n folder" msgid_plural "%n folders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n mappa" +msgstr[1] "%n mappa" #: js/filelist.js:534 js/filelist.js:600 js/files.js:582 msgid "%n file" msgid_plural "%n files" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n állomány" +msgstr[1] "%n állomány" #: js/filelist.js:541 msgid "{dirs} and {files}" -msgstr "" +msgstr "{dirs} és {files}" #: js/filelist.js:731 js/filelist.js:769 msgid "Uploading %n file" msgid_plural "Uploading %n files" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%n állomány feltöltése" +msgstr[1] "%n állomány feltöltése" #: js/files.js:25 msgid "'.' is an invalid file name." @@ -212,7 +212,7 @@ msgstr "A tároló majdnem tele van ({usedSpacePercent}%)" msgid "" "Encryption was disabled but your files are still encrypted. Please go to " "your personal settings to decrypt your files." -msgstr "" +msgstr "A titkosítási funkciót kikapcsolták, de az Ön állományai még mindig titkosított állapotban vannak. A személyes beállításoknál tudja a titkosítást feloldani." #: js/files.js:296 msgid "" @@ -222,7 +222,7 @@ msgstr "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a #: js/files.js:507 js/files.js:545 msgid "Error moving file" -msgstr "" +msgstr "Az állomány áthelyezése nem sikerült." #: js/files.js:558 templates/index.php:61 msgid "Name" diff --git a/l10n/hu_HU/files_trashbin.po b/l10n/hu_HU/files_trashbin.po index 4e5d7207c9..d0d6f3bc51 100644 --- a/l10n/hu_HU/files_trashbin.po +++ b/l10n/hu_HU/files_trashbin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-08-15 04:47-0400\n" -"PO-Revision-Date: 2013-08-15 08:48+0000\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 18:40+0000\n" "Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" @@ -28,43 +28,43 @@ msgstr "Nem sikerült %s végleges törlése" msgid "Couldn't restore %s" msgstr "Nem sikerült %s visszaállítása" -#: js/trash.js:7 js/trash.js:100 +#: js/trash.js:7 js/trash.js:102 msgid "perform restore operation" msgstr "a visszaállítás végrehajtása" -#: js/trash.js:20 js/trash.js:48 js/trash.js:118 js/trash.js:146 +#: js/trash.js:20 js/trash.js:49 js/trash.js:120 js/trash.js:148 msgid "Error" msgstr "Hiba" -#: js/trash.js:36 +#: js/trash.js:37 msgid "delete file permanently" msgstr "az állomány végleges törlése" -#: js/trash.js:127 +#: js/trash.js:129 msgid "Delete permanently" msgstr "Végleges törlés" -#: js/trash.js:182 templates/index.php:17 +#: js/trash.js:190 templates/index.php:21 msgid "Name" msgstr "Név" -#: js/trash.js:183 templates/index.php:27 +#: js/trash.js:191 templates/index.php:31 msgid "Deleted" msgstr "Törölve" -#: js/trash.js:191 +#: js/trash.js:199 msgid "%n folder" msgid_plural "%n folders" msgstr[0] "" -msgstr[1] "" +msgstr[1] "%n mappa" -#: js/trash.js:197 +#: js/trash.js:205 msgid "%n file" msgid_plural "%n files" msgstr[0] "" -msgstr[1] "" +msgstr[1] "%n állomány" -#: lib/trash.php:819 lib/trash.php:821 +#: lib/trashbin.php:814 lib/trashbin.php:816 msgid "restored" msgstr "visszaállítva" @@ -72,11 +72,11 @@ msgstr "visszaállítva" msgid "Nothing in here. Your trash bin is empty!" msgstr "Itt nincs semmi. Az Ön szemetes mappája üres!" -#: templates/index.php:20 templates/index.php:22 +#: templates/index.php:24 templates/index.php:26 msgid "Restore" msgstr "Visszaállítás" -#: templates/index.php:30 templates/index.php:31 +#: templates/index.php:34 templates/index.php:35 msgid "Delete" msgstr "Törlés" diff --git a/l10n/hu_HU/user_ldap.po b/l10n/hu_HU/user_ldap.po index 5b24b22ffd..87a2b14046 100644 --- a/l10n/hu_HU/user_ldap.po +++ b/l10n/hu_HU/user_ldap.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-07 04:40-0400\n" -"PO-Revision-Date: 2013-09-05 11:51+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"PO-Revision-Date: 2013-09-24 19:00+0000\n" +"Last-Translator: Laszlo Tornoci \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -92,7 +92,7 @@ msgid "" "Warning: Apps user_ldap and user_webdavauth are incompatible. You may" " experience unexpected behavior. Please ask your system administrator to " "disable one of them." -msgstr "" +msgstr "Figyelem: a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket." #: templates/settings.php:12 msgid "" @@ -157,7 +157,7 @@ msgstr "Szűrő a bejelentkezéshez" msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action. Example: \"uid=%%uid\"" -msgstr "" +msgstr "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\"" #: templates/settings.php:55 msgid "User List Filter" @@ -167,7 +167,7 @@ msgstr "A felhasználók szűrője" msgid "" "Defines the filter to apply, when retrieving users (no placeholders). " "Example: \"objectClass=person\"" -msgstr "" +msgstr "Ez a szűrő érvényes a felhasználók listázásakor (nincs helyettesíthető változó). Például: \"objectClass=person\"" #: templates/settings.php:59 msgid "Group Filter" @@ -177,7 +177,7 @@ msgstr "A csoportok szűrője" msgid "" "Defines the filter to apply, when retrieving groups (no placeholders). " "Example: \"objectClass=posixGroup\"" -msgstr "" +msgstr "Ez a szűrő érvényes a csoportok listázásakor (nincs helyettesíthető változó). Például: \"objectClass=posixGroup\"" #: templates/settings.php:66 msgid "Connection Settings" @@ -215,7 +215,7 @@ msgstr "A fő szerver kihagyása" #: templates/settings.php:72 msgid "Only connect to the replica server." -msgstr "" +msgstr "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk." #: templates/settings.php:73 msgid "Use TLS" @@ -238,7 +238,7 @@ msgstr "Ne ellenőrizzük az SSL-tanúsítvány érvényességét" msgid "" "Not recommended, use it for testing only! If connection only works with this" " option, import the LDAP server's SSL certificate in your %s server." -msgstr "" +msgstr "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!" #: templates/settings.php:76 msgid "Cache Time-To-Live" @@ -258,7 +258,7 @@ msgstr "A felhasználónév mezője" #: templates/settings.php:80 msgid "The LDAP attribute to use to generate the user's display name." -msgstr "" +msgstr "Ebből az LDAP attribútumból képződik a felhasználó megjelenítendő neve." #: templates/settings.php:81 msgid "Base User Tree" @@ -282,7 +282,7 @@ msgstr "A csoport nevének mezője" #: templates/settings.php:83 msgid "The LDAP attribute to use to generate the groups's display name." -msgstr "" +msgstr "Ebből az LDAP attribútumból képződik a csoport megjelenítendő neve." #: templates/settings.php:84 msgid "Base Group Tree" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index a57486f5ed..ba60bef371 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index 23d0cd0b17..601c663392 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index 44e17a2fcb..52e8feed91 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index abdd985cfd..a99fbf35c8 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index 34ed992660..10bee89c27 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot index 45fa700a43..cfc69f2b2e 100644 --- a/l10n/templates/files_trashbin.pot +++ b/l10n/templates/files_trashbin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 2e73cce980..284aca099f 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index 0733e0c273..0103b348e9 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index 66c00629bd..c14bb4c3e5 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index 919a39b405..822d615af9 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot index dfb732ed0c..3a0f240e93 100644 --- a/l10n/templates/user_webdavauth.pot +++ b/l10n/templates/user_webdavauth.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-24 12:58-0400\n" +"POT-Creation-Date: 2013-09-27 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lib/l10n/da.php b/lib/l10n/da.php index 2690314276..05a43f42ed 100644 --- a/lib/l10n/da.php +++ b/lib/l10n/da.php @@ -8,6 +8,9 @@ $TRANSLATIONS = array( "Users" => "Brugere", "Admin" => "Admin", "Failed to upgrade \"%s\"." => "Upgradering af \"%s\" fejlede", +"Custom profile pictures don't work with encryption yet" => "Personligt profilbillede virker endnu ikke sammen med kryptering", +"Unknown filetype" => "Ukendt filtype", +"Invalid image" => "Ugyldigt billede", "web services under your control" => "Webtjenester under din kontrol", "cannot open \"%s\"" => "Kan ikke åbne \"%s\"", "ZIP download is turned off." => "ZIP-download er slået fra.", diff --git a/settings/l10n/da.php b/settings/l10n/da.php index fcff9dbcfd..f86559d675 100644 --- a/settings/l10n/da.php +++ b/settings/l10n/da.php @@ -21,6 +21,7 @@ $TRANSLATIONS = array( "Please provide an admin recovery password, otherwise all user data will be lost" => "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt", "Wrong admin recovery password. Please check the password and try again." => "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.", "Back-end doesn't support password change, but the users encryption key was successfully updated." => "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnøgle blev opdateret.", +"Unable to change password" => "Kunne ikke ændre kodeord", "Update to {appversion}" => "Opdatér til {appversion}", "Disable" => "Deaktiver", "Enable" => "Aktiver", diff --git a/settings/l10n/fr.php b/settings/l10n/fr.php index 55c0e7fe9a..10a7d764bc 100644 --- a/settings/l10n/fr.php +++ b/settings/l10n/fr.php @@ -18,6 +18,9 @@ $TRANSLATIONS = array( "Couldn't update app." => "Impossible de mettre à jour l'application", "Wrong password" => "Mot de passe incorrect", "No user supplied" => "Aucun utilisateur fourni", +"Please provide an admin recovery password, otherwise all user data will be lost" => "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues", +"Wrong admin recovery password. Please check the password and try again." => "Mot de passe administrateur de récupération de données invalide. Veuillez vérifier le mot de passe et essayer à nouveau.", +"Back-end doesn't support password change, but the users encryption key was successfully updated." => "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement des utilisateurs a été mise à jour avec succès.", "Unable to change password" => "Impossible de modifier le mot de passe", "Update to {appversion}" => "Mettre à jour vers {appversion}", "Disable" => "Désactiver", From aa8a145ba8fe5a429698ac9c508704952a454358 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Fri, 27 Sep 2013 09:59:04 +0200 Subject: [PATCH 37/46] use dataProvider for txt blacklist test --- tests/lib/preview.php | 47 +++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/tests/lib/preview.php b/tests/lib/preview.php index c40b2d03ef..5dc4a93acc 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -95,9 +95,6 @@ class Preview extends \PHPUnit_Framework_TestCase { public function testTxtBlacklist() { $user = $this->initFS(); - $x = 32; - $y = 32; - $txt = 'random text file'; $ics = file_get_contents(__DIR__ . '/../data/testcal.ics'); $vcf = file_get_contents(__DIR__ . '/../data/testcontact.vcf'); @@ -106,28 +103,34 @@ class Preview extends \PHPUnit_Framework_TestCase { $rootView->mkdir('/'.$user); $rootView->mkdir('/'.$user.'/files'); - $toTest = array('txt', - 'ics', - 'vcf'); + return array( + array('txt', $txt, $user, $rootView, false), + array('ics', $ics, $user, $rootView, true), + array('vcf', $vcf, $user, $rootView, true), + ); + } - foreach($toTest as $test) { - $sample = '/'.$user.'/files/test.'.$test; - $rootView->file_put_contents($sample, ${$test}); - $preview = new \OC\Preview($user, 'files/', 'test.'.$test, $x, $y); - $image = $preview->getPreview(); - $resource = $image->resource(); + /** + * @dataProvider testTxtBlacklist + */ + public function testIsTransparent($test, $data, $user, $rootView, $expectedResult) { + $x = 32; + $y = 32; - //http://stackoverflow.com/questions/5702953/imagecolorat-and-transparency - $colorIndex = imagecolorat($resource, 1, 1); - $colorInfo = imagecolorsforindex($resource, $colorIndex); - $isTransparent = ($colorInfo['alpha'] === 127); + $sample = '/'.$user.'/files/test.'.$test; + $rootView->file_put_contents($sample, $data); + $preview = new \OC\Preview($user, 'files/', 'test.'.$test, $x, $y); + $image = $preview->getPreview(); + $resource = $image->resource(); - if($test === 'txt') { - $this->assertEquals($isTransparent, false); - } else { - $this->assertEquals($isTransparent, true); - } - } + //http://stackoverflow.com/questions/5702953/imagecolorat-and-transparency + $colorIndex = imagecolorat($resource, 1, 1); + $colorInfo = imagecolorsforindex($resource, $colorIndex); + $this->assertEquals( + $expectedResult, + $colorInfo['alpha'] === 127, + 'Failed asserting that only previews for text files are transparent.' + ); } private function initFS() { From 1b13101096493c0c8f02826e373af761fd5cfac6 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Fri, 27 Sep 2013 11:01:47 +0200 Subject: [PATCH 38/46] move fileView object initialization to testIsTransparent --- tests/lib/preview.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/lib/preview.php b/tests/lib/preview.php index 5dc4a93acc..98659a7e88 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -93,27 +93,27 @@ class Preview extends \PHPUnit_Framework_TestCase { } public function testTxtBlacklist() { - $user = $this->initFS(); - $txt = 'random text file'; $ics = file_get_contents(__DIR__ . '/../data/testcal.ics'); $vcf = file_get_contents(__DIR__ . '/../data/testcontact.vcf'); - $rootView = new \OC\Files\View(''); - $rootView->mkdir('/'.$user); - $rootView->mkdir('/'.$user.'/files'); - return array( - array('txt', $txt, $user, $rootView, false), - array('ics', $ics, $user, $rootView, true), - array('vcf', $vcf, $user, $rootView, true), + array('txt', $txt, false), + array('ics', $ics, true), + array('vcf', $vcf, true), ); } /** * @dataProvider testTxtBlacklist */ - public function testIsTransparent($test, $data, $user, $rootView, $expectedResult) { + public function testIsTransparent($test, $data, $expectedResult) { + $user = $this->initFS(); + + $rootView = new \OC\Files\View(''); + $rootView->mkdir('/'.$user); + $rootView->mkdir('/'.$user.'/files'); + $x = 32; $y = 32; From 4e9296a484fbec0a4c725f32ef47716f9e1b56bc Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Fri, 27 Sep 2013 11:33:37 +0200 Subject: [PATCH 39/46] rename testTxtBlacklist to txtBlacklist --- tests/lib/preview.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/lib/preview.php b/tests/lib/preview.php index 98659a7e88..01d8a57fc6 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -92,7 +92,7 @@ class Preview extends \PHPUnit_Framework_TestCase { $this->assertEquals($image->height(), $maxY); } - public function testTxtBlacklist() { + public function txtBlacklist() { $txt = 'random text file'; $ics = file_get_contents(__DIR__ . '/../data/testcal.ics'); $vcf = file_get_contents(__DIR__ . '/../data/testcontact.vcf'); @@ -105,7 +105,7 @@ class Preview extends \PHPUnit_Framework_TestCase { } /** - * @dataProvider testTxtBlacklist + * @dataProvider txtBlacklist */ public function testIsTransparent($test, $data, $expectedResult) { $user = $this->initFS(); @@ -146,4 +146,4 @@ class Preview extends \PHPUnit_Framework_TestCase { return $user; } -} \ No newline at end of file +} From 79da35b698a398bef59f83f222de3055ddbb5a92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Fri, 27 Sep 2013 13:41:23 +0200 Subject: [PATCH 40/46] code cleanup --- tests/lib/connector/sabre/objecttree.php | 61 +++++++++--------------- 1 file changed, 22 insertions(+), 39 deletions(-) diff --git a/tests/lib/connector/sabre/objecttree.php b/tests/lib/connector/sabre/objecttree.php index c920441c8b..1d76bb5967 100644 --- a/tests/lib/connector/sabre/objecttree.php +++ b/tests/lib/connector/sabre/objecttree.php @@ -36,38 +36,14 @@ class ObjectTree extends PHPUnit_Framework_TestCase { * @expectedException Sabre_DAV_Exception_Forbidden */ public function testMoveFailed($source, $dest, $updatables) { - $rootDir = new OC_Connector_Sabre_Directory(''); - $objectTree = $this->getMock('\OC\Connector\Sabre\ObjectTree', - array('nodeExists', 'getNodeForPath'), - array($rootDir)); - - $objectTree->expects($this->once()) - ->method('getNodeForPath') - ->with($this->identicalTo('a/b')) - ->will($this->returnValue(false)); - - /** @var $objectTree \OC\Connector\Sabre\ObjectTree */ - $objectTree->fileView = new TestDoubleFileView($updatables); - $objectTree->move($source, $dest); + $this->moveTest($source, $dest, $updatables); } /** * @dataProvider moveSuccessProvider */ public function testMoveSuccess($source, $dest, $updatables) { - $rootDir = new OC_Connector_Sabre_Directory(''); - $objectTree = $this->getMock('\OC\Connector\Sabre\ObjectTree', - array('nodeExists', 'getNodeForPath'), - array($rootDir)); - - $objectTree->expects($this->once()) - ->method('getNodeForPath') - ->with($this->identicalTo('a/b')) - ->will($this->returnValue(false)); - - /** @var $objectTree \OC\Connector\Sabre\ObjectTree */ - $objectTree->fileView = new TestDoubleFileView($updatables); - $objectTree->move($source, $dest); + $this->moveTest($source, $dest, $updatables); $this->assertTrue(true); } @@ -87,18 +63,25 @@ class ObjectTree extends PHPUnit_Framework_TestCase { ); } -// private function buildFileViewMock($updatables) { -// // mock filesysten -// $view = $this->getMock('\OC\Files\View', array('isUpdatable'), array(), '', FALSE); -// -// foreach ($updatables as $path => $updatable) { -// $view->expects($this->any()) -// ->method('isUpdatable') -// ->with($this->identicalTo($path)) -// ->will($this->returnValue($updatable)); -// } -// -// return $view; -// } + /** + * @param $source + * @param $dest + * @param $updatables + */ + private function moveTest($source, $dest, $updatables) { + $rootDir = new OC_Connector_Sabre_Directory(''); + $objectTree = $this->getMock('\OC\Connector\Sabre\ObjectTree', + array('nodeExists', 'getNodeForPath'), + array($rootDir)); + + $objectTree->expects($this->once()) + ->method('getNodeForPath') + ->with($this->identicalTo($source)) + ->will($this->returnValue(false)); + + /** @var $objectTree \OC\Connector\Sabre\ObjectTree */ + $objectTree->fileView = new TestDoubleFileView($updatables); + $objectTree->move($source, $dest); + } } From c5bcefe4dbd5a237693b1a7435a7041c7e85abd4 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Fri, 27 Sep 2013 14:55:37 +0200 Subject: [PATCH 41/46] rename variable in testIsTransparent --- tests/lib/preview.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/lib/preview.php b/tests/lib/preview.php index 01d8a57fc6..d0cdd2c44f 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -107,7 +107,7 @@ class Preview extends \PHPUnit_Framework_TestCase { /** * @dataProvider txtBlacklist */ - public function testIsTransparent($test, $data, $expectedResult) { + public function testIsTransparent($extension, $data, $expectedResult) { $user = $this->initFS(); $rootView = new \OC\Files\View(''); @@ -117,9 +117,9 @@ class Preview extends \PHPUnit_Framework_TestCase { $x = 32; $y = 32; - $sample = '/'.$user.'/files/test.'.$test; + $sample = '/'.$user.'/files/test.'.$extension; $rootView->file_put_contents($sample, $data); - $preview = new \OC\Preview($user, 'files/', 'test.'.$test, $x, $y); + $preview = new \OC\Preview($user, 'files/', 'test.'.$extension, $x, $y); $image = $preview->getPreview(); $resource = $image->resource(); From 4907685405ead5df56ef0a5ac0b9af7c86885487 Mon Sep 17 00:00:00 2001 From: kondou Date: Sat, 28 Sep 2013 16:46:53 +0200 Subject: [PATCH 42/46] Base defaultavatar text on displayname Fix #4876 --- core/avatar/controller.php | 2 +- core/js/jquery.avatar.js | 6 +++++- settings/js/personal.js | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/avatar/controller.php b/core/avatar/controller.php index 9f7c0517c4..2269382446 100644 --- a/core/avatar/controller.php +++ b/core/avatar/controller.php @@ -33,7 +33,7 @@ class Controller { $image->show(); } else { // Signalizes $.avatar() to display a defaultavatar - \OC_JSON::success(); + \OC_JSON::success(array("data"=> array("displayname"=> \OC_User::getDisplayName($user)) )); } } diff --git a/core/js/jquery.avatar.js b/core/js/jquery.avatar.js index f1382fd7d2..88a4c25d1e 100644 --- a/core/js/jquery.avatar.js +++ b/core/js/jquery.avatar.js @@ -69,7 +69,11 @@ var url = OC.Router.generate('core_avatar_get', {user: user, size: size})+'?requesttoken='+oc_requesttoken; $.get(url, function(result) { if (typeof(result) === 'object') { - $div.placeholder(user); + if (result.data && result.data.displayname) { + $div.placeholder(user, result.data.displayname); + } else { + $div.placeholder(user); + } } else { if (ie8fix === true) { $div.html(''); diff --git a/settings/js/personal.js b/settings/js/personal.js index eaaca32f5d..8944a7afa3 100644 --- a/settings/js/personal.js +++ b/settings/js/personal.js @@ -34,6 +34,7 @@ function changeDisplayName(){ $('#oldDisplayName').text($('#displayName').val()); // update displayName on the top right expand button $('#expandDisplayName').text($('#displayName').val()); + updateAvatar(); } else{ $('#newdisplayname').val(data.data.displayName); From 24d092c4ba4264deb2b6b57299da2acc2971cedc Mon Sep 17 00:00:00 2001 From: kondou Date: Sat, 28 Sep 2013 17:49:07 +0200 Subject: [PATCH 43/46] Have uniform (wrong) indention --- settings/js/personal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/js/personal.js b/settings/js/personal.js index 8944a7afa3..a923b47573 100644 --- a/settings/js/personal.js +++ b/settings/js/personal.js @@ -34,7 +34,7 @@ function changeDisplayName(){ $('#oldDisplayName').text($('#displayName').val()); // update displayName on the top right expand button $('#expandDisplayName').text($('#displayName').val()); - updateAvatar(); + updateAvatar(); } else{ $('#newdisplayname').val(data.data.displayName); From 59e4ff7d24b5df96998fbc65676b56d524af5ba6 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 29 Sep 2013 00:03:26 -0400 Subject: [PATCH 44/46] [tx-robot] updated from transifex --- apps/files/l10n/uk.php | 5 ++- apps/files_encryption/l10n/uk.php | 1 + core/l10n/it.php | 10 ++--- core/l10n/sv.php | 16 +++++++- l10n/it/core.po | 30 +++++++-------- l10n/sv/core.po | 53 ++++++++++++++------------- l10n/sv/settings.po | 57 +++++++++++++++-------------- l10n/templates/core.pot | 2 +- l10n/templates/files.pot | 2 +- l10n/templates/files_encryption.pot | 2 +- l10n/templates/files_external.pot | 2 +- l10n/templates/files_sharing.pot | 2 +- l10n/templates/files_trashbin.pot | 2 +- l10n/templates/files_versions.pot | 2 +- l10n/templates/lib.pot | 2 +- l10n/templates/settings.pot | 8 ++-- l10n/templates/user_ldap.pot | 2 +- l10n/templates/user_webdavauth.pot | 2 +- l10n/uk/files.po | 18 ++++----- l10n/uk/files_encryption.po | 6 +-- l10n/uk/settings.po | 35 +++++++++--------- settings/l10n/sv.php | 13 +++++++ settings/l10n/uk.php | 4 +- 23 files changed, 154 insertions(+), 122 deletions(-) diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php index fac7cea529..4aaeca2554 100644 --- a/apps/files/l10n/uk.php +++ b/apps/files/l10n/uk.php @@ -18,6 +18,7 @@ $TRANSLATIONS = array( "Upload cancelled." => "Завантаження перервано.", "File upload is in progress. Leaving the page now will cancel the upload." => "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.", "URL cannot be empty." => "URL не може бути пустим.", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Неправильне ім'я теки. Використання 'Shared' зарезервовано ownCloud", "Error" => "Помилка", "Share" => "Поділитися", "Delete permanently" => "Видалити назавжди", @@ -29,7 +30,7 @@ $TRANSLATIONS = array( "cancel" => "відміна", "replaced {new_name} with {old_name}" => "замінено {new_name} на {old_name}", "undo" => "відмінити", -"_%n folder_::_%n folders_" => array("","",""), +"_%n folder_::_%n folders_" => array("%n тека","%n тека","%n теки"), "_%n file_::_%n files_" => array("","",""), "_Uploading %n file_::_Uploading %n files_" => array("","",""), "'.' is an invalid file name." => "'.' це невірне ім'я файлу.", @@ -53,7 +54,7 @@ $TRANSLATIONS = array( "Save" => "Зберегти", "New" => "Створити", "Text file" => "Текстовий файл", -"Folder" => "Папка", +"Folder" => "Тека", "From link" => "З посилання", "Deleted files" => "Видалено файлів", "Cancel upload" => "Перервати завантаження", diff --git a/apps/files_encryption/l10n/uk.php b/apps/files_encryption/l10n/uk.php index e4fb053a71..5260dd3f2f 100644 --- a/apps/files_encryption/l10n/uk.php +++ b/apps/files_encryption/l10n/uk.php @@ -1,6 +1,7 @@ "Зберігаю...", +"personal settings" => "особисті налаштування", "Encryption" => "Шифрування", "Change Password" => "Змінити Пароль" ); diff --git a/core/l10n/it.php b/core/l10n/it.php index 94395b0226..bd2fad79c8 100644 --- a/core/l10n/it.php +++ b/core/l10n/it.php @@ -53,18 +53,18 @@ $TRANSLATIONS = array( "last year" => "anno scorso", "years ago" => "anni fa", "Choose" => "Scegli", -"Error loading file picker template: {error}" => "Errore nel caricamento del modello del selettore file: {error}", +"Error loading file picker template: {error}" => "Errore durante il caricamento del modello del selettore file: {error}", "Yes" => "Sì", "No" => "No", "Ok" => "Ok", -"Error loading message template: {error}" => "Errore nel caricamento del modello di messaggio: {error}", +"Error loading message template: {error}" => "Errore durante il caricamento del modello di messaggio: {error}", "_{count} file conflict_::_{count} file conflicts_" => array("{count} file in conflitto","{count} file in conflitto"), -"One file conflict" => "Un conflitto tra file", +"One file conflict" => "Un file in conflitto", "Which files do you want to keep?" => "Quali file vuoi mantenere?", -"If you select both versions, the copied file will have a number added to its name." => "Se selezioni entrambe le versioni, verrà aggiunto un numero al nome del file copiato.", +"If you select both versions, the copied file will have a number added to its name." => "Se selezioni entrambe le versioni, sarà aggiunto un numero al nome del file copiato.", "Cancel" => "Annulla", "Continue" => "Continua", -"(all selected)" => "(tutti selezionati)", +"(all selected)" => "(tutti i selezionati)", "({count} selected)" => "({count} selezionati)", "Error loading file exists template" => "Errore durante il caricamento del modello del file esistente", "The object type is not specified." => "Il tipo di oggetto non è specificato.", diff --git a/core/l10n/sv.php b/core/l10n/sv.php index 660cab0a62..0ea3259df6 100644 --- a/core/l10n/sv.php +++ b/core/l10n/sv.php @@ -16,6 +16,11 @@ $TRANSLATIONS = array( "Error adding %s to favorites." => "Fel vid tillägg av %s till favoriter.", "No categories selected for deletion." => "Inga kategorier valda för radering.", "Error removing %s from favorites." => "Fel vid borttagning av %s från favoriter.", +"No image or file provided" => "Ingen bild eller fil har tillhandahållits", +"Unknown filetype" => "Okänd filtyp", +"Invalid image" => "Ogiltig bild", +"No temporary profile picture available, try again" => "Ingen temporär profilbild finns tillgänglig, försök igen", +"No crop data provided" => "Ingen beskärdata har angivits", "Sunday" => "Söndag", "Monday" => "Måndag", "Tuesday" => "Tisdag", @@ -48,11 +53,20 @@ $TRANSLATIONS = array( "last year" => "förra året", "years ago" => "år sedan", "Choose" => "Välj", +"Error loading file picker template: {error}" => "Fel uppstod för filväljarmall: {error}", "Yes" => "Ja", "No" => "Nej", "Ok" => "Ok", -"_{count} file conflict_::_{count} file conflicts_" => array("",""), +"Error loading message template: {error}" => "Fel uppstod under inläsningen av meddelandemallen: {error}", +"_{count} file conflict_::_{count} file conflicts_" => array("{count} filkonflikt","{count} filkonflikter"), +"One file conflict" => "En filkonflikt", +"Which files do you want to keep?" => "Vilken fil vill du behålla?", +"If you select both versions, the copied file will have a number added to its name." => "Om du väljer båda versionerna kommer de kopierade filerna ha nummer tillagda i filnamnet.", "Cancel" => "Avbryt", +"Continue" => "Fortsätt", +"(all selected)" => "(Alla valda)", +"({count} selected)" => "({count} valda)", +"Error loading file exists template" => "Fel uppstod filmall existerar", "The object type is not specified." => "Objekttypen är inte specificerad.", "Error" => "Fel", "The app name is not specified." => " Namnet på appen är inte specificerad.", diff --git a/l10n/it/core.po b/l10n/it/core.po index d587e95953..a5586707e4 100644 --- a/l10n/it/core.po +++ b/l10n/it/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-22 13:40+0000\n" -"Last-Translator: nappo \n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-27 18:30+0000\n" +"Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -252,7 +252,7 @@ msgstr "Scegli" #: js/oc-dialogs.js:146 msgid "Error loading file picker template: {error}" -msgstr "Errore nel caricamento del modello del selettore file: {error}" +msgstr "Errore durante il caricamento del modello del selettore file: {error}" #: js/oc-dialogs.js:172 msgid "Yes" @@ -268,7 +268,7 @@ msgstr "Ok" #: js/oc-dialogs.js:219 msgid "Error loading message template: {error}" -msgstr "Errore nel caricamento del modello di messaggio: {error}" +msgstr "Errore durante il caricamento del modello di messaggio: {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" @@ -278,7 +278,7 @@ msgstr[1] "{count} file in conflitto" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "Un conflitto tra file" +msgstr "Un file in conflitto" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" @@ -288,7 +288,7 @@ msgstr "Quali file vuoi mantenere?" msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "Se selezioni entrambe le versioni, verrà aggiunto un numero al nome del file copiato." +msgstr "Se selezioni entrambe le versioni, sarà aggiunto un numero al nome del file copiato." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -300,7 +300,7 @@ msgstr "Continua" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "(tutti selezionati)" +msgstr "(tutti i selezionati)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" @@ -319,7 +319,7 @@ msgstr "Il tipo di oggetto non è specificato." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Errore" @@ -339,7 +339,7 @@ msgstr "Condivisi" msgid "Share" msgstr "Condividi" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Errore durante la condivisione" @@ -439,23 +439,23 @@ msgstr "elimina" msgid "share" msgstr "condividi" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Protetta da password" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Errore durante la rimozione della data di scadenza" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Errore durante l'impostazione della data di scadenza" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Invio in corso..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "Messaggio inviato" diff --git a/l10n/sv/core.po b/l10n/sv/core.po index 6495949816..3d94872f70 100644 --- a/l10n/sv/core.po +++ b/l10n/sv/core.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Daniel Sandman , 2013 # Gunnar Norin , 2013 # medialabs, 2013 # Magnus Höglund , 2013 @@ -11,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-22 12:55-0400\n" -"PO-Revision-Date: 2013-09-20 15:01+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-28 02:02+0000\n" +"Last-Translator: Daniel Sandman \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,23 +97,23 @@ msgstr "Fel vid borttagning av %s från favoriter." #: avatar/controller.php:62 msgid "No image or file provided" -msgstr "" +msgstr "Ingen bild eller fil har tillhandahållits" #: avatar/controller.php:81 msgid "Unknown filetype" -msgstr "" +msgstr "Okänd filtyp" #: avatar/controller.php:85 msgid "Invalid image" -msgstr "" +msgstr "Ogiltig bild" #: avatar/controller.php:115 avatar/controller.php:142 msgid "No temporary profile picture available, try again" -msgstr "" +msgstr "Ingen temporär profilbild finns tillgänglig, försök igen" #: avatar/controller.php:135 msgid "No crop data provided" -msgstr "" +msgstr "Ingen beskärdata har angivits" #: js/config.php:32 msgid "Sunday" @@ -252,7 +253,7 @@ msgstr "Välj" #: js/oc-dialogs.js:146 msgid "Error loading file picker template: {error}" -msgstr "" +msgstr "Fel uppstod för filväljarmall: {error}" #: js/oc-dialogs.js:172 msgid "Yes" @@ -268,27 +269,27 @@ msgstr "Ok" #: js/oc-dialogs.js:219 msgid "Error loading message template: {error}" -msgstr "" +msgstr "Fel uppstod under inläsningen av meddelandemallen: {error}" #: js/oc-dialogs.js:347 msgid "{count} file conflict" msgid_plural "{count} file conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "{count} filkonflikt" +msgstr[1] "{count} filkonflikter" #: js/oc-dialogs.js:361 msgid "One file conflict" -msgstr "" +msgstr "En filkonflikt" #: js/oc-dialogs.js:367 msgid "Which files do you want to keep?" -msgstr "" +msgstr "Vilken fil vill du behålla?" #: js/oc-dialogs.js:368 msgid "" "If you select both versions, the copied file will have a number added to its" " name." -msgstr "" +msgstr "Om du väljer båda versionerna kommer de kopierade filerna ha nummer tillagda i filnamnet." #: js/oc-dialogs.js:376 msgid "Cancel" @@ -296,19 +297,19 @@ msgstr "Avbryt" #: js/oc-dialogs.js:386 msgid "Continue" -msgstr "" +msgstr "Fortsätt" #: js/oc-dialogs.js:433 js/oc-dialogs.js:446 msgid "(all selected)" -msgstr "" +msgstr "(Alla valda)" #: js/oc-dialogs.js:436 js/oc-dialogs.js:449 msgid "({count} selected)" -msgstr "" +msgstr "({count} valda)" #: js/oc-dialogs.js:457 msgid "Error loading file exists template" -msgstr "" +msgstr "Fel uppstod filmall existerar" #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 @@ -319,7 +320,7 @@ msgstr "Objekttypen är inte specificerad." #: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136 #: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195 #: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149 -#: js/share.js:645 js/share.js:657 +#: js/share.js:656 js/share.js:668 msgid "Error" msgstr "Fel" @@ -339,7 +340,7 @@ msgstr "Delad" msgid "Share" msgstr "Dela" -#: js/share.js:131 js/share.js:685 +#: js/share.js:131 js/share.js:696 msgid "Error while sharing" msgstr "Fel vid delning" @@ -439,23 +440,23 @@ msgstr "radera" msgid "share" msgstr "dela" -#: js/share.js:400 js/share.js:632 +#: js/share.js:400 js/share.js:643 msgid "Password protected" msgstr "Lösenordsskyddad" -#: js/share.js:645 +#: js/share.js:656 msgid "Error unsetting expiration date" msgstr "Fel vid borttagning av utgångsdatum" -#: js/share.js:657 +#: js/share.js:668 msgid "Error setting expiration date" msgstr "Fel vid sättning av utgångsdatum" -#: js/share.js:672 +#: js/share.js:683 msgid "Sending ..." msgstr "Skickar ..." -#: js/share.js:683 +#: js/share.js:694 msgid "Email sent" msgstr "E-post skickat" diff --git a/l10n/sv/settings.po b/l10n/sv/settings.po index 284b1287a8..a0a193043a 100644 --- a/l10n/sv/settings.po +++ b/l10n/sv/settings.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Daniel Sandman , 2013 # Gunnar Norin , 2013 # Jan Busk, 2013 # Jan Busk, 2013 @@ -13,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:45-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-28 01:44+0000\n" +"Last-Translator: Daniel Sandman \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -92,42 +93,42 @@ msgstr "Kunde inte uppdatera appen." #: changepassword/controller.php:20 msgid "Wrong password" -msgstr "" +msgstr "Fel lösenord" #: changepassword/controller.php:42 msgid "No user supplied" -msgstr "" +msgstr "Ingen användare angiven" #: changepassword/controller.php:74 msgid "" "Please provide an admin recovery password, otherwise all user data will be " "lost" -msgstr "" +msgstr "Ange ett återställningslösenord för administratören. Annars kommer all användardata förloras" #: changepassword/controller.php:79 msgid "" "Wrong admin recovery password. Please check the password and try again." -msgstr "" +msgstr "Felaktigt återställningslösenord för administratör. Kolla lösenordet och prova igen." #: changepassword/controller.php:87 msgid "" "Back-end doesn't support password change, but the users encryption key was " "successfully updated." -msgstr "" +msgstr "Gränssnittet stödjer inte byte av lösenord, men användarnas krypteringsnyckel blev uppdaterad." #: changepassword/controller.php:92 changepassword/controller.php:103 msgid "Unable to change password" -msgstr "" +msgstr "Kunde inte ändra lösenord" #: js/apps.js:43 msgid "Update to {appversion}" msgstr "Uppdatera till {appversion}" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "Deaktivera" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "Aktivera" @@ -135,43 +136,43 @@ msgstr "Aktivera" msgid "Please wait...." msgstr "Var god vänta..." -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "Fel vid inaktivering av app" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "Fel vid aktivering av app" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "Uppdaterar..." -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "Fel uppstod vid uppdatering av appen" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "Fel" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "Uppdatera" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "Uppdaterad" -#: js/personal.js:220 +#: js/personal.js:221 msgid "Select a profile picture" -msgstr "" +msgstr "Välj en profilbild" -#: js/personal.js:265 +#: js/personal.js:266 msgid "Decrypting files... Please wait, this can take some time." msgstr "Dekrypterar filer... Vänligen vänta, detta kan ta en stund." -#: js/personal.js:287 +#: js/personal.js:288 msgid "Saving..." msgstr "Sparar..." @@ -499,27 +500,27 @@ msgstr "Profilbild" #: templates/personal.php:90 msgid "Upload new" -msgstr "" +msgstr "Ladda upp ny" #: templates/personal.php:92 msgid "Select new from Files" -msgstr "" +msgstr "Välj ny från filer" #: templates/personal.php:93 msgid "Remove image" -msgstr "" +msgstr "Radera bild" #: templates/personal.php:94 msgid "Either png or jpg. Ideally square but you will be able to crop it." -msgstr "" +msgstr "Antingen png eller jpg. Helst fyrkantig, men du kommer att kunna beskära den." #: templates/personal.php:97 msgid "Abort" -msgstr "" +msgstr "Avbryt" #: templates/personal.php:98 msgid "Choose as profile image" -msgstr "" +msgstr "Välj som profilbild" #: templates/personal.php:106 templates/personal.php:107 msgid "Language" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index ba60bef371..afb3a410c4 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index 601c663392..1e72820c52 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index 52e8feed91..aea2b2282e 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index a99fbf35c8..ad32cfb2fc 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index 10bee89c27..e9a596f361 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot index cfc69f2b2e..044fb375df 100644 --- a/l10n/templates/files_trashbin.pot +++ b/l10n/templates/files_trashbin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 284aca099f..a61952105b 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index 0103b348e9..2f54bdc233 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index c14bb4c3e5..a669dad822 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -156,15 +156,15 @@ msgstr "" msgid "Updated" msgstr "" -#: js/personal.js:220 +#: js/personal.js:221 msgid "Select a profile picture" msgstr "" -#: js/personal.js:265 +#: js/personal.js:266 msgid "Decrypting files... Please wait, this can take some time." msgstr "" -#: js/personal.js:287 +#: js/personal.js:288 msgid "Saving..." msgstr "" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index 822d615af9..0848d99353 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot index 3a0f240e93..ec5a60a6ec 100644 --- a/l10n/templates/user_webdavauth.pot +++ b/l10n/templates/user_webdavauth.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-09-27 00:01-0400\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/uk/files.po b/l10n/uk/files.po index 23349e0800..d269f620d9 100644 --- a/l10n/uk/files.po +++ b/l10n/uk/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:44-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-27 19:42+0000\n" +"Last-Translator: zubr139 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -87,7 +87,7 @@ msgstr "" msgid "Invalid directory." msgstr "Невірний каталог." -#: appinfo/app.php:12 +#: appinfo/app.php:11 msgid "Files" msgstr "Файли" @@ -118,7 +118,7 @@ msgstr "URL не може бути пустим." #: js/file-upload.js:525 lib/app.php:53 msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" -msgstr "" +msgstr "Неправильне ім'я теки. Використання 'Shared' зарезервовано ownCloud" #: js/file-upload.js:557 js/file-upload.js:573 js/files.js:507 js/files.js:545 msgid "Error" @@ -167,9 +167,9 @@ msgstr "відмінити" #: js/filelist.js:533 js/filelist.js:599 js/files.js:576 msgid "%n folder" msgid_plural "%n folders" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%n тека" +msgstr[1] "%n тека" +msgstr[2] "%n теки" #: js/filelist.js:534 js/filelist.js:600 js/files.js:582 msgid "%n file" @@ -290,7 +290,7 @@ msgstr "Текстовий файл" #: templates/index.php:11 msgid "Folder" -msgstr "Папка" +msgstr "Тека" #: templates/index.php:13 msgid "From link" diff --git a/l10n/uk/files_encryption.po b/l10n/uk/files_encryption.po index 46c45f13fe..6957679f93 100644 --- a/l10n/uk/files_encryption.po +++ b/l10n/uk/files_encryption.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-18 11:46-0400\n" -"PO-Revision-Date: 2013-09-17 13:05+0000\n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-27 19:12+0000\n" "Last-Translator: zubr139 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" @@ -93,7 +93,7 @@ msgstr "" #: templates/invalid_private_key.php:7 msgid "personal settings" -msgstr "" +msgstr "особисті налаштування" #: templates/settings-admin.php:5 templates/settings-personal.php:4 msgid "Encryption" diff --git a/l10n/uk/settings.po b/l10n/uk/settings.po index a96bef5878..912467cac9 100644 --- a/l10n/uk/settings.po +++ b/l10n/uk/settings.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# zubr139 , 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-09-20 10:45-0400\n" -"PO-Revision-Date: 2013-09-20 14:45+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-09-29 00:02-0400\n" +"PO-Revision-Date: 2013-09-27 19:43+0000\n" +"Last-Translator: zubr139 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +33,7 @@ msgstr "" #: ajax/changedisplayname.php:34 msgid "Unable to change display name" -msgstr "Не вдалося змінити зображене ім'я" +msgstr "Не вдалося змінити ім'я" #: ajax/creategroup.php:10 msgid "Group already exists" @@ -117,11 +118,11 @@ msgstr "" msgid "Update to {appversion}" msgstr "Оновити до {appversion}" -#: js/apps.js:49 js/apps.js:82 js/apps.js:108 +#: js/apps.js:49 js/apps.js:82 js/apps.js:110 msgid "Disable" msgstr "Вимкнути" -#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117 +#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119 msgid "Enable" msgstr "Включити" @@ -129,43 +130,43 @@ msgstr "Включити" msgid "Please wait...." msgstr "Зачекайте, будь ласка..." -#: js/apps.js:79 js/apps.js:80 js/apps.js:100 +#: js/apps.js:79 js/apps.js:80 js/apps.js:101 msgid "Error while disabling app" msgstr "" -#: js/apps.js:99 js/apps.js:112 js/apps.js:113 +#: js/apps.js:100 js/apps.js:114 js/apps.js:115 msgid "Error while enabling app" msgstr "" -#: js/apps.js:123 +#: js/apps.js:125 msgid "Updating...." msgstr "Оновлюється..." -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error while updating app" msgstr "Помилка при оновленні програми" -#: js/apps.js:126 +#: js/apps.js:128 msgid "Error" msgstr "Помилка" -#: js/apps.js:127 templates/apps.php:43 +#: js/apps.js:129 templates/apps.php:43 msgid "Update" msgstr "Оновити" -#: js/apps.js:130 +#: js/apps.js:132 msgid "Updated" msgstr "Оновлено" -#: js/personal.js:220 +#: js/personal.js:221 msgid "Select a profile picture" msgstr "" -#: js/personal.js:265 +#: js/personal.js:266 msgid "Decrypting files... Please wait, this can take some time." msgstr "" -#: js/personal.js:287 +#: js/personal.js:288 msgid "Saving..." msgstr "Зберігаю..." @@ -590,7 +591,7 @@ msgstr "Сховище" #: templates/users.php:108 msgid "change display name" -msgstr "змінити зображене ім'я" +msgstr "змінити ім'я" #: templates/users.php:112 msgid "set new password" diff --git a/settings/l10n/sv.php b/settings/l10n/sv.php index 5f6313f182..4f8ad376db 100644 --- a/settings/l10n/sv.php +++ b/settings/l10n/sv.php @@ -16,6 +16,12 @@ $TRANSLATIONS = array( "Unable to add user to group %s" => "Kan inte lägga till användare i gruppen %s", "Unable to remove user from group %s" => "Kan inte radera användare från gruppen %s", "Couldn't update app." => "Kunde inte uppdatera appen.", +"Wrong password" => "Fel lösenord", +"No user supplied" => "Ingen användare angiven", +"Please provide an admin recovery password, otherwise all user data will be lost" => "Ange ett återställningslösenord för administratören. Annars kommer all användardata förloras", +"Wrong admin recovery password. Please check the password and try again." => "Felaktigt återställningslösenord för administratör. Kolla lösenordet och prova igen.", +"Back-end doesn't support password change, but the users encryption key was successfully updated." => "Gränssnittet stödjer inte byte av lösenord, men användarnas krypteringsnyckel blev uppdaterad.", +"Unable to change password" => "Kunde inte ändra lösenord", "Update to {appversion}" => "Uppdatera till {appversion}", "Disable" => "Deaktivera", "Enable" => "Aktivera", @@ -27,6 +33,7 @@ $TRANSLATIONS = array( "Error" => "Fel", "Update" => "Uppdatera", "Updated" => "Uppdaterad", +"Select a profile picture" => "Välj en profilbild", "Decrypting files... Please wait, this can take some time." => "Dekrypterar filer... Vänligen vänta, detta kan ta en stund.", "Saving..." => "Sparar...", "deleted" => "raderad", @@ -101,6 +108,12 @@ $TRANSLATIONS = array( "Your email address" => "Din e-postadress", "Fill in an email address to enable password recovery" => "Fyll i en e-postadress för att aktivera återställning av lösenord", "Profile picture" => "Profilbild", +"Upload new" => "Ladda upp ny", +"Select new from Files" => "Välj ny från filer", +"Remove image" => "Radera bild", +"Either png or jpg. Ideally square but you will be able to crop it." => "Antingen png eller jpg. Helst fyrkantig, men du kommer att kunna beskära den.", +"Abort" => "Avbryt", +"Choose as profile image" => "Välj som profilbild", "Language" => "Språk", "Help translate" => "Hjälp att översätta", "WebDAV" => "WebDAV", diff --git a/settings/l10n/uk.php b/settings/l10n/uk.php index 314b7de657..adb46e3ee8 100644 --- a/settings/l10n/uk.php +++ b/settings/l10n/uk.php @@ -2,7 +2,7 @@ $TRANSLATIONS = array( "Unable to load list from App Store" => "Не вдалося завантажити список з App Store", "Authentication error" => "Помилка автентифікації", -"Unable to change display name" => "Не вдалося змінити зображене ім'я", +"Unable to change display name" => "Не вдалося змінити ім'я", "Group already exists" => "Група вже існує", "Unable to add group" => "Не вдалося додати групу", "Email saved" => "Адресу збережено", @@ -97,7 +97,7 @@ $TRANSLATIONS = array( "Other" => "Інше", "Username" => "Ім'я користувача", "Storage" => "Сховище", -"change display name" => "змінити зображене ім'я", +"change display name" => "змінити ім'я", "set new password" => "встановити новий пароль", "Default" => "За замовчуванням" ); From 710d3f139f45f7e82991364f561b31e71e4d787f Mon Sep 17 00:00:00 2001 From: Alessandro Cosentino Date: Sun, 29 Sep 2013 01:46:23 -0400 Subject: [PATCH 45/46] followup of #4032 - makes the settings-button bigger and adds again padding at bottom of app-navigation --- core/css/apps.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/css/apps.css b/core/css/apps.css index de63495e50..f6c20e6cc6 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -16,6 +16,7 @@ -moz-box-sizing: border-box; box-sizing: border-box; background-color: #f8f8f8; border-right: 1px solid #ccc; + padding-bottom: 44px; } #app-navigation > ul { height: 100%; @@ -192,7 +193,7 @@ .settings-button { display: block; - height: 32px; + height: 44px; width: 100%; padding: 0; margin: 0; From b6fc143074ae55bc6f9732d825571681f88f46ed Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Fri, 31 May 2013 18:21:31 +0200 Subject: [PATCH 46/46] cURL does not honour default_socket_timeout SabreDAV uses cURL for the requests and as this does not honour default_socket_timeout, setting it is useless and confusing as people will expect the request to timeout faster than it actually will do. One has to use curl_setopt($curl, CURLOPT_TIMEOUT, x) or curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, x) but there is currently no way to make SabreDAV pass this to cURL. --- lib/util.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/util.php b/lib/util.php index 41f5f1d16b..d4f4eed1ca 100755 --- a/lib/util.php +++ b/lib/util.php @@ -730,12 +730,6 @@ class OC_Util { 'baseUri' => OC_Helper::linkToRemote('webdav'), ); - // save the old timeout so that we can restore it later - $oldTimeout = ini_get("default_socket_timeout"); - - // use a 5 sec timeout for the check. Should be enough for local requests. - ini_set("default_socket_timeout", 5); - $client = new \Sabre_DAV_Client($settings); // for this self test we don't care if the ssl certificate is self signed and the peer cannot be verified. @@ -752,9 +746,6 @@ class OC_Util { $return = false; } - // restore the original timeout - ini_set("default_socket_timeout", $oldTimeout); - return $return; }