<?php

namespace CleantalkSP\SpbctWP\AdminBannersModule\AdminBanners;

use CleantalkSP\Common\Helpers\Helper;
use CleantalkSP\SpbctWP\AdminBannersModule\AdminBannersHandler;

class AdminBannerReview extends AdminBannerAbstract
{
    /**
     * Hiding time in days
     */
    const HIDING_TIME = 365;

    /**
     * Simple Banner Name, most be unique
     */
    const NAME = 'review';

    /**
     * Data for template
     *
     * @var array $template_data
     */
    private $template_data;

    /**
     * @var AdminBannersHandler
     */
    private $banners_handler;

    /**
     * @param AdminBannersHandler $banners_handler
     *
     * @psalm-suppress PossiblyUnusedMethod
     */
    public function __construct(AdminBannersHandler $banners_handler)
    {
        $this->banners_handler = $banners_handler;
        $this->banner_id       = $this->prefix . $this::NAME . '_' . $this->banners_handler->getUserId();

        $this->template_data = array(
            'button'   => '<input type="button" class="button button-primary" value="'
                        . esc_html__('SHARE', 'security-malware-firewall')
                        . '" />',
            'reviews_link'     => 'https://wordpress.org/support/plugin/security-malware-firewall/reviews/?filter=5',
            'plugin_settings_link' => $this->banners_handler->getPluginSettingsLink(),
            'title_main'    => esc_html__('Share your positive experience — leave a rating on WordPress', 'security-malware-firewall'),
            'title_feedback'    => esc_html__('You\'ve been using Security & Malware scan by CleanTalk — tell us about your experience. Your feedback helps other users find the right solution and helps us make the plugin even better.', 'security-malware-firewall'),
            'btn_share_feedback' => esc_html__('SHARE YOUR FEEDBACK', 'security-malware-firewall'),
            'already_posted' => esc_html__('Already posted the review', 'security-malware-firewall'),
        );
    }

    /**
     * do I need to show a banner?
     *
     * @return bool
     */
    protected function needToShow()
    {
        if (
            $this->banners_handler->spbc->notice_review &&
            ! $this->isDismissed() &&
            current_user_can('administrator')
        ) {
            $this->banners_handler->spbc->error_delete_all('save');

            return true;
        }

        return false;
    }

    protected function display()
    {
        $data = $this->template_data;
        $div_head =  '<div class="spbc-notice um-admin-notice notice spbc-banner-success is-dismissible" id="'
            . $this->banner_id
            . '">';
        echo $div_head;
        ?>
            <div class="spbc-banner-content"  style="display: block;margin-bottom: 16px;">
                <div style="display: flex;">
                    <img src="<?php echo esc_url(SPBC_PATH . '/images/logo-cleantalk1.svg'); ?>" width="111px" height="24" alt="CleanTalk Logo">
                    <span style="height: 24px;margin: 0 16px;text-align: center;color: #AAAAAA;border-left: 1px solid;"></span>
                    <a href="<?php echo esc_url($data['plugin_settings_link']); ?>" class="spbc-banner-link"                                >
                        <?php esc_html_e('Security', 'security-malware-firewall'); ?>
                    </a>
                </div>
                <div  class="spbc-banner-content-wrapper spbc-banner-text-wrapper">
                    <div style="display: flex; gap: 32px;">
                        <img src="<?php echo esc_url(SPBC_PATH . '/images/review.svg'); ?>" width="92px" height="81px" alt="CleanTalk Review Logo" style="align-self: center;">
                        <div style="">
                            <div class="spbc-banner-title">
                                <?php echo esc_html($data['title_main']); ?>
                            </div>
                            <div class="spbc-banner-subtitle spbc-banner-big-subtitle" style="max-width: 745px;">
                                <?php echo esc_html($data['title_feedback']); ?>
                            </div>
                        </div>
                    </div>
                    <div class="spbc-banner-button-wrapper">
                        <a href="<?php echo esc_url($data['reviews_link']); ?>" target="_blank" class="spbc-banner-button spbc-banner-button-green"><?php echo esc_html($data['btn_share_feedback']); ?></a>
                        <a href="#" class="spbct-notice-dismiss-link spbc-banner-dismiss-link" onclick="jQuery(this).closest('.spbc-notice').find('.notice-dismiss').click(); return false;"><?php echo esc_html($data['already_posted']); ?></a>
                    </div>
                </div>
            </div>

        <?php
        echo '</div>';
    }
}
