PluginProbe
MaxButtons – Create buttons / 6.28
MaxButtons – Create buttons v6.28
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.28, at blocks/container.php

239 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 // Margin - trouble
170 $ptop = new maxField('number');
171 $ptop->label = __('Margin', 'maxbuttons');
172 $ptop->id = 'container_margin_top';
173 $ptop->name = $ptop->id;
174 $ptop->min = 0;
175 $ptop->inputclass = 'tiny';
176 $ptop->before_input = '<img src="' . $icon_url . 'p_top.png" title="' . __("Margin Top","maxbuttons") . '" >';
177 $ptop->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_top'));
178
179 // $ptop->output('start');
180
181 $admin->addField($ptop, 'start');
182
183 $pright = new maxField('number');
184 $pright->id = 'container_margin_right';
185 $pright->name = $pright->id;
186 $pright->min = 0;
187 $pright->inputclass = 'tiny';
188 $pright->before_input = '<img src="' . $icon_url . 'p_right.png" class="icon padding" title="' . __("Margin Right","maxbuttons") . '" >';
189 $pright->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_right'));
190
191 // $pright->output();
192 $admin->addField($pright);
193
194 $pbottom = new maxField('number');
195 $pbottom->id = 'container_margin_bottom';
196 $pbottom->name = $pbottom->id;
197 $pbottom->min = 0;
198 $pbottom->inputclass = 'tiny';
199 $pbottom->before_input = '<img src="' . $icon_url . 'p_bottom.png" class="icon padding" title="' . __("Margin Bottom","maxbuttons") . '" >';
200 $pbottom->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_bottom'));
201
202 // $pbottom->output();
203 $admin->addField($pbottom);
204
205 $pleft = new maxField('number');
206 $pleft->id = 'container_margin_left';
207 $pleft->name = $pleft->id;
208 $pleft->min = 0;
209 $pleft->inputclass = 'tiny';
210 $pleft->before_input = '<img src="' . $icon_url . 'p_left.png" class="icon padding" title="' . __("Margin Left","maxbuttons") . '" >';
211 $pleft->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_left'));
212
213 //$pleft->output('','end');
214 $admin->addField($pleft, '', 'end');
215
216 $align = new maxField('generic');
217 $align->label = __('Alignment','maxbuttons');
218 $align->name = 'container_alignment';
219 $align->id = $align->name;
220 $align->value= maxBlocks::getValue('container_alignment');
221 //$align->setDefault(maxBlocks::getDefault('container_alignment'));
222 $align->content = maxUtils::selectify($align->name, $maxbuttons_container_alignments, $align->value);
223 //$align->output('start', 'end');
224
225 $admin->addField($align, 'start', 'end');
226
227 $admin->display_fields();
228 ?>
229
230 </div>
231 </div>
232 <?php
233 } // admin_fields
234
235 } // class
236
237
238 ?>
239