Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Admin_Menu::check_pro_license( $force_check = false )
API call to check if License key is valid
Contents
Description Description
The updater class does this for you. This function can be used to do something custom.
Return Return
(null|object|bool)
Source Source
File: src/core/admin/class-admin-menu.php
public function check_pro_license( $force_check = false ) { $last_checked = get_option( 'uap_automator_pro_license_last_checked' ); if ( ! empty( $last_checked ) && false === $force_check ) { $datediff = time() - $last_checked; if ( $datediff < DAY_IN_SECONDS ) { return null; } } if ( true === $force_check ) { delete_option( 'uap_automator_pro_license_last_checked' ); } $license = trim( get_option( 'uap_automator_pro_license_key' ) ); if ( empty( $license ) ) { return new \stdClass(); } $api_params = array( 'edd_action' => 'check_license', 'license' => $license, 'item_name' => urlencode( AUTOMATOR_PRO_ITEM_NAME ), 'url' => home_url(), ); // Call the custom API. $response = wp_remote_post( AUTOMATOR_PRO_STORE_URL, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params, ) ); if ( is_wp_error( $response ) ) { return false; } $license_data = json_decode( wp_remote_retrieve_body( $response ) ); // this license is still valid if ( $license_data->license == 'valid' ) { update_option( 'uap_automator_pro_license_status', $license_data->license ); if ( 'lifetime' !== $license_data->expires ) { update_option( 'uap_automator_pro_license_expiry', $license_data->expires ); } else { update_option( 'uap_automator_pro_license_expiry', date( 'Y-m-d H:i:s', mktime( 12, 59, 59, 12, 31, 2099 ) ) ); } if ( 'lifetime' !== $license_data->expires ) { $expire_notification = new \DateTime( $license_data->expires, wp_timezone() ); update_option( 'uap_automator_pro_license_expiry_notice', $expire_notification ); if ( wp_get_scheduled_event( 'uapro_notify_admin_of_license_expiry' ) ) { wp_unschedule_hook( 'uapro_notify_admin_of_license_expiry' ); } // 1 hour after the license is schedule to expire. wp_schedule_single_event( $expire_notification->getTimestamp() + 3600, 'uapro_notify_admin_of_license_expiry' ); } } else { update_option( 'uap_automator_pro_license_status', 'invalid' ); update_option( 'uap_automator_pro_license_expiry', '' ); // this license is no longer valid } update_option( 'uap_automator_pro_license_last_checked', time() ); return $license_data; }
Expand full source code Collapse full source code View on Github
Changelog Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |