PluginProbe
MaxButtons – Create buttons / 6.26
MaxButtons – Create buttons v6.26
6.23 6.24 6.25 6.26 6.26.1 6.27 6.28 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.1.1 7.1.2 7.1.3 7.10 7.11 7.13 7.13.1 7.13.2 7.13.3 All 100 releases
maxbuttons / blocks / container.php

container.php in MaxButtons – Create buttons 6.26, at blocks/container.php

240 lines 7.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace MaxButtons;
3 defined('ABSPATH') or die('No direct access permitted');
4 $blockClass["container"] = "containerBlock";
5 $blockOrder[70][] = "container";
6
7 use \simple_html_dom as simple_html_dom;
8
9 class containerBlock extends maxBlock
10 {
11 protected $blockname = "container";
12 protected $fields = array("container_enabled" => array("default" => "0"),
13 "container_center_div_wrap" => array("default" => "0"),
14
15 "container_width" => array("default" => "0px",
16 "css" => "width",
17 "csspart" => "mb-container"),
18 "container_margin_top" => array("default" => "0px",
19 "css" => "margin-top",
20 "csspart" => "mb-container"),
21 "container_margin_right" => array("default" => "0px",
22 "css" => "margin-right",
23 "csspart" => "mb-container"),
24 "container_margin_bottom" => array("default" => "0px",
25 "css" => "margin-bottom",
26 "csspart" => "mb-container"),
27 "container_margin_left" => array("default" => "0px",
28 "css" => "margin-left",
29 "csspart" => "mb-container"),
30 "container_alignment" => array("default" => "",
31 "css" => "align",
32 "csspart" => "mb-container"),
33 );
34
35
36 public function parse_button($domObj, $mode = 'normal')
37 {
38 $data = $this->data[$this->blockname];
39 $id = $this->data["id"];
40
41 if ($mode == 'editor')
42 return $domObj; // in previews no container object
43
44
45 if ($data["container_enabled"] == 1)
46 {
47 $anchor = $domObj->find("a",0);
48 $anchor->outertext = "<span class='maxbutton-" . $id . "-container mb-container'>" . $anchor->outertext . "</span>";
49
50
51 if ($data["container_center_div_wrap"] == 1) // I heard you like wrapping...
52 {
53 $anchor->outertext = "<span class='mb-center maxbutton-" . $id . "-center'>" . $anchor->outertext . "</span>";
54
55 }
56 // reload the dom model with new divs
57 $newhtml = $domObj->save();
58 $domObj = new simple_html_dom();
59 $domObj->load($newhtml);
60 }
61
62
63
64 return $domObj;
65 }
66
67 public function parse_css($css, $mode = 'normal')
68 {
69 $css = parent::parse_css($css);
70 $data = $this->data[$this->blockname];
71
72 $csspart = 'mb-container';
73 $csspseudo = 'normal';
74
75 $css["mb-container"]["normal"]["display"] = "block";
76 $css["mb-center"]["normal"]["display"] = "block";
77 $css["mb-center"]["normal"]["text-align"] = "center";
78
79 if (isset($css[$csspart][$csspseudo]["align"]))
80 {
81
82 if ($css[$csspart][$csspseudo]["align"] != '')
83 {
84
85 $stat = explode(":", $css[$csspart][$csspseudo]["align"]);
86 $css[$csspart][$csspseudo][ $stat[0] ] = $stat[1];
87 }
88 unset($css[$csspart][$csspseudo]["align"]);
89 }
90 if ( isset($css[$csspart][$csspseudo]["width"]) && $data["container_width"] == 0)
91 {
92 unset($css[$csspart][$csspseudo]["width"]);
93 }
94 return $css;
95
96 }
97
98
99
100 public function admin_fields()
101 {
102 $data = $this->data[$this->blockname];
103 $admin = MB()->getClass('admin');
104
105 foreach($this->fields as $field => $options)
106 {
107 $default = (isset($options["default"])) ? $options["default"] : '';
108 $$field = (isset($data[$field])) ? $data[$field] : $default;
109 ${$field . "_default"} = $default;
110
111
112 }
113 $maxbuttons_container_alignments = array(
114 '' => '',
115 'display: inline-block' => 'display: inline-block',
116 'float: left' => 'float: left',
117 'float: right' => 'float: right'
118 );
119
120 $icon_url = MB()->get_plugin_url() . 'images/icons/' ;
121
122 ?>
123 <div class="option-container mb_tab">
124 <div class="title"><?php _e('Container', 'maxbuttons') ?></div>
125 <div class="inside">
126 <?php
127
128 $u_container = new maxField('switch');
129 $u_container->label = __('Use Container', 'maxbuttons');
130 $u_container->name = 'container_enabled';
131 $u_container->id = $u_container->name;
132 $u_container->value = 1;
133
134 $u_container->checked = checked( maxBlocks::getValue('container_enabled'), 1, false);
135 //$u_container->output('start', 'end');
136
137 $admin->addField($u_container, 'start', 'end');
138
139 $fspacer = new maxField('spacer');
140 // $fspacer->id = 'fspace';
141 //$fspacer->name = $fspacer->id;
142 //$fspacer
143 $fspacer->name = '';
144 // $fspacer->output('start');
145
146 $admin->addField($fspacer, 'start');
147
148 $wrap_cont = new maxField('switch');
149 $wrap_cont->name = 'container_center_div_wrap';
150 $wrap_cont->id = $wrap_cont->name;
151 $wrap_cont->value = 1;
152 $wrap_cont->checked = checked( maxBlocks::getValue('container_center_div_wrap'), 1, false);
153 $wrap_cont->label = __('Center the container', 'maxbuttons');
154 //$wrap_cont->output('','end');
155
156 $admin->addField($wrap_cont, '', 'end');
157
158 $container_width = new maxField('number');
159 $container_width->name = 'container_width';
160 $container_width->id = $container_width->name;
161 $container_width->min = 0;
162 $container_width->value = maxUtils::strip_px( maxBlocks::getValue('container_width') );
163 $container_width->label = __('Width', 'maxbuttons');
164 $container_width->inputclass = 'small';
165 // $container_width->output('start','end');
166
167 $admin->addField($container_width, 'start', 'end');
168
169
170 // Margin - trouble
171 $ptop = new maxField('number');
172 $ptop->label = __('Margin', 'maxbuttons');
173 $ptop->id = 'container_margin_top';
174 $ptop->name = $ptop->id;
175 $ptop->min = 0;
176 $ptop->inputclass = 'tiny';
177 $ptop->before_input = '<img src="' . $icon_url . 'p_top.png" title="' . __("Margin Top","maxbuttons") . '" >';
178 $ptop->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_top'));
179
180 // $ptop->output('start');
181
182 $admin->addField($ptop, 'start');
183
184 $pright = new maxField('number');
185 $pright->id = 'container_margin_right';
186 $pright->name = $pright->id;
187 $pright->min = 0;
188 $pright->inputclass = 'tiny';
189 $pright->before_input = '<img src="' . $icon_url . 'p_right.png" class="icon padding" title="' . __("Margin Right","maxbuttons") . '" >';
190 $pright->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_right'));
191
192 // $pright->output();
193 $admin->addField($pright);
194
195 $pbottom = new maxField('number');
196 $pbottom->id = 'container_margin_bottom';
197 $pbottom->name = $pbottom->id;
198 $pbottom->min = 0;
199 $pbottom->inputclass = 'tiny';
200 $pbottom->before_input = '<img src="' . $icon_url . 'p_bottom.png" class="icon padding" title="' . __("Margin Bottom","maxbuttons") . '" >';
201 $pbottom->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_bottom'));
202
203 // $pbottom->output();
204 $admin->addField($pbottom);
205
206 $pleft = new maxField('number');
207 $pleft->id = 'container_margin_left';
208 $pleft->name = $pleft->id;
209 $pleft->min = 0;
210 $pleft->inputclass = 'tiny';
211 $pleft->before_input = '<img src="' . $icon_url . 'p_left.png" class="icon padding" title="' . __("Margin Left","maxbuttons") . '" >';
212 $pleft->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_left'));
213
214 //$pleft->output('','end');
215 $admin->addField($pleft, '', 'end');
216
217 $align = new maxField('generic');
218 $align->label = __('Alignment','maxbuttons');
219 $align->name = 'container_alignment';
220 $align->id = $align->name;
221 $align->value= maxBlocks::getValue('container_alignment');
222 //$align->setDefault(maxBlocks::getDefault('container_alignment'));
223 $align->content = maxUtils::selectify($align->name, $maxbuttons_container_alignments, $align->value);
224 $align->output('start', 'end');
225
226 $admin->addField($align, 'start', 'end');
227
228 $admin->display_fields();
229 ?>
230
231 </div>
232 </div>
233 <?php
234 } // admin_fields
235
236 } // class
237
238
239 ?>
240