<?php


function carkit_notify_admin_welcome () {
    if(!current_user_can( 'activate_plugins' )) return false;
    add_action('admin_notices', function () {

        $screen = get_current_screen();
        if ( ! carkit_should_enqueue_welcome_assets( $screen ) ) {
            return;
        }
        
        if (get_user_meta(get_current_user_id(), 'theme_alert_dissmiss')) {
            return;
        }
        
        if ('appearance_page_one-click-demo-import' == $screen->id || 'appearance_page_nexos-dashboard' === $screen->id || 'appearance_page_tgmpa-install-plugins' === $screen->id) {
            return;
        }

        if (get_option('wdk_theme_carkit_installed')) {
            return true;
        }
        add_action('admin_footer', function () {
            echo '<style>
                 #setting-error-tgmpa {
                    display: none !important;
                }
            </style>';
        });
        ?>
        <div class="updated notice car-dealership-carkit-welcome-notice">
            <div class="car-dealership-carkit-welcome-notice-wrap">
                <h2><?php esc_html_e('Congratulations!', 'car-dealership-carkit'); ?></h2>
                <p><?php echo sprintf(esc_html__('%1$s is now installed and ready to use. You can start either by importing the ready made demo or get started by customizing it your self.', 'car-dealership-carkit'), esc_html(wp_get_theme()['Name'])); ?></p>
    
                <div class="car-dealership-carkit-welcome-info">
                    <div class="car-dealership-carkit-welcome-thumb">
                        <img src="<?php echo esc_url(get_stylesheet_directory_uri() . '/assets/images/help.jpg'); ?>" alt="<?php echo sprintf(esc_attr__('%1$s Demo', 'car-dealership-carkit'), esc_html(wp_get_theme()['Name'])); ?>">
                    </div>
                        <div class="car-dealership-carkit-welcome-import">
                            <h3><?php esc_html_e('Import Demo', 'car-dealership-carkit'); ?></h3>
                           
                                <p><?php esc_html_e('Click below to install and active Themes Demo Importer Plugin.', 'car-dealership-carkit'); ?></p>
                                <?php
                                    $plugin = 'elementor/elementor.php';
                                    $installed_plugins = get_plugins();
                                    $is_elementor_installed = isset( $installed_plugins[ $plugin ] );
                                    $elementor_version = NULL;
                                    if($is_elementor_installed) {
                                        $plugin_data = get_file_data(WP_PLUGIN_DIR.'/'.$plugin, array('Version' => 'Version'), false);
                                        $elementor_version = $plugin_data['Version'];
                                    }
                                ?>
                                <?php if ( version_compare( PHP_VERSION, '7.0', '>=' ) || ($elementor_version && version_compare( $elementor_version, '3.7', '<') )) :?>
                                    <?php if ( file_exists(ABSPATH . 'wp-content/plugins/one-click-demo-import/one-click-demo-import.php') && !in_array( 'one-click-demo-import/one-click-demo-import.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ):?>
                                        <p><a data-slug="one-click-demo-import,directorykit-car-dealer-addon" data-filename="one-click-demo-import" href="#" class="button button-primary car-dealership-carkit-install-activate-plugin"><?php esc_html_e('Activate Demo Importer Plugin', 'car-dealership-carkit'); ?></a></p>
                                    <?php elseif ( file_exists(ABSPATH . 'wp-content/plugins/one-click-demo-import/one-click-demo-import.php') && in_array( 'one-click-demo-import/one-click-demo-import.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) )):?>
                                        <p><a href="<?php echo esc_url(get_admin_url() . "themes.php?page=one-click-demo-import");?>" class="button button-primary"><?php esc_html_e('Go to Demo Importer Page', 'car-dealership-carkit'); ?></a></p>
                                    <?php else:?>
                                        <p><a data-slug="one-click-demo-import,directorykit-car-dealer-addon" data-filename="one-click-demo-import" href="<?php echo esc_url(admin_url('themes.php?page=one-click-demo-import'));?>" class="button button-primary car-dealership-carkit-install-activate-plugin"><?php esc_html_e('Install Demo Importer Plugin', 'car-dealership-carkit'); ?></a></p>
                                    <?php endif;?>
                                <?php else: ?>
                                    <p class="welcome-theme-alert-error" style=""><?php esc_html_e('Your php version not support latest Elementor Plugin, in such case eventually you can try older upload Elementor Version (<3.7) or Update PHP on your server', 'car-dealership-carkit'); ?></p>
                                <?php endif; ?>

                        </div>
                    <div class="car-dealership-carkit-welcome-getting-started">
                        <h3><?php esc_html_e('Get Started', 'car-dealership-carkit'); ?></h3>
                        <p><?php echo sprintf(esc_html__('Here you will find all the necessary links and information on how to use %1$s.', 'car-dealership-carkit'), esc_html(wp_get_theme()['Name'])); ?></p>
                        <p><a href="<?php echo esc_url(admin_url('themes.php?page=car-dealership-carkit-dashboard')); ?>" class="button button-primary "><?php esc_html_e('Go to Setting Page', 'car-dealership-carkit'); ?></a></p>
                    </div>
                </div>
                <a href="?theme_alert_dissmiss" class="notice-close"><?php esc_html_e('Dismiss', 'car-dealership-carkit'); ?></a>
            </div>
        </div>
        <?php
    });

    add_action('admin_init', function () {
        $user_id = get_current_user_id();
        if (isset($_GET['theme_alert_dissmiss']))
            add_user_meta($user_id, 'theme_alert_dissmiss', 'true', true);
    });

    return true;
}

carkit_notify_admin_welcome();

  
function carkit_should_enqueue_welcome_assets( $screen ) {
    if ( ! current_user_can( 'activate_plugins' ) ) {
        return false;
    }
    if ( ! $screen ) {
        return false;
    }
    if ( get_user_meta( get_current_user_id(), 'theme_alert_dissmiss' ) ) {
        return false;
    }
    if ( get_option( 'wdk_theme_carkit_installed' ) ) {
        return false;
    }

    // Don't load on unrelated admin screens; keep it only where the notice/UI is relevant.
    $allowed_screen_ids = array(
        'dashboard',
        'themes',
        'appearance_page_car-dealership-carkit-dashboard',
    );

    if ( in_array( $screen->id, $allowed_screen_ids, true ) ) {
        return true;
    }

    return false;
}

function carkit_admin_scripts( $hook_suffix = '' ) {
        $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : null;
        if ( ! carkit_should_enqueue_welcome_assets( $screen ) ) {
            return;
        }

        $importer_params = array(
            'installing_text' => esc_html__('Installing Demo Importer Plugin', 'car-dealership-carkit'),
            'activating_text' => esc_html__('Activating Demo Importer Plugin', 'car-dealership-carkit'),
            'importer_page' => esc_html__('Go to Demo Importer Page', 'car-dealership-carkit'),
            'importer_url' => admin_url('themes.php?page=one-click-demo-import'),
            'error' => esc_html__('Error! Reload the page and try again.', 'car-dealership-carkit'),
            'success_redirect' => 1,
            'success_import' => esc_html__('For best experience please install and active all recommended plugin from theme before demo content import here.', 'car-dealership-carkit'),
            'wpnonce' => wp_create_nonce( 'activate_plugin' ),
        );

        wp_enqueue_style('car-dealership-carkit-welcome', get_stylesheet_directory_uri() . '/assets/css/welcome.css', array(), '1.0');
        wp_enqueue_script('car-dealership-carkit-welcome', get_stylesheet_directory_uri() . '/assets/js/welcome.js', ['jquery','updates','wp-api-fetch'], '1.0', true );
        wp_localize_script('car-dealership-carkit-welcome', 'importer_params', $importer_params);
}

add_action('admin_enqueue_scripts', 'carkit_admin_scripts');

if(!function_exists('carkit_activate_plugin')) {
    add_action('wp_ajax_carkit_activate_plugin', 'carkit_activate_plugin');
    function carkit_activate_plugin() {
        $success = false;
        
        if(!current_user_can( 'activate_plugins' )) {
            echo esc_html__('Disable for current user', 'car-dealership-carkit');
            exit();
        }

        if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'activate_plugin' ) ) {
            echo esc_html__('Wrong _wpnonce', 'car-dealership-carkit');
            exit();
        }

        $allowed_plugins = [
            'one-click-demo-import/one-click-demo-import',
            'directorykit-car-dealer-addon/directorykit-car-dealer-addon',
        ];


        $plugin = sanitize_text_field( wp_unslash( $_POST['plugin'] ) );
        if ( ! in_array( $plugin, $allowed_plugins, true ) ) {
            wp_send_json_error( 'Plugin is not allowed.' );
        }
      
        if (!empty($plugin)) {
            $result = activate_plugin($plugin . '.php');
            update_option('carkit_hide_notice', true);
            if (!is_wp_error($result)) {
                $success = true;
            }
        }
        echo wp_json_encode(array('success' => $success));
        die();
    }
}
