nextcloud/apps/files/appinfo/update.php

50 lines
1.4 KiB
PHP
Raw Normal View History

<?php
2012-10-02 16:10:44 +04:00
// 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', '<')) {
2012-11-29 21:30:02 +04:00
$query = OC_DB::prepare( 'SELECT `propertyname`, `propertypath`, `userid` FROM `*PREFIX*properties`' );
2012-10-02 16:10:44 +04:00
$result = $query->execute();
2012-11-29 21:30:02 +04:00
$updateQuery = OC_DB::prepare('UPDATE `*PREFIX*properties`'
.' SET `propertyname` = ?'
.' WHERE `userid` = ?'
.' AND `propertypath` = ?');
while( $row = $result->fetchRow()) {
2012-11-29 21:30:02 +04:00
if ( $row['propertyname'][0] != '{' ) {
$updateQuery->execute(array('{DAV:}' + $row['propertyname'], $row['userid'], $row['propertypath']));
2012-10-02 16:10:44 +04:00
}
}
}
//update from OC 3
//try to remove remaining files.
//Give a warning if not possible
$filesToRemove = array(
'ajax',
'appinfo',
'css',
'js',
'l10n',
'templates',
'admin.php',
'download.php',
'index.php',
'settings.php'
);
foreach($filesToRemove as $file) {
$filepath = OC::$SERVERROOT . '/files/' . $file;
if(!file_exists($filepath)) {
continue;
}
2012-11-29 21:30:02 +04:00
$success = OCP\Files::rmdirr($filepath);
if($success === false) {
//probably not sufficient privileges, give up and give a message.
2012-11-29 21:30:02 +04:00
OCP\Util::writeLog('files', 'Could not clean /files/ directory.'
.' Please remove everything except webdav.php from ' . OC::$SERVERROOT . '/files/', OCP\Util::ERROR);
break;
2012-11-29 21:30:02 +04:00
}
}