Example #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;
}
                echo ' <a class="foolic-action foolic-action-attach" data-domain-id="' . $domain->ID . '" data-licensekey-id="' . $key->ID . '" data-action="foolic_attach_domain_to_licensekey" href="#attach">' . __('Attach', 'foolicensing') . '</a>';
            }
        }
    }
}
// Retrieve all license keys for the current user
$license_keys = foolic_get_licensekeys_by_user();
if ($license_keys) {
    ?>
	<div id="foolic_license_listing">
		<?php 
    foreach ($license_keys as $key) {
        $domains = foolic_license_listing_get_sorted_domains($key);
        $attached_domains = $key->get_attached_domains();
        $renewals = foolic_get_renewals($key->ID);
        $upgrades = foolic_get_upgrades($key->ID);
        $license = $key->get_license();
        ?>
			<div class="foolic_license_listing_item">
				<h2><?php 
        echo $license->name;
        ?>
</h2>
				<table>
					<tr>
						<th><?php 
        _e('Date Issued', 'foolicensing');
        ?>
</th>
						<td><?php 
        echo foolic_format_date($key->date_issued);