- remove namespace from file property name (webdav)

- update script to fix broken properties in the database
This commit is contained in:
Bjoern Schiessle 2012-07-23 11:00:37 +02:00
parent 93579d88dc
commit 73734c98e0
3 changed files with 13 additions and 1 deletions

View File

@ -1,5 +1,16 @@
<?php
// fix webdav properties, remove namespace information between curly bracket update for OC4
$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
if (version_compare($installedVersion, '1.1.2', '<')) {
$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"] ));
}
}
//update from OC 3
//try to remove remaining files.

View File

@ -1 +1 @@
1.1.1
1.1.2

View File

@ -121,6 +121,7 @@ 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 )){