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

191 lines 6.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["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 $color_copy_self = __("Replace color from other field", "maxbuttons");
124 $color_copy_move = __("Copy Color to other field", "maxbuttons");
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->left_title = $color_copy_self;
168 $fshadow->right_title = $color_copy_move;
169 $fshadow->output('start');
170
171 // Text Color Hover
172 $fshadow_hover = new maxField('color');
173 $fshadow_hover->id = 'text_shadow_color_hover';
174 $fshadow_hover->name = $fshadow_hover->id;
175 $fshadow_hover->value = maxBlocks::getColorValue('text_shadow_color_hover');
176 $fshadow_hover->label = __('Hover','maxbuttons');
177 $fshadow_hover->copycolor = true;
178 $fshadow_hover->bindto = 'text_shadow_color';
179 $fshadow_hover->copypos = 'left';
180 $fshadow_hover->left_title = $color_copy_move;
181 $fshadow_hover->right_title = $color_copy_self;
182 $fshadow_hover->output('','end');
183 ?>
184
185 </div>
186 </div>
187 <?php } // admin fields
188 } // class
189
190 ?>
191