diff options
author | yehudah <yehudah@b8457f37-d9ea-0310-8a92-e5e31aec5664> | 2019-11-25 08:22:35 +0000 |
---|---|---|
committer | yehudah <yehudah@b8457f37-d9ea-0310-8a92-e5e31aec5664> | 2019-11-25 08:22:35 +0000 |
commit | c61784411988d36d9bbd93cd3a97e773990af342 (patch) | |
tree | 924e6e9dea2ba7b1eedb14d0c4b03a38aefdf179 /Postman/PostmanOAuthToken.php | |
parent | 907ce8c044159ca8da6ccce3ec5362ac61e7c142 (diff) | |
download | Post-SMTP-c61784411988d36d9bbd93cd3a97e773990af342.zip |
Adding a folder
Diffstat (limited to 'Postman/PostmanOAuthToken.php')
-rw-r--r-- | Postman/PostmanOAuthToken.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/Postman/PostmanOAuthToken.php b/Postman/PostmanOAuthToken.php new file mode 100644 index 0000000..1cd9634 --- /dev/null +++ b/Postman/PostmanOAuthToken.php @@ -0,0 +1,89 @@ +<?php +if ( ! defined( 'ABSPATH' ) ) { + exit; // Exit if accessed directly +} +if (! class_exists ( 'PostmanOAuthToken.php' )) { + + class PostmanOAuthToken { + const OPTIONS_NAME = 'postman_auth_token'; + // + const REFRESH_TOKEN = 'refresh_token'; + const EXPIRY_TIME = 'auth_token_expires'; + const ACCESS_TOKEN = 'access_token'; + const VENDOR_NAME = 'vendor_name'; + // + private $vendorName; + private $accessToken; + private $refreshToken; + private $expiryTime; + + // singleton instance + public static function getInstance() { + static $inst = null; + if ($inst === null) { + $inst = new PostmanOAuthToken (); + } + return $inst; + } + + // private constructor + private function __construct() { + $this->load (); + } + + /** + * Is there a valid access token and refresh token + */ + public function isValid() { + $accessToken = $this->getAccessToken (); + $refreshToken = $this->getRefreshToken (); + return ! (empty ( $accessToken ) || empty ( $refreshToken )); + } + + /** + * Load the Postman OAuth token properties to the database + */ + private function load() { + $a = get_option ( PostmanOAuthToken::OPTIONS_NAME ); + $this->setAccessToken ( $a [PostmanOAuthToken::ACCESS_TOKEN] ); + $this->setRefreshToken ( $a [PostmanOAuthToken::REFRESH_TOKEN] ); + $this->setExpiryTime ( $a [PostmanOAuthToken::EXPIRY_TIME] ); + $this->setVendorName ( $a [PostmanOAuthToken::VENDOR_NAME] ); + } + + /** + * Save the Postman OAuth token properties to the database + */ + public function save() { + $a [PostmanOAuthToken::ACCESS_TOKEN] = $this->getAccessToken (); + $a [PostmanOAuthToken::REFRESH_TOKEN] = $this->getRefreshToken (); + $a [PostmanOAuthToken::EXPIRY_TIME] = $this->getExpiryTime (); + $a [PostmanOAuthToken::VENDOR_NAME] = $this->getVendorName (); + update_option ( PostmanOAuthToken::OPTIONS_NAME, $a ); + } + public function getVendorName() { + return $this->vendorName; + } + public function getExpiryTime() { + return $this->expiryTime; + } + public function getAccessToken() { + return $this->accessToken; + } + public function getRefreshToken() { + return $this->refreshToken; + } + public function setVendorName($name) { + $this->vendorName = sanitize_text_field ( $name ); + } + public function setExpiryTime($time) { + $this->expiryTime = sanitize_text_field ( $time ); + } + public function setAccessToken($token) { + $this->accessToken = sanitize_text_field ( $token ); + } + public function setRefreshToken($token) { + $this->refreshToken = sanitize_text_field ( $token ); + } + } +}
\ No newline at end of file |