<?php
/**
 * v8 — ویجت هوشمند کاندید + پیشنهادات هوادار
 * C:\xampp\php\php.exe run-election-v8-install.php
 */
declare(strict_types=1);

if ( ! defined( 'ACC_BASE_PATH' ) ) {
    define( 'ACC_BASE_PATH', __DIR__ );
    require __DIR__ . '/standalone/bootstrap.php';
}

header( 'Content-Type: application/json; charset=utf-8' );
global $wpdb;

require_once ACC_PATH . 'includes/helpers/election-havadaran.php';

$pre = $wpdb->prefix;
$log = [];

$t = Election_Havadaran::candidate_suggestions_table();
$wpdb->query( "CREATE TABLE IF NOT EXISTS {$t} (
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    section VARCHAR(30) NOT NULL DEFAULT 'general',
    body TEXT NOT NULL,
    author_name VARCHAR(120) NULL,
    phone VARCHAR(20) NULL,
    user_id BIGINT UNSIGNED NULL,
    station_id BIGINT UNSIGNED NULL,
    status VARCHAR(20) NOT NULL DEFAULT 'new',
    reviewed_by BIGINT UNSIGNED NULL,
    reviewed_at DATETIME NULL,
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    KEY idx_section (section),
    KEY idx_status (status),
    KEY idx_user (user_id)
) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" );
$log[] = 'candidate_suggestions_table';

$existing = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$t}" );
if ( $existing === 0 ) {
    $samples = [
        [ 'slogans',  'شعار محلی: «زند عقلانی — رأی آگاهانه» برای محله زند', 'هوادار نمونه', '09171234567' ],
        [ 'programs', 'برنامه ویژه فضای سبز: هماهنگی با سرشاخه فضای سبز برای پارک‌های منطقه ۲', 'رضا ن.', '' ],
        [ 'intro',    'در معرفی کاندید تأکید بیشتر بر تجربه مدیریتی در پروژه‌های شهری شیراز', 'مریم ص.', '' ],
        [ 'programs', 'پیشنهاد: کارگاه آموزش روز رأی برای هواداران تازه‌وارد با SMS', 'علی ح.', '09179876543' ],
    ];
    foreach ( $samples as [ $sec, $body, $name, $phone ] ) {
        $wpdb->insert( $t, [
            'section'     => $sec,
            'body'        => $body,
            'author_name' => $name,
            'phone'       => $phone ?: null,
            'status'      => 'new',
            'created_at'  => current_time( 'mysql' ),
        ] );
    }
    $log[] = 'sample_suggestions';
}

if ( ! trim( (string) get_option( 'acc_election_candidate_name', '' ) ) ) {
    update_option( 'acc_election_candidate_name', 'نامزد ستاد — دولت عقلانی' );
    update_option( 'acc_election_candidate_title', 'نامزد انتخابات مجلس — حوزه انتخابیه شیراز' );
    $log[] = 'candidate_profile_options';
}

echo json_encode( [
    'ok'      => true,
    'message' => 'v8 — ویجت هوشمند کاندید',
    'log'     => $log,
    'hub'     => Election_Havadaran::hub_payload(),
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT );
