Files
pathfinder/app/main/cron/statisticsupdate.php
Mark Friedrich 964dd0f7c9 - Enhancement, new admin "cronjob" dashboard on /setup page, closed #871
- Improved `/setup` page, show DB table `charset`/`collation` info
- Upgraded "[_Peity_](http://benpickles.github.io/peity)" js lib `v3.2.1` → `v3.3.0`
2019-10-30 23:12:25 +01:00

52 lines
1.3 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: Exodus
* Date: 16.10.2016
* Time: 21:31
*/
namespace cron;
class StatisticsUpdate extends AbstractCron {
/**
* log text
*/
const LOG_TEXT_STATISTICS = ', %5s rows deleted';
/**
* delete old statistics
* -> older than 1 year
* >> php index.php "/cron/deleteStatisticsData"
* @param \Base $f3
*/
function deleteStatisticsData(\Base $f3){
$this->logStart(__FUNCTION__);
$currentYear = (int)date('o');
$currentWeek = (int)date('W');
$expiredYear = $currentYear - 1;
$pfDB = $f3->DB->getDB('PF');
$queryData = [
'yearWeekEnd' => strval($expiredYear) . str_pad($currentWeek, 2, 0, STR_PAD_LEFT)
];
$sql = "DELETE FROM
activity_log
WHERE
CONCAT(`year`, `week`) < :yearWeekEnd";
$pfDB->exec($sql, $queryData);
$deletedLogsCount = $pfDB->count();
// Log --------------------------------------------------------------------------------------------------------
$total = $count = $importCount = $deletedLogsCount;
$text = sprintf(self::LOG_TEXT_STATISTICS, $deletedLogsCount);
$this->logEnd(__FUNCTION__, $total, $count, $importCount, 0, $text);
}
}