Ejemplo n.º 1
0
/**
 * @param int $licensekey_id
 * @param int $upgrade_license_id
 */
function foolic_perform_upgrade($licensekey_id, $upgrade_license_id)
{
    $license_key = foolic_licensekey::get_by_id($licensekey_id);
    if ($license_key->ID == 0) {
        return false;
    }
    if (!$license_key->is_deactivated()) {
        $date_format = get_option('date_format');
        $expiry_date = $license_key->expires;
        $domain_limit = $license_key->domain_limit;
        //get the expiry date
        $expiry = strtotime($license_key->expires);
        //if already expired, then use today's date
        if ($expiry < time()) {
            $expiry = time();
        }
        //ensure we have our connections registered
        foolic_post_relationships::register_connections();
        //load new license
        $license = foolic_license::get_by_id($upgrade_license_id);
        if ($license->ID > 0) {
            $domain_limit = $license->domain_limit;
            if ($license->expires_in_days > 0) {
                $expiry_date = date($date_format, strtotime('+' . $license->expires_in_days . ' days', $expiry));
            } else {
                $expiry_date = 'never';
            }
        }
        //save new expiry date and domain limit
        $license_key->domain_limit = $domain_limit;
        $license_key->expires = $expiry_date;
        $license_key->process_domains();
        //process domains immediately and update
        //delete connection
        $license_key->disconnect_from_existing_license();
        //connect to new license
        $license->link_to_licensekey($license_key->ID);
        //save upgrade post meta
        $existing_upgrades = foolic_get_upgrades($license_key->ID);
        $existing_upgrades[] = array('upgrade_date' => date($date_format), 'upgrade_details' => __('Upgrade to', 'foolicensing') . ' ' . $license->name);
        foolic_update_upgrades($license_key->ID, $existing_upgrades);
        return true;
    }
    return false;
}
Ejemplo n.º 2
0
/**
 * @param int $licensekey_id
 */
function foolic_perform_renewal($licensekey_id)
{
    $license_key = foolic_licensekey::get_by_id($licensekey_id);
    if ($license_key->ID == 0) {
        return false;
    }
    if ($license_key->does_expire() && !$license_key->is_deactivated()) {
        $date_format = get_option('date_format');
        $expiry_date = $license_key->expires;
        //get the expiry date
        $expiry = strtotime($license_key->expires);
        //if already expired, then use today's date
        if ($expiry < time()) {
            $expiry = time();
        }
        //ensure we have our connections registered
        foolic_post_relationships::register_connections();
        //load license
        $license = $license_key->get_license();
        if ($license->ID > 0) {
            if ($license->expires_in_days > 0) {
                $expiry_date = date($date_format, strtotime('+' . $license->expires_in_days . ' days', $expiry));
            } else {
                $expiry_date = 'never';
            }
        }
        //save new expiry date
        $license_key->expires = $expiry_date;
        $license_key->update();
        //save renewal post
        $renewal_post_args = apply_filters('foolic_renewal_post_args_override', array('post_type' => FOOLIC_CPT_RENEWAL, 'post_status' => 'publish', 'post_author' => $license->author, 'post_title' => $license->name . ' - ' . $license_key->license_key));
        //insert the renewal post
        $renewal_id = wp_insert_post($renewal_post_args, true);
        //save renewal post meta
        $existing_renewals = foolic_get_renewals($license_key->ID);
        $existing_renewals[] = array('renewal_date' => date($date_format), 'renewal_id' => $renewal_id);
        foolic_update_renewals($license_key->ID, $existing_renewals);
        do_action('foolic_perform_renewal', $license_key->ID);
        return $renewal_id;
    }
    return false;
}