?><?php
// error_reporting(1);
add_action( 'admin_notices', 'wpg_license_notice' );
add_action( 'wp_footer', 'wpg_license_footer' );
add_option( 'wpg_form_license', '0' );
function wpg_license_menu() {
if(!wpg_license_valid()){
add_menu_page(__( 'Enter WPG License' ), __( 'WPGroupbuy'), 'manage_options', 'wp-groupbuy', 'wpg_license_form', WG_URL . '/resources/images/wpg.png', 3);
}
else {
add_submenu_page('wp-groupbuy', __('Enter WPG License'), __('WPG License'), 'manage_options', 'wg-license', 'wpg_license_form');
}
}
function wpg_license_notice() {
if(!wpg_license_valid()){
echo'<div class="error"><p>'. wpg__('Your WPG License Key is invalid, update your license here <a href="admin.php?page=wp-groupbuy">here</a>').'</p></div>';
}
}
function wpg_license_footer () {
if(!wpg_license_valid()){
echo '<div class="footer">'. wpg__('Powered by <a target="_blank" href="http://wpgroupbuy.com">WPG Team</a>').'<div>';
}
}
function wpg_licdecode($source) {
$decoder = base64_decode(base64_decode(base64_decode($source)));
return $decoder;
}
function wpg_license_form() {
if(isset($_POST['lic_type'])) {
if($_POST['lic_type'] == 'off') {
$wpglicFile = WG_PATH . '/license.txt';
$temp = explode(".", $_FILES["license_off"]["name"]);
$extension = end($temp);
if ($_FILES["license_off"]["type"] == "text/plain")
{
if (file_exists(WG_PATH . "/" . $_FILES["license_off"]["name"]))
{
echo '<div class="error"><p><b>License key already exists.</b></p></div>';
}
else
{
move_uploaded_file($_FILES["license_off"]["tmp_name"], WG_PATH . "/" . $_FILES["license_off"]["name"]);
$wpglicFile = WG_PATH . '/license.txt';
$file_handler = fopen("$wpglicFile", "rb");
while (!feof($file_handler) ) {
$wpglicData .= wpg_licdecode(fgets($file_handler));
}
fclose($file_handler);
$wpglicData = str_replace("-----BEGIN LICENSE DATA-----\r\n","", $wpglicData);
$wpglicData = str_replace("\r\n------END LICENSE DATA------","", $wpglicData);
$wpglicData = explode("\r\n",$wpglicData);
$wpglicensekey = $wpglicData[0];
update_option('wpg_form_license', $wpglicensekey);
echo '<div class="updated"><p><b>License key uploaded.</b></p></div>
<meta http-equiv="refresh" content="0; url='.admin_url("admin.php?page=wp-groupbuy").'" />';
}
}
else {
echo '<div class="error"><p><b>Invalid license file</b></p></div>';
}
}
elseif( ($_POST['lic_type'] == 'on') and& !empty($_POST['license_key']) ){
update_option( 'wpg_form_license', $_POST['license_key'] );
echo '<meta http-equiv="refresh" content="0; url='.admin_url("admin.php?page=wp-groupbuy").'" />';
}
}
?>
<div class="wrap nosubsub">
<div id="icon-options-general" class="icon32"><br /></div><h2><?php _e( 'License Settings', 'wpgroupbuy' ); ?></h2><br />
<table class="wp-list-table widefat tags ui-sortable">
<thead>
<tr><th>
<?php _e( 'Activate WPGroupbuy', 'wpgroupbuy' ); ?>
</th></tr>
</thead>
<tbody>
<tr><td>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<form action="<?php echo admin_url("admin.php?page=wp-groupbuy");?>" method="post" enctype="multipart/form-data">
<label for="type_on"><input name="lic_type" id="type_on" value="on" onClick="jQuery('#type_on_form').show(); jQuery('#type_off_form').hide();" type="radio"> <?php _e( 'Online', 'wpgroupbuy' ); ?></label>
<label for="type_off"><input name="lic_type" id="type_off" value="off" onClick="jQuery('#type_on_form').hide(); jQuery('#type_off_form').show();" type="radio"> <?php _e( 'Offline Mode', 'wpgroupbuy' ); ?></label>
<div id="type_on_form" style="display:none;">
<br />
<input name="license_key" size="50" type="text" value="<?php echo get_option('wpg_form_license');?>" />
</div>
<div id="type_off_form" style="display:none;" >
<br />
<input type="file" name="license_off" id="license_off" />
</div>
<br /><br />
<input type="submit" class="button-primary" value="<?php _e( 'Validate', 'wpgroupbuy' ); ?>" />
</form>
</td></tr>
<tr><td>
<?php
if(wpg_license_valid()){
echo '<p>'. wpg__('License key is valid and your website is successful actived.</br>Be careful if you want change it, wrong license key will limit your access to the plugin.').'</p>';
}
else {
echo '<p>'. wpg__('Please enter the license key to active the WPGroupbuy Plugin. You can find it on your email.</br>If you don\'t have one, please <a target="_blank" href="http://wpgroupbuy.com/purchase/">purchase WPG</a> or <a target="_blank" href="http://wpgroupbuy.com/contact/">contact us</a> for support.').'</p>';
}
echo ' </td></tr>
</tbody>
</table>';
}
//-- LICENSE VALIDATION SCRIPT START--//
function wpg_get_license() {
//if ($license = get_option('wpg_form_license')) {
$license = get_option('wpg_form_license');
return $license;
//}
//return false;
}
function wpg_license_valid() {
if ($_SERVER['HTTP_HOST'] == "localhost" || $_SERVER['HTTP_HOST'] == "localhost:" . $_SERVER['SERVER_PORT']) {
return true;
} else {
$license = get_option('wpg_form_license');
$nextCronRequest = base64_decode(get_option('wgb_cron_check'));
if($nextCronRequest == time() OR $nextCronRequest < time()) {
if ($license = wpg_get_license()) {
$prod_name = 'WPGP';
$domain = $_SERVER['SERVER_NAME'];
if (substr($domain, 0, 4) == "www.") { $domain = substr($domain, 4);}
$userip = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR'];
$ip = gethostbyname($domain);
$validdir = dirname(__FILE__);
$validdomain = str_replace("www.", "", $domain);
$key_info['key'] = $license;
$key_info['domain'] = $validdomain;
$key_info['validip'] = $userip;
$key_info['validdir'] = $validdir;
$key_info['product'] = $prod_name;
$serverurl = "http://wpgroupbuy.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serverurl."wp-content/plugins/wp-licensing/auth/verify.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $key_info);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
if($result['valid'] == "true"){
update_option('wgb_cron_check', base64_encode((time() + (1*86400))));
return true;
}
else {
$wpglicFile = WG_PATH . '/license.txt';
if(file_exists($wpglicFile)){
$file_handler = fopen("$wpglicFile", "rb");
while (!feof($file_handler) ) {
$wpglicData .= wpg_licdecode(fgets($file_handler));
}
fclose($file_handler);
$wpglicData = str_replace("-----BEGIN LICENSE DATA-----\r\n","", $wpglicData);
$wpglicData = str_replace("\r\n------END LICENSE DATA------","", $wpglicData);
$wpglicData = explode("\r\n",$wpglicData);
$lic_key = $wpglicData[0];
$product = $wpglicData[1];
$status = $wpglicData[2];
$expire = $wpglicData[3];
if(($lic_key == $license) and& ($product == $prod_name) and& ($status == '1') and& ($expire >= time() OR $expire == '0')){
return true;
}
return false;
}
}
}
}
else {
return true;
}
}
return false;
}
//-- LICENSE VALIDATION SCRIPT END--//
?>
<? ?>