first commit

This commit is contained in:
Konstantin
2026-05-30 09:27:58 +03:00
commit de0344d218
2371 changed files with 661486 additions and 0 deletions
@@ -0,0 +1,74 @@
<?php
class ModelExtensionModuleOc3xStorageCleaner extends Model {
public function getSize() {
$dirs = array(
'cache-system' => DIR_CACHE,
'cache-modification' => DIR_MODIFICATION,
'cache-image' => DIR_IMAGE . 'cache/',
'log-error' => DIR_LOGS . 'error.log',
'log-modification' => DIR_LOGS . 'ocmod.log',
);
foreach ($dirs as $key => $dir) {
$sizes[$key] = 0;
$files = array();
$path = array($dir . '*');
while (count($path) != 0) {
$next = array_shift($path);
if (is_array(glob($next))) {
foreach (glob($next) as $file) {
if (is_dir($file)) {
$path[] = $file . '/*';
}
$files[] = $file;
}
}
}
if (!empty($files)) {
rsort($files);
foreach ($files as $file) {
if ($file != $dir . 'index.html' && $file != $dir . '.htaccess') {
if (is_file($file)) {
$sizes[$key] += filesize($file);
}
}
}
}
}
foreach ($sizes as $key => $size) {
$output[$key] = $this->formatSize($size);
}
$output['all'] = $this->formatSize(array_sum($sizes));
return $output;
}
protected function formatSize($size) {
$sizenames = array(' B', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', 'YB');
$item = 0;
while ($size >= 1024) {
$size /= 1024;
$item++;
}
if ($item > 2) {
$output = round($size, 2) . $sizenames[$item];
} else {
$output = round($size, 0) . $sizenames[$item];
}
return $output;
}
}