<?php
if (!defined('ABSPATH')) exit;
session_start();

$imdb_id     = trim($_POST['seriesId'] ?? '');
$omdb_key    = trim($_POST['omdbKey'] ?? '');
$add_new     = isset($_POST['addNewSeries']);
$series_code = trim($_POST['series_code'] ?? 'code-1');

if (!$imdb_id || !$omdb_key) {
    $_SESSION['mhp_series_message'] = 'ℹ️ سریال یا کلید OMDB وارد نشده است.';
    return;
}

/* بررسی وجود سریال */
$args = [
    'post_type' => 'series',
    'meta_query' => [
        [
            'key' => 'imdbid_movie',
            'value' => $imdb_id,
            'compare' => '='
        ]
    ],
    'posts_per_page' => 1,
    'fields' => 'ids',
];
$existing_posts = get_posts($args);
$post_id = $existing_posts[0] ?? 0;

/* اگر نبود و گزینه فعال بود → بساز */
if (!$post_id && $add_new) {
    $post_id = wp_insert_post([
        'post_title'  => 'title',
        'post_type'   => 'series',
        'post_status' => 'publish'
    ]);

    if (!$post_id || is_wp_error($post_id)) {
        $_SESSION['mhp_series_message'] = '⚠️ خطا در ایجاد پست.';
        return;
    }
}

/* گرفتن اطلاعات OMDB */
$omdb_url = add_query_arg([
    'i' => $imdb_id,
    'apikey' => $omdb_key,
    'plot' => 'full'
], 'https://www.omdbapi.com/');

$response = wp_remote_get($omdb_url, ['timeout' => 18]);

if (is_wp_error($response)) {
    $_SESSION['mhp_series_message'] = '⚠️ خطا در اتصال به OMDB';
    return;
}

$data = json_decode(wp_remote_retrieve_body($response), true);

if (!$data || ($data['Response'] ?? '') === 'False') {
    $_SESSION['mhp_series_message'] = '⚠️ اطلاعات در OMDB یافت نشد';
    return;
}

/* عنوان پست */
$title = $data['Title'] ?? 'بدون نام';
wp_update_post([
    'ID' => $post_id,
    'post_title' => 'سریال ' . $title
]);

/* ذخیره متاها */
update_post_meta($post_id, 'imdbid_movie', $imdb_id);
update_post_meta($post_id, 'title_movie', $title);
update_post_meta($post_id, 'director_movie', $data['Director'] ?? '');
update_post_meta($post_id, 'stars_movie', $data['Actors'] ?? '');
update_post_meta($post_id, 'imdb_rate_movie', $data['imdbRating'] ?? '');
update_post_meta($post_id, 'release_movie', $data['Year'] ?? '');
update_post_meta($post_id, 'country_movie', $data['Country'] ?? '');
update_post_meta($post_id, 'genre_movie', $data['Genre'] ?? '');
update_post_meta($post_id, 'language_movie', $data['Language'] ?? '');
update_post_meta($post_id, 'en_plot_movie', $data['Plot'] ?? '');

/* ترجمه خلاصه */
if (!empty($data['Plot'])) {
    $fa_plot = wp_remote_get(
        'https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=fa&dt=t&q=' . urlencode($data['Plot'])
    );

    if (!is_wp_error($fa_plot)) {
        $body = wp_remote_retrieve_body($fa_plot);
        $decoded = json_decode($body, true);
        $fa_text = $decoded[0][0][0] ?? '';
        update_post_meta($post_id, 'fa_plot_movie', $fa_text);
    }
}


/* ثبت ژانر در taxonomy */
if (!empty($data['Genre']) && taxonomy_exists('genre')) {
    wp_set_post_terms($post_id, [$data['Genre']], 'genre');
}

/* ثبت سال، کشور، زبان */
if (!empty($data['Year']) && taxonomy_exists('release')) {
    wp_set_post_terms($post_id, [$data['Year']], 'release');
}

if (!empty($data['Country']) && taxonomy_exists('country')) {
    wp_set_post_terms($post_id, explode(',', $data['Country']), 'country');
}

if (!empty($data['Language']) && taxonomy_exists('language')) {
    wp_set_post_terms($post_id, explode(',', $data['Language']), 'language');
}

/* پوستر */
if (!empty($data['Poster']) && filter_var($data['Poster'], FILTER_VALIDATE_URL)) {

    require_once ABSPATH . 'wp-admin/includes/media.php';
    require_once ABSPATH . 'wp-admin/includes/file.php';
    require_once ABSPATH . 'wp-admin/includes/image.php';

    $tmp = download_url($data['Poster']);

    if (!is_wp_error($tmp)) {
        $file_array = [
            'name' => basename($data['Poster']),
            'tmp_name' => $tmp
        ];

        $thumb_id = media_handle_sideload($file_array, $post_id);

        if (!is_wp_error($thumb_id)) {
            set_post_thumbnail($post_id, $thumb_id);
        }

        @unlink($tmp);
    }
}

/* اجرای cod-1 */
$cod1_path = plugin_dir_path(__FILE__) . 'cod-1.php';
if (file_exists($cod1_path)) {
    include $cod1_path;
}

$_SESSION['mhp_series_message'] = '✅ سریال با موفقیت همراه با اطلاعات کامل ثبت شد.';
