예제 #1
0
파일: logs.php 프로젝트: ircoco/BlackCatCMS
$widget_name = CAT_Object::lang()->translate('Logfiles');
$current = strftime('%Y-%m-%d');
$logs = array();
$list = array();
$files = CAT_Helper_Directory::getInstance()->maxRecursionDepth(2)->setSuffixFilter(array('txt'))->setSkipDirs(array('cache', 'compiled'))->setSkipFiles(array('index.php'))->findFiles('log_\\d{4}-\\d{2}-\\d{2}\\.txt', CAT_PATH . '/temp');
if (count($files)) {
    foreach ($files as $f) {
        if (filesize($f) !== 0) {
            $list[] = array('file' => $f, 'size' => filesize($f));
        }
    }
}
if (count($list)) {
    foreach (array_values($list) as $f) {
        $file = str_ireplace(CAT_Helper_Directory::sanitizePath(CAT_PATH . '/temp/'), '', CAT_Helper_Directory::sanitizePath($f['file']));
        if (substr($file, 0, 1) == "/") {
            $file = substr_replace($file, '', 0, 1);
        }
        if (pathinfo($f['file'], PATHINFO_BASENAME) == 'log_' . $current . '.txt') {
            $removable = false;
        } else {
            $removable = true;
        }
        $logs[] = array('file' => $file, 'size' => CAT_Helper_Directory::byte_convert($f['size']), 'removable' => $removable, 'date' => str_ireplace(array('log_', 'logs/', '.txt'), '', $file));
    }
} else {
    echo CAT_Helper_Directory::getInstance()->lang()->translate('No logfiles (or all empty)');
}
global $parser;
$parser->setPath(dirname(__FILE__) . '/../templates/default');
$parser->output('logs.tpl', array('logs' => $logs));