PluginProbe
MaxButtons – Create buttons / 6.23
MaxButtons – Create buttons v6.23
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 / text.php

text.php in MaxButtons – Create buttons 6.23, at blocks/text.php

185 lines 6.4 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["text"] = "textBlock";
5 $blockOrder[50][] = "text";
6
7 class textBlock extends maxBlock
8 {
9
10 protected $blockname = "text";
11 protected $fields = array(
12
13 "text" => array("default" => '' ),
14 "font" => array("default" => "Tahoma",
15 "css" => "font-family",
16 "csspart" => 'mb-text'
17 ),
18
19 "font_size" => array("default" => "15px",
20 "css" => "font-size",
21 "csspart" => 'mb-text' ),
22 /* "font_size_unit" => array("default" => "em",
23 "css" => "font_size_unit",
24 "csspart" => "mb-text",
25 ), */
26 "text_align" => array(
27 "default" => "center",
28 "css" => "text-align",
29 "csspart" => "mb-text",
30
31 ),
32
33 "font_style" => array("default" => "normal",
34 "css" => "font-style",
35 "csspart" => 'mb-text'),
36
37 "font_weight" => array("default" => "normal",
38 "css" => "font-weight",
39 "csspart" => 'mb-text'),
40 "text_shadow_offset_left" => array("default" => "0px",
41 "css" => "text-shadow-left",
42 "csspart" => 'mb-text',
43 "csspseudo" => "normal,hover"
44 ),
45
46 "text_shadow_offset_top" => array("default" => "0px",
47 "css" => "text-shadow-top",
48 "csspart" => 'mb-text',
49 "csspseudo" => "normal,hover"),
50 "text_shadow_width" => array("default" => "0px",
51 "css" => "text-shadow-width",
52 "csspart" => 'mb-text',
53 "csspseudo" => "normal,hover"),
54
55 "padding_top" => array("default" => "18px",
56 "css" => "padding-top",
57 "csspart" => "mb-text"),
58 "padding_right" => array("default" => "0px",
59 "css" => "padding-right",
60 "csspart" => "mb-text"),
61 "padding_bottom" => array("default" => "0px",
62 "css" => "padding-bottom",
63 "csspart" => "mb-text"),
64 "padding_left" => array("default" => "0px",
65 "css" => "padding-left",
66 "csspart" => "mb-text")
67 );
68
69
70 function __construct()
71 {
72 parent::__construct();
73 $this->fields["text"]["default"] = __("YOUR TEXT","maxbuttons");
74
75 }
76
77 public function map_fields($map)
78 {
79 $map = parent::map_fields($map);
80 $map["text"]["func"] = "updateAnchorText";
81 $map["text_shadow_offset_left"]["func"] = "updateTextShadow";
82 $map["text_shadow_offset_top"]["func"] = "updateTextShadow";
83 $map["text_shadow_width"]["func"] = "updateTextShadow";
84
85 return $map;
86 }
87 public function parse_css($css, $mode = 'normal')
88 {
89 $css = parent::parse_css($css);
90
91 // allow for font not to be set, but default to theme
92 $font_size = isset($css["mb-text"]["normal"]["font-size"]) ? $css["mb-text"]["normal"]["font-size"] : $this->fields['font_size']['default'];
93 if ($font_size == 0 || $font_size == '0px')
94 unset($css["mb-text"]["normal"]["font-size"]);
95
96 $css["mb-text"]["normal"]["line-height"] = "1em";
97 $css["mb-text"]["normal"]["box-sizing"] = "border-box"; // default.
98 $css["mb-text"]["normal"]["display"] = "block";
99 $css['mb-text']['normal']['background-color'] = 'unset'; // prevent bg overwriting
100 return $css;
101 }
102 public function parse_button($domObj, $mode = 'normal')
103 {
104 $data = $this->data[$this->blockname];
105 $anchor = $domObj->find("a",0);
106
107 if (isset($data["text"]) && $data["text"] != '' || $mode == 'preview')
108 $anchor->innertext = "<span class='mb-text'>" . do_shortcode($data["text"]) . "</span>";
109 return $domObj;
110
111 }
112
113 public function admin_fields()
114 {
115 $data = $this->data[$this->blockname];
116 foreach($this->fields as $field => $options)
117 {
118 $default = (isset($options["default"])) ? $options["default"] : '';
119 $$field = (isset($data[$field])) ? $data[$field] : $default;
120 ${$field . "_default"} = $default;
121 }
122
123 ?>
124 <div class="mb_tab option-container">
125 <div class="title"><?php _e('Text Shadow', 'maxbuttons') ?></div>
126 <div class="inside text">
127 <?php
128 // Shadow offset left
129 $field_shadow = new maxField('number') ;
130 $field_shadow->label = __('Shadow Offset Left', 'maxbuttons');
131 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_offset_left'));
132 $field_shadow->id = 'text_shadow_offset_left';
133 $field_shadow->name = $field_shadow->id;
134 $field_shadow->inputclass = 'tiny';
135 $field_shadow->output('start');
136
137 // Shadow offset top
138 $field_shadow = new maxField('number') ;
139 $field_shadow->label = __('Shadow Offset Top', 'maxbuttons');
140 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_offset_top'));
141 $field_shadow->id = 'text_shadow_offset_top';
142 $field_shadow->name = $field_shadow->id;
143 $field_shadow->inputclass = 'tiny';
144 $field_shadow->output('','end');
145
146 // Shadow width
147 $field_shadow = new maxField('number') ;
148 $field_shadow->label = __('Shadow Blur', 'maxbuttons');
149 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_width'));
150 $field_shadow->id = 'text_shadow_width';
151 $field_shadow->min = 0;
152 $field_shadow->name = $field_shadow->id;
153 $field_shadow->inputclass = 'tiny';
154 $field_shadow->output('start','end');
155
156 // Text Color
157 $fshadow = new maxField('color');
158 $fshadow->id = 'text_shadow_color';
159 $fshadow->name = $fshadow->id;
160 $fshadow->value = maxBlocks::getColorValue('text_shadow_color');
161 $fshadow->label = __('Shadow Color','maxbuttons');
162 $fshadow->copycolor = true;
163 $fshadow->bindto = 'text_shadow_color_hover';
164 $fshadow->copypos = 'right';
165 $fshadow->output('start');
166
167 // Text Color Hover
168 $fshadow_hover = new maxField('color');
169 $fshadow_hover->id = 'text_shadow_color_hover';
170 $fshadow_hover->name = $fshadow_hover->id;
171 $fshadow_hover->value = maxBlocks::getColorValue('text_shadow_color_hover');
172 $fshadow_hover->label = __('Hover','maxbuttons');
173 $fshadow_hover->copycolor = true;
174 $fshadow_hover->bindto = 'text_shadow_color';
175 $fshadow_hover->copypos = 'left';
176 $fshadow_hover->output('','end');
177 ?>
178
179 </div>
180 </div>
181 <?php } // admin fields
182 } // class
183
184 ?>
185