GhostManSec
Server: LiteSpeed
System: Linux premium197.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: parhudrw (1725)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //home/parhudrw/venice-restaurants.anqa.it/wp-content/themes/blogxer/inc/lc-utility.php
<?php
/**
 * Check Radius Theme License
 *
 * @since 1.0
 *
 */
namespace RTLC;

class Utility {

    /**
     * Start up
     */
    public function __construct() {
        add_action( 'admin_notices', [$this, 'register_notice'], 1 );
        add_action( 'admin_head', [$this, 'style'] );
        add_action( 'admin_footer', [$this, 'script'] );
    }

    function register_notice() {
        //if licensed activated and license page return
        if ( rtlc_is_valid()['success'] || ( isset( $_GET['page'] ) && $_GET['page'] == 'rtlc') ) return;

        $class = 'notice notice-error';

        if ( isset( rtlc_is_valid()['domain_match'] ) && !rtlc_is_valid()['domain_match'] ) {
            $message = sprintf(
                wp_kses(
                    __( '<b>Your license key doesn\'t match your current domain. Please activate the license again for your current domain. <a href="%s">Activate License</a></b>', 'blogxer' ),
                    [
                        'a' => [ 'href' => [], 'target' => [] ],
                        'b' => []
                    ]
                ),
                menu_page_url( 'rtlc', false )
            );
            printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
        } else {
            $message = sprintf(
                wp_kses(
                    __( '<b>Please activate your theme using Envato <a href="%s" target="_blank">purchase code</a>, to get full theme functionality and customer support. <a href="%s">Activate License</a></b>', 'blogxer' ),
                    [
                        'a' => [ 'href' => [], 'target' => [] ],
                        'b' => []
                    ]
                ),
                esc_url('https://help.market.envato.com/hc/en-us/articles/202822600-Where-Is-My-Purchase-Code-'),
                menu_page_url( 'rtlc', false )
            );
            printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
        }
    }

    /**
     * Added some css style for rt license page
     */
    function style( $path ) {
        if ( !isset( $_GET['page'] ) || $_GET['page'] != 'rtlc') return; ?>
        <style>
            .rtlc-status-btn {
                color: white; padding: 5px 15px; border-radius: 5px;
            }
            .rtlc-unverified {
                background: #b32121;
            }
            .rtlc-verified {
                background: #498414;
            }
            .rtcl-note {
                color: red;
            }
            .dashicons.spin {
                animation: dashicons-spin 1s infinite;
                animation-timing-function: linear;
            }
            @keyframes dashicons-spin {
                0% {
                    transform: rotate( 0deg );
                }
                100% {
                    transform: rotate( 360deg );
                }
            }
            .rtlc-loader {
                margin-top: 10px;
                display: inline-block;
                visibility: hidden;
            }
            #rtlc_license_check:focus {
                box-shadow: none;
            }
            .rtcl-active-btn {
                padding: 5px 20px !important;
                font-size: 14px !important;
            }
            #setting-error-tgmpa {
                display: none;
            }
        </style>
        <?php
    }

    /**
     * Check license by ajax
     */
    function script() {

        if( wp_script_is( 'jquery', 'done' ) && ( isset( $_GET['page'] ) && $_GET['page'] == 'rtlc' ) ) { ?>
        <script type="text/javascript">
            jQuery("#rtlc_license_check").on("click", function() {
                let purchase_code = jQuery('#rt_purchase_code').val();
                if ( purchase_code ) {
                    jQuery.ajax({
                        type: "post",
                        dataType: "json",
                        url: '<?php echo esc_url( admin_url('admin-ajax.php') ); ?>',
                        data: {
                            action: "rtlc_verification",
                            purchase_code,
                        },
                        beforeSend: function() {
                            jQuery('.rtlc-loader').css("visibility", "inherit");
                        },
                        success: function( resp ) {
                            if ( resp === 555 ) {
                                alert('<?php esc_html_e('Purchase code already activated for one domain!!!', 'blogxer'); ?>');
                            } else {
                                if ( resp ) {
                                    jQuery('.rtlc-status-btn').html('<?php esc_html_e('Activated', 'blogxer'); ?>');
                                    jQuery('.rtlc-status-btn').removeClass('rtlc-unverified').addClass('rtlc-verified');
                                } else {
                                    alert('<?php esc_html_e('Sorry!!! Purchase code does not match', 'blogxer'); ?>');
                                }
                            }
                            jQuery('.rtlc-loader').css("visibility", "hidden");
                        },
                    });
                } else {
                    alert('<?php esc_html_e('Purchase code is required!!!', 'blogxer'); ?>');
                }
            });
        </script>
        <?php
        }

        if ( wp_script_is( 'jquery', 'done' ) && !rtlc_is_valid()['success'] ) {
            if ( isset( $_GET['page'] ) && $_GET['page'] == 'fw-backups-demo-content' ) { ?>
                <script type="text/javascript">
                    jQuery("#fw-ext-backups-demo-list .theme-actions a").on("click", function(e) {
                        e.preventDefault();
                        alert('<?php esc_html_e('Please activate your theme using Envato purchase code, to install demo data.', 'blogxer'); ?>');
                        return false;
                    });
                </script>
            <?php
            }

            if ( isset( $_GET['page'] ) && $_GET['page'] == 'blogxer-install-plugins' ) { ?>
                <script type="text/javascript">
                    jQuery(".row-actions a").on("click", function(e) {
                        if ( jQuery(this).closest('td').next().has('span').length > 0 ) { //find pre packaged
                            e.preventDefault();
                            alert('<?php esc_html_e('Please activate your theme using Envato purchase code, to use this plugin.', 'blogxer'); ?>');
                            return false;
                        }
                    });

                    jQuery(".check-column input").on("change", function(e) {

                        if ( !jQuery(e.target).is(':checked') ) return;

                        if ( jQuery(this).parent().hasClass('column-cb') ) { //all checked or not
                            jQuery('table.wp-list-table > tbody  > tr').each(function(index, tr) {
                                if ( jQuery(tr).find('.column-source').has('span').length > 0 ) {
                                    jQuery(tr).find('.check-column input').prop('checked', false);
                                }
                            });
                        } else {
                            if ( jQuery(this).closest('th').next().next().has('span').length > 0 ) { //find pre packaged
                                jQuery(this).prop('checked', false);
                                alert('<?php esc_html_e('Please activate your theme using Envato purchase code, to use this plugin.', 'blogxer'); ?>');
                            }
                        }
                    });
                </script>
            <?php
            }
        }
    }

}

if ( is_admin() ) {
    new Utility();
}

if ( !function_exists('rtlc_is_valid') ) {

    function rtlc_is_valid() {

        $theme_info = wp_get_theme();
        $theme_info = ( $theme_info->parent() ) ? $theme_info->parent() : $theme_info;
        $theme_name = $theme_info->get('Name');

        //replace space
        $theme_name = strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', $theme_name)));
        $get_option = get_option('rt_licenses');

        //this first line is for checking old codebase
        if ( isset( $get_option[$theme_name.'_license_key'] ) ) {
            return [
                'success' => true,
                'domain_match' => true
            ];
        } else if ( isset( $get_option[$theme_name.'_license'] ) && isset( $get_option[$theme_name.'_license']['key'] ) ) {

            $domian_name = esc_url( home_url() );
            $domain = $get_option[$theme_name.'_license']['domain'];
            $domian_name = str_replace(['https', 'http'], ['', ''], $domian_name);
            $domain = str_replace(['https', 'http'], ['', ''], $domain);

            if ( $domian_name == $domain ) {
                return [
                    'success' => true,
                    'domain_match' => true
                ];
            } else {
                return [
                    'success' => false,
                    'domain_match' => false
                ];
            }
        } else {
            return [
                'success' => false
            ];
        }
    }
}