diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index 67faed7b31bb6..bf459b2ff8691 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -60,6 +60,7 @@ use OCP\Files\Search\ISearchQuery; use OCP\Files\Storage\IStorage; use OCP\IDBConnection; +use OCP\Util; use Psr\Log\LoggerInterface; /** @@ -191,8 +192,8 @@ public static function cacheEntryFromData($data, IMimeTypeLoader $mimetypeLoader $data['path'] = (string)$data['path']; $data['fileid'] = (int)$data['fileid']; $data['parent'] = (int)$data['parent']; - $data['size'] = 0 + $data['size']; - $data['unencrypted_size'] = 0 + ($data['unencrypted_size'] ?? 0); + $data['size'] = Util::numericToNumber($data['size']); + $data['unencrypted_size'] = Util::numericToNumber($data['unencrypted_size'] ?? 0); $data['mtime'] = (int)$data['mtime']; $data['storage_mtime'] = (int)$data['storage_mtime']; $data['encryptedVersion'] = (int)$data['encrypted']; @@ -882,7 +883,7 @@ public function getIncompleteChildrenCount($fileId) { * * @param string $path * @param array $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { $totalSize = 0; @@ -903,13 +904,13 @@ public function calculateFolderSize($path, $entry = null) { if ($rows) { $sizes = array_map(function (array $row) { - return (int)$row['size']; + return Util::numericToNumber($row['size']); }, $rows); $unencryptedOnlySizes = array_map(function (array $row) { - return (int)$row['unencrypted_size']; + return Util::numericToNumber($row['unencrypted_size']); }, $rows); $unencryptedSizes = array_map(function (array $row) { - return (int)(($row['unencrypted_size'] > 0) ? $row['unencrypted_size'] : $row['size']); + return Util::numericToNumber(($row['unencrypted_size'] > 0) ? $row['unencrypted_size'] : $row['size']); }, $rows); $sum = array_sum($sizes); diff --git a/lib/private/Files/Cache/HomeCache.php b/lib/private/Files/Cache/HomeCache.php index 6b6b94c3f2034..cd6408a86f691 100644 --- a/lib/private/Files/Cache/HomeCache.php +++ b/lib/private/Files/Cache/HomeCache.php @@ -36,7 +36,7 @@ class HomeCache extends Cache { * * @param string $path * @param array $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') { diff --git a/lib/private/Files/Cache/Scanner.php b/lib/private/Files/Cache/Scanner.php index f7d1d105d83ca..42f8f1b375bc9 100644 --- a/lib/private/Files/Cache/Scanner.php +++ b/lib/private/Files/Cache/Scanner.php @@ -368,7 +368,7 @@ protected function getExistingChildren($folderId) { * @param int $folderId id for the folder to be scanned * @param bool $lock set to false to disable getting an additional read lock during scanning * @param array $data the data of the folder before (re)scanning the children - * @return int the size of the scanned folder or -1 if the size is unknown at this stage + * @return int|float the size of the scanned folder or -1 if the size is unknown at this stage */ protected function scanChildren($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $folderId = null, $lock = true, array $data = []) { if ($reuse === -1) { diff --git a/lib/private/Files/Cache/Wrapper/CacheJail.php b/lib/private/Files/Cache/Wrapper/CacheJail.php index 628ca3ee0e0e3..9649ae3541bd8 100644 --- a/lib/private/Files/Cache/Wrapper/CacheJail.php +++ b/lib/private/Files/Cache/Wrapper/CacheJail.php @@ -240,7 +240,7 @@ public function correctFolderSize($path, $data = null, $isBackgroundScan = false * * @param string $path * @param array $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($this->getCache() instanceof Cache) { diff --git a/lib/private/Files/Cache/Wrapper/CacheWrapper.php b/lib/private/Files/Cache/Wrapper/CacheWrapper.php index 2cd378ad23cd5..f6bb949f96819 100644 --- a/lib/private/Files/Cache/Wrapper/CacheWrapper.php +++ b/lib/private/Files/Cache/Wrapper/CacheWrapper.php @@ -250,7 +250,7 @@ public function correctFolderSize($path, $data = null, $isBackgroundScan = false * * @param string $path * @param array $entry (optional) meta data of the folder - * @return int + * @return int|float */ public function calculateFolderSize($path, $entry = null) { if ($this->getCache() instanceof Cache) { diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php index 0c4a81b7491bc..84916f19ac0f9 100644 --- a/lib/private/Files/Storage/DAV.php +++ b/lib/private/Files/Storage/DAV.php @@ -50,6 +50,7 @@ use OCP\Files\StorageNotAvailableException; use OCP\Http\Client\IClientService; use OCP\ICertificateManager; +use OCP\Util; use Psr\Http\Message\ResponseInterface; use Sabre\DAV\Client; use Sabre\DAV\Xml\Property\ResourceType; @@ -433,7 +434,7 @@ public function free_space($path) { return FileInfo::SPACE_UNKNOWN; } if (isset($response['{DAV:}quota-available-bytes'])) { - return (int)$response['{DAV:}quota-available-bytes']; + return Util::numericToNumber($response['{DAV:}quota-available-bytes']); } else { return FileInfo::SPACE_UNKNOWN; } @@ -587,7 +588,7 @@ public function stat($path) { } return [ 'mtime' => isset($response['{DAV:}getlastmodified']) ? strtotime($response['{DAV:}getlastmodified']) : null, - 'size' => (int)($response['{DAV:}getcontentlength'] ?? 0), + 'size' => Util::numericToNumber($response['{DAV:}getcontentlength'] ?? 0), ]; } catch (\Exception $e) { $this->convertException($e, $path); diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index a375a5443003d..6dad028155b56 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -52,6 +52,7 @@ use OCP\Files\IMimeTypeDetector; use OCP\Files\Storage\IStorage; use OCP\IConfig; +use OCP\Util; use Psr\Log\LoggerInterface; /** @@ -422,7 +423,7 @@ public function free_space($path) { if ($space === false || is_null($space)) { return \OCP\Files\FileInfo::SPACE_UNKNOWN; } - return (int)$space; + return Util::numericToNumber($space); } public function search($query) {