PluginProbe
MaxButtons – Create buttons / 7.1
MaxButtons – Create buttons v7.1
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 7.1, at blocks/text.php

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