1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-03 09:17:37 +01:00

56 lines
1.3 KiB
PHP
Raw Normal View History

2019-06-03 11:48:03 +02:00
<?php
2019-07-19 15:23:00 +02:00
namespace Modules\StatoServizi\API\v1;
2019-07-19 15:23:00 +02:00
use API\Interfaces\RetrieveInterface;
2019-07-19 16:51:52 +02:00
use API\Resource;
2019-07-19 15:23:00 +02:00
use App;
use Util\FileSystem;
2019-06-03 11:48:03 +02:00
2019-07-19 16:51:52 +02:00
class FolderSize extends Resource implements RetrieveInterface
2019-07-19 15:23:00 +02:00
{
public function retrieve($request)
{
$dirs = $request['dirs'];
2019-06-03 11:48:03 +02:00
if (empty($dirs)) {
$backup_dir = App::getConfig()['backup_dir'];
2019-07-19 15:23:00 +02:00
2019-06-03 11:48:03 +02:00
$dirs = [
$backup_dir => tr('Backup'),
2019-07-19 15:23:00 +02:00
DOCROOT.'/files' => tr('Allegati'),
DOCROOT.'/logs' => tr('Logs'),
2019-06-03 11:48:03 +02:00
];
} else {
$array = explode(',', $dirs);
2019-06-03 11:48:03 +02:00
foreach ($array as $key => $value) {
$dirs = [
2019-07-19 15:23:00 +02:00
DOCROOT.'/'.$value => $key,
2019-06-03 11:48:03 +02:00
];
}
}
2019-07-19 15:23:00 +02:00
$results = [];
$total = 0;
2019-06-03 11:48:03 +02:00
foreach ($dirs as $dir => $description) {
$size = FileSystem::folderSize($dir);
2019-06-03 11:48:03 +02:00
$results[] = [
'description' => $description,
'size' => $size,
'formattedSize' => FileSystem::formatBytes($size),
];
2019-07-19 15:23:00 +02:00
$total += $size;
2019-06-03 11:48:03 +02:00
}
2019-07-19 15:23:00 +02:00
$response = [
'dirs' => $results,
'size' => $total,
'formattedSize' => FileSystem::formatBytes($total),
];
2019-07-19 15:23:00 +02:00
return $response;
}
2019-06-03 11:48:03 +02:00
}