<?php
// ===================================================
// প্রজেক্ট: কর্জে হাসানা ফাউন্ডেশন পোর্টাল
// ফাইল: setup.php (বাংলা এনকোডিং ফোর্স ও ১০টি রিয়াল বাংলা নিউজ সেটআপ)
// ===================================================

require_once 'config.php';

// ডাটাবেস এবং পিএইচপি-র ভেতর বাংলা ভাষার সঠিক এনকোডিং ফোর্স করা হলো
try {
    $pdo->exec("SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");
    $pdo->exec("SET CHARACTER SET utf8mb4");
    // ডাটাবেস ডিফল্ট কোডিং পরিবর্তন
    $pdo->exec("ALTER DATABASE `" . DB_NAME . "` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
} catch (Exception $e) {
    // ইগনোর
}

$messages = [];
$status = 'success';

try {
    // ===================================================
    // ১. খবর ও কার্যক্রম টেবিলটি ফেলে দিয়ে নতুন বাংলা কলাম (Title & Content) দিয়ে তৈরি করা
    // ===================================================
    $pdo->exec("DROP TABLE IF EXISTS `" . table('news_events') . "`");
    
    $pdo->exec("CREATE TABLE `" . table('news_events') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `title` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
        `content` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
        `category` ENUM('News', 'Activity', 'Success Story') DEFAULT 'News',
        `image` VARCHAR(255) DEFAULT 'default_news.jpg',
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");

    $messages[] = "✅ Table <strong>`bnp_news_events`</strong> সফলভাবে বাংলা কলামে পুনর্নির্মাণ করা হয়েছে।";

    // অন্য প্রয়োজনীয় টেবিলগুলো যদি ড্রপ হয়ে থাকে তবে সেগুলো পুনরায় নিশ্চিত করা
    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('users') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `name` VARCHAR(100) NOT NULL,
        `email` VARCHAR(100) UNIQUE NOT NULL,
        `phone` VARCHAR(20) NOT NULL,
        `password` VARCHAR(255) NOT NULL,
        `nid_number` VARCHAR(30) NOT NULL,
        `occupation` VARCHAR(100) NULL,
        `present_address` TEXT NULL,
        `permanent_address` TEXT NULL,
        `photo` VARCHAR(255) DEFAULT 'default_avatar.png',
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('applications') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `user_id` INT NOT NULL,
        `tracking_id` VARCHAR(20) UNIQUE NOT NULL,
        `aid_type` ENUM('Interest-Free Loan', 'Grant/Donation') DEFAULT 'Interest-Free Loan',
        `amount_requested` DECIMAL(10,2) NOT NULL,
        `amount_approved` DECIMAL(10,2) DEFAULT 0.00,
        `purpose` TEXT NOT NULL,
        `payout_method` ENUM('bKash', 'Nagad', 'Rocket', 'Bank') DEFAULT 'bKash',
        `payout_number` VARCHAR(30) NOT NULL,
        `status` ENUM('Pending', 'Approved', 'Rejected') DEFAULT 'Pending',
        `applied_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        FOREIGN KEY (`user_id`) REFERENCES `" . table('users') . "`(`id`) ON DELETE CASCADE
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('guarantors') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `application_id` INT NOT NULL,
        `name` VARCHAR(100) NOT NULL,
        `nid_number` VARCHAR(30) NOT NULL,
        `phone` VARCHAR(20) NOT NULL,
        `address` TEXT NOT NULL,
        `relation` VARCHAR(50) NOT NULL,
        `photo` VARCHAR(255) DEFAULT 'default_guarantor.png',
        `document` VARCHAR(255) NULL,
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (`application_id`) REFERENCES `" . table('applications') . "`(`id`) ON DELETE CASCADE
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('admins') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `name` VARCHAR(100) NOT NULL,
        `username` VARCHAR(50) UNIQUE NOT NULL,
        `email` VARCHAR(100) NOT NULL,
        `password` VARCHAR(255) NOT NULL,
        `role` ENUM('Super Admin', 'Moderator') DEFAULT 'Super Admin',
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('site_settings') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `setting_key` VARCHAR(50) UNIQUE NOT NULL,
        `setting_value` TEXT NULL
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('transactions') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `application_id` INT NOT NULL,
        `trx_id` VARCHAR(100) NULL,
        `payout_method` VARCHAR(20) NOT NULL,
        `receiver_number` VARCHAR(30) NOT NULL,
        `amount` DECIMAL(10,2) NOT NULL,
        `status` ENUM('Processing', 'Success', 'Failed') DEFAULT 'Processing',
        `response_msg` TEXT NULL,
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (`application_id`) REFERENCES `" . table('applications') . "`(`id`) ON DELETE CASCADE
    ) ENGINE=InnoDB;");

    $pdo->exec("CREATE TABLE IF NOT EXISTS `" . table('notifications') . "` (
        `id` INT AUTO_INCREMENT PRIMARY KEY,
        `user_id` INT NOT NULL,
        `title` VARCHAR(255) NOT NULL,
        `message` TEXT NOT NULL,
        `is_read` TINYINT(1) DEFAULT 0,
        `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (`user_id`) REFERENCES `" . table('users') . "`(`id`) ON DELETE CASCADE
    ) ENGINE=InnoDB;");

    // ===================================================
    // ২. ঝুনঝুনিয়া ৫ নং ওয়ার্ডের ১০টি বাস্তবসম্মত খাঁটি বাংলা খবর যুক্ত করা
    // ===================================================
    
    $news_data = [
        [
            'মোসাম্মৎ মরিয়ম বেগমের সেলাই মেশিন ক্রয়ের মাধ্যমে স্বাবলম্বী হওয়ার গল্প',
            'ঝুনঝুনিয়া ৫ নং ওয়ার্ডের বাসিন্দা মোসাম্মৎ মরিয়ম বেগম কর্জে হাসানা ফাউন্ডেশন থেকে ১০,০০০ টাকা সুদমুক্ত সাহায্য নিয়ে একটি সেলাই মেশিন ক্রয় করেন। আজ তিনি নকশীকাঁথা ও পোশাক তৈরির কাজ করে মাসে ভালো আয় করছেন এবং তার পরিবারে সম্পূর্ণ সচ্ছলতা ফিরে এসেছে।',
            'Success Story',
            'm_sewing.jpg'
        ],
        [
            'ঝুনঝুনিয়া ওয়ার্ড বিএনপির সৌজন্যে ২৫টি রিকশা বিতরণ কর্মসূচি',
            'ঝুনঝুনিয়া ওয়ার্ডের বেকার যুবকদের কর্মসংস্থান সৃষ্টি করতে সম্পূর্ণ সুদমুক্ত সহজ কিস্তিতে ২৫টি নতুন রিকশা ও ইজি-বাইক বিতরণ করেছে কর্জে হাসানা ফাউন্ডেশন। ঝুনঝুনিয়া ওয়ার্ড বিএনপির সরাসরি তত্ত্বাবধানে এই মহতি উদ্যোগ নেওয়া হয়েছে।',
            'Activity',
            'r_dist.jpg'
        ],
        [
            'ঝুনঝুনিয়া সরকারি প্রাথমিক বিদ্যালয়ে দিনব্যাপী ফ্রি চক্ষু ও চিকিৎসা সেবা সম্পন্ন',
            'ঝুনঝুনিয়া ৫ নং ওয়ার্ড এলাকার সাধারণ ও অসহায় ৫০০ জন রোগীকে বিনামূল্যে বিশেষজ্ঞ ডাক্তারের মাধ্যমে স্বাস্থ্য পরীক্ষা, ডায়াবেটিস টেস্ট ও প্রয়োজনীয় জীবনরক্ষাকারী ওষুধ বিনামূল্যে বিতরণ করেছে কর্জে হাসানা ফাউন্ডেশন ও ওয়ার্ড যুবদল।',
            'Activity',
            'med_camp.jpg'
        ],
        [
            'মুদি দোকানদার আব্দুল হাইয়ের সুদমুক্ত ঋণে ঘুরে দাঁড়ানোর লড়াই',
            'করোনাকালীন মন্দা ও লকডাউনে ঝুনঝুনিয়া বাজারের ক্ষুদ্র মুদি ব্যবসায়ী আব্দুল হাইয়ের মূলধন শেষ হয়ে গিয়েছিল। কর্জে হাসানা ফাউন্ডেশন থেকে ১৫,০০০ টাকা সুদমুক্ত কর্জ পেয়ে দোকানে নতুন মালামাল তুলে সফলভাবে পুনরায় ব্যবসা চালু করেছেন।',
            'Success Story',
            'grocery.jpg'
        ],
        [
            'ঝুনঝুনিয়া এলাকার পানিবন্দী ১৫০টি অসহায় পরিবারে খাদ্য ও জরুরি সাহায্য পৌঁছে দিল বিএনপি',
            'সাম্প্রতিক অতিবৃষ্টি ও আকস্মিক বন্যায় ক্ষতিগ্রস্ত ঝুনঝুনিয়া ওয়ার্ডের ১৫০টি পানিবন্দী দুস্থ পরিবারের মাঝে চাল, ডাল, তেল, লবণ, স্যালাইন ও শুকনো খাবার সহ নগদ অর্থ সহায়তা বাড়ি বাড়ি গিয়ে বিতরণ করেছে কর্জে হাসানা ফাউন্ডেশনের টিম।',
            'Activity',
            'flood_aid.jpg'
        ],
        [
            'তরুণ খামারি রাসেলের সুদমুক্ত কর্জে পোল্ট্রি খামার সম্প্রসারণ',
            'ঝুনঝুনিয়া ওয়ার্ডের রাসেল মিয়া কর্জে হাসানা ফাউন্ডেশন থেকে ২০,০০০ টাকা ঋণ গ্রহণ করে তার পোল্ট্রি খামারে নতুন উন্নত জাতের মুরগির বাচ্চা ও উন্নত মানের খাদ্য ক্রয় করেন। বর্তমানে তার খামার থেকে দৈনিক ডিম বিক্রি করে তিনি স্বাবলম্বী হয়েছেন।',
            'Success Story',
            'poultry.jpg'
        ],
        [
            'তীব্র শীতে ঝুনঝুনিয়া ওয়ার্ডের শীতার্ত ও দিনমজুরদের মাঝে ৩০০টি কম্বল বিতরণ সম্পন্ন',
            'তীব্র কুয়াশা ও তীব্র শীতে কাঁপতে থাকা ঝুনঝুনিয়া এলাকার অসহায় দিনমজুর, ভ্যান চালক ও দরিদ্র শীতার্ত মানুষের কষ্ট লাঘব করতে ঝুনঝুনিয়া ওয়ার্ড বিএনপির পক্ষ থেকে উন্নত মানের কম্বল ও শীতবস্ত্র বিতরণ করা হয়।',
            'Activity',
            'winter_blanket.jpg'
        ],
        [
            'গরিব ও মেধাবী শিক্ষার্থীদের মাঝে বিনামূল্যে স্কুল ব্যাগ ও শিক্ষা উপকরণ বিতরণ',
            'ঝুনঝুনিয়া ৫ নং ওয়ার্ডের বিভিন্ন প্রাথমিক ও মাধ্যমিক বিদ্যালয়ের ৫০ জন হতদরিদ্র ও মেধাবী শিক্ষার্থীর মাঝে খাতা, কলম, স্কুল ব্যাগ, টিফিন বক্স ও জ্যামিতি বক্স বিতরণ করেছে কর্জে হাসানা ফাউন্ডেশনের ভলান্টিয়ার দল।',
            'Activity',
            'edu_aid.jpg'
        ],
        [
            'হাতের কাজে সচ্ছলতা ও গৌরব ফিরে পেয়েছেন ঝুনঝুনিয়ার গৃহিনী ফাতেমা বেগম',
            'ঝুনঝুনিয়া ওয়ার্ডের ফাতেমা বেগম কর্জে হাসানা সুদমুক্ত ঋণ তহবিল থেকে ১২,০০০ টাকা নিয়ে ঘরে বসেই হস্তশিল্প, পাটের পুতুল এবং ঐতিহ্যবাহী নকশিকাঁথা তৈরির কাজ শুরু করেন। আজ তার কাজ পাইকারি বিক্রেতারা সরাসরি এসে কিনে নিয়ে যাচ্ছেন।',
            'Success Story',
            'handicraft.jpg'
        ],
        [
            'পরিবেশের ভারসাম্য রক্ষায় ঝুনঝুনিয়া ৫ নং ওয়ার্ড এলাকায় ১০০টি বৃক্ষরোপণ কর্মসূচি',
            'জলবায়ুর পরিবর্তন রোধে এবং বজ্রপাত ঠেকানোর অংশ হিসেবে ঝুনঝুনিয়া এলাকার রাস্তার দুপাশে ১০০টি ফলদ, বনজ ও ঔষধি গাছ রোপণ করেছে কর্জে হাসানা ফাউন্ডেশন এবং ওয়ার্ড বিএনপির নেতৃবৃন্দ।',
            'Activity',
            'tree_plantation.jpg'
        ]
    ];

    // ইনসার্ট করার পূর্বে পুনরায় ডাটাবেস কানেকশনের ক্যারেক্টার সেট utf8mb4 এনশিওর করা হলো
    $pdo->exec("SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");

    $stmt_insert = $pdo->prepare("INSERT INTO `" . table('news_events') . "` (`title`, `content`, `category`, `image`) VALUES (?, ?, ?, ?)");
    
    foreach ($news_data as $news) {
        $stmt_insert->execute($news);
    }
    
    $messages[] = "✅ ঝুনঝুনিয়া ৫ নং ওয়ার্ডের ১০টি আসল খবর ডাইনামিক বাংলা সাপোর্টে ডাটাবেসে সেভ হয়েছে (প্রশ্নচিহ্ন চিরতরে দূর হয়েছে)।";

    // সেটিংস, ইউজার ও এডমিন ডাটা পুনরায় ইনসার্ট করা
    $default_password = password_hash('123456', PASSWORD_DEFAULT);
    
    // এডমিন রিকোভারি
    $admin_check = $pdo->query("SELECT COUNT(*) FROM `" . table('admins') . "`")->fetchColumn();
    if ($admin_check == 0) {
        $stmt = $pdo->prepare("INSERT INTO `" . table('admins') . "` (`name`, `username`, `email`, `password`) VALUES (?, ?, ?, ?)");
        $stmt->execute(['প্রধান এডমিন', 'admin', 'admin@araihazargeneralhospital.com', $default_password]);
    }

    // ইউজার রিকোভারি
    $user_check = $pdo->query("SELECT COUNT(*) FROM `" . table('users') . "`")->fetchColumn();
    if ($user_check == 0) {
        $stmt = $pdo->prepare("INSERT INTO `" . table('users') . "` (`name`, `email`, `phone`, `password`, `nid_number`, `occupation`, `present_address`, `permanent_address`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
        $stmt->execute([
            'মোঃ রফিকুল ইসলাম',
            'rafiq@example.com',
            '01711000111',
            $default_password,
            '19922691234567890',
            'ছোট ব্যবসায়ী',
            'ঝুনঝুনিয়া, আড়াইহাজার, নারায়নগঞ্জ',
            'ঝুনঝুনিয়া, আড়াইহাজার, নারায়নগঞ্জ'
        ]);
        $user_id = $pdo->lastInsertId();

        $stmt_app = $pdo->prepare("INSERT INTO `" . table('applications') . "` (`user_id`, `tracking_id`, `aid_type`, `amount_requested`, `amount_approved`, `purpose`, `payout_method`, `payout_number`, `status`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
        $stmt_app->execute([
            $user_id,
            'BNP-2026-9901',
            'Interest-Free Loan',
            20000.00,
            20000.00,
            'দোকানের নতুন স্টক ও মালামাল ক্রয়ের জন্য সুদমুক্ত সহায়তার আবেদন।',
            'bKash',
            '01711000111',
            'Approved'
        ]);
        $app_id = $pdo->lastInsertId();

        $stmt_gua = $pdo->prepare("INSERT INTO `" . table('guarantors') . "` (`application_id`, `name`, `nid_number`, `phone`, `address`, `relation`) VALUES (?, ?, ?, ?, ?, ?)");
        $stmt_gua->execute([
            $app_id,
            'মোঃ শফিকুল আলম',
            '19852690001122334',
            '01819000222',
            'ঝুনঝুনিয়া, আড়াইহাজার, নারায়নগঞ্জ',
            'চাচা'
        ]);
    }

    // সেটিংস রিসেট
    $pdo->exec("TRUNCATE TABLE `" . table('site_settings') . "`");
    $stmt_set = $pdo->prepare("INSERT INTO `" . table('site_settings') . "` (`setting_key`, `setting_value`) VALUES (?, ?)");
    $stmt_set->execute(['whatsapp_number', '8801830518691']);
    $stmt_set->execute(['gemini_api_key', 'YOUR_GEMINI_API_KEY_HERE']);
    $stmt_set->execute(['uddoktapay_api_key', 'YOUR_UDDOKTAPAY_API_KEY']);
    $stmt_set->execute(['uddoktapay_api_url', 'https://sandbox.uddoktapay.com/api/checkout-v2']);
    $stmt_set->execute(['facebook_page_url', 'https://facebook.com']);
    $stmt_set->execute(['banner_image', 'https://araihazargeneralhospital.com/software/banner.jpeg']);

} catch (PDOException $e) {
    $status = 'error';
    $messages[] = "❌ ডাটাবেস এরর: " . $e->getMessage();
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>BNP Database Setup Upgrade</title>
</head>
<body style="margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Arial, sans-serif; background-color: #f4f6f9; color: #333;">

    <div style="max-width: 750px; margin: 40px auto; background: #ffffff; padding: 30px; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.08); border-top: 5px solid <?php echo $status === 'success' ? '#27ae60' : '#e74c3c'; ?>;">
        
        <h2 style="margin-top: 0; color: #2c3e50; font-size: 24px; text-align: center; border-bottom: 2px solid #eee; padding-bottom: 15px;">
            ⚙️ BNP ডাটাবেস বাংলা ল্যাঙ্গুয়েজ টিউনিং সম্পূর্ণ
        </h2>

        <div style="margin-top: 20px;">
            <?php foreach ($messages as $msg): ?>
                <div style="padding: 12px 16px; margin-bottom: 10px; border-radius: 6px; background-color: #f8f9fa; border-left: 4px solid <?php echo strpos($msg, '❌') !== false ? '#e74c3c' : (strpos($msg, '🔹') !== false ? '#3498db' : '#27ae60'); ?>; font-size: 15px; line-height: 1.5;">
                    <?php echo $msg; ?>
                </div>
            <?php endforeach; ?>
        </div>

        <?php if ($status === 'success'): ?>
            <div style="margin-top: 30px; background-color: #e8f8f5; border: 1px solid #a3e4d7; padding: 20px; border-radius: 8px;">
                <h3 style="margin-top: 0; color: #16a085; font-size: 18px;">🎉 ডাটাবেস সম্পূর্ণ রেডি!</h3>
                <p style="font-size: 14px;">আপনার phpMyAdmin চেক করে দেখুন, প্রশ্নচিহ্ন উধাও হয়ে সরাসরি স্পষ্ট বাংলা লেখা দেখা যাবে।</p>
            </div>
        <?php endif; ?>

    </div>

</body>
</html>