Exemplo n.º 1
0
?>
',
							charset          : '<?php 
echo get_bloginfo('charset');
?>
',
							return_url       : '<?php 
echo $return_url;
?>
',
							account_url      : '<?php 
echo fs_nonce_url($fs->_get_admin_page_url('account', array('fs_action' => 'sync_user')), 'sync_user');
?>
',
							activation_url   : '<?php 
echo fs_nonce_url($fs->_get_admin_page_url('', array('fs_action' => $slug . '_activate_new', 'plugin_id' => fs_request_get('plugin_id', $fs->get_id()))), $slug . '_activate_new');
?>
'
						}, iframe[0]);
					});

					FS.PostMessage.receiveOnce('get_dimensions', function (data) {
						console.debug('receiveOnce', 'get_dimensions');

						FS.PostMessage.post('dimensions', {
							height   : $(document.body).height(),
							scrollTop: $(document).scrollTop()
						}, iframe[0]);
					});
				});
			})(jQuery);
 /**
  * Set user and site identities.
  *
  * @author Vova Feldman (@svovaf)
  * @since  1.0.9
  *
  * @param FS_User $user
  * @param FS_Site $site
  * @param bool    $redirect
  *
  * @return bool False if account already set.
  */
 function setup_account(FS_User $user, FS_Site $site, $redirect = true)
 {
     $this->_user = $user;
     $this->_site = $site;
     $this->_enrich_site_plan(false);
     $this->_set_account($user, $site);
     $this->_sync_plans();
     if ($this->is_trial()) {
         // Store trial plan information.
         $this->_enrich_site_trial_plan(true);
     }
     $this->do_action('after_account_connection', $user, $site);
     if (is_numeric($site->license_id)) {
         $this->_license = $this->_get_license_by_id($site->license_id);
     }
     if ($this->is_pending_activation()) {
         // Remove pending activation sticky notice (if still exist).
         $this->_admin_notices->remove_sticky('activation_pending');
         // Remove plugin from pending activation mode.
         unset($this->_storage->is_pending_activation);
         if (!$this->is_paying()) {
             $this->_admin_notices->add_sticky(sprintf(__fs('plugin-x-activation-message', $this->_slug), '<b>' . $this->get_plugin_name() . '</b>'), 'activation_complete');
         }
     }
     if ($this->is_paying() && !$this->is_premium()) {
         $this->_admin_notices->add_sticky(sprintf(__fs('activation-with-plan-x-message', $this->_slug), $this->_site->plan->title) . ' ' . $this->_get_latest_download_link(sprintf(__fs('download-latest-x-version', $this->_slug), $this->_site->plan->title)), 'plan_upgraded', __fs('yee-haw', $this->_slug) . '!');
     }
     $plugin_id = fs_request_get('plugin_id', false);
     // Store activation time ONLY for plugins (not add-ons).
     if (!is_numeric($plugin_id) || $plugin_id == $this->_plugin->id) {
         $this->_storage->activation_timestamp = WP_FS__SCRIPT_START_TIME;
     }
     if (is_numeric($plugin_id)) {
         if ($plugin_id != $this->_plugin->id) {
             // Add-on was installed - sync license right after install.
             if ($redirect && fs_redirect(fs_nonce_url($this->_get_admin_page_url('account', array('fs_action' => $this->_slug . '_sync_license', 'plugin_id' => $plugin_id)), $this->_slug . '_sync_license'))) {
                 exit;
             }
         }
     } else {
         // Reload the page with the keys.
         if ($redirect && fs_redirect($this->get_after_activation_url('after_connect_url'))) {
             exit;
         }
     }
 }
Exemplo n.º 3
0
 /**
  * Install plugin with new user information after approval.
  *
  * @author Vova Feldman (@svovaf)
  * @since  1.0.7
  */
 function _install_with_new_user()
 {
     if ($this->is_registered()) {
         return;
     }
     if (fs_request_is_action($this->_slug . '_activate_new')) {
         //				check_admin_referer( $this->_slug . '_activate_new' );
         if (fs_request_has('user_secret_key')) {
             $user = new FS_User();
             $user->id = fs_request_get('user_id');
             $user->public_key = fs_request_get('user_public_key');
             $user->secret_key = fs_request_get('user_secret_key');
             $this->_user = $user;
             $user_result = $this->get_api_user_scope()->get();
             $user = new FS_User($user_result);
             $this->_user = $user;
             $site = new FS_Site();
             $site->id = fs_request_get('install_id');
             $site->public_key = fs_request_get('install_public_key');
             $site->secret_key = fs_request_get('install_secret_key');
             $this->_site = $site;
             $site_result = $this->get_api_site_scope()->get();
             $site = new FS_Site($site_result);
             $this->_site = $site;
             $this->setup_account($this->_user, $this->_site);
             $plugin_id = fs_request_get('plugin_id', false);
             // Store activation time ONLY for plugins (not add-ons).
             if (!is_numeric($plugin_id) || $plugin_id == $this->_plugin->id) {
                 $this->_storage->activation_timestamp = WP_FS__SCRIPT_START_TIME;
             }
             if (is_numeric($plugin_id)) {
                 if ($plugin_id != $this->_plugin->id) {
                     // Add-on was purchased - sync license after install.
                     if (fs_redirect(fs_nonce_url($this->_get_admin_page_url('account', array('fs_action' => $this->_slug . '_sync_license', 'plugin_id' => $plugin_id)), $this->_slug . '_sync_license'))) {
                         exit;
                     }
                 }
             }
         } else {
             if (fs_request_has('pending_activation')) {
                 // Install must be activated via email since
                 // user with the same email already exist.
                 $this->_storage->is_pending_activation = true;
                 $this->_add_pending_activation_notice(fs_request_get('user_email'));
             }
         }
         if (fs_redirect($this->_get_admin_page_url())) {
             exit;
         }
     }
 }