PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 4.0.5
MainWP Dashboard: Self-hosted WordPress Management for Agencies v4.0.5
6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 5.2 5.2.1 5.2.2 5.3 All 153 releases
← All changes | class/class-mainwp-cache.php +46 -116 5.14.0.5 View file →
@@ -1,135 +1,65 @@
1 1 <?php
2 -/**
3 - * Search Cache Handler
4 - *
5 - * Handles all search content.
6 - *
7 - * @package MainWP/Dashboard
8 - */
9 2
10 -namespace MainWP\Dashboard;
3 +class MainWP_Cache {
11 4
12 -/**
13 - * Class MainWP_Cache
14 - *
15 - * @package MainWP\Dashboard
16 - */
17 -class MainWP_Cache { // phpcs:ignore Generic.Classes.OpeningBraceSameLine.ContentAfterBrace -- NOSONAR.
18 -
19 - /**
20 - * Method init_session()
21 - *
22 - * Start session.
23 - */
24 - public static function init_session() {
25 - if ( PHP_SESSION_NONE === session_status() ) {
5 + public static function initSession() {
6 + if ( session_id() == '' ) {
26 7 session_start();
27 8 }
28 9 }
29 10
30 - /**
31 - * Method init_cache()
32 - *
33 - * Set session variables.
34 - *
35 - * @param mixed $page Page information.
36 - */
37 - public static function init_cache( $page ) {
38 - $_SESSION[ 'MainWP' . $page . 'Search' ] = '';
39 - $_SESSION[ 'MainWP' . $page . 'SearchContext' ] = '';
40 - $_SESSION[ 'MainWP' . $page . 'SearchResult' ] = '';
11 + public static function initCache( $page ) {
12 + $_SESSION[ 'MainWP' . $page . 'Search' ] = '';
13 + $_SESSION[ 'MainWP' . $page . 'SearchContext' ] = '';
14 + $_SESSION[ 'MainWP' . $page . 'SearchResult' ] = ''; // extra cache
41 15 }
42 16
43 - /**
44 - * Method add_context()
45 - *
46 - * Set time & search context.
47 - *
48 - * @param mixed $page Page information.
49 - * @param array $context Search context.
50 - */
51 - public static function add_context( $page, $context ) {
52 - if ( ! is_array( $context ) ) {
53 - $context = array();
54 - }
17 + public static function addContext( $page, $context ) {
18 + if ( !is_array( $context ) ) {
19 + $context = array();
20 + }
55 21
56 - $context['time'] = time();
57 - $_SESSION[ 'MainWP' . $page . 'SearchContext' ] = $context;
58 - }
22 + $context['time'] = time();
23 + $_SESSION[ 'MainWP' . $page . 'SearchContext' ] = $context;
24 + }
59 25
60 - /**
61 - * Method add_body()
62 - *
63 - * Set search body session variable.
64 - *
65 - * @param string $page Page information..
66 - * @param mixed $body Search body.
67 - */
68 - public static function add_body( $page, $body ) {
69 - $_SESSION[ 'MainWP' . $page . 'Search' ] .= $body;
70 - }
26 + public static function addBody( $page, $body ) {
27 + $_SESSION[ 'MainWP' . $page . 'Search' ] .= $body;
28 + }
71 29
72 - /**
73 - * Method get_cached_context()
74 - *
75 - * Grab any cached searches.
76 - *
77 - * @param mixed $page Page information.
78 - *
79 - * @return array $cachedSearch Cached search array.
80 - */
81 - public static function get_cached_context( $page ) {
82 - $cachedSearch = ( isset( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] ) && is_array( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] ) ? $_SESSION[ 'MainWP' . $page . 'SearchContext' ] : null ); //phpcs:ignore -- ok.
30 + public static function getCachedContext( $page ) {
31 + $cachedSearch = ( isset( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] ) && is_array( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] ) ? $_SESSION[ 'MainWP' . $page . 'SearchContext' ] : null );
83 32
84 - if ( null !== $cachedSearch && ( ( time() - ( 2 * 60 * 60 ) ) > $cachedSearch['time'] ) ) {
85 - unset( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] );
86 - unset( $_SESSION[ 'MainWP' . $page . 'Search' ] );
87 - unset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] );
88 - $cachedSearch = null;
89 - }
33 + if ( $cachedSearch != null ) {
34 + if ( $cachedSearch['time'] < ( time() - ( 2 * 60 * 60 ) ) ) {
35 + //More then two hours ago, clean this cache
36 + unset( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] );
37 + unset( $_SESSION[ 'MainWP' . $page . 'Search' ] );
38 + unset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] );
39 + $cachedSearch = null;
40 + }
41 + }
42 + if ( $cachedSearch != null && isset( $cachedSearch['status'] ) ) {
43 + $cachedSearch['status'] = explode( ',', $cachedSearch['status'] );
44 + }
90 45
91 - if ( null !== $cachedSearch && isset( $cachedSearch['status'] ) ) {
92 - $cachedSearch['status'] = explode( ',', $cachedSearch['status'] );
93 - }
46 + return $cachedSearch;
47 + }
94 48
95 - return $cachedSearch;
96 - }
49 + public static function echoBody( $page ) {
50 + if ( isset( $_SESSION[ 'MainWP' . $page . 'Search' ] ) ) {
51 + echo $_SESSION[ 'MainWP' . $page . 'Search' ];
52 + }
53 + }
97 54
98 - /**
99 - * Method echo_body()
100 - *
101 - * Grab & echo cached search body.
102 - *
103 - * @param mixed $page Page information.
104 - */
105 - public static function echo_body( $page ) {
106 - if ( isset( $_SESSION[ 'MainWP' . $page . 'Search' ] ) ) {
107 - echo $_SESSION[ 'MainWP' . $page . 'Search' ]; // phpcs:ignore WordPress.Security.EscapeOutput,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
108 - }
109 - }
55 + public static function addResult( $page, $result ) {
56 + $_SESSION[ 'MainWP' . $page . 'SearchResult' ] = $result;
57 + }
110 58
111 - /**
112 - * Method add_result()
113 - *
114 - * Grab search results & store them in session.
115 - *
116 - * @param mixed $page Page information.
117 - * @param mixed $result Search results.
118 - */
119 - public static function add_result( $page, $result ) {
120 - $_SESSION[ 'MainWP' . $page . 'SearchResult' ] = $result;
121 - }
59 + public static function getCachedResult( $page ) {
60 + if ( isset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] ) ) {
61 + return $_SESSION[ 'MainWP' . $page . 'SearchResult' ];
62 + }
63 + }
122 64
123 - /**
124 - * Method get_cached_result()
125 - *
126 - * Grab cached search results.
127 - *
128 - * @param mixed $page Page information.
129 - */
130 - public static function get_cached_result( $page ) {
131 - if ( isset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] ) ) {
132 - return $_SESSION[ 'MainWP' . $page . 'SearchResult' ]; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized,WordPress.Security.NonceVerification.Recommended
133 - }
134 - }
135 65 }