LLMS_REST_API_Key
LLMS_REST_API_Key class.
Description Description
.
Source Source
File: libraries/lifterlms-rest/includes/models/class-llms-rest-api-key.php
class LLMS_REST_API_Key extends LLMS_Abstract_Database_Store { /** * Date Created Field not implemented. * * @var null */ protected $date_created = null; /** * Date Updated Field not implemented. * * @var null */ protected $date_updated = null; /** * Array of table column name => format * * @var array */ protected $columns = array( 'user_id' => '%d', 'description' => '%s', 'consumer_key' => '%s', 'consumer_secret' => '%s', 'truncated_key' => '%s', 'last_access' => '%s', ); /** * Database Table Name * * @var string */ protected $table = 'api_keys'; /** * The record type * * Used for filters/actions. * * @var string */ protected $type = 'rest_api_key'; /** * Constructor * * @since 1.0.0-beta.1 * * @param int $id API Key ID. * @param bool $hydrate If true, hydrates the object on instantiation if an ID is supplied. */ public function __construct( $id = null, $hydrate = true ) { $this->id = $id; if ( $this->id && $hydrate ) { $this->hydrate(); } } /** * Retrieve an admin nonce url for deleting an API key. * * @since 1.0.0-beta.1 * * @return string */ public function get_delete_link() { return add_query_arg( array( 'revoke-key' => $this->get( 'id' ), 'key-revoke-nonce' => wp_create_nonce( 'revoke' ), ), LLMS_REST_API()->keys()->get_admin_url() ); } /** * Retrieve the admin URL where the api key is managed. * * @since 1.0.0-beta.1 * * @return string */ public function get_edit_link() { return add_query_arg( array( 'edit-key' => $this->get( 'id' ), ), LLMS_REST_API()->keys()->get_admin_url() ); } /** * Retrieve a human-readable date/time string for the date the key was last used. * * Uses WP Core date & time formatting settings. * * @since 1.0.0-beta.1 * * @return string */ public function get_last_access_date() { $date = __( 'None', 'lifterlms' ); if ( ! empty( $this->get( 'last_access' ) ) ) { $time = strtotime( $this->get( 'last_access' ) ); // Translators: %1$s: Last access date; %2$s: Last access time. $date = sprintf( __( '%1$s at %2$s', 'lifterlms' ), date_i18n( get_option( 'date_format' ), $time ), date_i18n( get_option( 'time_format' ), $time ) ); } return apply_filters( 'llms_rest_api_key_get_last_access_date', $date, $this ); } /** * Determine if the key has the permissions required by the HTTP Request Method. * * @since 1.0.0-beta.1 * * @param string $method The HTTP request method. * @return bool */ public function has_permission( $method ) { $permissions = $this->get( 'permissions' ); switch ( $method ) { case 'HEAD': case 'GET': $ret = ( 'read' === $permissions || 'read_write' === $permissions ); break; case 'POST': case 'PUT': case 'PATCH': case 'DELETE': $ret = ( 'write' === $permissions || 'read_write' === $permissions ); break; case 'OPTIONS': $ret = true; break; default: $ret = false; } return $ret; } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- __construct — Constructor
- get_delete_link — Retrieve an admin nonce url for deleting an API key.
- get_edit_link — Retrieve the admin URL where the api key is managed.
- get_last_access_date — Retrieve a human-readable date/time string for the date the key was last used.
- has_permission — Determine if the key has the permissions required by the HTTP Request Method.
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.1 | Introduced. |