<?php
// Protection from direct access
if (!defined('ABSPATH')) {
    exit;
}


/*функция логирования статей*/
function ai_content_wizard_log_generation($data) {
    $category_name = isset($data['category']) ? $data['category'] : null;
    $category_id = $category_name ? 'category-' . get_cat_ID($category_name) : null;
    $use_global_settings = is_null($category_id) ? true : ai_content_wizard_get_category_setting($category_id, 'use_global_settings', 1);

    // Получение настроек в зависимости от использования глобальных или категорийных настроек
    $format = $use_global_settings ? ai_content_wizard_get_setting('ai_content_wizard_format', 'post') : ai_content_wizard_get_category_setting($category_id, 'format', 'post');
    $text_length = $use_global_settings ? ai_content_wizard_get_setting('ai_content_wizard_text_length', '500') : ai_content_wizard_get_category_setting($category_id, 'text_length', '500');
    $writing_style = $use_global_settings ? ai_content_wizard_get_setting('ai_content_wizard_writing_style', 'formal') : ai_content_wizard_get_category_setting($category_id, 'writing_style', 'formal');
    $target_audience = $use_global_settings ? ai_content_wizard_get_setting('ai_content_wizard_target_audience', 'general') : ai_content_wizard_get_category_setting($category_id, 'target_audience', 'general');
    $quality_options = ai_content_wizard_get_setting('ai_content_wizard_image_quality');
    $size_options = ai_content_wizard_get_setting('ai_content_wizard_image_size');
    $site_type = ai_content_wizard_get_setting('ai_content_wizard_site_type', 'store');


    // Проверка и установка значений по умолчанию
    $defaults = array(
        'type' => 'Unknown',
        'category' => 'Uncategorized',
        'generation_time' => date('Y-m-d H:i:s'),
        'publish_time' => 'Not set',
        'title' => 'Untitled',
        'keyword' => 'None',
        'language' => 'en',
        'text_model' => 'Default model',
        'image_model' => 'Default model',
        'format' => $format, // Добавленные параметры
        'text_length' => $text_length,
        'writing_style' => $writing_style,
        'target_audience' => $target_audience,
        'image_quality' => $quality_options,
        'image_size' => $size_options,
        'site_type' => $site_type
    );
    $data = array_merge($defaults, $data);

	global $wpdb;
	$table_name = $wpdb->prefix . 'ai_content_wizard_posts_logs';

	$wpdb->insert($table_name, array(
		'post_id' => $data['post_id'],
		'type' => $data['type'],
		'category' => $data['category'],
		'generation_time' => $data['generation_time'],
		'publish_time' => $data['publish_time'],
		'title' => $data['title'],
		'keyword' => $data['keyword'],
		'language' => $data['language'],
		'text_model' => $data['text_model'],
		'image_model' => $data['image_model'],
		'image_cost' => $data['image_cost'],
		'text_cost' => $data['text_cost'],
		'total_cost' => $data['total_cost'],
		'format' => $data['format'],
		'text_length' => $data['text_length'],
		'writing_style' => $data['writing_style'],
		'target_audience' => $data['target_audience'],
		'image_quality' => $data['image_quality'],
		'image_size' => $data['image_size'],
		'site_type' => $data['site_type']
	));


    // Получение данных о плагине
    if (!function_exists('get_plugin_data')) {
        require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    }
    $plugin_file = plugin_dir_path(__DIR__) . 'ai-content-wizard.php';
    if (file_exists($plugin_file)) {
        $plugin_data = get_file_data($plugin_file, array('Version' => 'Version'), 'plugin');
        $plugin_version = $plugin_data['Version'];
    } else {
        $plugin_version = 'Unknown';
    }

    // Подготовка данных для отправки
    $data_to_send = array_merge($data, array(
        'site_url' => get_site_url(),
        'version' => $plugin_version,
        'type' => 'lite', // или 'lite', в зависимости от версии
        'post_id' => $data['post_id'],
        'title' => $data['title'],
        'category' => $data['category'],
        'generation_time' => $data['generation_time'],
        'publish_time' => $data['publish_time'],
        'keyword' => $data['keyword'],
        'language' => $data['language'],
        'text_model' => $data['text_model'],
        'image_model' => $data['image_model'],
        'image_cost' => $data['image_cost'],
        'text_cost' => $data['text_cost'],
        'total_cost' => $data['total_cost'],
		'image_quality' => $quality_options,
		'image_size' => $size_options,
		'format' => $format,
		'text_length' => $text_length,
		'site_type' => $site_type,
		'writing_style' => $writing_style,
		'target_audience' => $target_audience
    ));

    // Шифрование и отправка данных на сервер
    $key = 'ai-content-wizard'; // Ключ шифрования должен быть таким же, как и на сервере
    aiwizard_send_data_to_api($data_to_send, $key);
}



// функция логирования контент плана
function ai_content_wizard_log_content_plan($data) {
    // Получение данных о плагине
    if (!function_exists('get_plugin_data')) {
        require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    }
    $plugin_file = plugin_dir_path(__DIR__) . 'ai-content-wizard.php';
    if (file_exists($plugin_file)) {
        $plugin_data = get_file_data($plugin_file, array('Version' => 'Version'), 'plugin');
        $plugin_version = $plugin_data['Version'];
    } else {
        $plugin_version = 'Unknown';
    }

    // Подготовка данных для логирования
    $log_data = array_merge($data, array(
        'site_url' => get_site_url(),
        'version' => $plugin_version,
        'type_plugin' => 'lite' // или 'lite', в зависимости от версии
    ));

	global $wpdb;
	$table_name = $wpdb->prefix . 'ai_content_wizard_content_plan_logs';

	$wpdb->insert($table_name, array(
		'type' => $data['type'],
		'text_model' => $data['text_model'],
		'date' => $data['date'],
		'total_articles' => $data['total_articles'],
		'interval_days' => $data['interval'],
		'period_days' => $data['period'],
		'language' => $data['language'],
		'categories' => $data['categories'],
		'total_cost' => $data['total_cost'],
		'type_plugin' => 'lite' // или 'lite', в зависимости от версии
	));


    // Подготовка данных для отправки на сервер
    $data_to_send = array(
        // Отправляемые данные
        'site_url' => get_site_url(),
        'version' => $plugin_version,
        'type' => $log_data['type'],
        'total_articles' => $log_data['total_articles'],
        'interval' => $log_data['interval'],
        'period' => $log_data['period'],
        'language' => $log_data['language'],
        'categories' => $log_data['categories'],
        'total_cost' => $log_data['total_cost'],
        'text_model' => $log_data['text_model'],
		'type_plugin' => 'lite'  // или 'lite'
    );

    // Шифрование и отправка данных на сервер
    $key = 'ai-content-wizard'; // Ключ шифрования должен быть таким же, как и на сервере
    aiwizard_send_content_plan_to_api($data_to_send);
}