PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Models / SaasApiToken.php
suretriggers / src / Models Last commit date
Model.php 3 months ago SaasApiToken.php 1 year ago Utilities.php 3 months ago
SaasApiToken.php
108 lines
1 <?php
2 /**
3 * Base Modal class.
4 * php version 5.6
5 *
6 * @category Model
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Models;
15
16 use SureTriggers\Support\Encryption;
17 use SureTriggers\Controllers\OptionController;
18
19 /**
20 * The API token model.
21 */
22 class SaasApiToken {
23
24 /**
25 * The option key.
26 *
27 * @var string
28 */
29 protected $key = 'secret_key';
30
31 /**
32 * Prevent php warnings.
33 */
34 final public function __construct() {}
35
36 /**
37 * Save and encrypt the API token.
38 *
39 * @param string|null $value The API token.
40 * @return void|null|string
41 */
42 protected function save( $value ) {
43 if ( null === $value || empty( $value ) ) {
44 return OptionController::set_option( $this->key, $value );
45 } else {
46 if ( strlen( $value ) > 80 ) {
47 return $value;
48 }
49 return OptionController::set_option( $this->key, Encryption::encrypt( $value ) );
50 }
51 }
52
53 /**
54 * Get and decrypt the API token
55 *
56 * @return mixed|string The decoded API token.
57 */
58 protected function get() {
59 $plain_token = OptionController::get_option( $this->key );
60 $token = Encryption::decrypt( $plain_token );
61 if ( ! $token ) {
62 if ( is_string( $plain_token ) && ! empty( $plain_token ) ) {
63 self::save( $plain_token );
64 $token = $plain_token;
65 } else {
66 $token = null;
67 }
68 }
69 return $token;
70 }
71
72 /**
73 * Forward call to method
74 *
75 * @param array|string $method Method to call.
76 * @param array|mixed $params Method params.
77 *
78 * @return mixed Mixed value.
79 */
80 public function __call( $method, $params ) {
81 /**
82 *
83 * Ignore line
84 *
85 * @phpstan-ignore-next-line
86 */
87 return call_user_func_array( [ $this, $method ], $params );
88 }
89
90 /**
91 * Static Facade Accessor
92 *
93 * @param array|string $method Method to call.
94 * @param array|mixed $params Method params.
95 *
96 * @return mixed Mixed value.
97 */
98 public static function __callStatic( $method, $params ) {
99 /**
100 *
101 * Ignore line
102 *
103 * @phpstan-ignore-next-line
104 */
105 return call_user_func_array( [ new static(), $method ], $params );
106 }
107 }
108