PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 4.4
MainWP Dashboard: Self-hosted WordPress Management for Agencies v4.4
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
mainwp / class / class-mainwp-cache.php

class-mainwp-cache.php in MainWP Dashboard: Self-hosted WordPress Management for Agencies 4.4, at class/class-mainwp-cache.php

138 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Search Cache Handler
4 *
5 * Handles all search content.
6 *
7 * @package MainWP/Dashboard
8 */
9
10 namespace MainWP\Dashboard;
11
12 /**
13 * Class MainWP_Cache
14 *
15 * @package MainWP\Dashboard
16 */
17 class MainWP_Cache {
18
19 /**
20 * Method init_session()
21 *
22 * Start session.
23 */
24 public static function init_session() {
25 if ( PHP_SESSION_NONE === session_status() ) {
26 session_start();
27 }
28 }
29
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' ] = '';
41 }
42
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 }
55
56 $context['time'] = time();
57 $_SESSION[ 'MainWP' . $page . 'SearchContext' ] = $context;
58 }
59
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 }
71
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 );
83
84 if ( null != $cachedSearch ) {
85 if ( ( time() - ( 2 * 60 * 60 ) ) > $cachedSearch['time'] ) {
86 unset( $_SESSION[ 'MainWP' . $page . 'SearchContext' ] );
87 unset( $_SESSION[ 'MainWP' . $page . 'Search' ] );
88 unset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] );
89 $cachedSearch = null;
90 }
91 }
92 if ( null != $cachedSearch && isset( $cachedSearch['status'] ) ) {
93 $cachedSearch['status'] = explode( ',', $cachedSearch['status'] );
94 }
95
96 return $cachedSearch;
97 }
98
99 /**
100 * Method echo_body()
101 *
102 * Grab & echo cached search body.
103 *
104 * @param mixed $page Page information.
105 */
106 public static function echo_body( $page ) {
107 if ( isset( $_SESSION[ 'MainWP' . $page . 'Search' ] ) ) {
108 echo $_SESSION[ 'MainWP' . $page . 'Search' ];
109 }
110 }
111
112 /**
113 * Method add_result()
114 *
115 * Grab search results & store them in session.
116 *
117 * @param mixed $page Page information.
118 * @param mixed $result Search results.
119 */
120 public static function add_result( $page, $result ) {
121 $_SESSION[ 'MainWP' . $page . 'SearchResult' ] = $result;
122 }
123
124 /**
125 * Method get_cached_result()
126 *
127 * Grab cached search results.
128 *
129 * @param mixed $page Page information.
130 */
131 public static function get_cached_result( $page ) {
132 if ( isset( $_SESSION[ 'MainWP' . $page . 'SearchResult' ] ) ) {
133 return $_SESSION[ 'MainWP' . $page . 'SearchResult' ];
134 }
135 }
136
137 }
138