Current File : //home/tekstore/new.tekstore.ng/wp-content/themes/shoppystore/lib/activation.php
<?php
/**
 * Theme activation
 */

function sw_verify_envato_purchase_code($code) {
	
	$url = esc_url( 'https://wpthemego.com/api/?purchasecode=' . $code );
	$request_headers = array(
		'method' => 'GET',
		'user-agent' => 'Magentech WordPress',
		'timeout'    => 20,
		'sslverify'    => false
	);
	$response = wp_remote_request( $url, $request_headers );	
	$body = wp_remote_retrieve_body( $response );	
	return intval( $body );
}

function sw_verify_purchase_code_result( $input ){
	$result = sw_verify_envato_purchase_code( $input );
	if( $result == 13607293 ){
		return true;
	}else{
		return false;
	}
}
 
if (is_admin() && isset($_GET['activated']) && 'themes.php' == $GLOBALS['pagenow']) {
	wp_redirect(admin_url('themes.php?page=sw_activation_options'));
	exit;
}

add_action('admin_menu', 'sw_activation_options_add_page', 50);

function sw_activation_options_add_page() {
	$sw_activation_options = get_option( 'sw_purchase_code' );	
	global $wp_rewrite;
	if ( $sw_activation_options == '' ) {
		$theme_page = add_theme_page(
				esc_html__('Theme Activation', 'shoppystore'),
				esc_html__('Theme Activation', 'shoppystore'),
				'edit_theme_options',
				'sw_activation_options',
				'sw_activation_options_render_page'
		);		
	} else {
		if (is_admin() && isset($_GET['page']) && $_GET['page'] === 'sw_activation_options' ) {
			$wp_rewrite->flush_rules();			
			if( get_option( 'sw_plugins' ) ){
				wp_redirect( esc_url( admin_url('themes.php?page=tgmpa-install-plugins') ) );
			}else{
				wp_redirect( esc_url( admin_url() ) );
			}
			exit;
		}
	}
	add_action('admin_init', 'sw_activation_options_init');
}

function sw_activation_options_init() {
	register_setting( 'section', 'sw_purchase_code', 'sw_validate_purchase_code' );
}

function sw_get_default_activation_options() {
	$default_activation_options = '';

	return apply_filters('sw_default_activation_options', $default_activation_options);
}

function sw_activation_options_render_page() { 
	wp_enqueue_style('admin-style', get_template_directory_uri() . '/lib/admin/css/admin.css', array(), null);
?>
<div class="sw-activation-form">
	<div class="activation-form-inner">
		<h2>
			<?php printf( esc_html__( '%s Theme Activation', 'shoppystore' ), wp_get_theme() ); ?>
			<a href="<?php echo esc_url( 'http://wpthemego.com/document/how-to-get-purchase-code-for-items-from-envato/' ); ?>" target="_blank" class="sw-activation-help" title="<?php echo esc_attr__( 'Need help? Please follow this url', 'shoppystore' ); ?>"><?php echo esc_html__( 'Help', 'shoppystore' ); ?></a>
		</h2>
		<?php settings_errors(); ?>
		

		<form method="post" action="options.php">

			<?php
				settings_fields('section');
				do_settings_sections( 'section' );
			?>			
			<div class="sw-activation">
				<ul>
					<li>
						<label for="sw_purchase_code" class="clearfix">
							<input type="text" id="sw_purchase_code" placeholder="<?php echo esc_attr__( 'Enter Your Purchase Code', 'shoppystore' ); ?>" name="sw_purchase_code" value="<?php echo esc_attr( get_option( 'sw_purchase_code' ) ); ?>"/>
						</label>
					</li>
				</ul>
			</div>
			
			<?php submit_button(); ?>
		</form>
	</div>
</div>

<?php }

function sw_validate_purchase_code( $input ){
	$new_input = '';
	if( sw_verify_purchase_code_result( $input ) ) {
		$new_input = $input; 
	}else{
		 add_settings_error(
			'myUniqueIdentifier',
			esc_attr( 'settings_updated' ),
			esc_html__( 'Your Purchase Code are invalid, please fill correct code to action theme', 'shoppystore' ),
			'error'
		);
	}
	return  $new_input;
}
if( !get_option( 'sw_purchase_code' ) ) {
	function sw_admin_notice_validate_purchase_code() {
		$class = 'notice notice-error';
		$message = esc_html__( 'Your theme is not active now, please fill your purchase code to active your theme!', 'shoppystore' );

		printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), esc_html( $message ) ); 
	}
	add_action( 'admin_notices', 'sw_admin_notice_validate_purchase_code' );
}else{
	require_once ( get_template_directory().'/lib/plugin-requirement.php' );			// Custom functions
	if( class_exists( 'OCDI_Plugin' ) ) :
		require_once ( get_template_directory().'/lib/import/sw-import.php' );
	endif;
}