PluginProbe ʕ •ᴥ•ʔ
Code Manager / 1.0.47
Code Manager v1.0.47
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 6 days ago Code_Manager_Dashboard.php 6 days ago Code_Manager_Export.php 6 days ago Code_Manager_Form.php 6 days ago Code_Manager_Import.php 6 days ago Code_Manager_Import_File.php 6 days ago Code_Manager_List.php 6 days ago Code_Manager_List_View.php 6 days ago Code_Manager_Model.php 6 days ago Code_Manager_Preview.php 6 days ago Code_Manager_Settings.php 6 days ago Code_Manager_Tabs.php 6 days ago Message_Box.php 6 days ago WP_List_Table.php 6 days 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