HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ubuntu-8gb-hel1-1 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 12 23:42:21 UTC 2025 x86_64
User: www-data (33)
PHP: 8.1.32
Disabled: NONE
Upload Files
File: /var/www/agighana.org_backup/class-bosa-pro-upgrade-notice.php
<?php

if (!defined('ABSPATH')) exit;

if (!class_exists('Keon_Toolset_Admin_Notice')) {
    class Keon_Toolset_Admin_Notice {
        private $current_date;

        public function __construct() {
            $this->current_date = strtotime( 'now' );
            add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts' ] );
            add_action( 'admin_init', [$this, 'check_pro_install'] );
            add_action( 'wp_ajax_remind_me_later_bosa_pro', [$this, 'remind_me_later_bosa_pro'] );
            add_action( 'wp_ajax_upgrade_bosa_pro_notice_dismiss', [$this, 'upgrade_dismiss'] );
        }

        public function admin_scripts() {
            wp_enqueue_script( 'keon-toolset-admin-notice', KEON_TEMPLATE_URL . 'assets/keon-toolset-admin-notice.js', array( 'jquery' ), '1.0.0', true );
            wp_localize_script( 'keon-toolset-admin-notice', 'KEON_BOSA_PRO_UPGRADE', 
                array( 
                    'ajaxurl'   => admin_url( 'admin-ajax.php' ),
                    'nonce'     => wp_create_nonce( 'kt_bosa_pro_upgrade_nonce' ),
                    'dismiss_nonce'     => wp_create_nonce( 'kt_bosa_pro_upgrade_dismiss_nonce' ),
                ) 
            );
        }

        public function check_pro_install() { 

            if ( $this->current_date >= (int)get_option('remind_me_later_bosa_pro_time') ) {
                if ( !get_option('upgrade_bosa_pro_notice_dismiss_' . KEON_TOOLSET_VERSION) ) {
                    add_action( 'admin_notices', [$this, 'admin_notice_bosa_pro' ]);
                }
            }
        }

        public function remind_me_later_bosa_pro() {
            $nonce = $_POST['nonce'];

            if ( !wp_verify_nonce( $nonce, 'kt_bosa_pro_upgrade_nonce')  || !current_user_can( 'manage_options' ) ) {
              exit; // Get out of here, the nonce is rotten!
            }

            update_option( 'remind_me_later_bosa_pro_time', strtotime('7 days') );
        }

        public function upgrade_dismiss() {
            $nonce = $_POST['nonce'];

            if ( !wp_verify_nonce( $nonce, 'kt_bosa_pro_upgrade_dismiss_nonce')  || !current_user_can( 'manage_options' ) ) {
              exit; // Get out of here, the nonce is rotten!
            }

            add_option( 'upgrade_bosa_pro_notice_dismiss_' . KEON_TOOLSET_VERSION, true );
        }

        public function admin_notice_bosa_pro() {
            $pro_img_url = KEON_TEMPLATE_URL . 'assets/img/bosa-pro-banner.png';
            echo '<div class="bosa-go-pro-notice notice is-dismissible">';
                echo '<div class="getting-img">';
                    echo '<img id="" src="'.esc_url( $pro_img_url ).'" />';
                echo '</div>';
                echo '<div class="getting-content">';
                    echo '<h2 class="bosa-notice-title"> Upgrade to <a href="https://bosathemes.com/bosa-pro/#pricing" target="_blank" class="bosa-title">Bosa Pro</a> for 100+ Starter sites & Advanced Features</h2>';
                    echo '<ul class="bosa-demo-info-list">';
                    echo '<li><div><strong>Pre-built 100+ Starter sites</strong> – Access a collection of libraries that come ready to use for different kinds of websites.</div></li>';
                    echo '<li> <div><strong>Access Premium Features</strong> – Unlocking a richer, more personalized, and higher-value experience than what’s available to free-tier. </div></li>';
                    echo '<li> <div><strong>Seamless Import System</strong> – Easily import demo for quick and hassle-free customization.</div></li>';   
                    echo '<li> <div><strong>Priority Support</strong> – Ensuring faster response times and quicker resolutions to your requests.</div></li>';                        
                    echo '</ul>';
                    echo '<div class="button-wrapper">';
                    echo '<a href="https://bosathemes.com/bosa-pro/#pricing" class="btn-primary" target="_blank">Buy Now</a>';
                    echo '<a href="https://bosathemes.com/bosa-pro" class="btn-primary btn-theme-detail" target="_blank">Theme Details</a>';
                    echo'<button class=" btn-primary keon-remind-me-later">Remind Me Later</button>';
                    echo '</div>';
                 echo '</div>';
                 echo '<a href="#" id="keon-bosa-pro-dismiss" class="admin-notice-dismiss"><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></a>';
            echo '</div>';
        }
    }
}
return new Keon_Toolset_Admin_Notice();