]> source.dussan.org Git - nextcloud-server.git/commitdiff
- remove namespace from file property name (webdav)
authorBjoern Schiessle <schiessle@owncloud.com>
Mon, 23 Jul 2012 09:00:37 +0000 (11:00 +0200)
committerBjoern Schiessle <schiessle@owncloud.com>
Mon, 23 Jul 2012 09:00:37 +0000 (11:00 +0200)
- update script to fix broken properties in the database

apps/files/appinfo/update.php
apps/files/appinfo/version
lib/connector/sabre/node.php

index f9953ba4de5e4efbc6d57532d25d37ea2ab6bdba..769a1a8e3e2b3eec2932c24135ceb7833b7ea72c 100644 (file)
@@ -1,5 +1,16 @@
 <?php
 
+// fix webdav properties, remove namespace information between curly bracket update for OC4\r
+$installedVersion=OCP\Config::getAppValue('files', 'installed_version');\r
+if (version_compare($installedVersion, '1.1.2', '<')) {\r
+       $query = OC_DB::prepare( "SELECT propertyname, propertypath, userid FROM `*PREFIX*properties`" );\r
+       $result = $query->execute();\r
+       while( $row = $result->fetchRow()){\r
+               $query = OC_DB::prepare( 'UPDATE *PREFIX*properties SET propertyname = ? WHERE userid = ? AND propertypath = ?' );\r
+               $query->execute( array( preg_replace("/^{.*}/", "", $row["propertyname"]),$row["userid"], $row["propertypath"] ));\r
+       }\r
+}
+
 //update from OC 3
 
 //try to remove remaining files.
index 8cfbc905b39f65131ba18e561d236557fbdc52cc..8428158dc5bd08a490b652db38f90e08cb471d25 100644 (file)
@@ -1 +1 @@
-1.1.1
\ No newline at end of file
+1.1.2
\ No newline at end of file
index c824ad0ead0156f1025d77f87fc3163b4bf2fe13..85d2160feb311a996e7fdfa8d32819f737ed65f6 100644 (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 )){