- take webdav namespace for properties into account
- change update routine to add the namesapce to all stored properties
This commit is contained in:
parent
25499644e3
commit
c3c6e52104
3 changed files with 14 additions and 12 deletions
|
@ -1,14 +1,16 @@
|
|||
<?php
|
||||
|
||||
// fix webdav properties, remove namespace information between curly bracket (update from OC4 to OC5)
|
||||
$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
|
||||
if (version_compare($installedVersion, '1.1.4', '<')) {
|
||||
$query = OC_DB::prepare( "SELECT `propertyname`, `propertypath`, `userid` FROM `*PREFIX*properties`" );
|
||||
$result = $query->execute();
|
||||
while( $row = $result->fetchRow()) {
|
||||
$query = OC_DB::prepare( 'UPDATE `*PREFIX*properties` SET `propertyname` = ? WHERE `userid` = ? AND `propertypath` = ?' );
|
||||
$query->execute( array( preg_replace("/^{.*}/", "", $row["propertyname"]),$row["userid"], $row["propertypath"] ));
|
||||
}
|
||||
// fix webdav properties,add namespace in front of the property, update for OC4.5
|
||||
$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
|
||||
if (version_compare($installedVersion, '1.1.6', '<')) {
|
||||
$query = OC_DB::prepare( "SELECT propertyname, propertypath, userid FROM `*PREFIX*properties`" );
|
||||
$result = $query->execute();
|
||||
while( $row = $result->fetchRow()){
|
||||
if ( $row["propertyname"][0] != '{' ) {
|
||||
$query = OC_DB::prepare( 'UPDATE *PREFIX*properties SET propertyname = ? WHERE userid = ? AND propertypath = ?' );
|
||||
$query->execute( array( '{DAV:}' + $row["propertyname"], $row["userid"], $row["propertypath"] ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//update from OC 3
|
||||
|
|
|
@ -1 +1 @@
|
|||
1.1.5
|
||||
1.1.6
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IProperties {
|
||||
const GETETAG_PROPERTYNAME = '{DAV:}getetag';
|
||||
const LASTMODIFIED_PROPERTYNAME = '{DAV:}lastmodified';
|
||||
|
||||
/**
|
||||
* The path to the current node
|
||||
|
@ -142,7 +143,6 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
|
|||
public function updateProperties($properties) {
|
||||
$existing = $this->getProperties(array());
|
||||
foreach($properties as $propertyName => $propertyValue) {
|
||||
$propertyName = preg_replace("/^{.*}/", "", $propertyName); // remove leading namespace from property name
|
||||
// If it was null, we need to delete the property
|
||||
if (is_null($propertyValue)) {
|
||||
if(array_key_exists( $propertyName, $existing )) {
|
||||
|
@ -151,7 +151,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
|
|||
}
|
||||
}
|
||||
else {
|
||||
if( strcmp( $propertyName, "lastmodified") === 0) {
|
||||
if( strcmp( $propertyName, self::LASTMODIFIED_PROPERTYNAME) === 0) {
|
||||
$this->touch($propertyValue);
|
||||
} else {
|
||||
if(!array_key_exists( $propertyName, $existing )) {
|
||||
|
|
Loading…
Reference in a new issue