PluginProbe ʕ •ᴥ•ʔ
Code Manager / 1.0.24
Code Manager v1.0.24
1.0.47 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.3 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.4 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
code-manager / Code_Manager / Code_Manager_Preview.php
code-manager / Code_Manager Last commit date
Code_Manager.php 3 years ago Code_Manager_Dashboard.php 3 years ago Code_Manager_Export.php 3 years ago Code_Manager_Form.php 3 years ago Code_Manager_Import.php 3 years ago Code_Manager_Import_File.php 3 years ago Code_Manager_List.php 3 years ago Code_Manager_List_View.php 3 years ago Code_Manager_Model.php 3 years ago Code_Manager_Preview.php 3 years ago Code_Manager_Settings.php 3 years ago Code_Manager_Tabs.php 3 years ago Message_Box.php 3 years ago WP_List_Table.php 3 years ago
Code_Manager_Preview.php
109 lines
1 <?php
2 /**
3 * Code Manager previewer
4 *
5 * @package Code_Manager
6 */
7
8 namespace Code_Manager {
9
10 /**
11 * Code Manager previewer
12 */
13 class Code_Manager_Preview {
14
15 /**
16 * Holds all current user/code_id combinations that are preview enabled
17 *
18 * @var array
19 */
20 private static $preview = array();
21
22 /**
23 * Is preview array already (statically) loaded?
24 *
25 * @var bool
26 */
27 private static $preview_loaded = false;
28
29 /**
30 * Load preview code ids for current user
31 */
32 private static function load_user_preview_codes() {
33 if ( ! self::$preview_loaded ) {
34 $code_manager_preview_code_ids = get_user_meta(
35 get_current_user_id(),
36 'code_manager_preview_code_ids',
37 true
38 );
39
40 if ( false !== $code_manager_preview_code_ids && is_array( $code_manager_preview_code_ids ) ) {
41 self::$preview = $code_manager_preview_code_ids;
42 }
43
44 self::$preview_loaded = true;
45 }
46 }
47
48 /**
49 * Return preview code ids for current user
50 *
51 * @return array
52 */
53 public static function get_user_preview_codes() {
54 self::load_user_preview_codes();
55
56 return self::$preview;
57 }
58
59 /**
60 * Check if preview for given code id is enabled for current user
61 *
62 * @param integer $code_id Code ID.
63 */
64 public static function is_code_id_preview_enabled( $code_id ) {
65 self::load_user_preview_codes();
66
67 return is_array( self::$preview ) && in_array( $code_id, self::$preview, true );
68 }
69
70 /**
71 * Enable preview mode for given code id for current user
72 *
73 * @param integer $code_id Code ID.
74 */
75 public static function add_user_preview_code_id( $code_id ) {
76 if ( is_admin() ) {
77 self::load_user_preview_codes();
78
79 if ( is_array( self::$preview ) && ! in_array( $code_id, self::$preview, true ) ) {
80 array_push( self::$preview, $code_id );
81
82 update_user_meta( get_current_user_id(), 'code_manager_preview_code_ids', self::$preview );
83 }
84 }
85 }
86
87 /**
88 * Disable preview mode for given code id for current user
89 *
90 * @param integer $code_id Code ID.
91 */
92 public static function remove_user_preview_code_id( $code_id ) {
93 if ( is_admin() ) {
94 self::load_user_preview_codes();
95
96 if ( is_array( self::$preview ) ) {
97 if ( ( $key = array_search( $code_id, self::$preview, true ) ) !== false ) {
98 unset( self::$preview[ $key ] );
99 }
100
101 update_user_meta( get_current_user_id(), 'code_manager_preview_code_ids', self::$preview );
102 }
103 }
104 }
105
106 }
107
108 }
109