Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/elementor/includes/base/sub-controls-stack.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + namespace Elementor;
3 +
4 + if ( ! defined( 'ABSPATH' ) ) {
5 + exit; // Exit if accessed directly.
6 + }
7 +
8 + /**
9 + * Elementor sub controls stack.
10 + *
11 + * An abstract class that can be used to divide a large ControlsStack into small parts.
12 + *
13 + * @abstract
14 + */
15 + abstract class Sub_Controls_Stack {
16 + /**
17 + * @var Controls_Stack
18 + */
19 + protected $parent;
20 +
21 + /**
22 + * Get self ID.
23 + *
24 + * Retrieve the self ID.
25 + *
26 + * @access public
27 + * @abstract
28 + */
29 + abstract public function get_id();
30 +
31 + /**
32 + * Get self title.
33 + *
34 + * Retrieve the self title.
35 + *
36 + * @access public
37 + * @abstract
38 + */
39 + abstract public function get_title();
40 +
41 + /**
42 + * Constructor.
43 + *
44 + * Initializing the base class by setting parent stack.
45 + *
46 + * @access public
47 + * @param Controls_Stack $element_parent
48 + */
49 + public function __construct( $element_parent ) {
50 + $this->parent = $element_parent;
51 + }
52 +
53 + /**
54 + * Get control ID.
55 + *
56 + * Retrieve the control ID. Note that the sub controls stack may have a special prefix
57 + * to distinguish them from regular controls, and from controls in other
58 + * sub stack.
59 + *
60 + * By default do nothing, and return the original id.
61 + *
62 + * @access protected
63 + *
64 + * @param string $control_base_id Control base ID.
65 + *
66 + * @return string Control ID.
67 + */
68 + protected function get_control_id( $control_base_id ) {
69 + return $control_base_id;
70 + }
71 +
72 + /**
73 + * Add new control.
74 + *
75 + * Register a single control to allow the user to set/update data.
76 + *
77 + * @access public
78 + *
79 + * @param string $id Control ID.
80 + * @param array $args Control arguments.
81 + * @param array $options
82 + *
83 + * @return bool True if added, False otherwise.
84 + */
85 + public function add_control( $id, $args, $options = [] ) {
86 + return $this->parent->add_control( $this->get_control_id( $id ), $args, $options );
87 + }
88 +
89 + /**
90 + * Update control.
91 + *
92 + * Change the value of an existing control.
93 + *
94 + * @access public
95 + *
96 + * @param string $id Control ID.
97 + * @param array $args Control arguments. Only the new fields you want to update.
98 + * @param array $options Optional. Some additional options.
99 + */
100 + public function update_control( $id, $args, array $options = [] ) {
101 + $this->parent->update_control( $this->get_control_id( $id ), $args, $options );
102 + }
103 +
104 + /**
105 + * Remove control.
106 + *
107 + * Unregister an existing control.
108 + *
109 + * @access public
110 + *
111 + * @param string $id Control ID.
112 + */
113 + public function remove_control( $id ) {
114 + $this->parent->remove_control( $this->get_control_id( $id ) );
115 + }
116 +
117 + /**
118 + * Add new group control.
119 + *
120 + * Register a set of related controls grouped together as a single unified
121 + * control.
122 + *
123 + * @access public
124 + *
125 + * @param string $group_name Group control name.
126 + * @param array $args Group control arguments. Default is an empty array.
127 + * @param array $options
128 + */
129 + public function add_group_control( $group_name, $args, $options = [] ) {
130 + $args['name'] = $this->get_control_id( $args['name'] );
131 + $this->parent->add_group_control( $group_name, $args, $options );
132 + }
133 +
134 + /**
135 + * Add new responsive control.
136 + *
137 + * Register a set of controls to allow editing based on user screen size.
138 + *
139 + * @access public
140 + *
141 + * @param string $id Responsive control ID.
142 + * @param array $args Responsive control arguments.
143 + * @param array $options
144 + */
145 + public function add_responsive_control( $id, $args, $options = [] ) {
146 + $this->parent->add_responsive_control( $this->get_control_id( $id ), $args, $options );
147 + }
148 +
149 + /**
150 + * Update responsive control.
151 + *
152 + * Change the value of an existing responsive control.
153 + *
154 + * @access public
155 + *
156 + * @param string $id Responsive control ID.
157 + * @param array $args Responsive control arguments.
158 + */
159 + public function update_responsive_control( $id, $args ) {
160 + $this->parent->update_responsive_control( $this->get_control_id( $id ), $args );
161 + }
162 +
163 + /**
164 + * Remove responsive control.
165 + *
166 + * Unregister an existing responsive control.
167 + *
168 + * @access public
169 + *
170 + * @param string $id Responsive control ID.
171 + */
172 + public function remove_responsive_control( $id ) {
173 + $this->parent->remove_responsive_control( $this->get_control_id( $id ) );
174 + }
175 +
176 + /**
177 + * Start controls section.
178 + *
179 + * Used to add a new section of controls to the stack.
180 + *
181 + * @access public
182 + *
183 + * @param string $id Section ID.
184 + * @param array $args Section arguments.
185 + */
186 + public function start_controls_section( $id, $args = [] ) {
187 + $this->parent->start_controls_section( $this->get_control_id( $id ), $args );
188 + }
189 +
190 + /**
191 + * End controls section.
192 + *
193 + * Used to close an existing open controls section.
194 + *
195 + * @access public
196 + */
197 + public function end_controls_section() {
198 + $this->parent->end_controls_section();
199 + }
200 +
201 + /**
202 + * Start controls tabs.
203 + *
204 + * Used to add a new set of tabs inside a section.
205 + *
206 + * @access public
207 + *
208 + * @param string $id Control ID.
209 + */
210 + public function start_controls_tabs( $id ) {
211 + $this->parent->start_controls_tabs( $this->get_control_id( $id ) );
212 + }
213 +
214 + public function start_controls_tab( $id, $args ) {
215 + $this->parent->start_controls_tab( $this->get_control_id( $id ), $args );
216 + }
217 +
218 +
219 + /**
220 + * End controls tabs.
221 + *
222 + * Used to close an existing open controls tabs.
223 + *
224 + * @access public
225 + */
226 + public function end_controls_tab() {
227 + $this->parent->end_controls_tab();
228 + }
229 +
230 + /**
231 + * End controls tabs.
232 + *
233 + * Used to close an existing open controls tabs.
234 + *
235 + * @access public
236 + */
237 + public function end_controls_tabs() {
238 + $this->parent->end_controls_tabs();
239 + }
240 + }
241 +