[Pkg-owncloud-commits] [owncloud] 249/457: Get etag from remote OC server

David Prévot taffit at moszumanska.debian.org
Sun Jun 28 20:06:17 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch stable8
in repository owncloud.

commit 30d7f92763505e52a41788012f87142f298a3461
Author: Vincent Petry <pvince81 at owncloud.com>
Date:   Mon Apr 27 17:41:02 2015 +0200

    Get etag from remote OC server
---
 lib/private/files/storage/dav.php | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/lib/private/files/storage/dav.php b/lib/private/files/storage/dav.php
index 0ddfde1..15f5135 100644
--- a/lib/private/files/storage/dav.php
+++ b/lib/private/files/storage/dav.php
@@ -682,7 +682,7 @@ class DAV extends Common {
 	public function getPermissions($path) {
 		$this->init();
 		$path = $this->cleanPath($path);
-		$response = $this->client->propfind($this->encodePath($path), array('{http://owncloud.org/ns}permissions'));
+		$response = $this->propfind($path);
 		if (isset($response['{http://owncloud.org/ns}permissions'])) {
 			return $this->parsePermissions($response['{http://owncloud.org/ns}permissions']);
 		} else if ($this->is_dir($path)) {
@@ -694,6 +694,17 @@ class DAV extends Common {
 		}
 	}
 
+	/** {@inheritdoc} */
+	public function getETag($path) {
+		$this->init();
+		$path = $this->cleanPath($path);
+		$response = $this->propfind($path);
+		if (isset($response['{DAV:}getetag'])) {
+			return trim($response['{DAV:}getetag'], '"');
+		}
+		return parent::getEtag($path);
+	}
+
 	/**
 	 * @param string $permissionsString
 	 * @return int
@@ -733,8 +744,11 @@ class DAV extends Common {
 			$response = $this->propfind($path);
 			if (isset($response['{DAV:}getetag'])) {
 				$cachedData = $this->getCache()->get($path);
-				$etag = trim($response['{DAV:}getetag'], '"');
-				if ($cachedData['etag'] !== $etag) {
+				$etag = null;
+				if (isset($response['{DAV:}getetag'])) {
+					$etag = trim($response['{DAV:}getetag'], '"');
+				}
+				if (!empty($etag) && $cachedData['etag'] !== $etag) {
 					return true;
 				} else if (isset($response['{http://owncloud.org/ns}permissions'])) {
 					$permissions = $this->parsePermissions($response['{http://owncloud.org/ns}permissions']);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list