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

194 lines 6.6 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 public function map_fields($map)
74 {
75 $map = parent::map_fields($map);
76 $map["text"]["func"] = "updateAnchorText";
77 $map["text_shadow_offset_left"]["func"] = "updateTextShadow";
78 $map["text_shadow_offset_top"]["func"] = "updateTextShadow";
79 $map["text_shadow_width"]["func"] = "updateTextShadow";
80
81 return $map;
82 }
83 public function parse_css($css, $mode = 'normal')
84 {
85 $css = parent::parse_css($css);
86
87 // allow for font not to be set, but default to theme
88 $font_size = isset($css["mb-text"]["normal"]["font-size"]) ? $css["mb-text"]["normal"]["font-size"] : $this->fields['font_size']['default'];
89 if ($font_size == 0 || $font_size == '0px')
90 unset($css["mb-text"]["normal"]["font-size"]);
91
92 $css["mb-text"]["normal"]["line-height"] = "1em";
93 $css["mb-text"]["normal"]["box-sizing"] = "border-box"; // default.
94 $css["mb-text"]["normal"]["display"] = "block";
95 $css['mb-text']['normal']['background-color'] = 'unset'; // prevent bg overwriting
96
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 $admin = MB()->getClass('admin');
114
115 /* foreach($this->fields as $field => $options)
116 {
117 $default = (isset($options["default"])) ? $options["default"] : '';
118 $$field = (isset($data[$field])) ? $data[$field] : $default;
119 ${$field . "_default"} = $default;
120 } */
121
122 $color_copy_self = __("Replace color from other field", "maxbuttons");
123 $color_copy_move = __("Copy Color to other field", "maxbuttons");
124
125
126 $start_block = new maxField('block_start');
127 $start_block->name = __('shadow', 'maxbuttons');
128 $start_block->label = __('Text Shadow', 'maxbuttons');
129 $admin->addField($start_block);
130
131
132 // Shadow offset left
133 $field_shadow = new maxField('number') ;
134 $field_shadow->label = __('Shadow Offset Left', 'maxbuttons');
135 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_offset_left'));
136 $field_shadow->id = 'text_shadow_offset_left';
137 $field_shadow->name = $field_shadow->id;
138 $field_shadow->inputclass = 'tiny';
139 $admin->addField($field_shadow, 'start');
140
141 // Shadow offset top
142 $field_shadow = new maxField('number') ;
143 $field_shadow->label = __('Shadow Offset Top', 'maxbuttons');
144 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_offset_top'));
145 $field_shadow->id = 'text_shadow_offset_top';
146 $field_shadow->name = $field_shadow->id;
147 $field_shadow->inputclass = 'tiny';
148 $admin->addField($field_shadow, '', 'end');
149
150 // Shadow width
151 $field_shadow = new maxField('number') ;
152 $field_shadow->label = __('Shadow Blur', 'maxbuttons');
153 $field_shadow->value = maxUtils::strip_px(maxBlocks::getValue('text_shadow_width'));
154 $field_shadow->id = 'text_shadow_width';
155 $field_shadow->min = 0;
156 $field_shadow->name = $field_shadow->id;
157 $field_shadow->inputclass = 'tiny';
158 $admin->addField($field_shadow, 'start', 'end');
159
160 // Text Color
161 $fshadow = new maxField('color');
162 $fshadow->id = 'text_shadow_color';
163 $fshadow->name = $fshadow->id;
164 $fshadow->value = maxBlocks::getColorValue('text_shadow_color');
165 $fshadow->label = __('Shadow Color','maxbuttons');
166 $fshadow->copycolor = true;
167 $fshadow->bindto = 'text_shadow_color_hover';
168 $fshadow->copypos = 'right';
169 $fshadow->left_title = $color_copy_self;
170 $fshadow->right_title = $color_copy_move;
171 $admin->addField($fshadow, 'start');
172
173 // Text Color Hover
174 $fshadow_hover = new maxField('color');
175 $fshadow_hover->id = 'text_shadow_color_hover';
176 $fshadow_hover->name = $fshadow_hover->id;
177 $fshadow_hover->value = maxBlocks::getColorValue('text_shadow_color_hover');
178 $fshadow_hover->label = __('Hover','maxbuttons');
179 $fshadow_hover->copycolor = true;
180 $fshadow_hover->bindto = 'text_shadow_color';
181 $fshadow_hover->copypos = 'left';
182 $fshadow_hover->left_title = $color_copy_move;
183 $fshadow_hover->right_title = $color_copy_self;
184 $admin->addField($fshadow_hover, '', 'end');
185
186 $this->sidebar();
187 $endblock = new maxField('block_end');
188 $admin->addField($endblock);
189
190 } // admin fields
191 } // class
192
193 ?>
194