<?php
require_once 'config.php';
require_once 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Fill;

try {
    // Spreadsheet oluştur
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setTitle('Giden Aramalar');

    // Başlık satırı
    $headers = [
        'A1' => 'Tarih',
        'B1' => 'Dahili',
        'C1' => 'Dahili Adı',
        'D1' => 'Cevaplanan Arama',
        'E1' => 'Cevaplanmayan Arama',
        'F1' => 'Toplam Konuşma Süresi',
        'G1' => 'Ortalama Konuşma Süresi'
    ];

    foreach ($headers as $cell => $value) {
        $sheet->setCellValue($cell, $value);
    }

    // Örnek veriler
    $sampleData = [
        ['2025-01-04', '101', 'Ahmet Yılmaz', 35, 8, '02:45:30', '00:04:12'],
        ['2025-01-04', '102', 'Ayşe Kaya', 42, 5, '03:20:15', '00:04:45'],
        ['2025-01-04', '103', 'Mehmet Öz', 28, 12, '01:55:40', '00:04:08'],
        ['2025-01-04', '104', 'Fatma Demir', 31, 6, '02:15:25', '00:04:22'],
        ['2025-01-04', '105', 'Can Arslan', 25, 9, '01:45:18', '00:04:12'],
        ['2025-01-03', '101', 'Ahmet Yılmaz', 38, 7, '02:55:42', '00:04:36'],
        ['2025-01-03', '102', 'Ayşe Kaya', 44, 3, '03:35:20', '00:04:52'],
        ['2025-01-03', '103', 'Mehmet Öz', 32, 8, '02:25:30', '00:04:31'],
        ['2025-01-03', '104', 'Fatma Demir', 29, 11, '02:05:15', '00:04:15'],
        ['2025-01-03', '105', 'Can Arslan', 27, 6, '01:58:40', '00:04:25']
    ];

    // Verileri yazma
    $row = 2;
    foreach ($sampleData as $data) {
        $sheet->setCellValue('A' . $row, $data[0]); // Tarih
        $sheet->setCellValue('B' . $row, $data[1]); // Dahili
        $sheet->setCellValue('C' . $row, $data[2]); // Dahili Adı
        $sheet->setCellValue('D' . $row, $data[3]); // Cevaplanan
        $sheet->setCellValue('E' . $row, $data[4]); // Cevaplanmayan
        $sheet->setCellValue('F' . $row, $data[5]); // Toplam Süre
        $sheet->setCellValue('G' . $row, $data[6]); // Ortalama Süre
        $row++;
    }

    // Stil uygulama
    $headerRange = 'A1:G1';
    $sheet->getStyle($headerRange)->getFill()
        ->setFillType(Fill::FILL_SOLID)
        ->getStartColor()->setRGB('4472C4');
    
    $sheet->getStyle($headerRange)->getFont()
        ->setBold(true)
        ->setColor(new \PhpOffice\PhpSpreadsheet\Style\Color(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_WHITE));

    $sheet->getStyle($headerRange)->getAlignment()
        ->setHorizontal(Alignment::HORIZONTAL_CENTER)
        ->setVertical(Alignment::VERTICAL_CENTER);

    // Sütun genişlikleri
    $sheet->getColumnDimension('A')->setWidth(12);
    $sheet->getColumnDimension('B')->setWidth(10);
    $sheet->getColumnDimension('C')->setWidth(20);
    $sheet->getColumnDimension('D')->setWidth(15);
    $sheet->getColumnDimension('E')->setWidth(18);
    $sheet->getColumnDimension('F')->setWidth(20);
    $sheet->getColumnDimension('G')->setWidth(20);

    // Tablo çerçevesi
    $tableRange = 'A1:G' . ($row - 1);
    $sheet->getStyle($tableRange)->getBorders()->getAllBorders()
        ->setBorderStyle(Border::BORDER_THIN);

    // Veri hücrelerini ortala
    $dataRange = 'A2:G' . ($row - 1);
    $sheet->getStyle($dataRange)->getAlignment()
        ->setHorizontal(Alignment::HORIZONTAL_CENTER)
        ->setVertical(Alignment::VERTICAL_CENTER);

    // Dosyayı kaydet
    $filename = 'samples/ornek_giden_aramalar_' . date('Y-m-d') . '.xlsx';
    
    // samples klasörünü oluştur
    if (!file_exists('samples')) {
        mkdir('samples', 0755, true);
    }

    $writer = new Xlsx($spreadsheet);
    $writer->save($filename);

    echo "✅ Örnek giden arama Excel dosyası oluşturuldu: $filename\n";
    echo "📊 " . count($sampleData) . " örnek kayıt eklendi\n";
    echo "📋 Sütun yapısı:\n";
    echo "   A: Tarih (YYYY-MM-DD)\n";
    echo "   B: Dahili (101, 102, vs.)\n";
    echo "   C: Dahili Adı (Göz ardı edilir)\n";
    echo "   D: Cevaplanan Arama Sayısı\n";
    echo "   E: Cevaplanmayan Arama Sayısı\n";
    echo "   F: Toplam Konuşma Süresi (HH:MM:SS)\n";
    echo "   G: Ortalama Konuşma Süresi (HH:MM:SS)\n";

} catch (Exception $e) {
    echo "❌ Hata: " . $e->getMessage() . "\n";
}
?>
