<?php

use Duplicator\Libs\Snap\SnapUtil;

defined('ABSPATH') || defined('DUPXABSPATH') || exit;
/**
 * The base class for all screen.php files.  This class is used to control items that are common
 * among all screens, namely the Help tab and Screen Options drop down items.  When creating a
 * screen object please extent this class.
 *
 * Standard: PSR-2
 * @link http://www.php-fig.org/psr/psr-2
 *
 * @package Duplicator
 * @subpackage classes/ui
 * @copyright (c) 2017, Snapcreek LLC
 *
 */
// Exit if accessed directly
if (!defined('DUPLICATOR_VERSION')) {
    exit;
}

class DUP_UI_Screen
{
    /**
     * Used as a placeholder for the current screen object
     */
    public $screen;

    /**
     *  Init this object when created
     */
    public function __construct()
    {
    }

    public static function getCustomCss()
    {
        $screen = get_current_screen();
        if (
            !in_array($screen->id, array(
            'toplevel_page_duplicator',
            'duplicator_page_duplicator-tools',
            'duplicator_page_duplicator-settings',
            'duplicator_page_duplicator-gopro'))
        ) {
            return;
        }

        $colorScheme = self::getCurrentColorScheme();
        if ($colorScheme !== false) {
            ?>
            <style>
                .link-style {
                    color: <?php echo $colorScheme->colors[2]; ?>;
                }

                .link-style:hover {
                    color: <?php echo $colorScheme->colors[3]; ?>;
                }
            </style>
            <?php
        }
    }

    public static function getCurrentColorScheme()
    {
        global $_wp_admin_css_colors;
        if (!isset($_wp_admin_css_colors) || !is_array($_wp_admin_css_colors)) {
            return false;
        }

        $colorScheme = get_user_option('admin_color');

        if (isset($_wp_admin_css_colors[$colorScheme])) {
            return $_wp_admin_css_colors[$colorScheme];
        } else {
             return $_wp_admin_css_colors[SnapUtil::arrayKeyFirst($_wp_admin_css_colors)];
        }
    }

    /**
     * Get the help support tab view content shown in the help system
     *
     * @param string $guide     The target URL to navigate to on the online user guide
     * @param string $faq       The target URL to navigate to on the online user tech FAQ
     *
     * @return null
     */
    public function getSupportTab($guide, $faq)
    {
        $content = __("<b>Need Help?</b>  Please check out these resources first:"
            . "<ul>"
            . "<li><a href='https://snapcreek.com/duplicator/docs/guide{$guide}' target='_sc-faq'>Full Online User Guide</a></li>"
            . "<li><a href='https://snapcreek.com/duplicator/docs/faqs-tech{$faq}' target='_sc-faq'>Frequently Asked Questions</a></li>"
            . "</ul>", 'duplicator');

        $this->screen->add_help_tab(array(
            'id'      => 'dup_help_tab_callback',
            'title'   => esc_html__('Support', 'duplicator'),
            'content' => "<p>{$content}</p>"
            ));
    }

    /**
     * Get the help support side bar found in the right most part of the help system
     *
     * @return null
     */
    public function getHelpSidbar()
    {
        $txt_title = __("Resources", 'duplicator');
        $txt_home  = __("Knowledge Base", 'duplicator');
        $txt_guide = __("Full User Guide", 'duplicator');
        $txt_faq   = __("Technical FAQs", 'duplicator');
        $txt_sets  = __("Package Settings", 'duplicator');
        $this->screen->set_help_sidebar(
            "<div class='dup-screen-hlp-info'><b>" . esc_html($txt_title) . ":</b> <br/>"
            . "<i class='fa fa-home'></i> <a href='https://snapcreek.com/duplicator/docs/' target='_sc-home'>" . esc_html($txt_home) . "</a> <br/>"
            . "<i class='fa fa-book'></i> <a href='https://snapcreek.com/duplicator/docs/guide/' target='_sc-guide'>" . esc_html($txt_guide) . "</a> <br/>"
            . "<i class='far fa-file-code'></i> <a href='https://snapcreek.com/duplicator/docs/faqs-tech/' target='_sc-faq'>" . esc_html($txt_faq) . "</a> <br/>"
            . "<i class='fa fa-cog'></i> <a href='admin.php?page=duplicator-settings&tab=package'>" . esc_html($txt_sets) . "</a></div>"
        );
    }
}