PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 1.3.4
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v1.3.4
4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 2.6.1 All 38 releases
blockspare / freemius / includes / class-fs-security.php

class-fs-security.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 1.3.4, at freemius/includes/class-fs-security.php

86 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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