( time() - (24 * 60 * 60) ) ) {
$bstwbsftwppdtplgns_options['go_pro'][ $bws_license_plugin ]['count'] = $bstwbsftwppdtplgns_options['go_pro'][ $bws_license_plugin ]['count'] + 1;
} else {
$bstwbsftwppdtplgns_options['go_pro'][ $bws_license_plugin ]['count'] = 1;
$bstwbsftwppdtplgns_options['go_pro'][ $bws_license_plugin ]['time'] = time();
}
/* download Pro */
if ( ! function_exists( 'get_plugins' ) )
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
$all_plugins = get_plugins();
if ( ! array_key_exists( $bws_license_plugin, $all_plugins ) ) {
$current = get_site_transient( 'update_plugins' );
if ( is_array( $all_plugins ) && !empty( $all_plugins ) && isset( $current ) && is_array( $current->response ) ) {
$to_send = array();
$to_send["plugins"][ $bws_license_plugin ] = array();
$to_send["plugins"][ $bws_license_plugin ]["bws_license_key"] = $bws_license_key;
$to_send["plugins"][ $bws_license_plugin ]["bws_illegal_client"] = true;
$options = array(
'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),
'body' => array( 'plugins' => serialize( $to_send ) ),
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) );
$raw_response = wp_remote_post( 'http://bestwebsoft.com/wp-content/plugins/paid-products/plugins/update-check/1.0/', $options );
if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) {
$result['error'] = __( "Something went wrong. Please try again later. If the error appears again, please contact us", 'bestwebsoft' ) . ' BestWebSoft. ' . __( "We are sorry for inconvenience.", 'bestwebsoft' );
} else {
$response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
if ( is_array( $response ) && !empty( $response ) ) {
foreach ( $response as $key => $value ) {
if ( "wrong_license_key" == $value->package ) {
$result['error'] = __( "Wrong license key", 'bestwebsoft' );
} elseif ( "wrong_domain" == $value->package ) {
$result['error'] = __( "This license key is bind to another site", 'bestwebsoft' );
} elseif ( "you_are_banned" == $value->package ) {
$result['error'] = __( "Unfortunately, you have exceeded the number of available tries per day. Please, upload the plugin manually.", 'bestwebsoft' );
} elseif ( "time_out" == $value->package ) {
$result['error'] = __( "Unfortunately, Your license has expired. To continue getting top-priority support and plugin updates you should extend it in your", 'bestwebsoft' ) . ' Client area';
} elseif ( "duplicate_domen_for_trial" == $value->package ) {
$result['error'] = __( "Unfortunately, the PRO licence was already installed to this domain. The PRO Trial license can be installed only once.", 'bestwebsoft' );
}
}
if ( empty( $result['error'] ) ) {
$bstwbsftwppdtplgns_options[ $bws_license_plugin ] = $bws_license_key;
$url = 'http://bestwebsoft.com/wp-content/plugins/paid-products/plugins/downloads/?bws_first_download=' . $bws_license_plugin . '&bws_license_key=' . $bws_license_key . '&download_from=5';
$uploadDir = wp_upload_dir();
$zip_name = explode( '/', $bws_license_plugin );
$received_content = file_get_contents( $url );
if ( ! $received_content ) {
$result['error'] = __( "Failed to download the zip archive. Please, upload the plugin manually", 'bestwebsoft' );
} else {
if ( is_writable( $uploadDir["path"] ) ) {
$file_put_contents = $uploadDir["path"] . "/" . $zip_name[0] . ".zip";
if ( file_put_contents( $file_put_contents, $received_content ) ) {
@chmod( $file_put_contents, octdec( 755 ) );
if ( class_exists( 'ZipArchive' ) ) {
$zip = new ZipArchive();
if ( $zip->open( $file_put_contents ) === TRUE ) {
$zip->extractTo( WP_PLUGIN_DIR );
$zip->close();
} else {
$result['error'] = __( "Failed to open the zip archive. Please, upload the plugin manually", 'bestwebsoft' );
}
} elseif ( class_exists( 'Phar' ) ) {
$phar = new PharData( $file_put_contents );
$phar->extractTo( WP_PLUGIN_DIR );
} else {
$result['error'] = __( "Your server does not support either ZipArchive or Phar. Please, upload the plugin manually", 'bestwebsoft' );
}
@unlink( $file_put_contents );
} else {
$result['error'] = __( "Failed to download the zip archive. Please, upload the plugin manually", 'bestwebsoft' );
}
} else {
$result['error'] = __( "UploadDir is not writable. Please, upload the plugin manually", 'bestwebsoft' );
}
}
/* activate Pro */
if ( file_exists( WP_PLUGIN_DIR . '/' . $zip_name[0] ) ) {
if ( is_multisite() && is_plugin_active_for_network( plugin_basename( __FILE__ ) ) ) {
/* if multisite and free plugin is network activated */
$active_plugins = get_site_option( 'active_sitewide_plugins' );
$active_plugins[ $bws_license_plugin ] = time();
update_site_option( 'active_sitewide_plugins', $active_plugins );
} else {
/* activate on a single blog */
$active_plugins = get_option( 'active_plugins' );
array_push( $active_plugins, $bws_license_plugin );
update_option( 'active_plugins', $active_plugins );
}
$result['pro_plugin_is_activated'] = true;
} elseif ( empty( $result['error'] ) ) {
$result['error'] = __( "Failed to download the zip archive. Please, upload the plugin manually", 'bestwebsoft' );
}
}
} else {
$result['error'] = __( "Something went wrong. Try again later or upload the plugin manually. We are sorry for inconvenience.", 'bestwebsoft' );
}
}
}
} else {
$bstwbsftwppdtplgns_options[ $bws_license_plugin ] = $bws_license_key;
/* activate Pro */
if ( ! is_plugin_active( $bws_license_plugin ) ) {
if ( is_multisite() && is_plugin_active_for_network( plugin_basename( __FILE__ ) ) ) {
/* if multisite and free plugin is network activated */
$network_wide = true;
} else {
/* activate on a single blog */
$network_wide = false;
}
activate_plugin( $bws_license_plugin, NULL, $network_wide );
$result['pro_plugin_is_activated'] = true;
}
}
if ( is_multisite() )
update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
else
update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
}
} else {
$result['error'] = __( "Please, enter Your license key", 'bestwebsoft' );
}
}
return $result;
}
}
if ( ! function_exists( 'bws_go_pro_tab' ) ) {
function bws_go_pro_tab( $plugin_info, $plugin_basename, $page, $pro_page, $bws_license_plugin, $link_slug, $link_key, $link_pn, $pro_plugin_is_activated = false, $trial_days_number = false ) {
global $wp_version, $bstwbsftwppdtplgns_options;
$bws_license_key = ( isset( $_POST['bws_license_key'] ) ) ? stripslashes( esc_html( trim( $_POST['bws_license_key'] ) ) ) : "";
if ( $pro_plugin_is_activated ) { ?>
()
()
response ) ) {
$to_send = array();
$to_send["plugins"][ $plugin_basename ] = $plugins_all[ $plugin_basename ];
$to_send["plugins"][ $plugin_basename ]["bws_license_key"] = $license_key;
$to_send["plugins"][ $plugin_basename ]["bws_illegal_client"] = true;
$options = array(
'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
'body' => array( 'plugins' => serialize( $to_send ) ),
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);
$raw_response = wp_remote_post( 'http://bestwebsoft.com/wp-content/plugins/paid-products/plugins/update-check/1.0/', $options );
if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) {
$result['error'] = __( 'Something went wrong. Please try again later. If the error appears again, please contact us', 'bestwebsoft' ) . ' BestWebSoft. ' . __( 'We are sorry for inconvenience.', 'bestwebsoft' );
} else {
$response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
if ( is_array( $response ) && !empty( $response ) ) {
foreach ( $response as $key => $value ) {
if ( "wrong_license_key" == $value->package ) {
$result['error'] = __( 'Wrong license key.', 'bestwebsoft' );
} else if ( "wrong_domain" == $value->package ) {
$result['error'] = __( 'This license key is bind to another site.', 'bestwebsoft' );
} else if ( "time_out" == $value->package ) {
$result['message'] = __( 'This license key is valid, but Your license has expired. If you want to update our plugin in future, you should extend the license.', 'bestwebsoft' );
} elseif ( "you_are_banned" == $value->package ) {
$result['error'] = __( "Unfortunately, you have exceeded the number of available tries.", 'bestwebsoft' );
} elseif ( "duplicate_domen_for_trial" == $value->package ) {
$result['error'] = __( "Unfortunately, the PRO Trial licence was already installed to this domain. The PRO Trial license can be installed only once.", 'bestwebsoft' );
}
if ( empty( $result['message'] ) && empty( $result['error'] ) ) {
if ( isset( $value->trial ) )
$result['message'] = __( 'The PRO Trial license key is valid.', 'bestwebsoft' );
else
$result['message'] = __( 'The license key is valid.', 'bestwebsoft' );
if ( isset( $value->time_out ) && $value->time_out != '' )
$result['message'] .= ' ' . __( 'Your license will expire on', 'bestwebsoft' ) . ' ' . $value->time_out . '.';
if ( isset( $value->trial ) && $trial_plugin != false )
$result['message'] .= ' ' . sprintf( __( 'In order to continue using the plugin it is necessary to buy a %s license.', 'bestwebsoft' ), 'PRO' );
if ( isset( $value->trial ) ) {
$bstwbsftwppdtplgns_options['trial'][ $plugin_basename ] = 1;
} else {
unset( $bstwbsftwppdtplgns_options['trial'][ $plugin_basename ] );
}
}
if ( empty( $result['error'] ) ) {
if ( $bstwbsftwppdtplgns_options[ $plugin_basename ] != $license_key ) {
$bstwbsftwppdtplgns_options[ $plugin_basename ] = $license_key;
$bstwbsftwppdtplgns_options['time_out'][ $plugin_basename ] = $value->time_out;
if ( is_multisite() )
update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
else
update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
$file = @fopen( dirname( dirname( __FILE__ ) ) . "/license_key.txt" , "w+" );
if ( $file ) {
@fwrite( $file, $license_key );
@fclose( $file );
}
}
}
}
} else {
$result['error'] = __( 'Something went wrong. Please try again later. If the error appears again, please contact us', 'bestwebsoft' ) . ' BestWebSoft. ' . __( 'We are sorry for inconvenience.', 'bestwebsoft' );
}
}
}
} else {
$result['error'] = __( 'Please, enter your license key', 'bestwebsoft' );
}
}
return $result;
}
}
if ( ! function_exists ( 'bws_check_pro_license_form' ) ) {
function bws_check_pro_license_form( $plugin_basename, $page ) {
global $bstwbsftwppdtplgns_options;
$license_key = ( isset( $bstwbsftwppdtplgns_options[ $plugin_basename ] ) ) ? $bstwbsftwppdtplgns_options[ $plugin_basename ] : ''; ?>
' . __( 'WARNING: We have noticed illegal use of our plugin by you. We strongly recommend you to solve the problem within 24 hours, otherwise the plugin will be deactivated. Please go to your personal', 'bestwebsoft' ) . ' Client area ' . __( '(your username is the email you specify when purchasing the product), where you can make the necessary changes.', 'bestwebsoft' ) . '
';
if ( isset( $bstwbsftwppdtplgns_options['trial'][ $plugin_key ] ) && $link_slug != false ) {
echo __( 'Notice: Your PRO Trial license has expired. To continue using the plugin you should buy a PRO license', 'bestwebsoft' ) . ' - http://bestwebsoft.com/products/' . $link_slug . '/';
} else {
echo __( 'Your license has expired. To continue getting top-priority support and plugin updates you should extend it.', 'bestwebsoft' ) . ' ' . __( "Learn more", 'bestwebsoft' ) . '';
}
echo '
';
if ( $free_plugin_name != false ) {
echo sprintf( __( 'Notice: You are using the PRO Trial license of %s plugin.', 'bestwebsoft' ), $free_plugin_name );
} else {
_e( 'Notice: You are using the PRO Trial license of plugin.', 'bestwebsoft' );
}
if ( isset( $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] ) )
echo ' ' . __( "The PRO Trial license will expire on", 'bestwebsoft' ) . ' ' . $bstwbsftwppdtplgns_options['time_out'][ $plugin_key ] . '.';
echo '