%PDF- %PDF-
Direktori : /var/www/pn/beta/64801_wp-content/plugins/wysija-newsletters/helpers/ |
Current File : /var/www/pn/beta/64801_wp-content/plugins/wysija-newsletters/helpers/licence.php |
<?php defined('WYSIJA') or die('Restricted access'); /** * class managing the admin vital part to integrate wordpress */ class WYSIJA_help_licence extends WYSIJA_help{ function __construct(){ parent::__construct(); } /** * * @param string $source * @return string */ function get_url_checkout($source = 'not_specified', $campaign = 'wpadmin'){ $helper_toolbox = WYSIJA::get('toolbox' , 'helper'); $currency = 'USD'; if($helper_toolbox->is_european()){ $currency = 'EUR'; } return 'http://www.mailpoet.com/checkout/?wysijadomain='.$this->getDomainInfo(true).'&nc=1&utm_medium=plugin&utm_campaign='.$campaign.'&utm_source='.$source.'¤cy='.$currency; } /** * * @param boolean $checkout_data * @return string */ function getDomainInfo($checkout_data = false){ $domain_data = array(); $url = admin_url('admin.php'); $helper_toolbox = WYSIJA::get('toolbox','helper'); $domain_data['domain_name'] = $helper_toolbox->_make_domain_name($url); if(is_multisite()) { $domain_data['multisite_domain'] = $helper_toolbox->_make_domain_name(network_site_url()); } $domain_data['url'] = $url; $domain_data['cron_url'] = site_url( 'wp-cron.php').'?'.WYSIJA_CRON.'&action=wysija_cron&process=all&silent=1'; if($checkout_data){ $model_config = WYSIJA::get('config' , 'model'); if(!$model_config->getValue('poll_origin')){ $domain_data['poll_origin'] = 'unidentified'; }else{ $domain_data['poll_origin'] = $model_config->getValue('poll_origin'); $domain_data['poll_origin_url'] = $model_config->getValue('poll_origin_url'); } $domain_data['installed_time'] = $model_config->getValue('installed_time'); } return base64_encode(serialize($domain_data)); } function check($js = false){ $domain_data = $this->getDomainInfo(); if($js === false) { WYSIJA::update_option('wysijey', $domain_data); } $response=array(); $response['domain_name'] = $domain_data; $response['nocontact'] = false; $model_config=WYSIJA::get('config','model'); if($model_config->getValue('nocurl')){ $json_result=false; }else{ $helper_http = WYSIJA::get('http','helper'); $json_result = $helper_http->wp_request('http://www.mailpoet.com/?wysijap=checkout&wysijashop-page=1&controller=customer&action=checkDomain&data='.urlencode($domain_data)); } if($json_result!==false) { $decoded = json_decode($json_result, true); if(isset($decoded['result']) === false) { // service unavailable $response['nocontact'] = true; // make sure to re check later WYSIJA::update_option('wysicheck', true); } else { // set result $response['result'] = $decoded['result']; if($decoded['result'] === true) { // set premium key $config_data = array( 'premium_key' => base64_encode(get_option('home').time()), 'premium_val' => time(), 'premium_expire_at' => (int) $decoded['expire_at'] ); // success message $this->notice(__('Premium version is valid for your site.', WYSIJA)); // stop checking premium WYSIJA::update_option('wysicheck', false); } else { // set error if(isset($decoded['error'])) { $response['code'] = $decoded['code']; switch($response['code']){ case 1: //Domain \'%1$s\' does not exist. //$error_msg=__('\'%1$s\' does not exist!',WYSIJA); $error_msg=__('Your website doesn\'t seem to have a license! Log into your [link]account manager[/link] to add a license for this website.',WYSIJA); break; case 2: //'Licence (id: %d) does not exist for domain "%s" $error_msg=__('There\'s no license for "%1$s". If you\'re Premium, add this domain in your [link]account manager[/link].',WYSIJA); break; case 3: //Licence has expired $renew_url = 'http://www.mailpoet.com/checkout/?utm_medium=plugin&utm_campaign=renewal_deal&utm_source=renewal_deal_'; $link_renew = '<a href="'.$renew_url.'has_expired'.'" target="_blank" >'.__('Renew now.', WYSIJA).'</a>'; $error_msg=__('Your Premium licence has expired.',WYSIJA). ' ' . $link_renew; break; case 4: //You need to manually add this domain to your [link]account manager[/link] $error_msg=__('You can add this domain to your [link]account manager[/link].',WYSIJA); break; case 5: //Your licence does not allow more domains, please upgrade your licence in your [link]account manager[/link] $error_msg=__('Your licence doesn\'t allow more domains. Upgrade from your [link]account manager[/link].',WYSIJA); break; default: $error_msg=$decoded['error']; } $this->error(str_replace( array('[link]','[/link]','%1$s'), array('<a href="http://www.mailpoet.com/account/licences/" target="_blank">','</a>',$decoded['domain']), $error_msg), true); } // reset premium key data $config_data = array('premium_key' => '', 'premium_val' => ''); WYSIJA::update_option('wysicheck', false); } // update config $model_config = WYSIJA::get('config','model'); $model_config->save($config_data); } }else{ $response['nocontact']=true; WYSIJA::update_option('wysicheck',true); } return $response; } function dkim_config(){ //checkif the open ssl function for priv and ub key are present on that server $helper_toolbox = WYSIJA::get('toolbox','helper'); $dkim_domain = $helper_toolbox->_make_domain_name(admin_url('admin.php')); $res1=$errorssl=false; if(function_exists('openssl_pkey_new')){ while ($err = openssl_error_string()); $res1=openssl_pkey_new(array('private_key_bits' => 1024)); $errorssl=openssl_error_string(); } if(function_exists('openssl_pkey_new') && $res1 && !$errorssl && function_exists('openssl_pkey_get_details')){ $rsaKey = array('private' => '', 'public' => '', 'error' => ''); $res = openssl_pkey_new(array('private_key_bits' => 1024)); if($res && !openssl_error_string()){ // Get private key $privkey = ''; openssl_pkey_export($res, $privkey); // Get public key $pubkey = openssl_pkey_get_details($res); $configData=array('dkim_domain'=>$dkim_domain,'dkim_privk'=>$privkey,'dkim_pubk'=>$pubkey['key'],'dkim_1024'=>1); $mConfig = WYSIJA::get('config','model'); $mConfig->save($configData); } }else{//fetch them through a request to mailpoet.com $domainData=$this->getDomainInfo(); $hHTTP = WYSIJA::get('http','helper'); $jsonResult = $hHTTP->wp_request('http://www.mailpoet.com/?wysijap=checkout&wysijashop-page=1&controller=customer&action=checkDkimNew&data='.$domainData); //remotely connect to host if($jsonResult!==false){ $decoded=json_decode($jsonResult); $configData=array('dkim_domain'=>$dkim_domain,'dkim_privk'=>$decoded->dkim_privk,'dkim_pubk'=>$decoded->dkim_pubk->key,'dkim_1024'=>1); $mConfig = WYSIJA::get('config','model'); $mConfig->save($configData); WYSIJA::update_option('dkim_autosetup',false); }else{ WYSIJA::update_option('dkim_autosetup',true); } } } }