<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); ?>
/** * 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; }
/** * 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; } } }