Skip to content

Commit

Permalink
Merge pull request #2001 from Daniel-KM/feature/info_space
Browse files Browse the repository at this point in the history
Added system info about free space.
  • Loading branch information
zerocrates authored Sep 15, 2023
2 parents fe4f873 + a713ec6 commit 3d5a86a
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions application/src/Controller/Admin/SystemInfoController.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ private function getSystemInfo()
'Version' => sprintf('%s %s %s', php_uname('s'), php_uname('r'), php_uname('m')),
],
'Modules' => [],
'Free space' => [],
'Paths' => [
'PHP CLI path' => sprintf(
'%s %s',
Expand Down Expand Up @@ -124,6 +125,25 @@ private function getSystemInfo()
}
}

$freeSpaceSystem = disk_free_space('.');
$info['Free space']['System'] = $this->formatSpace($freeSpaceSystem);
$freeSpaceFilesDir = $this->getDirFiles();
if ($freeSpaceFilesDir) {
$freeSpaceFiles = disk_free_space($freeSpaceFilesDir);
if ($freeSpaceFiles !== $freeSpaceSystem) {
$info['Free space']['Local files'] = $this->formatSpace($freeSpaceFiles);
}
// Manage the case where directory "original" is mounted separately.
$freeSpaceOriginal = disk_free_space($freeSpaceFilesDir . '/original');
if ($freeSpaceFiles !== $freeSpaceOriginal) {
$info['Free space']['Local files (original)'] = $this->formatSpace($freeSpaceOriginal);
}
}
$freeSpaceTemp = disk_free_space($this->getDirTemp());
if ($freeSpaceTemp !== $freeSpaceSystem) {
$info['Free space']['Temp dir'] = $this->formatSpace($freeSpaceTemp);
}

return $info;
}

Expand Down Expand Up @@ -171,4 +191,23 @@ public function getImagemagickPath()
{
return sprintf('%s/convert', $this->getImagemagickDir());
}

protected function getDirFiles(): ?string
{
$fileStore = $this->config['service_manager']['aliases']['Omeka\File\Store'];
if ($fileStore === 'Omeka\File\Store\Local') {
return $this->config['file_store']['local']['base_path'] ?: (OMEKA_PATH . '/files');
}
return null;
}

protected function getDirTemp(): ?string
{
return $this->config['temp_dir'] ?: sys_get_temp_dir();
}

protected function formatSpace($bytes): string
{
return sprintf('%1$.1f GiB', $bytes / (1024 * 1024 * 1024));
}
}

0 comments on commit 3d5a86a

Please sign in to comment.