File "theme-base.php"
Full Path: /home/adniftyx/public_html/credio/framework/ini/theme-base.php
File size: 10.16 KB
MIME-type: text/x-php
Charset: utf-8
<?php
class CredioWordPressTheme {
public $plugin_file =__FILE__;
public $responseObj;
public $licenseMessage;
public $showMessage =false;
public $slug ="credio";
private $product_id = "1033";
private $product_name = "Credio - Business and Finance WordPress";
private $server_host = "https://rstheme.com/products/api/";
function __construct() {
add_action( 'admin_print_styles', [ $this, 'SetAdminStyle' ] );
$licenseKey = get_option("CredioWordPressTheme_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_CredioWordPressTheme_el_deactivate_license', [ $this, 'action_deactivate_license' ] );
}else{
if(!empty($licenseKey) && !empty($this->licenseMessage)){
$this->showMessage=true;
}
update_option("CredioWordPressTheme_lic_Key","") || add_option("CredioWordPressTheme_lic_Key","");
update_option("CredioWordPressTheme_lic_msg","") || add_option("CredioWordPressTheme_lic_msg","");
update_option("CredioWordPressTheme_lic_msg2","") || add_option("CredioWordPressTheme_lic_msg2","");
add_action( 'admin_post_CredioWordPressTheme_el_activate_license', [ $this, 'action_activate_license' ] );
add_action( 'admin_menu', [$this,'InactiveMenu']);
}
}
function SetAdminStyle() {
wp_register_style( "CredioWordPressThemeLic", get_theme_file_uri("credio_lic_style.css"),10);
wp_enqueue_style( "CredioWordPressThemeLic" );
}
function ActiveAdminMenu(){
add_menu_page ( "Credio WordPress Theme", "About Credio", "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( "Credio WordPress Theme", "About Credio", '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("CredioWordPressTheme_lic_Key",$licenseKey) || add_option("CredioWordPressTheme_lic_Key",$licenseKey);
update_option("CredioWordPressTheme_lic_msg",$message) || add_option("CredioWordPressTheme_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("CredioWordPressTheme_lic_msg2",$message) || add_option("CredioWordPressTheme_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("CredioWordPressTheme_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("CredioWordPressTheme_lic_Key","") || add_option("CredioWordPressTheme_lic_Key","");
update_option('_site_transient_update_themes','');
wp_safe_redirect(admin_url( 'admin.php?page='.$this->slug));
}
}
}
}
function Activated(){
$licenseKey=get_option("CredioWordPressTheme_lic_Key","");
?>
<div class="clear"></div>
<div class="wrap-theside">
<div class="wrap theside-page-welcome about-wrap">
<?php
$msg=get_option("CredioWordPressTheme_lic_msg","");
if($msg){
echo '<span class="success">'.$msg.'</span>';
}
?>
<h1>Welcome to Credio - Finance Business and Credit Repair WordPress Theme </h1>
<h2></h2> <br />
<div class="wp-badge vc-page-logo">
Version <?php echo wp_get_theme()->get( 'Version' ); ?>
</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="CredioWordPressTheme_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:", 'credio');?></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="<?php echo esc_url('https://rstheme.com/docs/credio-wordpress-theme/');?>" 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 Credio 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="<?php echo esc_url('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 Credio - Finance Business and Credit Repair WordPress Theme </h1>
<?php
$msg2 = get_option("CredioWordPressTheme_lic_msg2","");
if($msg2){
echo wp_kses_post($msg2);
}
?>
<div class="about-text">
Credio Theme Licensing.
</div>
<div class="wp-badge vc-page-logo">
Version <?php echo wp_get_theme()->get( 'Version' ); ?>
</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.", 'credio');?></p>
<div class="find-Credio-pcode"><a href="<?php echo esc_url('https://rstheme.com/docs/credio-wordpress-theme/getting-started/activate-theme/');?>" target="_blank">How to get Envato items purchase code?</a></div>
<hr class="Credio-mgb">
<div class="theside-chnagelog">
<form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
<input type="hidden" name="action" value="CredioWordPressTheme_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",'credio');?></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 CredioWordPressTheme();