Merge pull request #5479 from owncloud/fixing-4502-master

Fix webdav to fullfil litmus test suite
This commit is contained in:
Thomas Müller 2013-10-22 14:25:49 -07:00
commit 70b02f0513
3 changed files with 19 additions and 0 deletions

View file

@ -148,6 +148,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
} }
\OC\Files\Filesystem::unlink($this->path); \OC\Files\Filesystem::unlink($this->path);
// remove properties
$this->removeProperties();
} }
/** /**

View file

@ -190,6 +190,17 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
return true; return true;
} }
/**
* removes all properties for this node and user
*/
public function removeProperties() {
$query = OC_DB::prepare( 'DELETE FROM `*PREFIX*properties`'
.' WHERE `userid` = ? AND `propertypath` = ?' );
$query->execute( array( OC_User::getUser(), $this->path));
$this->setPropertyCache(null);
}
/** /**
* @brief Returns a list of properties for this nodes.; * @brief Returns a list of properties for this nodes.;
* @param array $properties * @param array $properties

View file

@ -97,6 +97,11 @@ class ObjectTree extends \Sabre_DAV_ObjectTree {
throw new \Sabre_DAV_Exception_Forbidden(''); throw new \Sabre_DAV_Exception_Forbidden('');
} }
// update properties
$query = \OC_DB::prepare( 'UPDATE `*PREFIX*properties` SET `propertypath` = ?'
.' WHERE `userid` = ? AND `propertypath` = ?' );
$query->execute( array( $destinationPath, \OC_User::getUser(), $sourcePath ));
$this->markDirty($sourceDir); $this->markDirty($sourceDir);
$this->markDirty($destinationDir); $this->markDirty($destinationDir);