<?php
/**
 * SMS উদাহরণ স্ক্রিপ্ট #1: পরীক্ষার ফলাফল প্রকাশের নোটিফিকেশন
 * 
 * ব্যবহার:
 * php examples/send-result-notification.php 2024
 */

require_once(__DIR__ . '/../config/database.php');
require_once(__DIR__ . '/../classes/SMSService.php');

// SMS সেটিংস নিন
$stmt = $pdo->prepare("SELECT key_name, value FROM sms_settings");
$stmt->execute();
$settings = [];
while ($row = $stmt->fetch()) {
    $settings[$row['key_name']] = $row['value'];
}

$apiKey = $settings['api_key'] ?? '';
$callerId = $settings['caller_id'] ?? '1234';

if (empty($apiKey)) {
    die("Error: API Key কনফিগার করা হয়নি\n");
}

// SMS সেবা ইনিশিয়ালাইজ করুন
$smsService = new SMSService($apiKey, $callerId, $pdo);

// সেশন থেকে সব স্টুডেন্ট নিন যাদের ফলাফল প্রকাশ করা হয়েছে
$session = $argv[1] ?? date('Y');

try {
    // স্টুডেন্টদের ফোন নম্বর নিন যাদের ফলাফল আছে
    $stmt = $pdo->prepare("
        SELECT DISTINCT s.id, s.first_name, s.phone, s.guardian_phone
        FROM students s
        INNER JOIN results r ON s.id = r.student_id
        WHERE r.session = ? AND s.status = 'active'
        AND (s.phone IS NOT NULL OR s.guardian_phone IS NOT NULL)
    ");
    
    $stmt->execute([$session]);
    $students = $stmt->fetchAll();
    
    if (empty($students)) {
        echo "কোনো স্টুডেন্ট খুঁজে পাওয়া যায়নি\n";
        exit;
    }
    
    echo "📱 $session সেশনে " . count($students) . " জন স্টুডেন্টকে নোটিফিকেশন পাঠাচ্ছি...\n\n";
    
    $totalSent = 0;
    
    // প্রতিটি স্টুডেন্টকে কাস্টম বার্তা পাঠান
    foreach ($students as $student) {
        $message = "আপনার পরীক্ষার ফলাফল প্রকাশ করা হয়েছে। " .
                   "আমাদের পোর্টালে লগইন করে দেখুন। ধন্যবাদ!";
        
        // স্টুডেন্টের ফোন নম্বর
        if (!empty($student['phone'])) {
            $result = $smsService->send($student['phone'], $message);
            if ($result['success']) {
                $totalSent++;
                echo "✓ " . $student['first_name'] . " (" . $student['phone'] . ")\n";
            } else {
                echo "✗ " . $student['first_name'] . " - " . ($result['message'] ?? 'ব্যর্থ') . "\n";
            }
        }
        
        // গার্ডিয়ানের ফোন নম্বর
        if (!empty($student['guardian_phone']) && $student['guardian_phone'] !== $student['phone']) {
            $result = $smsService->send($student['guardian_phone'], $message);
            if ($result['success']) {
                $totalSent++;
                echo "✓ গার্ডিয়ান (" . $student['guardian_phone'] . ")\n";
            }
        }
    }
    
    echo "\n✓ মোট $totalSent টি SMS সফলভাবে পাঠানো হয়েছে\n";
    
} catch (Exception $e) {
    echo "Error: " . $e->getMessage() . "\n";
}
?>
