PluginProbe
My WP Customize Admin/Frontend / 1.13.1
My WP Customize Admin/Frontend v1.13.1
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.13.1, at controller/class.controller.php

178 lines 4.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' => '',
54 'network' => false,
55 );
56
57 $controllers = array();
58
59 foreach( $pre_controllers as $controller_id => $controller ) {
60
61 $controller = wp_parse_args( $controller , $default );
62
63 $controller['id'] = $controller_id;
64 $controller['initial_data'] = self::get_initial_data( $controller['initial_data'] , $controller_id );
65 $controller['default_data'] = self::get_default_data( $controller['default_data'] , $controller_id );
66 $controller['model'] = self::get_model( $controller , $controller_id );
67
68 $controllers[ $controller_id ] = $controller;
69
70 }
71
72 return $controllers;
73
74 }
75
76 public static function get_controller( $controller_id = false ) {
77
78 if( empty( $controller_id ) ) {
79
80 $called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$controller_id' );
81
82 MywpHelper::error_require_message( '$controller_id' , $called_text );
83
84 return false;
85
86 }
87
88 $controllers = self::get_controllers();
89
90 if( empty( $controllers[ $controller_id ] ) ) {
91
92 return false;
93
94 }
95
96 return $controllers[ $controller_id ];
97
98 }
99
100 public static function set_controllers() {
101
102 self::$controllers = self::get_controllers();
103
104 }
105
106 private static function get_initial_data( $initial_data , $controller_id ) {
107
108 $initial_data = apply_filters( "mywp_controller_initial_data_{$controller_id}" , $initial_data );
109 $initial_data = apply_filters( 'mywp_controller_initial_data' , $initial_data , $controller_id );
110
111 return $initial_data;
112
113 }
114
115 private static function get_default_data( $default_data , $controller_id ) {
116
117 $default_data = apply_filters( "mywp_controller_default_data_{$controller_id}" , $default_data );
118 $default_data = apply_filters( 'mywp_controller_default_data' , $default_data , $controller_id );
119
120 return $default_data;
121
122 }
123
124 private static function get_model( $controller , $controller_id ) {
125
126 do_action( 'mywp_controller_before_get_model' , $controller_id );
127
128 $pre_model = apply_filters( "mywp_controller_pre_get_model_{$controller_id}" , false , $controller );
129 $pre_model = apply_filters( 'mywp_controller_pre_get_model' , $pre_model , $controller_id , $controller );
130
131 if( $pre_model !== false ) {
132
133 return $pre_model;
134
135 }
136
137 $mywp_model = new MywpModel( $controller_id , 'controller' , $controller['network'] );
138
139 $mywp_model->set_initial_data( $controller['initial_data'] );
140 $mywp_model->set_default_data( $controller['default_data'] );
141
142 do_action( 'mywp_controller_after_get_model' , $controller_id );
143
144 return $mywp_model;
145
146 }
147
148 public static function get_posts( $args = array() , $controller_id = false ) {
149
150 do_action( 'mywp_controller_before_get_posts' , $args , $controller_id );
151
152 $args = apply_filters( "mywp_controller_pre_get_posts_args_{$controller_id}" , $args );
153 $args = apply_filters( 'mywp_controller_pre_get_posts_args' , $args , $controller_id );
154
155 $posts = apply_filters( "mywp_controller_pre_get_posts_{$controller_id}" , false , $args , $controller_id );
156 $posts = apply_filters( 'mywp_controller_pre_get_posts' , $posts , $args , $controller_id );
157
158 if( $posts !== false ) {
159
160 return $posts;
161
162 }
163
164 $posts = MywpPostType::get_posts( $args );
165
166 $posts = apply_filters( "mywp_controller_change_get_posts_{$controller_id}" , $posts , $args );
167 $posts = apply_filters( 'mywp_controller_change_get_posts' , $posts , $args , $controller_id );
168
169 do_action( 'mywp_controller_after_get_posts' , $posts , $args , $controller_id );
170
171 return $posts;
172
173 }
174
175 }
176
177 endif;
178