LLMS_Helper_Keys::check_keys( bool $force = false )
Check all saved keys to ensure they’re still active
Description Description
Outputs warnings if the key has expired or the status has changed remotely.
Runs on daily cron (llms_check_license_keys
).
Only make api calls to check once / week.
Parameters Parameters
- $force
-
(bool) (Optional) Ignore the once/week setting and force a check.
Default value: false
Return Return
(void)
Source Source
File: libraries/lifterlms-helper/includes/class-llms-helper-keys.php
} /** * Check all saved keys to ensure they're still active * * Outputs warnings if the key has expired or the status has changed remotely. * * Runs on daily cron (`llms_check_license_keys`). * * Only make api calls to check once / week. * * @since 3.0.0 * @since 3.4.0 Use core textdomain. * * @param bool $force Ignore the once/week setting and force a check. * @return void */ public static function check_keys( $force = false ) { // Don't trigger during AJAX Requests. if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { return; } // Don't proceed if we don't have any keys to check. $keys = llms_helper_options()->get_license_keys(); if ( ! $keys ) { return; } if ( ! $force ) { // Only check keys once a week. $last_send = llms_helper_options()->get_last_keys_cron_check(); if ( $last_send > apply_filters( 'llms_check_license_keys_interval', strtotime( '-1 week' ) ) ) { return; } } // Record check time. llms_helper_options()->set_last_keys_cron_check( time() ); $data = array( 'keys' => array(), 'url' => get_site_url(), ); foreach ( $keys as $key ) { $data['keys'][ $key['license_key'] ] = $key['update_key']; } $req = new LLMS_Dot_Com_API( '/license/status', $data ); if ( ! $req->is_error() ) { $res = $req->get_result(); include_once LLMS_PLUGIN_DIR . 'includes/admin/class.llms.admin.notices.php'; /* Translators: %s = License Key */ $msg = __( 'The license "%s" is no longer valid and was deactivated. Please visit your account dashboard at https://lifterlms.com/my-account for more information.', 'lifterlms' ); // Output error responses. if ( isset( $res['data']['errors'] ) ) { foreach ( array_keys( $res['data']['errors'] ) as $key ) { self::remove_license_key( $key ); LLMS_Admin_Notices::add_notice( 'key_check_' . sanitize_text_field( $key ), make_clickable( sprintf( $msg, $key ) ), array( 'type' => 'error', 'dismiss_for_days' => 0, ) ); } } // Check status of keys, if the status has changed remove it locally. if ( isset( $res['data']['keys'] ) ) { foreach ( $res['data']['keys'] as $key => $data ) { if ( $data['status'] ) {
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.4.0 | Use core textdomain. |
3.0.0 | Introduced. |