PluginProbe ʕ •ᴥ•ʔ
Auto Post Cleaner / 3.10.2
Auto Post Cleaner v3.10.2
3.12.0 3.13.1 3.2.4 3.2.5 3.3.0 3.3.10 3.3.11 3.3.8 3.4.2 3.5.3 3.6.0 3.7.0 3.7.1 3.7.2 3.7.3 3.7.5 3.7.6 3.8.0 3.9.0 3.9.4 3.9.6 3.9.7 trunk 3.0.0 3.1.0 3.10.1 3.10.2 3.11.4
delete-old-posts-programmatically / freemius / includes / class-fs-security.php
delete-old-posts-programmatically / freemius / includes Last commit date
customizer 11 months ago debug 2 years ago entities 11 months ago managers 11 months ago sdk 2 years ago supplements 3 years ago class-freemius-abstract.php 3 years ago class-freemius.php 11 months ago class-fs-admin-notices.php 3 years ago class-fs-api.php 1 year ago class-fs-garbage-collector.php 2 years ago class-fs-lock.php 3 years ago class-fs-logger.php 11 months ago class-fs-options.php 5 years ago class-fs-plugin-updater.php 11 months ago class-fs-security.php 1 year ago class-fs-storage.php 1 year ago class-fs-user-lock.php 3 years ago fs-core-functions.php 2 years ago fs-essential-functions.php 2 years ago fs-html-escaping-functions.php 2 years ago fs-plugin-info-dialog.php 2 years ago index.php 5 years ago l10n.php 5 years ago
class-fs-security.php
104 lines
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 1.0.3
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 define( 'WP_FS__SECURITY_PARAMS_PREFIX', 's_' );
14
15 /**
16 * Class FS_Security
17 */
18 class FS_Security {
19 /**
20 * @var FS_Security
21 * @since 1.0.3
22 */
23 private static $_instance;
24 /**
25 * @var FS_Logger
26 * @since 1.0.3
27 */
28 private static $_logger;
29
30 /**
31 * @return \FS_Security
32 */
33 public static function instance() {
34 if ( ! isset( self::$_instance ) ) {
35 self::$_instance = new FS_Security();
36 self::$_logger = FS_Logger::get_logger(
37 WP_FS__SLUG,
38 WP_FS__DEBUG_SDK,
39 WP_FS__ECHO_DEBUG_SDK
40 );
41 }
42
43 return self::$_instance;
44 }
45
46 private function __construct() {
47 }
48
49 /**
50 * @param \FS_Scope_Entity $entity
51 * @param int $timestamp
52 * @param string $action
53 *
54 * @return string
55 */
56 function get_secure_token( FS_Scope_Entity $entity, $timestamp, $action = '' ) {
57 return md5(
58 $timestamp .
59 $entity->id .
60 $entity->secret_key .
61 $entity->public_key .
62 $action
63 );
64 }
65
66 /**
67 * @param \FS_Scope_Entity $entity
68 * @param int|bool $timestamp
69 * @param string $action
70 *
71 * @return array
72 */
73 function get_context_params( FS_Scope_Entity $entity, $timestamp = false, $action = '' ) {
74 if ( false === $timestamp ) {
75 $timestamp = time();
76 }
77
78 return array(
79 's_ctx_type' => $entity->get_type(),
80 's_ctx_id' => $entity->id,
81 's_ctx_ts' => $timestamp,
82 's_ctx_secure' => $this->get_secure_token( $entity, $timestamp, $action ),
83 );
84 }
85
86 /**
87 * Gets a sandbox trial token for a given plugin, plan, and trial timestamp.
88 *
89 * @param FS_Plugin $plugin
90 * @param FS_Plugin_Plan $plan
91 * @param int $trial_timestamp
92 *
93 * @return string
94 */
95 function get_trial_token( FS_Plugin $plugin, FS_Plugin_Plan $plan, $trial_timestamp ) {
96 return md5(
97 $plugin->secret_key . $plugin->public_key .
98 $plan->trial_period .
99 $plan->id .
100 $trial_timestamp
101 );
102 }
103 }
104