OwlCyberSecurity - MANAGER
Edit File: theme-base.php
<?php class DabbleWordPressTheme { public $plugin_file =__FILE__; public $responseObj; public $licenseMessage; public $showMessage =false; public $slug ="dabble"; private $product_id = "80"; private $product_name = "Dabble - Creative Agency & Portfolio"; private $server_host = "https://rstheme.com/products/api/"; function __construct() { add_action( 'admin_print_styles', [ $this, 'SetAdminStyle' ] ); $licenseKey = get_option("DabbleWordPressTheme_lic_Key",""); $templateDir = get_template_directory(); if(!empty($licenseKey)){ add_action( 'admin_menu', [$this,'ActiveAdminMenu'],99999); require_once get_template_directory() . '/framework/class-tgm-plugin-activation.php'; require_once get_template_directory() . '/framework/tgm-config.php'; add_action( 'admin_post_DabbleWordPressTheme_el_deactivate_license', [ $this, 'action_deactivate_license' ] ); }else{ if(!empty($licenseKey) && !empty($this->licenseMessage)){ $this->showMessage=true; } update_option("DabbleWordPressTheme_lic_Key","") || add_option("DabbleWordPressTheme_lic_Key",""); update_option("DabbleWordPressTheme_lic_msg","") || add_option("DabbleWordPressTheme_lic_msg",""); update_option("DabbleWordPressTheme_lic_msg2","") || add_option("DabbleWordPressTheme_lic_msg2",""); add_action( 'admin_post_DabbleWordPressTheme_el_activate_license', [ $this, 'action_activate_license' ] ); add_action( 'admin_menu', [$this,'InactiveMenu']); remove_action( 'init', 'portfolio_post_types' ); remove_action('init', 'umaya_register_metabox_list'); } } function SetAdminStyle() { wp_register_style( "DabbleWordPressThemeLic", get_theme_file_uri("_lic_style.css"),10); wp_enqueue_style( "DabbleWordPressThemeLic" ); } function ActiveAdminMenu(){ add_menu_page ( "Dabble WordPress Theme", "About Dabble", "activate_plugins", $this->slug, [$this,"Activated"], " dashicons-megaphone "); } private function getDomain() { global $wp; if(function_exists("site_url")){ return site_url(); } if ( defined( "WPINC" ) && function_exists( "get_home_url" ) ) { return home_url( 'url' ); } else { $base_url = home_url(add_query_arg(array(), $wp->request)); return $base_url; } } function InactiveMenu() { add_menu_page( "Dabble WordPress Theme", "About Dabble", 'activate_plugins', $this->slug, [$this,"LicenseForm"], " dashicons-megaphone " ); } function action_activate_license(){ $licenseKey=!empty($_POST['rs_license_key'])?$_POST['rs_license_key']:""; if(!empty($licenseKey)){ $host = $this->getDomain(); $pid = $this->product_id; $pcode = $licenseKey; $args = array( 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'headers' => array(), 'body' => array( 'pcode' => $pcode, 'host' => $this->getDomain(), 'pid' => $this->product_id, 'pname' => $this->product_name, 'state' => 1 ), 'cookies' => array() ); $response = wp_remote_post( $this->server_host, $args ); // error check if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); $message = "Something went wrong: $error_message"; die; } else { if($response['body']=='Valid'){ $message = "Welcome !!! Your Purchase Key is valid"; update_option("DabbleWordPressTheme_lic_Key",$licenseKey) || add_option("DabbleWordPressTheme_lic_Key",$licenseKey); update_option("DabbleWordPressTheme_lic_msg",$message) || add_option("DabbleWordPressTheme_lic_msg",$message); update_option('_site_transient_update_themes',''); wp_safe_redirect(admin_url( 'admin.php?page='.$this->slug)); } else{ $message = "Your Purchase License Key invalid"; echo esc_html($message); update_option("DabbleWordPressTheme_lic_msg2",$message) || add_option("DabbleWordPressTheme_lic_msg2",$message); wp_safe_redirect(admin_url( 'admin.php?page='.$this->slug)); } } } else{ echo 'no license key'; } } function action_deactivate_license() { $licenseKey=get_option("DabbleWordPressTheme_lic_Key",""); if(!empty($licenseKey)){ $host = $this->getDomain(); $pid = $this->product_id; $pcode = $licenseKey; $params = array( "pcode" => $pcode, 'host' => $this->getDomain(), 'pid' => $this->product_id, 'pname' => $this->product_name ); $args = array( 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'headers' => array(), 'body' => array( 'pcode' => $pcode, 'host' => $this->getDomain(), 'pid' => $this->product_id, 'pname' => $this->product_name, 'state' => 0 ), 'cookies' => array() ); $response = wp_remote_post( $this->server_host, $args ); // error check if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); $message = "Something went wrong: $error_message"; die; } else { if($response['body']=='true'){ update_option("DabbleWordPressTheme_lic_Key","") || add_option("DabbleWordPressTheme_lic_Key",""); update_option('_site_transient_update_themes',''); wp_safe_redirect(admin_url( 'admin.php?page='.$this->slug)); } } } } function Activated(){ $licenseKey=get_option("DabbleWordPressTheme_lic_Key",""); ?> <div class="clear"></div> <div class="wrap-theside"> <div class="wrap theside-page-welcome about-wrap"> <?php $msg=get_option("DabbleWordPressTheme_lic_msg",""); if($msg){ echo '<span class="success">'.$msg.'</span>'; } ?> <h1>Welcome to Dabble - Creative Agency & Portfolio WordPress Theme</h1> <h2></h2> <br /> <div class="wp-badge vc-page-logo"> Version 1.5.1 </div> <div class="page-content-theside "> <div class="wr-col-1"> <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> <input type="hidden" name="action" value="DabbleWordPressTheme_el_deactivate_license"/> <div class="rs-lic-container"> <ul class="rs-lic-info"> <li class="list">WordPress 5.x Compatible</li> <li class="list">Elementor: #1 Drag & Drop Editor & Live Editing WordPress Page Builder Used.</li> <li> <div> <h3 class="rs-lic-info-title"><?php esc_html_e("Your License Key:", 'dabble');?></h3> <div class="rs-lic-key"><?php echo esc_html($licenseKey); ?></div> </div> </li> </ul> <div class="rs-lic-active-btn"> <?php wp_nonce_field( 'rs-lic' ); ?> <?php submit_button('Deactivate'); ?> <a href="https://keenitsolutions.com/products/documentations/dabble/" target="_blank" class="doc-link">Online Documentation</a> </div> <div class="infobox"> <div class="bluetitle">1 Purchase Code per Website</div> <div class="simpletext">If you want to use Dabble Theme on another domain, please purchase another license</a></div> </div> </div> </form> </div> <div class="wr-col-1"> <div class="wr-right"> <div class="theside-chnagelog"> <a href="https://themeforest.net/user/rs-theme/portfolio" target="_blank"><img src="<?php echo esc_url($this->server_host); ?>show.jpg" alt="rstheme"> </div> </div> </div> </div> </div> </div> <?php } function LicenseForm() { ?> <div class="clear"></div> <div class="wrap-theside"> <div class="wrap theside-page-welcome about-wrap"> <h1>Welcome to Dabble - Creative Agency & Portfolio WordPress Theme</h1> <?php $msg2 = get_option("DabbleWordPressTheme_lic_msg2",""); if($msg2){ echo wp_kses_post($msg2); } ?> <div class="about-text"> Dabble Theme Licensing. </div> <div class="wp-badge vc-page-logo"> Version 1.5.1 </div> <div class="page-content-theside"> <h3>Active License!</h3> <p><?php esc_html_e("Enter your item purchase code here, to activate the product, and get full feature updates and premium support.", 'dabble');?></p> <hr> <br> <br> <br> <div class="theside-chnagelog"> <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> <input type="hidden" name="action" value="DabbleWordPressTheme_el_activate_license"/> <div class="rs-lic-container"> <?php if(!empty($this->showMessage) && !empty($this->licenseMessage)){ ?> <div class="notice notice-error is-dismissible"> <p><?php echo esc_html($this->licenseMessage); ?></p> </div> <?php } ?> <div class="rs-lic-field"> <label for="el_license_key"><?php esc_html_e("Purchase code",'dabble');?></label> <input type="text" class="regular-text code" name="rs_license_key" size="50" placeholder="xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx" required="required"> </div> <div class="rs-lic-active-btn"> <?php wp_nonce_field( 'rs-lic' ); ?> <?php submit_button('Activate'); ?> </div> </div> </form> </div> </div> </div> </div> <?php } } new DabbleWordPressTheme();