|
|
|
@ -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)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|