<?php
/**
 * YouTube Converter - Akıllı Depolama Temizleyici (Cron Job)
 * Bu dosya cPanel üzerinden 15 dakikada veya 1 saatte bir çalıştırılacak şekilde ayarlanmalıdır.
 * 
 * MANTIK: Dosyayı hemen silmez!
 * 1. Dosya 6 saatten eskiyse → SİL (Adam zaten indirmiştir veya vazgeçmiştir)
 * 2. Dosya 6 saatten yeniyse → DOKUNMA (Belki adam hâlâ indirmeye çalışıyor)
 * 3. .meta, .log, .htaccess, index.html, tmp/ klasörü gibi sistem dosyalarına DOKUNMA
 */
require_once __DIR__ . '/config.php';

// Temizlenecek klasör
$storageDir = STORAGE_DIR;

// Kaç saat sonra dosya silinebilir? (6 saat = 21600 saniye)
// Adam en geç 6 saat içinde indirmiş olur, yoksa kendi sorunudur :)
$expirationTime = 21600;
$now = time();
$deletedCount = 0;
$freedSpace = 0;
$skippedCount = 0;

// Klasördeki tüm dosyaları tara
$files = glob($storageDir . '*');

foreach ($files as $file) {
    $filename = basename($file);
    
    // Korumalı dosya ve klasörlere DOKUNMA
    if ($filename === '.htaccess' || $filename === 'index.html' || $filename === 'tmp' || 
        $filename === 'visitors.json' || $filename === 'convert_debug.log' || $filename === 'exec_method.txt') {
        continue;
    }

    if (is_file($file)) {
        $fileTime = filemtime($file);
        $fileAge = $now - $fileTime;

        if ($fileAge >= $expirationTime) {
            // 6 saatten eski → Güle güle!
            $fileSize = filesize($file);
            if (unlink($file)) {
                $deletedCount++;
                $freedSpace += $fileSize;
            }
        } else {
            // Henüz taze → Dokunma, adam belki indiriyor
            $skippedCount++;
        }
    }
}

// Sonuçları ekrana bas (cron loglarında görünsün diye)
$freedSpaceMB = round($freedSpace / 1048576, 2);
echo date('Y-m-d H:i:s') . " | Temizlik tamamlandi. {$deletedCount} eski dosya silindi ({$freedSpaceMB} MB). {$skippedCount} taze dosya korundu.";
