PluginProbe
My WP Customize Admin/Frontend / 1.5.2
My WP Customize Admin/Frontend v1.5.2
1.27.4 1.27.3 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.10 1.10.1 1.10.2 1.11 1.12 1.12.1 1.12.2 1.13 1.13.1 1.13.2 1.14 1.15.0 1.16 1.17.0 All 76 releases
my-wp / controller / class.controller.php

class.controller.php in My WP Customize Admin/Frontend 1.5.2, at controller/class.controller.php

148 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6
7 if ( ! class_exists( 'MywpController' ) ) :
8
9 final class MywpController {
10
11 private static $instance;
12
13 private static $controllers;
14
15 private function __construct() {}
16
17 public static function get_instance() {
18
19 if ( !isset( self::$instance ) ) {
20
21 self::$instance = new self();
22
23 }
24
25 return self::$instance;
26
27 }
28
29 private function __clone() {}
30
31 private function __wakeup() {}
32
33 public static function get_controllers() {
34
35 if( self::$controllers ) {
36
37 return self::$controllers;
38
39 }
40
41 $pre_controllers = apply_filters( 'mywp_controllers' , array() );
42
43 if( empty( $pre_controllers ) ) {
44
45 return false;
46
47 }
48
49 $default = array(
50 'id' => '',
51 'initial_data' => array(),
52 'default_data' => array(),
53 'model_use_filter' => true,
54 'model' => '',
55 'network' => false,
56 );
57
58 $controllers = array();
59
60 foreach( $pre_controllers as $controller_id => $controller ) {
61
62 $controller = wp_parse_args( $controller , $default );
63
64 $controller['id'] = $controller_id;
65 $controller['initial_data'] = self::get_initial_data( $controller['initial_data'] , $controller_id );
66 $controller['default_data'] = self::get_default_data( $controller['default_data'] , $controller_id );
67 $controller['model'] = self::get_model( $controller , $controller_id );
68
69 $controllers[ $controller_id ] = $controller;
70
71 }
72
73 return $controllers;
74
75 }
76
77 public static function get_controller( $controller_id = false ) {
78
79 if( empty( $controller_id ) ) {
80
81 $called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$controller_id' );
82
83 MywpHelper::error_require_message( '$controller_id' , $called_text );
84
85 return false;
86
87 }
88
89 $controllers = self::get_controllers();
90
91 if( empty( $controllers[ $controller_id ] ) ) {
92
93 return false;
94
95 }
96
97 return $controllers[ $controller_id ];
98
99 }
100
101 public static function set_controllers() {
102
103 self::$controllers = self::get_controllers();
104
105 }
106
107 private static function get_initial_data( $initial_data , $controller_id ) {
108
109 $initial_data = apply_filters( "mywp_controller_initial_data_{$controller_id}" , $initial_data );
110 $initial_data = apply_filters( 'mywp_controller_initial_data' , $initial_data , $controller_id );
111
112 return $initial_data;
113
114 }
115
116 private static function get_default_data( $default_data , $controller_id ) {
117
118 $default_data = apply_filters( "mywp_controller_default_data_{$controller_id}" , $default_data );
119 $default_data = apply_filters( 'mywp_controller_default_data' , $default_data , $controller_id );
120
121 return $default_data;
122
123 }
124
125 private static function get_model( $controller , $controller_id ) {
126
127 $pre_model = apply_filters( "mywp_controller_model_{$controller_id}" , false , $controller );
128 $pre_model = apply_filters( 'mywp_controller_model' , $pre_model , $controller_id , $controller );
129
130 if( ! empty( $pre_model ) ) {
131
132 return $pre_model;
133
134 }
135
136 $mywp_model = new MywpModel( $controller_id , $controller['model_use_filter'] , $controller['network'] );
137
138 $mywp_model->set_initial_data( $controller['initial_data'] );
139 $mywp_model->set_default_data( $controller['default_data'] );
140
141 return $mywp_model;
142
143 }
144
145 }
146
147 endif;
148