Function
Activate an extension license.
tml_activate_extension_license( string|Theme_My_Login_Extension $extension )
Parameters
-
$extensionstring|Theme_My_Login_Extension - The extension name or object.
Return
bool|string|WP_Error
The license status on success, false if the extension doesn't exist or WP_Error on failure.
Source
function tml_activate_extension_license( $extension ) {
$extension = tml_get_extension( $extension );
if ( ! $extension ) {
return false;
}
$response = tml_extension_api_call(
$extension->get_store_url(),
array(
'edd_action' => 'activate_license',
'license' => $extension->get_license_key(),
'item_id' => $extension->get_item_id(),
)
);
if ( empty( $response ) ) {
return new WP_Error( 'http_error', __( 'An error occurred, please try again.', 'theme-my-login' ) );
}
if ( false === $response->success ) {
switch ( $response->error ) {
case 'expired':
$message = sprintf(
/* translators: %s: License expiration date. */
__( 'Your license key expired on %s.', 'theme-my-login' ),
date_i18n( get_option( 'date_format' ), strtotime( $response->expires, time() ) )
);
break;
case 'disabled':
$message = __( 'Your license key has been disabled.', 'theme-my-login' );
break;
case 'missing':
case 'missing_url':
case 'key_mismatch':
case 'invalid_item_id':
case 'item_name_mismatch':
$message = __( 'Invalid license.', 'theme-my-login' );
break;
case 'no_activations_left':
$message = __( 'Your license key has reached its activation limit.', 'theme-my-login' );
break;
case 'license_not_activable':
$message = __( 'You are attempting to activate a bundle license. Please use the license that corresponds to the individual extension you are attemtping to activate.', 'theme-my-login' );
break;
default:
$message = __( 'An error occurred, please try again.', 'theme-my-login' );
break;
}
return new WP_Error( $response->error, $message );
}
return $response->license;
}
Uses
Used by
Changelog
| Version | Description |
|---|---|
| 7.0 | Introduced. |