/** * Main EDD_Software_Licensing Instance * * Insures that only one instance of EDD_Software_Licensing exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @since 1.4 * @static * @staticvar array $instance */ public static function instance() { if (!isset(self::$instance) && !self::$instance instanceof EDD_Software_Licensing) { self::$instance = new EDD_Software_Licensing(); } return self::$instance; }
/** * After license activation, if is trial -- add to a list * * @used "edd_activate_license" */ public static function activate_license($data) { $license = !empty($data['license']) ? urldecode($data['license']) : false; $license_id = \EDD_Software_Licensing::instance()->get_license_by_key($license); $payment_id = get_post_meta($license_id, '_edd_sl_payment_id', true); $user_info = edd_get_payment_meta_user_info($payment_id); self::save_license_meta($data, $license_id, $user_info, $payment_id); $item_id = !empty($data['item_id']) ? absint($data['item_id']) : false; if (1 == 3 && class_exists('EDD_ConvertKit') && isset($data['details']['vertical']) && (self::$trial || ingSL::$trial == $item_id)) { self::$trial = true; $vertical = $data['details']['vertical']; if (!in_array($vertical, ingSL_verticals())) { return; } //$url = isset( $data[ 'url' ] ) ? urldecode( $data[ 'url' ] ) : ''; $convert_kit = new \EDD_ConvertKit(); $convert_kit->subscribe_email($user_info, $vertical, true); } }
/** * @param $license * * @return bool|null|string */ protected function get_license_id($license) { return \EDD_Software_Licensing::instance()->get_license_by_key($license); }
/** * 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; } } }
/** * Generate free trial license code * * @param int $payment_id */ public function make_license($payment_id) { $cart_item['item_number']['options']['price_id'] = ids::$trial_price_id; /** @var var array $keys */ $keys = \EDD_Software_Licensing::instance()->generate_license(ids::$trial_id, $payment_id, 'default', $cart_item); if (is_array($keys) && isset($keys[0])) { $this->license = $keys[0]; update_post_meta($this->license, '_ingsl_is_trial', 1); update_post_meta($this->license, '_ingsl_upsold', 0); } }