Ejemplo n.º 1
0
				<td>
					<?php 
        echo get_the_title($upgrade['download_id']);
        ?>
					<?php 
        if (isset($upgrade['price_id']) && edd_has_variable_prices($upgrade['download_id'])) {
            ?>
						- <?php 
            echo edd_get_price_option_name($upgrade['download_id'], $upgrade['price_id']);
            ?>
					<?php 
        }
        ?>
				</td>
				<td><?php 
        echo edd_currency_filter(edd_sanitize_amount(edd_sl_get_license_upgrade_cost($license_id, $upgrade_id)));
        ?>
</td>
				<td><a href="<?php 
        echo esc_url(edd_sl_get_license_upgrade_url($license_id, $upgrade_id));
        ?>
" title="<?php 
        esc_attr_e('Upgrade License', 'edd_sl');
        ?>
"><?php 
        _e('Upgrade License', 'edd_sl');
        ?>
</a></td>
				<?php 
        do_action('edd_sl_license_upgrades_row_end', $license_id);
        ?>
Ejemplo n.º 2
0
/**
 * Add license upgrade to the cart
 *
 * @since 3.3
 * @return void
 */
function edd_sl_add_upgrade_to_cart($data)
{
    if (!is_user_logged_in()) {
        return;
    }
    if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'edd_sl_upgrade_nonce')) {
        return;
    }
    $download_id = edd_software_licensing()->get_download_id($data['license_id']);
    $cart_contents = edd_get_cart_contents();
    $allow_upgrade = true;
    if (is_array($cart_contents)) {
        foreach ($cart_contents as $item) {
            if ($item['id'] == $download_id && !empty($item['options']['is_renewal'])) {
                $allow_upgrade = false;
                break;
            }
        }
    }
    if ('expired' === edd_software_licensing()->get_license_status($data['license_id'])) {
        $is_expired = true;
        $allow_upgrade = false;
    }
    if ($allow_upgrade) {
        $upgrade = edd_sl_get_upgrade_path($download_id, $data['upgrade_id']);
        $options = array('price_id' => $upgrade['price_id'], 'is_upgrade' => true, 'upgrade_id' => $data['upgrade_id'], 'license_id' => $data['license_id'], 'cost' => edd_sl_get_license_upgrade_cost($data['license_id'], $data['upgrade_id']));
        edd_add_to_cart($upgrade['download_id'], $options);
    } else {
        if (!empty($is_expired)) {
            edd_set_error('edd-sl-expired-license', __('Your license key is expired. It must be renewed before it can be upgraded.', 'edd_sl'));
        } else {
            edd_set_error('edd-sl-unique-action', __('Expired license keys cannot be upgraded. Renew your license and then you may upgrade it.', 'edd_sl'));
        }
    }
    wp_redirect(edd_get_checkout_uri());
    exit;
}
Ejemplo n.º 3
0
 /**
  * Add the license upgrade from trial to the cart
  *
  * @param int $license_id
  *
  * @return string
  */
 protected static function prepare_upgrade($license_id)
 {
     $download_id = \EDD_Software_Licensing::instance()->get_download_id($license_id);
     if (is_numeric($download_id)) {
         $upgrades = edd_sl_get_upgrade_paths($download_id);
         if (is_array($upgrades) && !empty($upgrades)) {
             reset($upgrades);
             $upgrade_price_id = key($upgrades);
             $upgrade = edd_sl_get_upgrade_path(ids::$trial_id, $upgrade_price_id);
             $options = array('price_id' => $upgrade['price_id'], 'is_upgrade' => true, 'upgrade_id' => $upgrade_price_id, 'license_id' => $license_id, 'cost' => edd_sl_get_license_upgrade_cost($license_id, $upgrade_price_id));
             $added = edd_add_to_cart($upgrade['download_id'], $options);
             return $added;
         }
     }
 }