/var/www/hkosl.com/aga/wp-content/plugins/foogallery/freemius/includes/class-fs-security.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
    
/**
     * @package     Freemius
     * @copyright   Copyright (c) 2015, Freemius, Inc.
     * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
     * @since       1.0.3
     */

    
if ( ! defined'ABSPATH' ) ) {
        exit;
    }

    
define'WP_FS__SECURITY_PARAMS_PREFIX''s_' );

    
/**
     * Class FS_Security
     */
    
class FS_Security {
        
/**
         * @var FS_Security
         * @since 1.0.3
         */
        
private static $_instance;
        
/**
         * @var FS_Logger
         * @since 1.0.3
         */
        
private static $_logger;

        
/**
         * @return \FS_Security
         */
        
public static function instance() {
            if ( ! isset( 
self::$_instance ) ) {
                
self::$_instance = new FS_Security();
                
self::$_logger   FS_Logger::get_logger(
                    
WP_FS__SLUG,
                    
WP_FS__DEBUG_SDK,
                    
WP_FS__ECHO_DEBUG_SDK
                
);
            }

            return 
self::$_instance;
        }

        private function 
__construct() {
        }

        
/**
         * @param \FS_Scope_Entity $entity
         * @param int              $timestamp
         * @param string           $action
         *
         * @return string
         */
        
function get_secure_tokenFS_Scope_Entity $entity$timestamp$action '' ) {
            return 
md5(
                
$timestamp .
                
$entity->id .
                
$entity->secret_key .
                
$entity->public_key .
                
$action
            
);
        }

        
/**
         * @param \FS_Scope_Entity $entity
         * @param int|bool         $timestamp
         * @param string           $action
         *
         * @return array
         */
        
function get_context_paramsFS_Scope_Entity $entity$timestamp false$action '' ) {
            if ( 
false === $timestamp ) {
                
$timestamp time();
            }

            return array(
                
's_ctx_type'   => $entity->get_type(),
                
's_ctx_id'     => $entity->id,
                
's_ctx_ts'     => $timestamp,
                
's_ctx_secure' => $this->get_secure_token$entity$timestamp$action ),
            );
        }
    }