Вход Регистрация
Файл: new_top/modules/cron.php
Строк: 42
<?php
/**
 * Daily reset — call: /?module=cron&key=YOUR_KEY
 * Set key in core/config/database.php → security.cron_key
 * or env-style: same as csrf_key fallback
 */
declare(strict_types=1);

$config = require CONFIG_PATH;
$expected $config['security']['cron_key'] ?? ($config['security']['csrf_key'] ?? '');
$given = (string)($_GET['key'] ?? '');

header('Content-Type: text/plain; charset=utf-8');

if (
$expected === '' || !hash_equals((string)$expected$given)) {
    
http_response_code(403);
    echo 
"Forbiddenn";
    exit;
}

// Snapshot "yesterday" into *_today fields already used as period counters:
// Reset period counters, keep *_all
Database::query(
    
'UPDATE platforms SET
        hs_today = hs,
        ht_today = ht,
        hs = 0,
        ht = 0,
        mb = 0,
        pc = 0'
);

// Unique hosts log for new day
Database::query('TRUNCATE TABLE hs');
// Online presence
Database::query('TRUNCATE TABLE on_log');
// Keep ht history for charts but purge older than 60 days
$old time() - 60 86400;
Database::query('DELETE FROM ht WHERE time < ?', [$old]);
Database::query('DELETE FROM in_log WHERE time < ?', [$old]);
try {
    
Database::query('DELETE FROM cheat_log WHERE time < ?', [time() - 14 86400]);
} catch (
Throwable $e) {}

$snapped 0;
try {
    
$snapped Stats::snapshotRanks();
} catch (
Throwable $e) {
    echo 
'rank_snap skip: ' $e->getMessage() . "n";
}

echo 
'OK ' date('c') . " ranks=" $snapped "n";
Онлайн: 2
Реклама