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

224 lines 7.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 defined('ABSPATH') or die('No direct access permitted');
3 $blockClass["container"] = "containerBlock";
4 $blockOrder[70][] = "container";
5
6 use MaxButtons\maxBlocks as maxBlocks;
7 use MaxButtons\maxField as maxField;
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 foreach($this->fields as $field => $options)
104 {
105 $default = (isset($options["default"])) ? $options["default"] : '';
106 $$field = (isset($data[$field])) ? $data[$field] : $default;
107 ${$field . "_default"} = $default;
108
109
110 }
111 $maxbuttons_container_alignments = array(
112 '' => '',
113 'display: inline-block' => 'display: inline-block',
114 'float: left' => 'float: left',
115 'float: right' => 'float: right'
116 );
117
118 $icon_url = MB()->get_plugin_url() . 'images/icons/' ;
119
120 ?>
121 <div class="option-container mb_tab">
122 <div class="title"><?php _e('Container', 'maxbuttons') ?></div>
123 <div class="inside">
124 <?php
125 /*$fspacer = new maxField('spacer');
126 $fspacer->label = __('Use Container', 'maxbuttons');
127 $fspacer->name = '';
128 $fspacer->output('start');
129 */
130 $u_container = new maxField('switch');
131 $u_container->label = __('Use Container', 'maxbuttons');
132 $u_container->name = 'container_enabled';
133 $u_container->id = $u_container->name;
134 $u_container->value = 1;
135
136 $u_container->checked = checked( maxBlocks::getValue('container_enabled'), 1, false);
137 $u_container->output('start', 'end');
138
139 $fspacer = new maxField('spacer');
140 //$fspacer
141 $fspacer->name = '';
142 $fspacer->output('start');
143
144 $wrap_cont = new maxField('switch');
145 $wrap_cont->name = 'container_center_div_wrap';
146 $wrap_cont->id = $wrap_cont->name;
147 $wrap_cont->value = 1;
148 $wrap_cont->checked = checked( maxBlocks::getValue('container_center_div_wrap'), 1, false);
149 $wrap_cont->label = __('Center the container', 'maxbuttons');
150 $wrap_cont->output('','end');
151
152 $container_width = new maxField('number');
153 $container_width->name = 'container_width';
154 $container_width->id = $container_width->name;
155 $container_width->min = 0;
156 $container_width->value = maxUtils::strip_px( maxBlocks::getValue('container_width') );
157 $container_width->label = __('Width', 'maxbuttons');
158 $container_width->inputclass = 'small';
159 $container_width->output('start','end');
160
161 // Margin - trouble
162 $ptop = new maxField('number');
163 $ptop->label = __('Margin', 'maxbuttons');
164 $ptop->id = 'container_margin_top';
165 $ptop->name = $ptop->id;
166 $ptop->min = 0;
167 $ptop->inputclass = 'tiny';
168 $ptop->before_input = '<img src="' . $icon_url . 'p_top.png" title="' . __("Margin Top","maxbuttons") . '" >';
169 $ptop->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_top'));
170
171 $ptop->output('start');
172
173
174 $pright = new maxField('number');
175 $pright->id = 'container_margin_right';
176 $pright->name = $pright->id;
177 $pright->min = 0;
178 $pright->inputclass = 'tiny';
179 $pright->before_input = '<img src="' . $icon_url . 'p_right.png" class="icon padding" title="' . __("Margin Right","maxbuttons") . '" >';
180 $pright->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_right'));
181
182 $pright->output();
183
184 $pbottom = new maxField('number');
185 $pbottom->id = 'container_margin_bottom';
186 $pbottom->name = $pbottom->id;
187 $pbottom->min = 0;
188 $pbottom->inputclass = 'tiny';
189 $pbottom->before_input = '<img src="' . $icon_url . 'p_bottom.png" class="icon padding" title="' . __("Margin Bottom","maxbuttons") . '" >';
190 $pbottom->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_bottom'));
191
192 $pbottom->output();
193
194 $pleft = new maxField('number');
195 $pleft->id = 'container_margin_left';
196 $pleft->name = $pleft->id;
197 $pleft->min = 0;
198 $pleft->inputclass = 'tiny';
199 $pleft->before_input = '<img src="' . $icon_url . 'p_left.png" class="icon padding" title="' . __("Margin Left","maxbuttons") . '" >';
200 $pleft->value = maxUtils::strip_px(maxBlocks::getValue('container_margin_left'));
201
202 $pleft->output('','end');
203
204
205 $align = new maxField('generic');
206 $align->label = __('Alignment','maxbuttons');
207 $align->name = 'container_alignment';
208 $align->id = $align->name;
209 $align->value= maxBlocks::getValue('container_alignment');
210 //$align->setDefault(maxBlocks::getDefault('container_alignment'));
211 $align->content = maxUtils::selectify($align->name, $maxbuttons_container_alignments, $align->value);
212 $align->output('start', 'end');
213 ?>
214
215 </div>
216 </div>
217 <?php
218 } // admin_fields
219
220 } // class
221
222
223 ?>
224