Merge pull request #8921 from owncloud/fix-remove-storage-master
No need to create a storage within remove
This commit is contained in:
commit
c053f27381
|
@ -43,12 +43,15 @@ class Storage {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getNumericId() {
|
||||
return $this->numericId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @return string|null
|
||||
*/
|
||||
public static function getStorageId($numericId) {
|
||||
|
||||
|
@ -62,37 +65,46 @@ class Storage {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $storageId
|
||||
* @return string|null
|
||||
*/
|
||||
public static function exists($storageId) {
|
||||
public static function getNumericStorageId($storageId) {
|
||||
if (strlen($storageId) > 64) {
|
||||
$storageId = md5($storageId);
|
||||
}
|
||||
|
||||
$sql = 'SELECT `numeric_id` FROM `*PREFIX*storages` WHERE `id` = ?';
|
||||
$result = \OC_DB::executeAudited($sql, array($storageId));
|
||||
if ($row = $result->fetchRow()) {
|
||||
return true;
|
||||
return $row['numeric_id'];
|
||||
} else {
|
||||
return false;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $storageId
|
||||
* @return bool
|
||||
*/
|
||||
public static function exists($storageId) {
|
||||
return !is_null(self::getNumericStorageId($storageId));
|
||||
}
|
||||
|
||||
/**
|
||||
* remove the entry for the storage
|
||||
*
|
||||
* @param string $storageId
|
||||
*/
|
||||
public static function remove($storageId) {
|
||||
$storageCache = new Storage($storageId);
|
||||
$numericId = $storageCache->getNumericId();
|
||||
|
||||
if (strlen($storageId) > 64) {
|
||||
$storageId = md5($storageId);
|
||||
}
|
||||
$sql = 'DELETE FROM `*PREFIX*storages` WHERE `id` = ?';
|
||||
\OC_DB::executeAudited($sql, array($storageId));
|
||||
|
||||
$sql = 'DELETE FROM `*PREFIX*filecache` WHERE `storage` = ?';
|
||||
\OC_DB::executeAudited($sql, array($numericId));
|
||||
$numericId = self::exists($storageId);
|
||||
if (!is_null($numericId)) {
|
||||
$sql = 'DELETE FROM `*PREFIX*filecache` WHERE `storage` = ?';
|
||||
\OC_DB::executeAudited($sql, array($numericId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue