PluginProbe
MaxButtons – Create buttons / 6.4
MaxButtons – Create buttons v6.4
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.4, at blocks/text.php

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