PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.0.13
Kirki – Freeform Page Builder, Website Builder & Customizer v6.0.13
6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / customizer / packages / compatibility / src / Aliases.php
kirki / customizer / packages / compatibility / src Last commit date
deprecated 1 month ago Aliases.php 2 months ago Config.php 5 months ago Control.php 5 months ago Deprecated.php 5 months ago Field.php 2 months ago Framework.php 5 months ago Init.php 2 months ago Kirki.php 2 months ago Modules.php 2 months ago Pro_Namespace_Compatibility.php 5 months ago Sanitize_Values.php 5 months ago Scripts.php 2 months ago Settings.php 5 months ago Values.php 5 months ago
Aliases.php
200 lines
1 <?php
2 /**
3 * Adds class aliases for backwards compatibility.
4 *
5 * @package Kirki
6 * @category Core
7 * @author Themeum
8 * @copyright Copyright (c) 2023, Themeum
9 * @license https://opensource.org/licenses/MIT
10 * @since 0.1
11 */
12
13 namespace Kirki\Compatibility;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 /**
20 * Adds class aliases for backwards compatibility.
21 *
22 * @since 0.1
23 */
24 class Aliases {
25
26 /**
27 * An array of class aliases.
28 *
29 * @access private
30 * @since 0.1
31 * @var array
32 */
33 private $aliases = [
34 'generic' => [
35 [ 'Kirki\Compatibility\Kirki', 'Kirki' ],
36 [ 'Kirki\Compatibility\Config', 'Kirki_Config' ],
37 [ 'Kirki\Compatibility\Control', 'Kirki_Control' ],
38 [ 'Kirki\Compatibility\Field', 'Kirki_Field' ],
39 [ 'Kirki\Util\Helper', 'Kirki_Helper' ],
40 [ 'Kirki\Compatibility\Init', 'Kirki_Init' ],
41 [ 'Kirki\L10n', 'Kirki_L10n' ],
42 [ 'Kirki\Compatibility\Modules', 'Kirki_Modules' ],
43 [ 'Kirki\Compatibility\Sanitize_Values', 'Kirki_Sanitize_Values' ],
44 [ 'Kirki\Compatibility\Section', 'Kirki_Section' ],
45 [ 'Kirki\Compatibility\Values', 'Kirki_Values' ],
46 [ 'Kirki\Util\Util', 'Kirki_Util' ],
47 [ 'Kirki\Compatibility\Framework', 'Kirki_Toolkit' ],
48 [ 'Kirki\Module\CSS', 'Kirki_Modules_CSS' ],
49 [ 'Kirki\Module\CSS\Output', 'Kirki_Output' ],
50 [ 'Kirki\Module\CSS\Generator', 'Kirki_Modules_CSS_Generator' ],
51 [ 'Kirki\Module\CSS\Property', 'Kirki_Output_Property' ],
52 [ 'Kirki\Module\CSS\Property\Font_Family', 'Kirki_Output_Property_Font_Family' ],
53 [ 'Kirki\Module\Preset', 'Kirki_Modules_Preset' ],
54 [ 'Kirki\Module\Tooltips', 'Kirki_Modules_Tooltips' ],
55 [ 'Kirki\Module\Webfonts', 'Kirki_Modules_Webfonts' ],
56 [ 'Kirki\Module\Webfonts\Google', 'Kirki_Fonts_Google' ],
57 [ 'Kirki\Module\Webfonts\Fonts', 'Kirki_Fonts' ],
58 [ 'Kirki\Module\Webfonts\Embed', 'Kirki_Modules_Webfonts_Embed' ],
59 [ 'Kirki\Module\Webfonts\Async', 'Kirki_Modules_Webfonts_Async' ],
60 [ 'Kirki\Module\Field_Dependencies', 'Kirki_Modules_Field_Dependencies' ],
61 [ 'Kirki\Module\Editor_Styles', 'Kirki_Modules_Gutenberg' ],
62 [ 'Kirki\Module\Selective_Refresh', 'Kirki_Modules_Selective_Refresh' ],
63 [ 'Kirki\Module\Postmessage', 'Kirki_Modules_Postmessage' ],
64 [ 'Kirki\Field\Background', 'Kirki_Field_Background' ],
65 [ 'Kirki\Field\CSS\Background', 'Kirki_Output_Field_Background' ],
66 [ 'Kirki\Field\Checkbox', 'Kirki_Field_Checkbox' ],
67 [ 'Kirki\Field\Checkbox_Switch', 'Kirki_Field_Switch' ],
68 [ 'Kirki\Field\Checkbox_Switch', 'Kirki\Field\Switch' ], // Preventing typo.
69 [ 'Kirki\Field\Checkbox_Toggle', 'Kirki_Field_Toggle' ],
70 [ 'Kirki\Field\Checkbox_Toggle', 'Kirki\Field\Toggle' ], // Preventing typo.
71 [ 'Kirki\Field\Code', 'Kirki_Field_Code' ],
72 [ 'Kirki\Field\Color', 'Kirki_Field_Color' ],
73 [ 'Kirki\Field\Color', 'Kirki_Field_Color_Alpha' ],
74 [ 'Kirki\Field\Color_Palette', 'Kirki_Field_Color_Palette' ],
75 [ 'Kirki\Field\Custom', 'Kirki_Field_Custom' ],
76 [ 'Kirki\Field\Dashicons', 'Kirki_Field_Dashicons' ],
77 [ 'Kirki\Field\Date', 'Kirki_Field_Date' ],
78 [ 'Kirki\Field\Dimension', 'Kirki_Field_Dimension' ],
79 [ 'Kirki\Field\Dimensions', 'Kirki_Field_Dimensions' ],
80 [ 'Kirki\Field\CSS\Dimensions', 'Kirki_Output_Field_Dimensions' ],
81 [ 'Kirki\Field\Dimensions', 'Kirki_Field_Spacing' ],
82 [ 'Kirki\Field\Dimensions', 'Kirki\Field\Spacing' ],
83 [ 'Kirki\Field\Editor', 'Kirki_Field_Editor' ],
84 [ 'Kirki\Field\FontAwesome', 'Kirki_Field_FontAwesome' ],
85 [ 'Kirki\Field\Generic', 'Kirki_Field_Kirki_Generic' ],
86 [ 'Kirki\Field\Generic', 'Kirki_Field_Generic' ],
87 [ 'Kirki\Field\Text', 'Kirki_Field_Text' ],
88 [ 'Kirki\Field\Textarea', 'Kirki_Field_Textarea' ],
89 [ 'Kirki\Field\URL', 'Kirki_Field_URL' ],
90 [ 'Kirki\Field\URL', 'Kirki_Field_Link' ],
91 [ 'Kirki\Field\URL', 'Kirki\Field\Link' ],
92 [ 'Kirki\Field\Image', 'Kirki_Field_Image' ],
93 [ 'Kirki\Field\CSS\Image', 'Kirki_Output_Field_Image' ],
94 [ 'Kirki\Field\Multicheck', 'Kirki_Field_Multicheck' ],
95 [ 'Kirki\Field\Multicolor', 'Kirki_Field_Multicolor' ],
96 [ 'Kirki\Field\CSS\Multicolor', 'Kirki_Output_Field_Multicolor' ],
97 [ 'Kirki\Field\Number', 'Kirki_Field_Number' ],
98 [ 'Kirki\Field\Palette', 'Kirki_Field_Palette' ],
99 [ 'Kirki\Field\Repeater', 'Kirki_Field_Repeater' ],
100 [ 'Kirki\Field\Dropdown_Pages', 'Kirki_Field_Dropdown_Pages' ],
101 [ 'Kirki\Field\Preset', 'Kirki_Field_Preset' ],
102 [ 'Kirki\Field\Select', 'Kirki_Field_Select' ],
103 [ 'Kirki\Field\Slider', 'Kirki_Field_Slider' ],
104 [ 'Kirki\Field\Sortable', 'Kirki_Field_Sortable' ],
105 [ 'Kirki\Field\Typography', 'Kirki_Field_Typography' ],
106 [ 'Kirki\Field\CSS\Typography', 'Kirki_Output_Field_Typography' ],
107 [ 'Kirki\Field\Upload', 'Kirki_Field_Upload' ],
108 ],
109 'customizer' => [
110 [ 'Kirki\Control\Base', 'Kirki_Control_Base' ],
111 [ 'Kirki\Control\Base', 'Kirki_Customize_Control' ],
112 [ 'Kirki\Control\Checkbox', 'Kirki_Control_Checkbox' ],
113 [ 'Kirki\Control\Checkbox_Switch', 'Kirki_Control_Switch' ],
114 [ 'Kirki\Control\Checkbox_Toggle', 'Kirki_Control_Toggle' ],
115 [ 'WP_Customize_Code_Editor_Control', 'Kirki_Control_Code' ],
116 [ 'Kirki\Control\Color', 'Kirki_Control_Color' ],
117 [ 'Kirki\Control\Color_Palette', 'Kirki_Control_Color_Palette' ],
118 [ 'WP_Customize_Cropped_Image_Control', 'Kirki_Control_Cropped_Image' ],
119 [ 'Kirki\Control\Custom', 'Kirki_Control_Custom' ],
120 [ 'Kirki\Control\Dashicons', 'Kirki_Control_Dashicons' ],
121 [ 'Kirki\Control\Date', 'Kirki_Control_Date' ],
122 [ 'Kirki\Control\Dimension', 'Kirki_Control_Dimension' ],
123 [ 'Kirki\Control\Editor', 'Kirki_Control_Editor' ],
124 [ 'Kirki\Control\Generic', 'Kirki_Control_Generic' ],
125 [ 'Kirki\Control\Image', 'Kirki_Control_Image' ],
126 [ 'Kirki\Control\Multicheck', 'Kirki_Control_Multicheck' ],
127 [ 'Kirki\Control\Generic', 'Kirki_Control_Number' ],
128 [ 'Kirki\Control\Palette', 'Kirki_Control_Palette' ],
129 [ 'Kirki\Control\Radio', 'Kirki_Control_Radio' ],
130 [ 'Kirki\Control\Radio_Buttonset', 'Kirki_Control_Radio_Buttonset' ],
131 [ 'Kirki\Control\Radio_Image', 'Kirki_Control_Radio_Image' ],
132 [ 'Kirki\Control\Radio_Image', 'Kirki_Controls_Radio_Image_Control' ],
133 [ 'Kirki\Control\Repeater', 'Kirki_Control_Repeater' ],
134 [ 'Kirki\Control\Select', 'Kirki_Control_Select' ],
135 [ 'Kirki\Control\Slider', 'Kirki_Control_Slider' ],
136 [ 'Kirki\Control\Sortable', 'Kirki_Control_Sortable' ],
137 [ 'Kirki\Control\Upload', 'Kirki_Control_Upload' ],
138 [ 'Kirki\Settings\Repeater', 'Kirki\Settings\Repeater_Setting' ],
139 [ 'Kirki\Settings\Repeater', 'Kirki_Settings_Repeater_Setting' ],
140 [ 'WP_Customize_Section', 'Kirki_Sections_Default_Section' ],
141 [ 'Kirki\Section_Types\Expanded', 'Kirki_Sections_Expanded_Section' ],
142 [ 'Kirki\Section_Types\Nested', 'Kirki_Sections_Nested_Section' ],
143 [ 'Kirki\Section_Types\Link', 'Kirki_Sections_Link_Section' ],
144 [ 'Kirki\Panel_Types\Nested', 'Kirki_Panels_Nested_Panel' ],
145 ],
146 ];
147
148 /**
149 * Constructor.
150 *
151 * @access public
152 * @since 0.1
153 */
154 public function __construct() {
155 $this->add_aliases();
156 add_action( 'customize_register', [ $this, 'add_customizer_aliases' ] );
157 }
158
159 /**
160 * Adds object aliases.
161 *
162 * @access public
163 * @since 0.1
164 * @return void
165 */
166 public function add_aliases() {
167 foreach ( $this->aliases['generic'] as $item ) {
168 // Only create alias if source exists and alias doesn't already exist.
169 if ( class_exists( $item[0] ) && ! class_exists( $item[1] ) ) {
170 try {
171 class_alias( $item[0], $item[1] );
172 } catch ( \Exception $e ) {
173 // Silently fail if alias creation fails (e.g., due to conflicts with bundled Kirki).
174 // This prevents fatal errors when multiple Kirki versions are present.
175 }
176 }
177 }
178 }
179
180 /**
181 * Adds object aliases for classes that get instantiated on customize_register.
182 *
183 * @access public
184 * @since 0.1
185 * @return void
186 */
187 public function add_customizer_aliases() {
188 foreach ( $this->aliases['customizer'] as $item ) {
189 // Only create alias if source exists and alias doesn't already exist.
190 if ( class_exists( $item[0] ) && ! class_exists( $item[1] ) ) {
191 try {
192 class_alias( $item[0], $item[1] );
193 } catch ( \Exception $e ) {
194 // Silently fail if alias creation fails (e.g., due to conflicts with bundled Kirki).
195 // This prevents fatal errors when multiple Kirki versions are present.
196 }
197 }
198 }
199 }
200 }