Version Description
- Vertical align now working
- Fixed issue with selecting buttons via SiteOrigin Page Builder
Download this release
Release Info
Developer | basszje |
Plugin | WordPress Button Plugin MaxButtons |
Version | 7.1 |
Comparing to | |
See all releases |
Code changes from version 7.0 to 7.1
- assets/integrations/shortcake/shortcake.php +1 -1
- assets/integrations/siteorigins_builder/fields/maxbutton.class.php +21 -9
- assets/libraries/font-awesome-5/fa-config.js +1 -1
- blocks/advanced.php +1 -1
- blocks/basic.php +1 -1
- blocks/tpl/button.tpl +1 -0
- changelog.txt +290 -118
- classes/admin-class.php +1 -1
- classes/buttons.php +89 -89
- classes/installation.php +3 -3
- classes/maxbuttons-class.php +2 -3
- includes/maxbuttons-button.php +1 -1
- includes/maxbuttons-list-trash.php +34 -35
- includes/maxbuttons-settings.php +3 -3
- js/maxajax.js +27 -5
- js/maxmodal.js +1 -1
- js/min/maxajax.js +27 -5
- js/min/maxmodal.js +1 -1
- maxbuttons.php +3 -3
- readme.txt +21 -188
assets/integrations/shortcake/shortcake.php
CHANGED
@@ -40,7 +40,7 @@ class mbCake
|
|
40 |
|
41 |
$button_id = $match[2];
|
42 |
|
43 |
-
$button =
|
44 |
$button->set($button_id);
|
45 |
|
46 |
$button->parse_button();
|
40 |
|
41 |
$button_id = $match[2];
|
42 |
|
43 |
+
$button = MB()->getClass('button');
|
44 |
$button->set($button_id);
|
45 |
|
46 |
$button->parse_button();
|
assets/integrations/siteorigins_builder/fields/maxbutton.class.php
CHANGED
@@ -51,12 +51,16 @@ class MaxButton_Widget_Field_MaxButton extends \SiteOrigin_Widget_Field_Base {
|
|
51 |
*/
|
52 |
private $parent_repeater;
|
53 |
|
|
|
|
|
54 |
public function __construct( $base_name, $element_id, $element_name, $field_options, $for_widget, $parent_container = array() ) {
|
55 |
parent::__construct( $base_name, $element_id, $element_name, $field_options );
|
56 |
|
57 |
$this->for_widget = $for_widget;
|
58 |
$this->parent_repeater = $parent_container;
|
59 |
|
|
|
|
|
60 |
}
|
61 |
|
62 |
protected function get_default_options() {
|
@@ -67,23 +71,30 @@ class MaxButton_Widget_Field_MaxButton extends \SiteOrigin_Widget_Field_Base {
|
|
67 |
);
|
68 |
}
|
69 |
|
|
|
|
|
70 |
protected function render_field( $value, $instance ) {
|
71 |
-
//$buttons = MB()
|
72 |
$nonce = wp_create_nonce('maxajax');
|
|
|
73 |
?>
|
74 |
<script language="javascript">
|
75 |
function insertSOPageBuilder(id)
|
76 |
{
|
|
|
77 |
var button = jQuery('.media-buttons .maxbutton-' + id).parents('.shortcode-container').children().clone();
|
78 |
-
|
79 |
-
jQuery('
|
|
|
80 |
return false;
|
81 |
|
82 |
}
|
83 |
</script>
|
84 |
-
<button class="button-primary maxbutton_media_button" data-nonce="<?php echo $nonce ?>" data-callback='insertSOPageBuilder'><?php _e("Select a Button"); ?></button>
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
87 |
$button= MB()->getClass('button');
|
88 |
|
89 |
if (intval($value) > 0)
|
@@ -91,11 +102,12 @@ class MaxButton_Widget_Field_MaxButton extends \SiteOrigin_Widget_Field_Base {
|
|
91 |
$button->set($value);
|
92 |
$button->display(array('load_css' => 'inline') );
|
93 |
}
|
|
|
94 |
|
95 |
-
?> </
|
96 |
-
|
97 |
-
<input type="hidden" id="sop_selected_button" value="<?php echo esc_attr( is_array( $value ) ? '-1' : $value ) ?>" name="<?php echo esc_attr( $this->element_name ) ?>" class="siteorigin-widget-input" />
|
98 |
|
|
|
|
|
99 |
<?php
|
100 |
}
|
101 |
|
51 |
*/
|
52 |
private $parent_repeater;
|
53 |
|
54 |
+
protected static $field_count = 0;
|
55 |
+
|
56 |
public function __construct( $base_name, $element_id, $element_name, $field_options, $for_widget, $parent_container = array() ) {
|
57 |
parent::__construct( $base_name, $element_id, $element_name, $field_options );
|
58 |
|
59 |
$this->for_widget = $for_widget;
|
60 |
$this->parent_repeater = $parent_container;
|
61 |
|
62 |
+
static::$field_count++;
|
63 |
+
|
64 |
}
|
65 |
|
66 |
protected function get_default_options() {
|
71 |
);
|
72 |
}
|
73 |
|
74 |
+
/** It looks like all of those fields are rendered every thing for every block, but they don't change. So there is a need to keep them apart */
|
75 |
+
|
76 |
protected function render_field( $value, $instance ) {
|
|
|
77 |
$nonce = wp_create_nonce('maxajax');
|
78 |
+
|
79 |
?>
|
80 |
<script language="javascript">
|
81 |
function insertSOPageBuilder(id)
|
82 |
{
|
83 |
+
var mbbutton_number = '<?php echo $this->element_id ?>';
|
84 |
var button = jQuery('.media-buttons .maxbutton-' + id).parents('.shortcode-container').children().clone();
|
85 |
+
|
86 |
+
jQuery('.mbselected.' + mbbutton_number).find(".the_button").html(button);
|
87 |
+
jQuery('.mbselected.' + mbbutton_number).find(".sop_button_id").val(id);
|
88 |
return false;
|
89 |
|
90 |
}
|
91 |
</script>
|
92 |
+
<button class="button-primary maxbutton_media_button" id="mbbutton-<?php echo static::$field_count ?>" data-nonce="<?php echo $nonce ?>" data-callback='insertSOPageBuilder'><?php _e("Select a Button"); ?></button>
|
93 |
+
|
94 |
+
<p><h3><?php _e('Selected Button', 'maxbuttons') ?></h3></p>
|
95 |
+
<div class='mbselected <?php echo $this->element_id ?>'>
|
96 |
+
<span class='the_button'>
|
97 |
+
<?php
|
98 |
$button= MB()->getClass('button');
|
99 |
|
100 |
if (intval($value) > 0)
|
102 |
$button->set($value);
|
103 |
$button->display(array('load_css' => 'inline') );
|
104 |
}
|
105 |
+
//echo "<P>" . $number . ' -- ' . static::$field_count . ' ' . $this->element_id . " (rnd/fc)</p>"
|
106 |
|
107 |
+
?> </span>
|
|
|
|
|
108 |
|
109 |
+
<input type="hidden" class='sop_button_id' value="<?php echo esc_attr( is_array( $value ) ? '-1' : $value ) ?>" name="<?php echo esc_attr( $this->element_name ) ?>" class="siteorigin-widget-input" />
|
110 |
+
</div>
|
111 |
<?php
|
112 |
}
|
113 |
|
assets/libraries/font-awesome-5/fa-config.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
window.FontAwesomeConfig = {
|
2 |
-
|
3 |
keepOriginalSource : true,
|
4 |
replacementClass: 'svg-mbp-fa',
|
5 |
observeMutations: true,
|
1 |
window.FontAwesomeConfig = {
|
2 |
+
autoReplaceSvg: true,
|
3 |
keepOriginalSource : true,
|
4 |
replacementClass: 'svg-mbp-fa',
|
5 |
observeMutations: true,
|
blocks/advanced.php
CHANGED
@@ -175,7 +175,7 @@ class advancedBlock extends maxBlock
|
|
175 |
if (isset($this->data["id"]) && $this->data['id'] > 0)
|
176 |
{
|
177 |
$id = $this->data["id"];
|
178 |
-
$b =
|
179 |
|
180 |
$b->set($id);
|
181 |
$b->parse_button();
|
175 |
if (isset($this->data["id"]) && $this->data['id'] > 0)
|
176 |
{
|
177 |
$id = $this->data["id"];
|
178 |
+
$b = MB()->getClass('button');
|
179 |
|
180 |
$b->set($id);
|
181 |
$b->parse_button();
|
blocks/basic.php
CHANGED
@@ -46,7 +46,7 @@ class basicBlock extends maxBlock
|
|
46 |
$css["maxbutton"]["normal"]["text-decoration"] = "none";
|
47 |
// $css["maxbutton"]["normal"]["white-space"] = "nowrap"; // hinders correct rendering of oneline-multilines
|
48 |
$css["maxbutton"]["normal"]["display"] = "inline-block";
|
49 |
-
$css["
|
50 |
|
51 |
/*if (isset($data["url"]) && $data["url"] == '') // don't show clickable anchor if there is no URL.
|
52 |
{
|
46 |
$css["maxbutton"]["normal"]["text-decoration"] = "none";
|
47 |
// $css["maxbutton"]["normal"]["white-space"] = "nowrap"; // hinders correct rendering of oneline-multilines
|
48 |
$css["maxbutton"]["normal"]["display"] = "inline-block";
|
49 |
+
$css["maxbutton"]["normal"]["vertical-align"] = 'middle';
|
50 |
|
51 |
/*if (isset($data["url"]) && $data["url"] == '') // don't show clickable anchor if there is no URL.
|
52 |
{
|
blocks/tpl/button.tpl
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
<div class='input %%name%%' {if:conditional}data-show="%%conditional%%"{/if:conditional}>
|
3 |
<button id='%%id%%' type='button' class='button {if:inputclass}%%inputclass%%{/if:inputclass}'
|
4 |
{if:modal}data-modal='%%modal%%'{/if:modal}
|
|
|
5 |
{if:disabled} disabled {/if:disabled}
|
6 |
> %%button_label%% </button>
|
7 |
|
2 |
<div class='input %%name%%' {if:conditional}data-show="%%conditional%%"{/if:conditional}>
|
3 |
<button id='%%id%%' type='button' class='button {if:inputclass}%%inputclass%%{/if:inputclass}'
|
4 |
{if:modal}data-modal='%%modal%%'{/if:modal}
|
5 |
+
{if:dataaction}data-action='%%dataaction%%'{/if:dataaction}
|
6 |
{if:disabled} disabled {/if:disabled}
|
7 |
> %%button_label%% </button>
|
8 |
|
changelog.txt
CHANGED
@@ -1,53 +1,225 @@
|
|
1 |
-
=
|
2 |
|
3 |
-
* Removed
|
4 |
|
5 |
-
=
|
6 |
|
7 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
* Major cleanup of styling code
|
9 |
* Description now handles multiple lines correctly
|
10 |
|
11 |
-
= 4.21 =
|
12 |
|
13 |
* Cleaner user interface at font options
|
14 |
-
* Check if jquery function exists on front.
|
15 |
|
16 |
-
= 4.20 =
|
17 |
|
18 |
* Tested for WordPress 4.5
|
19 |
* Moved old error modals in social sharing to new modal
|
20 |
-
* New copy dialog
|
21 |
|
22 |
-
= 4.19 =
|
23 |
|
24 |
-
* Fixed: Relative URL's without starting slash no longer are prepended with default scheme
|
25 |
-
* Tel: and sms: URL's not accepted in URL field
|
26 |
|
27 |
-
= 4.18 =
|
28 |
|
29 |
* Fixed problem responsive settings not correctly enabling / disabling options
|
30 |
* Button editor now warns when moving away without saving
|
31 |
|
32 |
-
= 4.17 =
|
33 |
|
34 |
* Moving from leanModal to better popup code
|
35 |
* Fixed Modal background and CSS error on delete button / view CSS
|
36 |
* Put Font style options (italics) back
|
37 |
|
38 |
-
= 4.16 =
|
39 |
|
40 |
* Version number added to JS scripts to prevent browser caching on updates
|
41 |
-
* Tweaks to the main CSS class statement to avoid clutter
|
42 |
-
* Fix for Cloudflare's email obfuscation in combination with responsive buttons.
|
43 |
|
44 |
|
45 |
-
= 4.15 =
|
46 |
|
47 |
* Option to add custom class names
|
48 |
* Added changes to increase plugin page speed performance
|
49 |
|
50 |
-
= 4.14 =
|
51 |
|
52 |
* Buttons in Shortcake didn't show Font Awesome buttons correctly
|
53 |
* Fixed bug in Shortcake rendering with ID's over 10
|
@@ -55,130 +227,130 @@
|
|
55 |
* Fixed paging and popup issues in button add dialog
|
56 |
* Made previous / next buttons in button add dialog more clear
|
57 |
|
58 |
-
= 4.13 =
|
59 |
|
60 |
-
* New option: Custom rel (Advanced) - for targeting popups
|
61 |
-
* Upgraded to Font Awesome 4.5.0
|
62 |
* Fixed remove collection link not working
|
63 |
|
64 |
-
= 4.12 =
|
65 |
|
66 |
* SO Pagebuilder : Fixed callbacks
|
67 |
-
* Shortcake : Fixed faulty callback when mixing add button functionality
|
68 |
* Social Share: fixed caching problem on blog pages results in same share URL's
|
69 |
-
* Social Share: fixed no image sharing with Pinterest.
|
70 |
-
* Editor: Fixed Javascript crash when clicking No in Delete button dialog
|
71 |
|
72 |
|
73 |
-
= 4.11.1 =
|
74 |
|
75 |
* Fixed possible crash due to extra return characters in the plugin causing WordPress to malfunction.
|
76 |
|
77 |
-
= 4.11 =
|
78 |
|
79 |
-
* Fixed SiteOrigin PageBuilder error when adding button
|
80 |
* Shortcake integration
|
81 |
* Add button dialog improvements
|
82 |
|
83 |
|
84 |
-
= 4.10 =
|
85 |
|
86 |
-
* Removed Twitter share count since Twitter doesn't support this anymore.
|
87 |
-
* Fixed issue with color picker
|
88 |
* Color picker window much larger now
|
89 |
* Add button interface now available in SiteOrigin editor widget
|
90 |
|
91 |
-
= 4.09 =
|
92 |
|
93 |
* Several issues were fixed with upgrading the plugin and database tables
|
94 |
* Fixed link in edit post/page screen when having no buttons
|
95 |
-
* Fixed integration crash with new version of SiteOrigin Page Builder
|
96 |
|
97 |
|
98 |
= 4.08 =
|
99 |
|
100 |
* Fixed conflict with WPMU Popup Pro
|
101 |
* New shortcode tag style="inline" - this forces the button style to load in document. This can be useful with JS-heavy sites who don't properly
|
102 |
-
load wp_footer();
|
103 |
|
104 |
-
= 4.07 =
|
105 |
|
106 |
-
* Fixed problem with URL encodings
|
107 |
-
* Fixed issue with Siteorigin widget not selecting button
|
108 |
* Changes in styling ( WP 4.4. update )
|
109 |
|
110 |
-
= 4.06 =
|
111 |
|
112 |
-
* Default button updated
|
113 |
|
114 |
-
= 4.05 =
|
115 |
|
116 |
* Integration with SiteOrigin Page Builder
|
117 |
|
118 |
-
= 4.04 =
|
119 |
|
120 |
* Updates to the color picker interface.
|
121 |
|
122 |
= 4.03 =
|
123 |
|
124 |
-
* Shortcode examples popup no longer expands the editor window
|
125 |
-
* Small fixes to title bar
|
126 |
|
127 |
-
= 4.02 =
|
128 |
|
129 |
* Fixed message in button inserter incorrectly stating no buttons are found.
|
130 |
* Javascript hardening to prevent conflicts in rare cases
|
131 |
* Better Settings interface
|
132 |
|
133 |
-
= 4.01 =
|
134 |
|
135 |
* Add check for function 'maybe_convert_table_to_utf8mb4' which doesn't exists before WP 4.2.0
|
136 |
* Several interface fixes
|
137 |
|
138 |
|
139 |
-
= 4.0.2 =
|
140 |
|
141 |
* Fixed issue that could cause database save to fail on button edit.
|
142 |
* Security validation on bulk edit form added
|
143 |
-
|
144 |
|
145 |
-
|
|
|
146 |
|
147 |
* Changed few PHP calls which possibly were causing crashes on older versions.
|
148 |
* Bug in internal social sharing block function.
|
149 |
|
150 |
-
= 4.0 =
|
151 |
|
152 |
-
* Social sharing [BETA]
|
153 |
* Fixed possible conflicts with colpick.js
|
154 |
* Fixed problem in URL with mailto: scheme
|
155 |
-
* Fixed issue with enconding URL's.
|
156 |
|
157 |
-
= 3.19 =
|
158 |
|
159 |
-
* Added possibility for bulk editing - at own risk
|
160 |
-
* Changed URL handling in certain cases to better URL encode the non-domain part.
|
161 |
|
162 |
-
= 3.18 =
|
163 |
|
164 |
-
* New filter for button url
|
165 |
-
* By default overview shows your latest buttons.
|
166 |
-
* Overview now sortable by button id
|
167 |
|
168 |
|
169 |
-
= 3.17 =
|
170 |
|
171 |
-
* Position and size of preview window updated to be less in the way
|
172 |
* Small layout and text updates
|
173 |
|
174 |
|
175 |
-
= 3.16.1 =
|
176 |
|
177 |
* Backward compatibility of layout changes
|
178 |
|
179 |
-
|
180 |
|
181 |
-
|
|
|
182 |
|
183 |
* Fixed update box running through page title
|
184 |
* Fixed rating screen in some cases could not be closed
|
@@ -189,28 +361,28 @@ load wp_footer();
|
|
189 |
|
190 |
* Fixed save crash in case of custom responsive settings due to debug information
|
191 |
|
192 |
-
= 3.15 =
|
193 |
|
194 |
* Small validation fix on custom responsive field
|
195 |
* Fixed rare bug occurence in SCSS parser
|
196 |
|
197 |
-
= 3.14 =
|
198 |
|
199 |
* Fixed crash on servers without character encoding module enabled
|
200 |
* Attempts to upgrade utf-8 table to utf-8mb4 (plugin activation)
|
201 |
-
* Groups CSS statements without repeating <style> tag.
|
202 |
|
203 |
-
= 3.13.1 =
|
204 |
|
205 |
* Fixed issue with font size not being displayed correctly in editor
|
206 |
|
207 |
-
= 3.13 =
|
208 |
|
209 |
-
* Fixed checkbox size on Chrome
|
210 |
* Fixed several layout issues
|
211 |
* Fixed issue with non-latin button names in the css declaration of button
|
212 |
* Paging buttons now disabled if there are no more pages to browse
|
213 |
-
* Updated SCSS parser to latest version
|
214 |
|
215 |
|
216 |
= 3.12.1 =
|
@@ -218,77 +390,77 @@ load wp_footer();
|
|
218 |
* Fixed responsive bug with multiple custom settings
|
219 |
* Fixed checkbox interface bug with responsive settings
|
220 |
* Fixed CSS parse errors with multiple responsive queries
|
221 |
-
|
222 |
-
|
223 |
-
= 3.12 =
|
224 |
|
225 |
-
|
|
|
|
|
|
|
226 |
* ID on button is now unique
|
227 |
|
228 |
-
= 3.11 =
|
229 |
|
230 |
* Better checking of number values in interface
|
231 |
* Button name is now also a class on the button ( for custom work )
|
232 |
-
* CSS output can now be compressed ( minified )
|
233 |
|
234 |
-
= 3.10 =
|
235 |
|
236 |
* Fixed: Now possible to add javascript to button URL field
|
237 |
* Fixed: Several JS plugin conflicts ( notably with Sidekick )
|
238 |
-
* Fixed: Now able to add spaces to URL
|
239 |
|
240 |
-
= 3.09 =
|
241 |
|
242 |
* Responsiveness bug fixes
|
243 |
* Fixed - custom sizes now allow width or height to be zero or not set
|
244 |
* Fixed rare bug when dbDelta was not properly loaded during installation
|
245 |
|
246 |
|
247 |
-
= 3.08 =
|
248 |
|
249 |
* Text align now defaults to empty
|
250 |
-
* New color picker fixing several bugs
|
251 |
-
* Fixed Divi themes / sitebuilder issue with add button
|
252 |
* Fixed small interface issue with paging and zero buttons
|
253 |
* Fixed interface issue with bulk actions notices
|
254 |
* Fixed various small unset variable issues
|
255 |
|
256 |
|
257 |
-
= 3.07 =
|
258 |
|
259 |
-
* Added Text align option
|
260 |
* Fixed interface issue with removing responsive parts
|
261 |
-
* Fixed URL Escaping issue
|
262 |
|
263 |
-
= 3.06 =
|
264 |
|
265 |
* Added German translation
|
266 |
|
267 |
-
= 3.05 =
|
268 |
|
269 |
-
* Better detection if all needed database fields are present
|
270 |
-
* Updates to the plugin styles
|
271 |
-
* Fixed a bug on the support page when allow_url_fopen is off
|
272 |
* Some shortcode examples in button editor
|
273 |
-
* Fixed a bug in responsive data handling
|
274 |
* Responsive items now can be hidden per screen size
|
275 |
|
276 |
-
= 3.04.2 =
|
277 |
|
278 |
* Reworked add button interface in the post editor
|
279 |
|
280 |
-
= 3.04.1 =
|
281 |
|
282 |
-
* Version numbering change to allow better version management in WP
|
283 |
* Improved: Wordpress style pagination
|
284 |
* Improved: The button editor interface now warns before permanently deleting a button
|
285 |
* Fixed: Layout issue in button overview disrupting interface
|
286 |
* Fixed: Support area not showing correctly and deprecated error on mysql info.
|
287 |
-
* Fixed: Close button didn't show in the external css dialog
|
288 |
|
289 |
-
= 3.04 =
|
290 |
|
291 |
-
* New : Pagination
|
292 |
|
293 |
* Fixed : Issue in parser causing issues when saving buttons
|
294 |
* Fixed : Button list can now display buttons from cache
|
@@ -296,58 +468,58 @@ load wp_footer();
|
|
296 |
* Several smaller issues and interface hardening
|
297 |
* Updated several links
|
298 |
|
299 |
-
= 3.03 =
|
300 |
|
301 |
-
* Fixed: Text shadow and border shadow were still showing with zero width.
|
302 |
-
* Fixed: Migrate script from old version moves button id correctly.
|
303 |
* Fixed: Link to buttons missing on plugins page
|
304 |
|
305 |
|
306 |
-
= 3.02 =
|
307 |
|
308 |
-
* Fixed: IK Facebook plugin jamming the colorpicker
|
309 |
* Fixed: Bug where hover cursor wouldn't show up when url was added via shortcode
|
310 |
* Fixed: Moving table to UTF-8 in settings works again
|
311 |
|
312 |
* Option for remigration of settings from old to new table in case upgrade didn't complete
|
313 |
* Added PHP 5.3 requirement in readme
|
314 |
-
* Added checks for both PHP version, and if activation did run.
|
315 |
* Removed default 'white-space: nowrap'.
|
316 |
* Tested with WP 4.2
|
317 |
|
318 |
-
= 3.01 =
|
319 |
|
320 |
* Code rebuilt
|
321 |
-
* Major performance enhancements
|
322 |
-
* Responsive module
|
323 |
-
* Dimensions, set width and height
|
324 |
|
325 |
-
= 3.0 =
|
326 |
|
327 |
* Beta release of new codebase
|
328 |
|
329 |
-
= 1.37 =
|
330 |
|
331 |
* Fixed two XSS vulnerabilities
|
332 |
|
333 |
-
= 1.36 =
|
334 |
|
335 |
* Minor tweaks and updates
|
336 |
|
337 |
|
338 |
-
= 1.35 =
|
339 |
|
340 |
-
* Better description for certain options
|
341 |
-
* New icon for WP-repository
|
342 |
|
343 |
-
= 1.34 =
|
344 |
|
345 |
* Fixed UI issue in edit posts screen.
|
346 |
|
347 |
-
= 1.33 =
|
348 |
-
* Buttons list is now sortable by Button name.
|
349 |
|
350 |
-
= 1.32 =
|
351 |
* Setting to remove 'add button' interface from editor
|
352 |
|
353 |
= 1.31 =
|
@@ -380,7 +552,7 @@ load wp_footer();
|
|
380 |
* Added Permissions so more than admin can use the buttons if desired.
|
381 |
|
382 |
= 1.24.3 =
|
383 |
-
* Small CSS tweaks including adding box-sizing and more border-style options.
|
384 |
* Updated some of the notifications.
|
385 |
|
386 |
= 1.24.2 =
|
1 |
+
= 6.11.1 =
|
2 |
|
3 |
+
* Removed holiday sale
|
4 |
|
5 |
+
= 6.11 =
|
6 |
|
7 |
+
* Shortcode options in add button dialog
|
8 |
+
* Fixed crash when running PHP 7.1.0
|
9 |
+
|
10 |
+
= 6.10 =
|
11 |
+
|
12 |
+
* Fixed color issue with preview color running one click behind
|
13 |
+
* Fixed issue with hover gradients, when gradients are off
|
14 |
+
* Fixed text shadow issue in CSS output
|
15 |
+
|
16 |
+
= 6.9 =
|
17 |
+
|
18 |
+
* Tested for WP 4.7
|
19 |
+
* Improved copy colors
|
20 |
+
|
21 |
+
= 6.8 =
|
22 |
+
|
23 |
+
* Fixed several smaller bugs in responsive
|
24 |
+
* Fixed smaller layout issues ( consistency )
|
25 |
+
* Upgraded SCSSPHP parser to 0.40
|
26 |
+
* Fixed 'undefined variable' in responsive
|
27 |
+
|
28 |
+
= 6.7 =
|
29 |
+
|
30 |
+
* Button height in responsive settings
|
31 |
+
* Fixed responsive bug regarding hiding option
|
32 |
+
* Responsive settings updated
|
33 |
+
* Add Button Dialog updated (more clear)
|
34 |
+
* Colorpicker slightly bigger
|
35 |
+
|
36 |
+
= 6.6 =
|
37 |
+
|
38 |
+
* Improved tab index on button editor.
|
39 |
+
* Fixed Copy Color button position in Chrome
|
40 |
+
* Fixed minor CSS issues
|
41 |
+
|
42 |
+
= 6.5 =
|
43 |
+
|
44 |
+
* Gradient background color option can be switched on and off
|
45 |
+
* New material switches to replace the checkboxes
|
46 |
+
|
47 |
+
= 6.4 =
|
48 |
+
|
49 |
+
* Copy colors feature added
|
50 |
+
* Fixed several small issues with the color picker
|
51 |
+
|
52 |
+
= 6.3 =
|
53 |
+
|
54 |
+
* Updated Features page
|
55 |
+
|
56 |
+
|
57 |
+
= 6.2 =
|
58 |
+
|
59 |
+
* Improved visibility of the color picker
|
60 |
+
* Fixed possible rendering issue with Box Shadow
|
61 |
+
* Fixed: in rare case the button could overlay the action buttons in the overview
|
62 |
+
|
63 |
+
= 6.1 =
|
64 |
+
|
65 |
+
* Several updates to the Color Picker
|
66 |
+
* Box Shadow spread option added
|
67 |
+
* Fixed conflict with important and box shadow setting
|
68 |
+
|
69 |
+
= 6.0 =
|
70 |
+
|
71 |
+
* Version 6 milestone
|
72 |
+
* Fixed small styling issue in header
|
73 |
+
* Updated link in plugin
|
74 |
+
|
75 |
+
= 5.13 =
|
76 |
+
|
77 |
+
* Fixed several notices when creating new buttons
|
78 |
+
* Buttons will now always have 'pointer' cursor
|
79 |
+
|
80 |
+
= 5.12 =
|
81 |
+
|
82 |
+
* Replaced color picker with WordPress default color picker
|
83 |
+
* Border radius can be locked to change all sides at onces.
|
84 |
+
* Cleanup of JS functions.
|
85 |
+
|
86 |
+
= 5.11 =
|
87 |
+
|
88 |
+
* Improvements to layout for small and mobile views
|
89 |
+
* Optimizations to modal on resizing
|
90 |
+
* Social icons for Eyeem added
|
91 |
+
|
92 |
+
= 5.10 =
|
93 |
+
|
94 |
+
* Fixed issue with background when using gradients
|
95 |
+
* Collection name is shown in button overview when button is in collection
|
96 |
+
* Database checks and failovers improved
|
97 |
+
* Several small updates to styling and layout
|
98 |
+
* Fixed display issue showing pack name / description when empty
|
99 |
+
|
100 |
+
= 5.9 =
|
101 |
+
|
102 |
+
* Greatly improved modal layouts
|
103 |
+
* Fixed - Social Share : non-existing buttons will not show.
|
104 |
+
* Child-spans now inherit background settings from parent anchor
|
105 |
+
|
106 |
+
= 5.8 =
|
107 |
+
|
108 |
+
* Fixed - Social Share remove button visible again
|
109 |
+
* Fixed - Social Share button without attached network no longer open as popup by default.
|
110 |
+
* Fixed - Custom Media Queries disabled after saving
|
111 |
+
* Description field can now be hidden via settings
|
112 |
+
* Various layout optimizations
|
113 |
+
* Tested for version 4.6
|
114 |
+
|
115 |
+
= 5.7 =
|
116 |
+
|
117 |
+
* Fixed omission in button clear function causing not to clear fully
|
118 |
+
* Fixed typo in Social Share shortcode
|
119 |
+
* Fixed social share bug, not correctly removing counts in certain situations
|
120 |
+
* Fixed social share icons not having cursor pointer
|
121 |
+
* Fixed Text Shadow bug with buttons having only shadow top set.
|
122 |
+
* Inline loading of social share collections
|
123 |
+
|
124 |
+
= 5.6 =
|
125 |
+
|
126 |
+
* Updated Social Share welcome message
|
127 |
+
* Updated Readme text
|
128 |
+
* Tested for WP 4.5.3
|
129 |
+
|
130 |
+
= 5.5 =
|
131 |
+
|
132 |
+
* Fixed CSS in review notice
|
133 |
+
* Fixed title issue with support topic titles
|
134 |
+
* Fixed small outlining issues in button editor
|
135 |
+
|
136 |
+
= 5.4 =
|
137 |
+
|
138 |
+
* Colorpicker code enhanced
|
139 |
+
* Updated container options interface
|
140 |
+
|
141 |
+
= 5.3 =
|
142 |
+
|
143 |
+
* Increased performance for shortcode when having an URL in shortcode.
|
144 |
+
* Fixed bug Border Shadow not showing when blur is zero.
|
145 |
+
* Fixed bug Text Shadow not showing when blur is zero.
|
146 |
+
* Fixed issue Text not displaying in preview when button was saved without text
|
147 |
+
* Minified all Javascript in plugin for faster performance.
|
148 |
+
|
149 |
+
|
150 |
+
= 5.2 =
|
151 |
+
|
152 |
+
* Fixed version check to enhance database upgrades
|
153 |
+
* Fixed Add buttons dialog in Beaver Builder
|
154 |
+
* Extra check for social sharing not to load on WP login pages
|
155 |
+
|
156 |
+
= 5.1 =
|
157 |
+
|
158 |
+
* Better pagination and display on Add Button dialog
|
159 |
+
* Fixed certain Social Share default values .
|
160 |
+
* Made number fields slightly larger
|
161 |
+
* Tested up to 4.5.2
|
162 |
+
|
163 |
+
= 5.0 =
|
164 |
+
|
165 |
+
* New button editor interface
|
166 |
+
* Removed maximum length of text fields
|
167 |
+
* Performance: Javascript loading streamlined
|
168 |
+
* Fixed: Removal of social sharing collections
|
169 |
+
* Improved social share picker
|
170 |
+
* Fixed Window resize bug in popups
|
171 |
+
* Fixed Array Bug in Social block
|
172 |
+
|
173 |
+
= 4.22.1 =
|
174 |
+
|
175 |
+
* Removed Splinfo getExtension call since it's not compatible with all PHP 5.3 installations
|
176 |
+
|
177 |
+
= 4.22 =
|
178 |
+
|
179 |
+
* Major upgrade of user interface
|
180 |
* Major cleanup of styling code
|
181 |
* Description now handles multiple lines correctly
|
182 |
|
183 |
+
= 4.21 =
|
184 |
|
185 |
* Cleaner user interface at font options
|
186 |
+
* Check if jquery function exists on front.
|
187 |
|
188 |
+
= 4.20 =
|
189 |
|
190 |
* Tested for WordPress 4.5
|
191 |
* Moved old error modals in social sharing to new modal
|
192 |
+
* New copy dialog
|
193 |
|
194 |
+
= 4.19 =
|
195 |
|
196 |
+
* Fixed: Relative URL's without starting slash no longer are prepended with default scheme
|
197 |
+
* Tel: and sms: URL's not accepted in URL field
|
198 |
|
199 |
+
= 4.18 =
|
200 |
|
201 |
* Fixed problem responsive settings not correctly enabling / disabling options
|
202 |
* Button editor now warns when moving away without saving
|
203 |
|
204 |
+
= 4.17 =
|
205 |
|
206 |
* Moving from leanModal to better popup code
|
207 |
* Fixed Modal background and CSS error on delete button / view CSS
|
208 |
* Put Font style options (italics) back
|
209 |
|
210 |
+
= 4.16 =
|
211 |
|
212 |
* Version number added to JS scripts to prevent browser caching on updates
|
213 |
+
* Tweaks to the main CSS class statement to avoid clutter
|
214 |
+
* Fix for Cloudflare's email obfuscation in combination with responsive buttons.
|
215 |
|
216 |
|
217 |
+
= 4.15 =
|
218 |
|
219 |
* Option to add custom class names
|
220 |
* Added changes to increase plugin page speed performance
|
221 |
|
222 |
+
= 4.14 =
|
223 |
|
224 |
* Buttons in Shortcake didn't show Font Awesome buttons correctly
|
225 |
* Fixed bug in Shortcake rendering with ID's over 10
|
227 |
* Fixed paging and popup issues in button add dialog
|
228 |
* Made previous / next buttons in button add dialog more clear
|
229 |
|
230 |
+
= 4.13 =
|
231 |
|
232 |
+
* New option: Custom rel (Advanced) - for targeting popups
|
233 |
+
* Upgraded to Font Awesome 4.5.0
|
234 |
* Fixed remove collection link not working
|
235 |
|
236 |
+
= 4.12 =
|
237 |
|
238 |
* SO Pagebuilder : Fixed callbacks
|
239 |
+
* Shortcake : Fixed faulty callback when mixing add button functionality
|
240 |
* Social Share: fixed caching problem on blog pages results in same share URL's
|
241 |
+
* Social Share: fixed no image sharing with Pinterest.
|
242 |
+
* Editor: Fixed Javascript crash when clicking No in Delete button dialog
|
243 |
|
244 |
|
245 |
+
= 4.11.1 =
|
246 |
|
247 |
* Fixed possible crash due to extra return characters in the plugin causing WordPress to malfunction.
|
248 |
|
249 |
+
= 4.11 =
|
250 |
|
251 |
+
* Fixed SiteOrigin PageBuilder error when adding button
|
252 |
* Shortcake integration
|
253 |
* Add button dialog improvements
|
254 |
|
255 |
|
256 |
+
= 4.10 =
|
257 |
|
258 |
+
* Removed Twitter share count since Twitter doesn't support this anymore.
|
259 |
+
* Fixed issue with color picker
|
260 |
* Color picker window much larger now
|
261 |
* Add button interface now available in SiteOrigin editor widget
|
262 |
|
263 |
+
= 4.09 =
|
264 |
|
265 |
* Several issues were fixed with upgrading the plugin and database tables
|
266 |
* Fixed link in edit post/page screen when having no buttons
|
267 |
+
* Fixed integration crash with new version of SiteOrigin Page Builder
|
268 |
|
269 |
|
270 |
= 4.08 =
|
271 |
|
272 |
* Fixed conflict with WPMU Popup Pro
|
273 |
* New shortcode tag style="inline" - this forces the button style to load in document. This can be useful with JS-heavy sites who don't properly
|
274 |
+
load wp_footer();
|
275 |
|
276 |
+
= 4.07 =
|
277 |
|
278 |
+
* Fixed problem with URL encodings
|
279 |
+
* Fixed issue with Siteorigin widget not selecting button
|
280 |
* Changes in styling ( WP 4.4. update )
|
281 |
|
282 |
+
= 4.06 =
|
283 |
|
284 |
+
* Default button updated
|
285 |
|
286 |
+
= 4.05 =
|
287 |
|
288 |
* Integration with SiteOrigin Page Builder
|
289 |
|
290 |
+
= 4.04 =
|
291 |
|
292 |
* Updates to the color picker interface.
|
293 |
|
294 |
= 4.03 =
|
295 |
|
296 |
+
* Shortcode examples popup no longer expands the editor window
|
297 |
+
* Small fixes to title bar
|
298 |
|
299 |
+
= 4.02 =
|
300 |
|
301 |
* Fixed message in button inserter incorrectly stating no buttons are found.
|
302 |
* Javascript hardening to prevent conflicts in rare cases
|
303 |
* Better Settings interface
|
304 |
|
305 |
+
= 4.01 =
|
306 |
|
307 |
* Add check for function 'maybe_convert_table_to_utf8mb4' which doesn't exists before WP 4.2.0
|
308 |
* Several interface fixes
|
309 |
|
310 |
|
311 |
+
= 4.0.2 =
|
312 |
|
313 |
* Fixed issue that could cause database save to fail on button edit.
|
314 |
* Security validation on bulk edit form added
|
|
|
315 |
|
316 |
+
|
317 |
+
= 4.0.1 =
|
318 |
|
319 |
* Changed few PHP calls which possibly were causing crashes on older versions.
|
320 |
* Bug in internal social sharing block function.
|
321 |
|
322 |
+
= 4.0 =
|
323 |
|
324 |
+
* Social sharing [BETA]
|
325 |
* Fixed possible conflicts with colpick.js
|
326 |
* Fixed problem in URL with mailto: scheme
|
327 |
+
* Fixed issue with enconding URL's.
|
328 |
|
329 |
+
= 3.19 =
|
330 |
|
331 |
+
* Added possibility for bulk editing - at own risk
|
332 |
+
* Changed URL handling in certain cases to better URL encode the non-domain part.
|
333 |
|
334 |
+
= 3.18 =
|
335 |
|
336 |
+
* New filter for button url
|
337 |
+
* By default overview shows your latest buttons.
|
338 |
+
* Overview now sortable by button id
|
339 |
|
340 |
|
341 |
+
= 3.17 =
|
342 |
|
343 |
+
* Position and size of preview window updated to be less in the way
|
344 |
* Small layout and text updates
|
345 |
|
346 |
|
347 |
+
= 3.16.1 =
|
348 |
|
349 |
* Backward compatibility of layout changes
|
350 |
|
|
|
351 |
|
352 |
+
|
353 |
+
= 3.16 =
|
354 |
|
355 |
* Fixed update box running through page title
|
356 |
* Fixed rating screen in some cases could not be closed
|
361 |
|
362 |
* Fixed save crash in case of custom responsive settings due to debug information
|
363 |
|
364 |
+
= 3.15 =
|
365 |
|
366 |
* Small validation fix on custom responsive field
|
367 |
* Fixed rare bug occurence in SCSS parser
|
368 |
|
369 |
+
= 3.14 =
|
370 |
|
371 |
* Fixed crash on servers without character encoding module enabled
|
372 |
* Attempts to upgrade utf-8 table to utf-8mb4 (plugin activation)
|
373 |
+
* Groups CSS statements without repeating <style> tag.
|
374 |
|
375 |
+
= 3.13.1 =
|
376 |
|
377 |
* Fixed issue with font size not being displayed correctly in editor
|
378 |
|
379 |
+
= 3.13 =
|
380 |
|
381 |
+
* Fixed checkbox size on Chrome
|
382 |
* Fixed several layout issues
|
383 |
* Fixed issue with non-latin button names in the css declaration of button
|
384 |
* Paging buttons now disabled if there are no more pages to browse
|
385 |
+
* Updated SCSS parser to latest version
|
386 |
|
387 |
|
388 |
= 3.12.1 =
|
390 |
* Fixed responsive bug with multiple custom settings
|
391 |
* Fixed checkbox interface bug with responsive settings
|
392 |
* Fixed CSS parse errors with multiple responsive queries
|
|
|
|
|
|
|
393 |
|
394 |
+
|
395 |
+
= 3.12 =
|
396 |
+
|
397 |
+
* Moved from serialize to json_encode
|
398 |
* ID on button is now unique
|
399 |
|
400 |
+
= 3.11 =
|
401 |
|
402 |
* Better checking of number values in interface
|
403 |
* Button name is now also a class on the button ( for custom work )
|
404 |
+
* CSS output can now be compressed ( minified )
|
405 |
|
406 |
+
= 3.10 =
|
407 |
|
408 |
* Fixed: Now possible to add javascript to button URL field
|
409 |
* Fixed: Several JS plugin conflicts ( notably with Sidekick )
|
410 |
+
* Fixed: Now able to add spaces to URL
|
411 |
|
412 |
+
= 3.09 =
|
413 |
|
414 |
* Responsiveness bug fixes
|
415 |
* Fixed - custom sizes now allow width or height to be zero or not set
|
416 |
* Fixed rare bug when dbDelta was not properly loaded during installation
|
417 |
|
418 |
|
419 |
+
= 3.08 =
|
420 |
|
421 |
* Text align now defaults to empty
|
422 |
+
* New color picker fixing several bugs
|
423 |
+
* Fixed Divi themes / sitebuilder issue with add button
|
424 |
* Fixed small interface issue with paging and zero buttons
|
425 |
* Fixed interface issue with bulk actions notices
|
426 |
* Fixed various small unset variable issues
|
427 |
|
428 |
|
429 |
+
= 3.07 =
|
430 |
|
431 |
+
* Added Text align option
|
432 |
* Fixed interface issue with removing responsive parts
|
433 |
+
* Fixed URL Escaping issue
|
434 |
|
435 |
+
= 3.06 =
|
436 |
|
437 |
* Added German translation
|
438 |
|
439 |
+
= 3.05 =
|
440 |
|
441 |
+
* Better detection if all needed database fields are present
|
442 |
+
* Updates to the plugin styles
|
443 |
+
* Fixed a bug on the support page when allow_url_fopen is off
|
444 |
* Some shortcode examples in button editor
|
445 |
+
* Fixed a bug in responsive data handling
|
446 |
* Responsive items now can be hidden per screen size
|
447 |
|
448 |
+
= 3.04.2 =
|
449 |
|
450 |
* Reworked add button interface in the post editor
|
451 |
|
452 |
+
= 3.04.1 =
|
453 |
|
454 |
+
* Version numbering change to allow better version management in WP
|
455 |
* Improved: Wordpress style pagination
|
456 |
* Improved: The button editor interface now warns before permanently deleting a button
|
457 |
* Fixed: Layout issue in button overview disrupting interface
|
458 |
* Fixed: Support area not showing correctly and deprecated error on mysql info.
|
459 |
+
* Fixed: Close button didn't show in the external css dialog
|
460 |
|
461 |
+
= 3.04 =
|
462 |
|
463 |
+
* New : Pagination
|
464 |
|
465 |
* Fixed : Issue in parser causing issues when saving buttons
|
466 |
* Fixed : Button list can now display buttons from cache
|
468 |
* Several smaller issues and interface hardening
|
469 |
* Updated several links
|
470 |
|
471 |
+
= 3.03 =
|
472 |
|
473 |
+
* Fixed: Text shadow and border shadow were still showing with zero width.
|
474 |
+
* Fixed: Migrate script from old version moves button id correctly.
|
475 |
* Fixed: Link to buttons missing on plugins page
|
476 |
|
477 |
|
478 |
+
= 3.02 =
|
479 |
|
480 |
+
* Fixed: IK Facebook plugin jamming the colorpicker
|
481 |
* Fixed: Bug where hover cursor wouldn't show up when url was added via shortcode
|
482 |
* Fixed: Moving table to UTF-8 in settings works again
|
483 |
|
484 |
* Option for remigration of settings from old to new table in case upgrade didn't complete
|
485 |
* Added PHP 5.3 requirement in readme
|
486 |
+
* Added checks for both PHP version, and if activation did run.
|
487 |
* Removed default 'white-space: nowrap'.
|
488 |
* Tested with WP 4.2
|
489 |
|
490 |
+
= 3.01 =
|
491 |
|
492 |
* Code rebuilt
|
493 |
+
* Major performance enhancements
|
494 |
+
* Responsive module
|
495 |
+
* Dimensions, set width and height
|
496 |
|
497 |
+
= 3.0 =
|
498 |
|
499 |
* Beta release of new codebase
|
500 |
|
501 |
+
= 1.37 =
|
502 |
|
503 |
* Fixed two XSS vulnerabilities
|
504 |
|
505 |
+
= 1.36 =
|
506 |
|
507 |
* Minor tweaks and updates
|
508 |
|
509 |
|
510 |
+
= 1.35 =
|
511 |
|
512 |
+
* Better description for certain options
|
513 |
+
* New icon for WP-repository
|
514 |
|
515 |
+
= 1.34 =
|
516 |
|
517 |
* Fixed UI issue in edit posts screen.
|
518 |
|
519 |
+
= 1.33 =
|
520 |
+
* Buttons list is now sortable by Button name.
|
521 |
|
522 |
+
= 1.32 =
|
523 |
* Setting to remove 'add button' interface from editor
|
524 |
|
525 |
= 1.31 =
|
552 |
* Added Permissions so more than admin can use the buttons if desired.
|
553 |
|
554 |
= 1.24.3 =
|
555 |
+
* Small CSS tweaks including adding box-sizing and more border-style options.
|
556 |
* Updated some of the notifications.
|
557 |
|
558 |
= 1.24.2 =
|
classes/admin-class.php
CHANGED
@@ -252,7 +252,7 @@ class maxButtonsAdmin
|
|
252 |
$args["paged" ] = $paged;
|
253 |
|
254 |
|
255 |
-
$button =
|
256 |
$buttons = $admin->getButtons($args);
|
257 |
|
258 |
echo "<div id='maxbuttons'><div class='preview-buttons'>";
|
252 |
$args["paged" ] = $paged;
|
253 |
|
254 |
|
255 |
+
$button = MB()->getClass('button');
|
256 |
$buttons = $admin->getButtons($args);
|
257 |
|
258 |
echo "<div id='maxbuttons'><div class='preview-buttons'>";
|
classes/buttons.php
CHANGED
@@ -1,103 +1,103 @@
|
|
1 |
-
<?php
|
2 |
namespace MaxButtons;
|
3 |
-
/** Buttons class - handles paging issues and sanity check for individual buttons
|
4 |
*/
|
5 |
-
class maxButtons
|
6 |
{
|
7 |
-
protected static $loadedButtons = array(); // loaded button in current scope
|
8 |
-
/*
|
9 |
-
|
10 |
array [ index ] [ button_id ] [data - document_id, done (bool )
|
11 |
*/
|
12 |
-
protected static $documentArray = array(); // given out document ID's
|
13 |
-
|
14 |
-
// override to give out next document id. This is useful when buttons are set but not displayed directly.
|
15 |
protected static $doNext = false;
|
16 |
-
protected static $current_doc_id = null;
|
17 |
-
protected static $current_button_id = null;
|
18 |
-
|
19 |
-
protected static $instance = null;
|
20 |
-
|
21 |
-
|
22 |
public static function getInstance()
|
23 |
{
|
24 |
-
if (is_null(self::$instance))
|
25 |
-
self::$instance =
|
26 |
-
|
27 |
-
return self::$instance;
|
28 |
}
|
29 |
-
|
30 |
static function buttonLoad($args)
|
31 |
{
|
32 |
|
33 |
-
$button_id = $args["button_id"];
|
34 |
-
self::$loadedButtons[] = $button_id;
|
35 |
-
$document_id = self::getDocumentID(array("button_id" => $button_id));
|
36 |
-
self::$documentArray[] = array($button_id => array('document_id' => $document_id , 'done' => false));
|
37 |
|
38 |
}
|
39 |
-
|
40 |
-
static function forceNextID()
|
41 |
{
|
42 |
self::$doNext = true;
|
43 |
self::$current_doc_id = null;
|
44 |
-
self::$current_button_id = null;
|
45 |
}
|
46 |
-
|
47 |
static function getDocumentID($args)
|
48 |
{
|
49 |
-
$button_id = $args["button_id"];
|
50 |
-
|
51 |
-
if (! is_null(self::$current_doc_id) && self::$current_button_id == $button_id )
|
52 |
return self::$current_doc_id;
|
53 |
-
|
54 |
-
|
55 |
if (self::$doNext == false)
|
56 |
{
|
57 |
-
foreach(self::$documentArray as $index => $ids)
|
58 |
{
|
59 |
foreach($ids as $doc_button_id => $doc_vars)
|
60 |
{
|
61 |
-
if ($doc_button_id == $button_id)
|
62 |
-
{
|
63 |
-
if (! $doc_vars["done"])
|
64 |
-
return $doc_vars["document_id"];
|
65 |
}
|
66 |
-
|
67 |
}
|
68 |
-
|
69 |
}
|
70 |
-
}
|
71 |
-
// if not found in documentarray make a new one
|
72 |
-
$loaded = self::$loadedButtons;
|
73 |
-
end($loaded);
|
74 |
-
$i = 0;
|
75 |
-
|
76 |
-
foreach($loaded as $btn_id)
|
77 |
{
|
78 |
if ($btn_id == $button_id)
|
79 |
-
$i++;
|
80 |
}
|
81 |
$i--; // minus the current added button..
|
82 |
-
|
83 |
//$index = key($loaded); // find last index
|
84 |
-
if ($i == 0)
|
85 |
-
$document_id = $button_id;
|
86 |
else
|
87 |
-
$document_id = $button_id . "_" . $i;
|
88 |
-
|
89 |
self::$doNext = false;
|
90 |
self::$current_doc_id = $document_id;
|
91 |
-
self::$current_button_id = $button_id;
|
92 |
-
return $document_id;
|
93 |
-
|
94 |
}
|
95 |
|
96 |
static function buttonDone($args)
|
97 |
{
|
98 |
-
$button_id = $args["button_id"];
|
99 |
-
$document_id = $args["document_id"];
|
100 |
-
|
101 |
foreach(self::$documentArray as $index => $data)
|
102 |
{
|
103 |
foreach($data as $doc_button_id => $doc_data)
|
@@ -106,55 +106,55 @@ class maxButtons
|
|
106 |
{
|
107 |
self::$documentArray[$index][$button_id]["done"] = true;
|
108 |
}
|
109 |
-
|
110 |
}
|
111 |
-
|
112 |
}
|
113 |
-
|
114 |
}
|
115 |
-
|
116 |
-
public static function ajax_action()
|
117 |
{
|
118 |
-
$action = sanitize_text_field($_POST['button_action']);
|
119 |
$check = wp_verify_nonce($_POST['nonce'], 'button-' . $action);
|
120 |
-
$button_id = intval($_POST["button_id"]);
|
121 |
-
$button =
|
122 |
-
|
123 |
-
if (! $check)
|
124 |
-
exit('Invalid Nonce');
|
125 |
-
|
126 |
switch($action)
|
127 |
{
|
128 |
-
case "delete":
|
129 |
-
$button->delete($button_id);
|
130 |
-
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&message=1delete';
|
131 |
break;
|
132 |
-
|
133 |
-
case "trash":
|
134 |
-
$result = $button->set($button_id);
|
135 |
if ($result)
|
136 |
-
$button->setStatus('trash');
|
137 |
-
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&message=1';
|
138 |
-
break;
|
139 |
-
case "restore":
|
140 |
$set = $button->set($button_id,'','trash');
|
141 |
-
$button->setStatus("publish");
|
142 |
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&status=trash&message=1restore';
|
143 |
break;
|
144 |
-
case "copy":
|
145 |
-
$button->set($button_id);
|
146 |
-
$new_id = $button->copy();
|
147 |
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=button&id=' . $new_id;
|
148 |
break;
|
149 |
-
|
150 |
}
|
151 |
-
|
152 |
if (isset($redirect_url)) {
|
153 |
-
$response = array('redirection' => $redirect_url);
|
154 |
echo json_encode($response);
|
155 |
exit();
|
156 |
}
|
157 |
-
|
158 |
exit(true);
|
159 |
}
|
160 |
|
1 |
+
<?php
|
2 |
namespace MaxButtons;
|
3 |
+
/** Buttons class - handles paging issues and sanity check for individual buttons
|
4 |
*/
|
5 |
+
class maxButtons
|
6 |
{
|
7 |
+
protected static $loadedButtons = array(); // loaded button in current scope
|
8 |
+
/*
|
9 |
+
|
10 |
array [ index ] [ button_id ] [data - document_id, done (bool )
|
11 |
*/
|
12 |
+
protected static $documentArray = array(); // given out document ID's
|
13 |
+
|
14 |
+
// override to give out next document id. This is useful when buttons are set but not displayed directly.
|
15 |
protected static $doNext = false;
|
16 |
+
protected static $current_doc_id = null;
|
17 |
+
protected static $current_button_id = null;
|
18 |
+
|
19 |
+
protected static $instance = null;
|
20 |
+
|
21 |
+
|
22 |
public static function getInstance()
|
23 |
{
|
24 |
+
if (is_null(self::$instance))
|
25 |
+
self::$instance = MB()->getClass('button');
|
26 |
+
|
27 |
+
return self::$instance;
|
28 |
}
|
29 |
+
|
30 |
static function buttonLoad($args)
|
31 |
{
|
32 |
|
33 |
+
$button_id = $args["button_id"];
|
34 |
+
self::$loadedButtons[] = $button_id;
|
35 |
+
$document_id = self::getDocumentID(array("button_id" => $button_id));
|
36 |
+
self::$documentArray[] = array($button_id => array('document_id' => $document_id , 'done' => false));
|
37 |
|
38 |
}
|
39 |
+
|
40 |
+
static function forceNextID()
|
41 |
{
|
42 |
self::$doNext = true;
|
43 |
self::$current_doc_id = null;
|
44 |
+
self::$current_button_id = null;
|
45 |
}
|
46 |
+
|
47 |
static function getDocumentID($args)
|
48 |
{
|
49 |
+
$button_id = $args["button_id"];
|
50 |
+
|
51 |
+
if (! is_null(self::$current_doc_id) && self::$current_button_id == $button_id )
|
52 |
return self::$current_doc_id;
|
53 |
+
|
54 |
+
|
55 |
if (self::$doNext == false)
|
56 |
{
|
57 |
+
foreach(self::$documentArray as $index => $ids)
|
58 |
{
|
59 |
foreach($ids as $doc_button_id => $doc_vars)
|
60 |
{
|
61 |
+
if ($doc_button_id == $button_id)
|
62 |
+
{
|
63 |
+
if (! $doc_vars["done"])
|
64 |
+
return $doc_vars["document_id"];
|
65 |
}
|
66 |
+
|
67 |
}
|
68 |
+
|
69 |
}
|
70 |
+
}
|
71 |
+
// if not found in documentarray make a new one
|
72 |
+
$loaded = self::$loadedButtons;
|
73 |
+
end($loaded);
|
74 |
+
$i = 0;
|
75 |
+
|
76 |
+
foreach($loaded as $btn_id)
|
77 |
{
|
78 |
if ($btn_id == $button_id)
|
79 |
+
$i++;
|
80 |
}
|
81 |
$i--; // minus the current added button..
|
82 |
+
|
83 |
//$index = key($loaded); // find last index
|
84 |
+
if ($i == 0)
|
85 |
+
$document_id = $button_id;
|
86 |
else
|
87 |
+
$document_id = $button_id . "_" . $i;
|
88 |
+
|
89 |
self::$doNext = false;
|
90 |
self::$current_doc_id = $document_id;
|
91 |
+
self::$current_button_id = $button_id;
|
92 |
+
return $document_id;
|
93 |
+
|
94 |
}
|
95 |
|
96 |
static function buttonDone($args)
|
97 |
{
|
98 |
+
$button_id = $args["button_id"];
|
99 |
+
$document_id = $args["document_id"];
|
100 |
+
|
101 |
foreach(self::$documentArray as $index => $data)
|
102 |
{
|
103 |
foreach($data as $doc_button_id => $doc_data)
|
106 |
{
|
107 |
self::$documentArray[$index][$button_id]["done"] = true;
|
108 |
}
|
109 |
+
|
110 |
}
|
111 |
+
|
112 |
}
|
113 |
+
|
114 |
}
|
115 |
+
|
116 |
+
public static function ajax_action()
|
117 |
{
|
118 |
+
$action = sanitize_text_field($_POST['button_action']);
|
119 |
$check = wp_verify_nonce($_POST['nonce'], 'button-' . $action);
|
120 |
+
$button_id = intval($_POST["button_id"]);
|
121 |
+
$button = MB()->getClass('button');
|
122 |
+
|
123 |
+
if (! $check)
|
124 |
+
exit('Invalid Nonce');
|
125 |
+
|
126 |
switch($action)
|
127 |
{
|
128 |
+
case "delete":
|
129 |
+
$button->delete($button_id);
|
130 |
+
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&message=1delete';
|
131 |
break;
|
132 |
+
|
133 |
+
case "trash":
|
134 |
+
$result = $button->set($button_id);
|
135 |
if ($result)
|
136 |
+
$button->setStatus('trash');
|
137 |
+
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&message=1';
|
138 |
+
break;
|
139 |
+
case "restore":
|
140 |
$set = $button->set($button_id,'','trash');
|
141 |
+
$button->setStatus("publish");
|
142 |
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=list&status=trash&message=1restore';
|
143 |
break;
|
144 |
+
case "copy":
|
145 |
+
$button->set($button_id);
|
146 |
+
$new_id = $button->copy();
|
147 |
$redirect_url = admin_url() . 'admin.php?page=maxbuttons-controller&action=button&id=' . $new_id;
|
148 |
break;
|
149 |
+
|
150 |
}
|
151 |
+
|
152 |
if (isset($redirect_url)) {
|
153 |
+
$response = array('redirection' => $redirect_url);
|
154 |
echo json_encode($response);
|
155 |
exit();
|
156 |
}
|
157 |
+
|
158 |
exit(true);
|
159 |
}
|
160 |
|
classes/installation.php
CHANGED
@@ -62,7 +62,7 @@ class maxInstall
|
|
62 |
static::upgradeUTF();
|
63 |
static::updateFA();
|
64 |
|
65 |
-
$button =
|
66 |
$button->reset_cache(); //refresh cache
|
67 |
|
68 |
update_option(MAXBUTTONS_VERSION_KEY, MAXBUTTONS_VERSION_NUM);
|
@@ -186,7 +186,7 @@ class maxInstall
|
|
186 |
$wpdb->insert($table, array("id" => $id));
|
187 |
|
188 |
//$data = apply_filters("mb-migration-data",$data, $row);
|
189 |
-
$button =
|
190 |
$button->set($id);
|
191 |
$button->save($data);
|
192 |
}
|
@@ -318,7 +318,7 @@ class maxInstall
|
|
318 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
319 |
|
320 |
$table_name = maxUtils::get_table_name();
|
321 |
-
$button =
|
322 |
$blocks = $button->getBlocks();
|
323 |
|
324 |
// IMPORTANT: There MUST be two spaces between the PRIMARY KEY keywords
|
62 |
static::upgradeUTF();
|
63 |
static::updateFA();
|
64 |
|
65 |
+
$button = MB()->getClass('button');
|
66 |
$button->reset_cache(); //refresh cache
|
67 |
|
68 |
update_option(MAXBUTTONS_VERSION_KEY, MAXBUTTONS_VERSION_NUM);
|
186 |
$wpdb->insert($table, array("id" => $id));
|
187 |
|
188 |
//$data = apply_filters("mb-migration-data",$data, $row);
|
189 |
+
$button = MB()->getClass('button');
|
190 |
$button->set($id);
|
191 |
$button->save($data);
|
192 |
}
|
318 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
319 |
|
320 |
$table_name = maxUtils::get_table_name();
|
321 |
+
$button = MB()->getClass('button');
|
322 |
$blocks = $button->getBlocks();
|
323 |
|
324 |
// IMPORTANT: There MUST be two spaces between the PRIMARY KEY keywords
|
classes/maxbuttons-class.php
CHANGED
@@ -120,7 +120,6 @@ class maxButtonsPlugin
|
|
120 |
"collections" => "maxCollections",
|
121 |
"collection" => "maxCollection",
|
122 |
"pack" => "maxPack",
|
123 |
-
|
124 |
);
|
125 |
|
126 |
$this->mainClasses = $classes;
|
@@ -375,7 +374,7 @@ class maxButtonsPlugin
|
|
375 |
}
|
376 |
|
377 |
$version = MAXBUTTONS_VERSION_NUM;
|
378 |
-
|
379 |
|
380 |
wp_enqueue_style('wp-color-picker');
|
381 |
wp_enqueue_style('maxbuttons-css', $this->plugin_url . 'assets/css/style.css', array(), $version);
|
@@ -471,7 +470,7 @@ class maxButtonsPlugin
|
|
471 |
if (! $this->debug_mode)
|
472 |
$js_url .= 'min/';
|
473 |
|
474 |
-
|
475 |
|
476 |
wp_register_script('mb-media-button', $js_url . 'maxbuttons_media_button.js', array('jquery', 'maxbuttons-modal'), $version, true);
|
477 |
$this->load_modal_script();
|
120 |
"collections" => "maxCollections",
|
121 |
"collection" => "maxCollection",
|
122 |
"pack" => "maxPack",
|
|
|
123 |
);
|
124 |
|
125 |
$this->mainClasses = $classes;
|
374 |
}
|
375 |
|
376 |
$version = MAXBUTTONS_VERSION_NUM;
|
377 |
+
//$this->load_library('fontawesome');
|
378 |
|
379 |
wp_enqueue_style('wp-color-picker');
|
380 |
wp_enqueue_style('maxbuttons-css', $this->plugin_url . 'assets/css/style.css', array(), $version);
|
470 |
if (! $this->debug_mode)
|
471 |
$js_url .= 'min/';
|
472 |
|
473 |
+
//$this->load_library('fontawesome');
|
474 |
|
475 |
wp_register_script('mb-media-button', $js_url . 'maxbuttons_media_button.js', array('jquery', 'maxbuttons-modal'), $version, true);
|
476 |
$this->load_modal_script();
|
includes/maxbuttons-button.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
namespace MaxButtons;
|
3 |
defined('ABSPATH') or die('No direct access permitted');
|
4 |
|
5 |
-
$button = MB()->getClass("button");
|
6 |
$button_id = 0;
|
7 |
|
8 |
if ($_POST) {
|
2 |
namespace MaxButtons;
|
3 |
defined('ABSPATH') or die('No direct access permitted');
|
4 |
|
5 |
+
$button = MB()->getClass("button");
|
6 |
$button_id = 0;
|
7 |
|
8 |
if ($_POST) {
|
includes/maxbuttons-list-trash.php
CHANGED
@@ -4,19 +4,19 @@ defined('ABSPATH') or die('No direct access permitted');
|
|
4 |
|
5 |
$result = '';
|
6 |
|
7 |
-
exit("Not used");
|
8 |
|
9 |
-
$button =
|
10 |
|
11 |
if ($_POST) {
|
12 |
if (isset($_POST['button-id']) && isset($_POST['bulk-action-select'])) {
|
13 |
if ($_POST['bulk-action-select'] == 'restore') {
|
14 |
$count = 0;
|
15 |
-
|
16 |
foreach ($_POST['button-id'] as $id) {
|
17 |
$button->set($id);
|
18 |
-
$button->setStatus('publish');
|
19 |
-
|
20 |
//maxbuttons_button_restore($id);
|
21 |
$count++;
|
22 |
}
|
@@ -24,15 +24,15 @@ if ($_POST) {
|
|
24 |
if ($count == 1) {
|
25 |
$result = __('Restored 1 button.', 'maxbuttons');
|
26 |
}
|
27 |
-
|
28 |
if ($count > 1) {
|
29 |
$result = __('Restored ', 'maxbuttons') . $count . __(' buttons.', 'maxbuttons');
|
30 |
}
|
31 |
}
|
32 |
-
|
33 |
if ($_POST['bulk-action-select'] == 'delete') {
|
34 |
$count = 0;
|
35 |
-
|
36 |
foreach ($_POST['button-id'] as $id) {
|
37 |
$button->delete($id);
|
38 |
$count++;
|
@@ -41,7 +41,7 @@ if ($_POST) {
|
|
41 |
if ($count == 1) {
|
42 |
$result = __('Deleted 1 button.', 'maxbuttons');
|
43 |
}
|
44 |
-
|
45 |
if ($count > 1) {
|
46 |
$result = __('Deleted ', 'maxbuttons') . $count . __(' buttons.', 'maxbuttons');
|
47 |
}
|
@@ -60,26 +60,26 @@ if (isset($_GET['message']) && $_GET['message'] == '1delete') {
|
|
60 |
|
61 |
|
62 |
$args = array();
|
63 |
-
if (isset($_GET["orderby"]))
|
64 |
-
$args["orderby"] = $_GET["orderby"];
|
65 |
-
if (isset($_GET["order"]))
|
66 |
-
$args["order"] = $_GET["order"];
|
67 |
|
68 |
$mbadmin = MB()->getClass('admin');
|
69 |
|
70 |
-
$args["status"] = "trash";
|
71 |
$args["limit"] = -1;
|
72 |
|
73 |
//$published_buttons = $mbadmin->getButtons($args);
|
74 |
$published_buttons_count = $mbadmin->getButtonCount($args);
|
75 |
|
76 |
$trashed_buttons = $mbadmin->getButtons($args);
|
77 |
-
$trashed_buttons_count = $mbadmin->getButtonCount($args);
|
|
|
|
|
78 |
|
79 |
-
$pagination = $mbadmin->getButtonPages($args);
|
80 |
|
81 |
|
82 |
-
|
83 |
?>
|
84 |
|
85 |
<script type="text/javascript">
|
@@ -94,7 +94,7 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
94 |
}
|
95 |
});
|
96 |
});
|
97 |
-
|
98 |
<?php if ($result != '') { ?>
|
99 |
jQuery("#maxbuttons .message").show();
|
100 |
<?php } ?>
|
@@ -106,15 +106,15 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
106 |
<div class="icon32">
|
107 |
<a href="https://maxbuttons.com" target="_blank"><img src="<?php echo MAXBUTTONS_PLUGIN_URL ?>/images/mb-32.png" alt="MaxButtons" /></a>
|
108 |
</div>
|
109 |
-
|
110 |
<h2 class="title"><?php _e('MaxButtons: Button List', 'maxbuttons') ?></h2>
|
111 |
-
|
112 |
<div class="logo">
|
113 |
-
<?php do_action("mb-display-logo"); ?>
|
114 |
</div>
|
115 |
-
|
116 |
<div class="clear"></div>
|
117 |
-
<?php do_action('mb-display-tabs'); ?>
|
118 |
|
119 |
<div class="form-actions">
|
120 |
<a class="button-primary" href="<?php echo admin_url() ?>admin.php?page=maxbuttons-controller&action=button"><?php _e('Add New', 'maxbuttons') ?></a>
|
@@ -123,13 +123,13 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
123 |
<?php if ($result != '') { ?>
|
124 |
<div class="message"><?php echo $result ?></div>
|
125 |
<?php } ?>
|
126 |
-
|
127 |
<p class="status">
|
128 |
<a href="<?php echo admin_url() ?>admin.php?page=maxbuttons-controller&action=list"><?php _e('All', 'maxbuttons') ?></a> <span class="count">(<?php echo $published_buttons_count ?>)</span>
|
129 |
<span class="separator">|</span>
|
130 |
<strong><?php _e('Trash', 'maxbuttons') ?></strong> <span class="count">(<?php echo $trashed_buttons_count ?>)</span>
|
131 |
</p>
|
132 |
-
|
133 |
<form method="post">
|
134 |
<select name="bulk-action-select" id="bulk-action-select">
|
135 |
<option value=""><?php _e('Bulk Actions', 'maxbuttons') ?></option>
|
@@ -137,8 +137,8 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
137 |
<option value="delete"><?php _e('Delete Permanently', 'maxbuttons') ?></option>
|
138 |
</select>
|
139 |
<input type="submit" class="button" value="<?php _e('Apply', 'maxbuttons') ?>" />
|
140 |
-
|
141 |
-
<div class="button-list">
|
142 |
<table cellpadding="0" cellspacing="0" width="100%">
|
143 |
<tr>
|
144 |
<th><input type="checkbox" name="bulk-action-all" id="bulk-action-all" /></th>
|
@@ -147,10 +147,10 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
147 |
<th><?php _e('Shortcode', 'maxbuttons') ?></th>
|
148 |
<th><?php _e('Actions', 'maxbuttons') ?></th>
|
149 |
</tr>
|
150 |
-
<?php foreach ($trashed_buttons as $b) {
|
151 |
-
|
152 |
-
$id = $b["id"];
|
153 |
-
$button->set($id,'','trash');
|
154 |
?>
|
155 |
<tr>
|
156 |
<td valign="center">
|
@@ -159,7 +159,7 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
159 |
<td>
|
160 |
<div class="shortcode-container">
|
161 |
<?php//echo do_shortcode('[maxbutton id="' . $id . '" externalcss="false" ignorecontainer="true"]') ?>
|
162 |
-
<?php $button->display( array("preview" => true, "preview_part" => "full") ); ?>
|
163 |
</div>
|
164 |
</td>
|
165 |
<td>
|
@@ -182,7 +182,6 @@ $pagination = $mbadmin->getButtonPages($args);
|
|
182 |
</form>
|
183 |
</div>
|
184 |
<div class="ad-wrap">
|
185 |
-
<?php do_action("mb-display-ads"); ?>
|
186 |
-
</div>
|
187 |
</div>
|
188 |
-
|
4 |
|
5 |
$result = '';
|
6 |
|
7 |
+
exit("Not used");
|
8 |
|
9 |
+
$button = MB()->getClass('button');
|
10 |
|
11 |
if ($_POST) {
|
12 |
if (isset($_POST['button-id']) && isset($_POST['bulk-action-select'])) {
|
13 |
if ($_POST['bulk-action-select'] == 'restore') {
|
14 |
$count = 0;
|
15 |
+
|
16 |
foreach ($_POST['button-id'] as $id) {
|
17 |
$button->set($id);
|
18 |
+
$button->setStatus('publish');
|
19 |
+
|
20 |
//maxbuttons_button_restore($id);
|
21 |
$count++;
|
22 |
}
|
24 |
if ($count == 1) {
|
25 |
$result = __('Restored 1 button.', 'maxbuttons');
|
26 |
}
|
27 |
+
|
28 |
if ($count > 1) {
|
29 |
$result = __('Restored ', 'maxbuttons') . $count . __(' buttons.', 'maxbuttons');
|
30 |
}
|
31 |
}
|
32 |
+
|
33 |
if ($_POST['bulk-action-select'] == 'delete') {
|
34 |
$count = 0;
|
35 |
+
|
36 |
foreach ($_POST['button-id'] as $id) {
|
37 |
$button->delete($id);
|
38 |
$count++;
|
41 |
if ($count == 1) {
|
42 |
$result = __('Deleted 1 button.', 'maxbuttons');
|
43 |
}
|
44 |
+
|
45 |
if ($count > 1) {
|
46 |
$result = __('Deleted ', 'maxbuttons') . $count . __(' buttons.', 'maxbuttons');
|
47 |
}
|
60 |
|
61 |
|
62 |
$args = array();
|
63 |
+
if (isset($_GET["orderby"]))
|
64 |
+
$args["orderby"] = $_GET["orderby"];
|
65 |
+
if (isset($_GET["order"]))
|
66 |
+
$args["order"] = $_GET["order"];
|
67 |
|
68 |
$mbadmin = MB()->getClass('admin');
|
69 |
|
70 |
+
$args["status"] = "trash";
|
71 |
$args["limit"] = -1;
|
72 |
|
73 |
//$published_buttons = $mbadmin->getButtons($args);
|
74 |
$published_buttons_count = $mbadmin->getButtonCount($args);
|
75 |
|
76 |
$trashed_buttons = $mbadmin->getButtons($args);
|
77 |
+
$trashed_buttons_count = $mbadmin->getButtonCount($args);
|
78 |
+
|
79 |
+
$pagination = $mbadmin->getButtonPages($args);
|
80 |
|
|
|
81 |
|
82 |
|
|
|
83 |
?>
|
84 |
|
85 |
<script type="text/javascript">
|
94 |
}
|
95 |
});
|
96 |
});
|
97 |
+
|
98 |
<?php if ($result != '') { ?>
|
99 |
jQuery("#maxbuttons .message").show();
|
100 |
<?php } ?>
|
106 |
<div class="icon32">
|
107 |
<a href="https://maxbuttons.com" target="_blank"><img src="<?php echo MAXBUTTONS_PLUGIN_URL ?>/images/mb-32.png" alt="MaxButtons" /></a>
|
108 |
</div>
|
109 |
+
|
110 |
<h2 class="title"><?php _e('MaxButtons: Button List', 'maxbuttons') ?></h2>
|
111 |
+
|
112 |
<div class="logo">
|
113 |
+
<?php do_action("mb-display-logo"); ?>
|
114 |
</div>
|
115 |
+
|
116 |
<div class="clear"></div>
|
117 |
+
<?php do_action('mb-display-tabs'); ?>
|
118 |
|
119 |
<div class="form-actions">
|
120 |
<a class="button-primary" href="<?php echo admin_url() ?>admin.php?page=maxbuttons-controller&action=button"><?php _e('Add New', 'maxbuttons') ?></a>
|
123 |
<?php if ($result != '') { ?>
|
124 |
<div class="message"><?php echo $result ?></div>
|
125 |
<?php } ?>
|
126 |
+
|
127 |
<p class="status">
|
128 |
<a href="<?php echo admin_url() ?>admin.php?page=maxbuttons-controller&action=list"><?php _e('All', 'maxbuttons') ?></a> <span class="count">(<?php echo $published_buttons_count ?>)</span>
|
129 |
<span class="separator">|</span>
|
130 |
<strong><?php _e('Trash', 'maxbuttons') ?></strong> <span class="count">(<?php echo $trashed_buttons_count ?>)</span>
|
131 |
</p>
|
132 |
+
|
133 |
<form method="post">
|
134 |
<select name="bulk-action-select" id="bulk-action-select">
|
135 |
<option value=""><?php _e('Bulk Actions', 'maxbuttons') ?></option>
|
137 |
<option value="delete"><?php _e('Delete Permanently', 'maxbuttons') ?></option>
|
138 |
</select>
|
139 |
<input type="submit" class="button" value="<?php _e('Apply', 'maxbuttons') ?>" />
|
140 |
+
|
141 |
+
<div class="button-list">
|
142 |
<table cellpadding="0" cellspacing="0" width="100%">
|
143 |
<tr>
|
144 |
<th><input type="checkbox" name="bulk-action-all" id="bulk-action-all" /></th>
|
147 |
<th><?php _e('Shortcode', 'maxbuttons') ?></th>
|
148 |
<th><?php _e('Actions', 'maxbuttons') ?></th>
|
149 |
</tr>
|
150 |
+
<?php foreach ($trashed_buttons as $b) {
|
151 |
+
|
152 |
+
$id = $b["id"];
|
153 |
+
$button->set($id,'','trash');
|
154 |
?>
|
155 |
<tr>
|
156 |
<td valign="center">
|
159 |
<td>
|
160 |
<div class="shortcode-container">
|
161 |
<?php//echo do_shortcode('[maxbutton id="' . $id . '" externalcss="false" ignorecontainer="true"]') ?>
|
162 |
+
<?php $button->display( array("preview" => true, "preview_part" => "full") ); ?>
|
163 |
</div>
|
164 |
</td>
|
165 |
<td>
|
182 |
</form>
|
183 |
</div>
|
184 |
<div class="ad-wrap">
|
185 |
+
<?php do_action("mb-display-ads"); ?>
|
186 |
+
</div>
|
187 |
</div>
|
|
includes/maxbuttons-settings.php
CHANGED
@@ -4,7 +4,7 @@ defined('ABSPATH') or die('No direct access permitted');
|
|
4 |
|
5 |
// settings for this page are registered in register_setting ( main class )
|
6 |
|
7 |
-
$button =
|
8 |
|
9 |
if(isset($_POST['alter_charset'])) {
|
10 |
|
@@ -23,7 +23,7 @@ if(isset($_POST['alter_charset'])) {
|
|
23 |
|
24 |
if (isset($_POST["reset_cache"]))
|
25 |
{
|
26 |
-
$button =
|
27 |
$button->reset_cache();
|
28 |
|
29 |
}
|
@@ -41,7 +41,7 @@ if (isset($_POST["replace"]) && check_admin_referer('mb_bulk_edit', 'bulk_edit')
|
|
41 |
$replace = sanitize_text_field($_POST["replace"]);
|
42 |
$field = sanitize_text_field($_POST["replace_field"]);
|
43 |
|
44 |
-
$button =
|
45 |
|
46 |
if ($field == '')
|
47 |
exit("FATAL");
|
4 |
|
5 |
// settings for this page are registered in register_setting ( main class )
|
6 |
|
7 |
+
$button = MB()->getClass('button'); // To load maxfield templates
|
8 |
|
9 |
if(isset($_POST['alter_charset'])) {
|
10 |
|
23 |
|
24 |
if (isset($_POST["reset_cache"]))
|
25 |
{
|
26 |
+
$button = MB()->getClass('button');
|
27 |
$button->reset_cache();
|
28 |
|
29 |
}
|
41 |
$replace = sanitize_text_field($_POST["replace"]);
|
42 |
$field = sanitize_text_field($_POST["replace_field"]);
|
43 |
|
44 |
+
$button = MB()->getClass('button');
|
45 |
|
46 |
if ($field == '')
|
47 |
exit("FATAL");
|
js/maxajax.js
CHANGED
@@ -3,7 +3,9 @@
|
|
3 |
/* Get the standard AJAX vars for this plugin */
|
4 |
|
5 |
function maxAjax() {
|
6 |
-
|
|
|
|
|
7 |
}
|
8 |
|
9 |
maxAjax.prototype.init = function()
|
@@ -26,11 +28,21 @@ maxAjax.prototype.ajaxInit = function()
|
|
26 |
return data;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
maxAjax.prototype.ajaxForm = function (e)
|
30 |
{
|
31 |
e.preventDefault();
|
32 |
|
33 |
var target = $(e.target);
|
|
|
|
|
34 |
var form = $(target).parents('form');
|
35 |
var action = $(target).data('action');
|
36 |
|
@@ -41,7 +53,7 @@ maxAjax.prototype.ajaxForm = function (e)
|
|
41 |
|
42 |
$(document).trigger('maxajax_formpost_' + action, [data,target]);
|
43 |
|
44 |
-
this.
|
45 |
|
46 |
this.ajaxPost(data);
|
47 |
}
|
@@ -50,7 +62,16 @@ maxAjax.prototype.ajaxForm = function (e)
|
|
50 |
maxAjax.prototype.ajaxCall = function (e)
|
51 |
{
|
52 |
e.preventDefault();
|
53 |
-
var target = e.target;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
var param = false;
|
56 |
var plugin_action = $(target).data('action');
|
@@ -68,7 +89,9 @@ maxAjax.prototype.ajaxCall = function (e)
|
|
68 |
data['param'] = param;
|
69 |
data['post'] = $('form').serialize(); // send it all
|
70 |
|
71 |
-
this.
|
|
|
|
|
72 |
|
73 |
this.ajaxPost(data);
|
74 |
}
|
@@ -105,7 +128,6 @@ maxAjax.prototype.ajaxPost = function(data, successHandler, errorHandler)
|
|
105 |
var errorHandler = function (r,s,o,) { self.defaultErrorHandler(r,s,o,action) } ;
|
106 |
}
|
107 |
|
108 |
-
|
109 |
$.ajax({
|
110 |
type: "POST",
|
111 |
url: maxajax.ajax_url,
|
3 |
/* Get the standard AJAX vars for this plugin */
|
4 |
|
5 |
function maxAjax() {
|
6 |
+
this.spinnerFunction = this.showSpinner;
|
7 |
+
this.successHandler = this.defaultSuccesHandler;
|
8 |
+
this.errorHandler = this.defaultErrorHandler;
|
9 |
}
|
10 |
|
11 |
maxAjax.prototype.init = function()
|
28 |
return data;
|
29 |
}
|
30 |
|
31 |
+
maxAjax.prototype.setFunction = function(type, new_function)
|
32 |
+
{
|
33 |
+
if (type == 'spinner')
|
34 |
+
{
|
35 |
+
this.spinnerFunction = new_function;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
maxAjax.prototype.ajaxForm = function (e)
|
40 |
{
|
41 |
e.preventDefault();
|
42 |
|
43 |
var target = $(e.target);
|
44 |
+
|
45 |
+
|
46 |
var form = $(target).parents('form');
|
47 |
var action = $(target).data('action');
|
48 |
|
53 |
|
54 |
$(document).trigger('maxajax_formpost_' + action, [data,target]);
|
55 |
|
56 |
+
this.spinnerFunction(target);
|
57 |
|
58 |
this.ajaxPost(data);
|
59 |
}
|
62 |
maxAjax.prototype.ajaxCall = function (e)
|
63 |
{
|
64 |
e.preventDefault();
|
65 |
+
var target = $(e.target);
|
66 |
+
|
67 |
+
if (! $(target).hasClass('.mb-ajax-action') && ! $(target).hasClass('.mb-ajax-action-change') )
|
68 |
+
{
|
69 |
+
if ($(target).parents('.mb-ajax-action'). length > 0)
|
70 |
+
target = $(e.target).parents('.mb-ajax-action');
|
71 |
+
|
72 |
+
if ($(target).parents('.mb-ajax-action-change'). length > 0)
|
73 |
+
target = $(e.target).parents('.mb-ajax-action');
|
74 |
+
}
|
75 |
|
76 |
var param = false;
|
77 |
var plugin_action = $(target).data('action');
|
89 |
data['param'] = param;
|
90 |
data['post'] = $('form').serialize(); // send it all
|
91 |
|
92 |
+
var spinnerFunc = this.spinnerFunction;
|
93 |
+
|
94 |
+
this.spinnerFunction(target);
|
95 |
|
96 |
this.ajaxPost(data);
|
97 |
}
|
128 |
var errorHandler = function (r,s,o,) { self.defaultErrorHandler(r,s,o,action) } ;
|
129 |
}
|
130 |
|
|
|
131 |
$.ajax({
|
132 |
type: "POST",
|
133 |
url: maxajax.ajax_url,
|
js/maxmodal.js
CHANGED
@@ -258,7 +258,7 @@
|
|
258 |
}
|
259 |
catch(err)
|
260 |
{
|
261 |
-
|
262 |
console.log('MB Modal Callback Error: ' + err.message);
|
263 |
console.log('MB Mobdal tried calling: ' + funcName);
|
264 |
}
|
258 |
}
|
259 |
catch(err)
|
260 |
{
|
261 |
+
ex
|
262 |
console.log('MB Modal Callback Error: ' + err.message);
|
263 |
console.log('MB Mobdal tried calling: ' + funcName);
|
264 |
}
|
js/min/maxajax.js
CHANGED
@@ -3,7 +3,9 @@
|
|
3 |
/* Get the standard AJAX vars for this plugin */
|
4 |
|
5 |
function maxAjax() {
|
6 |
-
|
|
|
|
|
7 |
}
|
8 |
|
9 |
maxAjax.prototype.init = function()
|
@@ -26,11 +28,21 @@ maxAjax.prototype.ajaxInit = function()
|
|
26 |
return data;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
maxAjax.prototype.ajaxForm = function (e)
|
30 |
{
|
31 |
e.preventDefault();
|
32 |
|
33 |
var target = $(e.target);
|
|
|
|
|
34 |
var form = $(target).parents('form');
|
35 |
var action = $(target).data('action');
|
36 |
|
@@ -41,7 +53,7 @@ maxAjax.prototype.ajaxForm = function (e)
|
|
41 |
|
42 |
$(document).trigger('maxajax_formpost_' + action, [data,target]);
|
43 |
|
44 |
-
this.
|
45 |
|
46 |
this.ajaxPost(data);
|
47 |
}
|
@@ -50,7 +62,16 @@ maxAjax.prototype.ajaxForm = function (e)
|
|
50 |
maxAjax.prototype.ajaxCall = function (e)
|
51 |
{
|
52 |
e.preventDefault();
|
53 |
-
var target = e.target;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
var param = false;
|
56 |
var plugin_action = $(target).data('action');
|
@@ -68,7 +89,9 @@ maxAjax.prototype.ajaxCall = function (e)
|
|
68 |
data['param'] = param;
|
69 |
data['post'] = $('form').serialize(); // send it all
|
70 |
|
71 |
-
this.
|
|
|
|
|
72 |
|
73 |
this.ajaxPost(data);
|
74 |
}
|
@@ -105,7 +128,6 @@ maxAjax.prototype.ajaxPost = function(data, successHandler, errorHandler)
|
|
105 |
var errorHandler = function (r,s,o,) { self.defaultErrorHandler(r,s,o,action) } ;
|
106 |
}
|
107 |
|
108 |
-
|
109 |
$.ajax({
|
110 |
type: "POST",
|
111 |
url: maxajax.ajax_url,
|
3 |
/* Get the standard AJAX vars for this plugin */
|
4 |
|
5 |
function maxAjax() {
|
6 |
+
this.spinnerFunction = this.showSpinner;
|
7 |
+
this.successHandler = this.defaultSuccesHandler;
|
8 |
+
this.errorHandler = this.defaultErrorHandler;
|
9 |
}
|
10 |
|
11 |
maxAjax.prototype.init = function()
|
28 |
return data;
|
29 |
}
|
30 |
|
31 |
+
maxAjax.prototype.setFunction = function(type, new_function)
|
32 |
+
{
|
33 |
+
if (type == 'spinner')
|
34 |
+
{
|
35 |
+
this.spinnerFunction = new_function;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
maxAjax.prototype.ajaxForm = function (e)
|
40 |
{
|
41 |
e.preventDefault();
|
42 |
|
43 |
var target = $(e.target);
|
44 |
+
|
45 |
+
|
46 |
var form = $(target).parents('form');
|
47 |
var action = $(target).data('action');
|
48 |
|
53 |
|
54 |
$(document).trigger('maxajax_formpost_' + action, [data,target]);
|
55 |
|
56 |
+
this.spinnerFunction(target);
|
57 |
|
58 |
this.ajaxPost(data);
|
59 |
}
|
62 |
maxAjax.prototype.ajaxCall = function (e)
|
63 |
{
|
64 |
e.preventDefault();
|
65 |
+
var target = $(e.target);
|
66 |
+
|
67 |
+
if (! $(target).hasClass('.mb-ajax-action') && ! $(target).hasClass('.mb-ajax-action-change') )
|
68 |
+
{
|
69 |
+
if ($(target).parents('.mb-ajax-action'). length > 0)
|
70 |
+
target = $(e.target).parents('.mb-ajax-action');
|
71 |
+
|
72 |
+
if ($(target).parents('.mb-ajax-action-change'). length > 0)
|
73 |
+
target = $(e.target).parents('.mb-ajax-action');
|
74 |
+
}
|
75 |
|
76 |
var param = false;
|
77 |
var plugin_action = $(target).data('action');
|
89 |
data['param'] = param;
|
90 |
data['post'] = $('form').serialize(); // send it all
|
91 |
|
92 |
+
var spinnerFunc = this.spinnerFunction;
|
93 |
+
|
94 |
+
this.spinnerFunction(target);
|
95 |
|
96 |
this.ajaxPost(data);
|
97 |
}
|
128 |
var errorHandler = function (r,s,o,) { self.defaultErrorHandler(r,s,o,action) } ;
|
129 |
}
|
130 |
|
|
|
131 |
$.ajax({
|
132 |
type: "POST",
|
133 |
url: maxajax.ajax_url,
|
js/min/maxmodal.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function maxModal(){}maxModal.prototype={currentModal:null,modals:[],controls:[],parent:"#maxbuttons",multiple:!1,windowHeight:!1,windowWidth:!1,setWidth:!1,setHeight:!1,target:!1},maxModal.prototype.init=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),$(document).off("click",".maxmodal"),$(document).on("click",".maxmodal",$.proxy(this.buildModal,this)),$(window).on("resize",$.proxy(this.checkResize,this))},maxModal.prototype.focus=function(){this.currentModal.show()},maxModal.prototype.get=function(){return this.currentModal},maxModal.prototype.show=function(){$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),this.writeOverlay(),this.setWidth&&this.currentModal.width(this.setWidth),this.setHeight&&this.currentModal.height(this.setHeight);var t=this.currentModal.height(),o=this.currentModal.width(),e=(this.windowHeight-t)/2,a=(this.windowWidth-o)/2;e<30&&(e=30),t>this.windowHeight&&this.currentModal.height(this.windowHeight-e-5+"px"),this.currentModal.css("left",a+"px"),this.currentModal.css("top",e+"px"),this.currentModal.css("height",t),this.currentModal.show(),$(".maxmodal_overlay").show(),$("body").addClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this)),$(document).on("keydown",$.proxy(this.keyPressHandler,this)),this.currentModal.focus()},maxModal.prototype.keyPressHandler=function(t){27===t.keyCode&&this.close()},maxModal.prototype.checkResize=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),null!==this.currentModal&&(this.currentModal.removeAttr("style"),this.currentModal.find(".modal_content").removeAttr("style"),this.show())},maxModal.prototype.close=function(){this.currentModal.trigger("modal_close",[this]),this.currentModal.remove(),this.currentModal=null,$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this))},maxModal.prototype.fadeOut=function(t){void 0==typeof t&&(t=600);var o=this;this.currentModal.fadeOut(t,function(){o.close()})},maxModal.prototype.setTitle=function(t){this.currentModal.find(".modal_title").text(t)},maxModal.prototype.setControls=function(t){var o=this.currentModal.find(".modal_content"),e=$('<div class="controls">');for(i=0;i<this.controls.length;i++)e.append(this.controls[i]);void 0!==t&&e.append(t),o.append(e),$(this.currentModal).find(".modal_close").off("click"),$(this.currentModal).find(".modal_close").on("click",$.proxy(this.close,this))},maxModal.prototype.addControl=function(t,o,e){var a="";switch(t){case"yes":a=modaltext.yes;break;case"ok":a=modaltext.ok;break;case"no":a=modaltext.no;break;case"cancel":a=modaltext.cancel;break;case"insert":a=mbtrans.insert}var i=$('<a class="button-primary '+t+'">'+a+"</a>");i.on("click",o,e),this.controls.push(i)},maxModal.prototype.setContent=function(t){this.currentModal.find(".modal_content").html(t)},maxModal.prototype.buildModal=function(t){t.preventDefault();var o=$(t.target);void 0===o.data("modal")&&(o=o.parents(".maxmodal")),this.target=o;var e=o.data("modal"),a=$("#"+e);void 0!==a.data("width")?this.setWidth=a.data("width"):this.setWidth=!1,void 0!==a.data("height")?this.setHeight=a.data("height"):this.setHeight=!1;var i=$(a).find(".title").text(),d=$(a).find(".controls").html(),s=$(a).find(".content").html();if(this.newModal(e),this.setTitle(i),this.setContent(s),this.setControls(d),void 0!==$(a).data("load")){var l=a.data("load")+"(modal)",n=new Function("modal",l);try{n(this)}catch(t){console.log("MB Modal Callback Error: "+t.message),console.log("MB Mobdal tried calling: "+l)}}this.show()},maxModal.prototype.newModal=function(t){null!==this.currentModal&&this.close();var o=$('<div class="max-modal '+t+'" > \t\t\t\t\t\t <div class="modal_header"> \t\t\t\t\t\t\t <div class="modal_close dashicons dashicons-no"></div><h3 class="modal_title"></h3> \t\t\t\t\t\t </div> \t\t\t\t\t\t <div class="inner modal_content"></div>\t\t\t\t\t </div>');return $(this.parent).length>0?$(this.parent).append(o):$("body").append(o),$(o).draggable({handle:".modal_header"}),this.modals.push(o),this.currentModal=o,this.controls=[],this},maxModal.prototype.writeOverlay=function(){$(this.parent).append('<div class="maxmodal_overlay"></div>'),$(".maxmodal_overlay").on("click",$.proxy(this.close,this))};
|
1 |
+
function maxModal(){}maxModal.prototype={currentModal:null,modals:[],controls:[],parent:"#maxbuttons",multiple:!1,windowHeight:!1,windowWidth:!1,setWidth:!1,setHeight:!1,target:!1},maxModal.prototype.init=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),$(document).off("click",".maxmodal"),$(document).on("click",".maxmodal",$.proxy(this.buildModal,this)),$(window).on("resize",$.proxy(this.checkResize,this))},maxModal.prototype.focus=function(){this.currentModal.show()},maxModal.prototype.get=function(){return this.currentModal},maxModal.prototype.show=function(){$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),this.writeOverlay(),this.setWidth&&this.currentModal.width(this.setWidth),this.setHeight&&this.currentModal.height(this.setHeight);var t=this.currentModal.height(),o=this.currentModal.width(),e=(this.windowHeight-t)/2,a=(this.windowWidth-o)/2;e<30&&(e=30),t>this.windowHeight&&this.currentModal.height(this.windowHeight-e-5+"px"),this.currentModal.css("left",a+"px"),this.currentModal.css("top",e+"px"),this.currentModal.css("height",t),this.currentModal.show(),$(".maxmodal_overlay").show(),$("body").addClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this)),$(document).on("keydown",$.proxy(this.keyPressHandler,this)),this.currentModal.focus()},maxModal.prototype.keyPressHandler=function(t){27===t.keyCode&&this.close()},maxModal.prototype.checkResize=function(){this.windowHeight=$(window).height(),this.windowWidth=$(window).width(),null!==this.currentModal&&(this.currentModal.removeAttr("style"),this.currentModal.find(".modal_content").removeAttr("style"),this.show())},maxModal.prototype.close=function(){this.currentModal.trigger("modal_close",[this]),this.currentModal.remove(),this.currentModal=null,$(".maxmodal_overlay").remove(),$("body").removeClass("max-modal-active"),$(document).off("keydown",$.proxy(this.keyPressHandler,this))},maxModal.prototype.fadeOut=function(t){void 0==typeof t&&(t=600);var o=this;this.currentModal.fadeOut(t,function(){o.close()})},maxModal.prototype.setTitle=function(t){this.currentModal.find(".modal_title").text(t)},maxModal.prototype.setControls=function(t){var o=this.currentModal.find(".modal_content"),e=$('<div class="controls">');for(i=0;i<this.controls.length;i++)e.append(this.controls[i]);void 0!==t&&e.append(t),o.append(e),$(this.currentModal).find(".modal_close").off("click"),$(this.currentModal).find(".modal_close").on("click",$.proxy(this.close,this))},maxModal.prototype.addControl=function(t,o,e){var a="";switch(t){case"yes":a=modaltext.yes;break;case"ok":a=modaltext.ok;break;case"no":a=modaltext.no;break;case"cancel":a=modaltext.cancel;break;case"insert":a=mbtrans.insert}var i=$('<a class="button-primary '+t+'">'+a+"</a>");i.on("click",o,e),this.controls.push(i)},maxModal.prototype.setContent=function(t){this.currentModal.find(".modal_content").html(t)},maxModal.prototype.buildModal=function(t){t.preventDefault();var o=$(t.target);void 0===o.data("modal")&&(o=o.parents(".maxmodal")),this.target=o;var e=o.data("modal"),a=$("#"+e);void 0!==a.data("width")?this.setWidth=a.data("width"):this.setWidth=!1,void 0!==a.data("height")?this.setHeight=a.data("height"):this.setHeight=!1;var i=$(a).find(".title").text(),d=$(a).find(".controls").html(),s=$(a).find(".content").html();if(this.newModal(e),this.setTitle(i),this.setContent(s),this.setControls(d),void 0!==$(a).data("load")){var l=a.data("load")+"(modal)",n=new Function("modal",l);try{n(this)}catch(t){ex,console.log("MB Modal Callback Error: "+t.message),console.log("MB Mobdal tried calling: "+l)}}this.show()},maxModal.prototype.newModal=function(t){null!==this.currentModal&&this.close();var o=$('<div class="max-modal '+t+'" > \t\t\t\t\t\t <div class="modal_header"> \t\t\t\t\t\t\t <div class="modal_close dashicons dashicons-no"></div><h3 class="modal_title"></h3> \t\t\t\t\t\t </div> \t\t\t\t\t\t <div class="inner modal_content"></div>\t\t\t\t\t </div>');return $(this.parent).length>0?$(this.parent).append(o):$("body").append(o),$(o).draggable({handle:".modal_header"}),this.modals.push(o),this.currentModal=o,this.controls=[],this},maxModal.prototype.writeOverlay=function(){$(this.parent).append('<div class="maxmodal_overlay"></div>'),$(".maxmodal_overlay").on("click",$.proxy(this.close,this))};
|
maxbuttons.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: MaxButtons
|
4 |
Plugin URI: http://maxbuttons.com
|
5 |
Description: The best WordPress button generator. This is the free version; the Pro version <a href="http://maxbuttons.com/?ref=mbfree">can be found here</a>.
|
6 |
-
Version: 7.
|
7 |
Author: Max Foundry
|
8 |
Author URI: http://maxfoundry.com
|
9 |
Text Domain: maxbuttons
|
@@ -16,9 +16,9 @@ namespace MaxButtons;
|
|
16 |
if (! defined('MAXBUTTONS_ROOT_FILE'))
|
17 |
define("MAXBUTTONS_ROOT_FILE", __FILE__);
|
18 |
if (! defined('MAXBUTTONS_VERSION_NUM'))
|
19 |
-
define('MAXBUTTONS_VERSION_NUM', '7.
|
20 |
|
21 |
-
define('MAXBUTTONS_RELEASE',"
|
22 |
|
23 |
|
24 |
if (! function_exists('MaxButtons\maxbutton_double_load'))
|
3 |
Plugin Name: MaxButtons
|
4 |
Plugin URI: http://maxbuttons.com
|
5 |
Description: The best WordPress button generator. This is the free version; the Pro version <a href="http://maxbuttons.com/?ref=mbfree">can be found here</a>.
|
6 |
+
Version: 7.1
|
7 |
Author: Max Foundry
|
8 |
Author URI: http://maxfoundry.com
|
9 |
Text Domain: maxbuttons
|
16 |
if (! defined('MAXBUTTONS_ROOT_FILE'))
|
17 |
define("MAXBUTTONS_ROOT_FILE", __FILE__);
|
18 |
if (! defined('MAXBUTTONS_VERSION_NUM'))
|
19 |
+
define('MAXBUTTONS_VERSION_NUM', '7.1');
|
20 |
|
21 |
+
define('MAXBUTTONS_RELEASE',"10 Apr 2018");
|
22 |
|
23 |
|
24 |
if (! function_exists('MaxButtons\maxbutton_double_load'))
|
readme.txt
CHANGED
@@ -2,21 +2,24 @@
|
|
2 |
Contributors: maxfoundry, basszje, arcware, johnbhartley
|
3 |
Tags: wordpress button plugin, share button, wordpress buttons, css3 button generator, responsive buttons, css wordpress button
|
4 |
Requires at least: 4.8
|
5 |
-
Tested up to: 4.9.
|
6 |
Requires PHP: 5.3
|
7 |
-
Stable tag: 7.
|
8 |
|
9 |
WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
|
10 |
|
11 |
== Description ==
|
12 |
-
[MaxButtons](https://maxbuttons.com/?utm_source=repowp1&utm_medium=mbrepo&utm_content=mbr_maxbuttons&utm_campaign=mbr_maxbuttons) is a powerful WordPress button, share button and social icon plugin.
|
13 |
|
14 |
-
MaxButtons [WordPress button plugin](https://www.maxbuttons.com/#CSS3/?utm_source=repowbp&utm_medium=mbrepo&utm_content=wordpress_button_plugin&utm_campaign=repowbp) has been going strong for over 6 years and was the first button plugin for WordPress. MaxButtons has earned over 600 5
|
15 |
|
16 |
> “The best plugin of its kind” - by celito
|
17 |
|
18 |
> “This plugin makes creating buttons sooooo easy.” - by ncrocker202
|
19 |
|
|
|
|
|
|
|
20 |
> “Easy, clear, and robust. I'm a programmer and can write CSS till the cows come home, but why? Just get it, install it and use it. Then, when you're impressed, buy the pro version” - by jleahy
|
21 |
|
22 |
Max Foundry also makes the WordPress Gallery plugin [MaxGalleria](https://maxgalleria.com) and [WordPress Media Folders](https://maxgalleria.com/downloads/media-library-plus-pro/) plugin for real WordPress Media Library folders and [Welcome Mat Pro](https://welcomemat.io).
|
@@ -29,18 +32,16 @@ Max Foundry also makes the WordPress Gallery plugin [MaxGalleria](https://maxgal
|
|
29 |
= WordPress Buttons =
|
30 |
|
31 |
* [Create WordPress Buttons](https://maxbuttons.com/create-wordpress-button/?utm_source=repocreate&utm_medium=mbrepo&utm_content=how-to-create&utm_campaign=repocreate)
|
32 |
-
* Getting [Social Icons](https://maxbuttons.com/?utm_source=repoicons1&utm_medium=mbrepo&utm_content=social_sharing&utm_campaign=repoicons1) on your WordPress site.
|
33 |
-
* [Share Buttons](
|
34 |
-
* What is a [CSS3 Button Generator](https://maxbuttons.com/?utm_source=repocss3&utm_medium=mbrepo&utm_content=what-is-generator&utm_campaign=repocss3)?
|
35 |
* [WordPress button](https://maxbuttons.com/product-category/button-packs/?utm_source=repolibs&utm_medium=mbrepo&utm_content=button_pack&utm_campaign=repolibs) library and button sets can make my designers and developers more productive.
|
36 |
|
37 |
= MaxButtons =
|
38 |
|
39 |
* No coding, the plugin takes care of everything
|
40 |
-
* Includes 5 beautiful, configurable Social Share sets
|
41 |
* Button shortcodes for ease of use
|
42 |
* Create unlimited number of buttons
|
43 |
-
* Live preview window instantly
|
44 |
* Color picker for unlimited color combinations
|
45 |
* Works with all modern browsers, degrades gracefully for others
|
46 |
* Fully CSS3 compliant with text shadowing, box shadowing, gradients, etc.
|
@@ -73,22 +74,21 @@ Plus email and print icons.
|
|
73 |
|
74 |
In addition to promoting your content through MaxButtons share buttons you can also use share buttons to promote your social network profiles. Simply select a social icon or make a button, include the link to your profile and post the button shortcode on your page. Social icons are easy with MaxButtons!
|
75 |
|
76 |
-
|
77 |
= MaxButtons Pro =
|
78 |
|
79 |
Take your buttons to the next level with [MaxButtons Pro](https://www.maxbuttons.com/pricing/?utm_source=repombp&utm_medium=mbrepo&utm_content=MBPro&utm_campaign=repombp)!
|
80 |
|
81 |
Our premium WordPress plugin for buttons, share buttons and social icons brings you the [best WordPress button plugin](https://maxbuttons.com/?utm_source=mprepo&utm_medium=mbrepo&utm_content=best_css3_button&utm_campaign=repobestcss3) through continuous feature updating. Upgrading to the Pro version allows you to add icons and images to your custom WordPress buttons. The Pro features allow you to do so much more!
|
82 |
|
83 |
-
* **Icon Support** - Add icons to your buttons and customize placement and size.
|
84 |
* **Multi-line text** - Add a second line of text and stylize with font, size and placement.
|
85 |
* **Google Fonts** - We have included the entire set to help your buttons stand out with beautiful typography.
|
86 |
* **Button Packs** - Ready to use, value priced button sets that make any site good great.
|
87 |
-
* **Google Analytics** Event Tracking for WordPress Buttons. The best way to see you users’ interactions with buttons in Google Analytics. No coding needed.
|
88 |
* **Import/Export** - Useful for backing up and/or moving your buttons. Also, use any of the great free icons listed on our site.
|
89 |
* Include images in buttons.
|
90 |
* **Button Search** - for easier management of large button sets.
|
91 |
-
* **Font Awesome** -
|
92 |
* **Visual Composer** - Integrated with Visual Composer
|
93 |
* **Contact Form 7** Integration
|
94 |
* **Beaver Builder** Integration
|
@@ -251,6 +251,11 @@ Secondly, please use latin only characters for button name ( Basic settings) and
|
|
251 |
|
252 |
== Changelog ==
|
253 |
|
|
|
|
|
|
|
|
|
|
|
254 |
= 7.0 =
|
255 |
|
256 |
* Removed old Social Share from base plugin. Use WordPress Share Buttons ( http://wordpress.org/plugins/share-button/ )
|
@@ -387,189 +392,17 @@ Secondly, please use latin only characters for button name ( Basic settings) and
|
|
387 |
* Fixed lower save button not working in social share
|
388 |
* Fixed layout issue in Social Share
|
389 |
|
390 |
-
= 6.11.1 =
|
391 |
-
|
392 |
-
* Removed holiday sale
|
393 |
-
|
394 |
-
= 6.11 =
|
395 |
-
|
396 |
-
* Shortcode options in add button dialog
|
397 |
-
* Fixed crash when running PHP 7.1.0
|
398 |
-
|
399 |
-
= 6.10 =
|
400 |
-
|
401 |
-
* Fixed color issue with preview color running one click behind
|
402 |
-
* Fixed issue with hover gradients, when gradients are off
|
403 |
-
* Fixed text shadow issue in CSS output
|
404 |
-
|
405 |
-
= 6.9 =
|
406 |
-
|
407 |
-
* Tested for WP 4.7
|
408 |
-
* Improved copy colors
|
409 |
-
|
410 |
-
= 6.8 =
|
411 |
-
|
412 |
-
* Fixed several smaller bugs in responsive
|
413 |
-
* Fixed smaller layout issues ( consistency )
|
414 |
-
* Upgraded SCSSPHP parser to 0.40
|
415 |
-
* Fixed 'undefined variable' in responsive
|
416 |
-
|
417 |
-
= 6.7 =
|
418 |
-
|
419 |
-
* Button height in responsive settings
|
420 |
-
* Fixed responsive bug regarding hiding option
|
421 |
-
* Responsive settings updated
|
422 |
-
* Add Button Dialog updated (more clear)
|
423 |
-
* Colorpicker slightly bigger
|
424 |
-
|
425 |
-
= 6.6 =
|
426 |
-
|
427 |
-
* Improved tab index on button editor.
|
428 |
-
* Fixed Copy Color button position in Chrome
|
429 |
-
* Fixed minor CSS issues
|
430 |
-
|
431 |
-
= 6.5 =
|
432 |
-
|
433 |
-
* Gradient background color option can be switched on and off
|
434 |
-
* New material switches to replace the checkboxes
|
435 |
-
|
436 |
-
= 6.4 =
|
437 |
-
|
438 |
-
* Copy colors feature added
|
439 |
-
* Fixed several small issues with the color picker
|
440 |
-
|
441 |
-
= 6.3 =
|
442 |
-
|
443 |
-
* Updated Features page
|
444 |
-
|
445 |
-
|
446 |
-
= 6.2 =
|
447 |
-
|
448 |
-
* Improved visibility of the color picker
|
449 |
-
* Fixed possible rendering issue with Box Shadow
|
450 |
-
* Fixed: in rare case the button could overlay the action buttons in the overview
|
451 |
-
|
452 |
-
= 6.1 =
|
453 |
-
|
454 |
-
* Several updates to the Color Picker
|
455 |
-
* Box Shadow spread option added
|
456 |
-
* Fixed conflict with important and box shadow setting
|
457 |
-
|
458 |
-
= 6.0 =
|
459 |
-
|
460 |
-
* Version 6 milestone
|
461 |
-
* Fixed small styling issue in header
|
462 |
-
* Updated link in plugin
|
463 |
-
|
464 |
-
= 5.13 =
|
465 |
-
|
466 |
-
* Fixed several notices when creating new buttons
|
467 |
-
* Buttons will now always have 'pointer' cursor
|
468 |
-
|
469 |
-
= 5.12 =
|
470 |
|
471 |
-
|
472 |
-
* Border radius can be locked to change all sides at onces.
|
473 |
-
* Cleanup of JS functions.
|
474 |
-
|
475 |
-
= 5.11 =
|
476 |
-
|
477 |
-
* Improvements to layout for small and mobile views
|
478 |
-
* Optimizations to modal on resizing
|
479 |
-
* Social icons for Eyeem added
|
480 |
-
|
481 |
-
= 5.10 =
|
482 |
-
|
483 |
-
* Fixed issue with background when using gradients
|
484 |
-
* Collection name is shown in button overview when button is in collection
|
485 |
-
* Database checks and failovers improved
|
486 |
-
* Several small updates to styling and layout
|
487 |
-
* Fixed display issue showing pack name / description when empty
|
488 |
-
|
489 |
-
= 5.9 =
|
490 |
-
|
491 |
-
* Greatly improved modal layouts
|
492 |
-
* Fixed - Social Share : non-existing buttons will not show.
|
493 |
-
* Child-spans now inherit background settings from parent anchor
|
494 |
-
|
495 |
-
= 5.8 =
|
496 |
-
|
497 |
-
* Fixed - Social Share remove button visible again
|
498 |
-
* Fixed - Social Share button without attached network no longer open as popup by default.
|
499 |
-
* Fixed - Custom Media Queries disabled after saving
|
500 |
-
* Description field can now be hidden via settings
|
501 |
-
* Various layout optimizations
|
502 |
-
* Tested for version 4.6
|
503 |
-
|
504 |
-
= 5.7 =
|
505 |
-
|
506 |
-
* Fixed omission in button clear function causing not to clear fully
|
507 |
-
* Fixed typo in Social Share shortcode
|
508 |
-
* Fixed social share bug, not correctly removing counts in certain situations
|
509 |
-
* Fixed social share icons not having cursor pointer
|
510 |
-
* Fixed Text Shadow bug with buttons having only shadow top set.
|
511 |
-
* Inline loading of social share collections
|
512 |
-
|
513 |
-
= 5.6 =
|
514 |
-
|
515 |
-
* Updated Social Share welcome message
|
516 |
-
* Updated Readme text
|
517 |
-
* Tested for WP 4.5.3
|
518 |
-
|
519 |
-
= 5.5 =
|
520 |
-
|
521 |
-
* Fixed CSS in review notice
|
522 |
-
* Fixed title issue with support topic titles
|
523 |
-
* Fixed small outlining issues in button editor
|
524 |
-
|
525 |
-
= 5.4 =
|
526 |
-
|
527 |
-
* Colorpicker code enhanced
|
528 |
-
* Updated container options interface
|
529 |
-
|
530 |
-
= 5.3 =
|
531 |
-
|
532 |
-
* Increased performance for shortcode when having an URL in shortcode.
|
533 |
-
* Fixed bug Border Shadow not showing when blur is zero.
|
534 |
-
* Fixed bug Text Shadow not showing when blur is zero.
|
535 |
-
* Fixed issue Text not displaying in preview when button was saved without text
|
536 |
-
* Minified all Javascript in plugin for faster performance.
|
537 |
-
|
538 |
-
|
539 |
-
= 5.2 =
|
540 |
-
|
541 |
-
* Fixed version check to enhance database upgrades
|
542 |
-
* Fixed Add buttons dialog in Beaver Builder
|
543 |
-
* Extra check for social sharing not to load on WP login pages
|
544 |
-
|
545 |
-
= 5.1 =
|
546 |
-
|
547 |
-
* Better pagination and display on Add Button dialog
|
548 |
-
* Fixed certain Social Share default values .
|
549 |
-
* Made number fields slightly larger
|
550 |
-
* Tested up to 4.5.2
|
551 |
-
|
552 |
-
= 5.0 =
|
553 |
-
|
554 |
-
* New button editor interface
|
555 |
-
* Removed maximum length of text fields
|
556 |
-
* Performance: Javascript loading streamlined
|
557 |
-
* Fixed: Removal of social sharing collections
|
558 |
-
* Improved social share picker
|
559 |
-
* Fixed Window resize bug in popups
|
560 |
-
* Fixed Array Bug in Social block
|
561 |
|
|
|
562 |
|
563 |
-
|
564 |
|
565 |
= 3.19 =
|
566 |
|
567 |
URL handling has been changed. If you use non-usual URL's in your buttons please let us know directly if you encounter any problems.
|
568 |
|
569 |
-
= 4.0 =
|
570 |
-
|
571 |
-
This major update includes new Social sharing features. If you run into issues please let us know via support. Experiences are also welcome!
|
572 |
-
|
573 |
= 3.0 =
|
574 |
Attention! This is a big upgrade from 2.x. Before installation it's adviced take a backup. In case your buttons don't appear after upgrading,
|
575 |
please try to deactivate and activate the plugin again
|
2 |
Contributors: maxfoundry, basszje, arcware, johnbhartley
|
3 |
Tags: wordpress button plugin, share button, wordpress buttons, css3 button generator, responsive buttons, css wordpress button
|
4 |
Requires at least: 4.8
|
5 |
+
Tested up to: 4.9.5
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 7.1
|
8 |
|
9 |
WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
|
10 |
|
11 |
== Description ==
|
12 |
+
[MaxButtons](https://maxbuttons.com/?utm_source=repowp1&utm_medium=mbrepo&utm_content=mbr_maxbuttons&utm_campaign=mbr_maxbuttons) is a powerful WordPress button, share button and social icon plugin. Create great looking CSS3 WordPress buttons in a minute. Easy to understand. Our button editor with live preview makes it a snap to generate awesome responsive buttons in very little time. The social share buttons and social icon features allow you to add social options to your website in minutes.
|
13 |
|
14 |
+
MaxButtons [WordPress button plugin](https://www.maxbuttons.com/#CSS3/?utm_source=repowbp&utm_medium=mbrepo&utm_content=wordpress_button_plugin&utm_campaign=repowbp) has been going strong for over 6 years and was the first button plugin for WordPress. MaxButtons has earned over 600 5-star reviews and over 1.5 million downloads. Here are couple of our favorites:
|
15 |
|
16 |
> “The best plugin of its kind” - by celito
|
17 |
|
18 |
> “This plugin makes creating buttons sooooo easy.” - by ncrocker202
|
19 |
|
20 |
+
> Why aren’t all plugins like this?!?
|
21 |
+
MaxButtons easily solved my problem with lots of options when creating the button and a live view of what it was going to look like. It would have done the job for me there and then but being able to adjust the text AND link with shortcodes on my page made modifications a breeze. - by discgosforth
|
22 |
+
|
23 |
> “Easy, clear, and robust. I'm a programmer and can write CSS till the cows come home, but why? Just get it, install it and use it. Then, when you're impressed, buy the pro version” - by jleahy
|
24 |
|
25 |
Max Foundry also makes the WordPress Gallery plugin [MaxGalleria](https://maxgalleria.com) and [WordPress Media Folders](https://maxgalleria.com/downloads/media-library-plus-pro/) plugin for real WordPress Media Library folders and [Welcome Mat Pro](https://welcomemat.io).
|
32 |
= WordPress Buttons =
|
33 |
|
34 |
* [Create WordPress Buttons](https://maxbuttons.com/create-wordpress-button/?utm_source=repocreate&utm_medium=mbrepo&utm_content=how-to-create&utm_campaign=repocreate)
|
35 |
+
* Getting [Social Icons](https://maxbuttons.com/wordpress-share-buttons/?utm_source=repoicons1&utm_medium=mbrepo&utm_content=social_sharing&utm_campaign=repoicons1) on your WordPress site.
|
36 |
+
* [Share Buttons](http://wordpress.org/plugins/share-button/) on your WordPress site.
|
|
|
37 |
* [WordPress button](https://maxbuttons.com/product-category/button-packs/?utm_source=repolibs&utm_medium=mbrepo&utm_content=button_pack&utm_campaign=repolibs) library and button sets can make my designers and developers more productive.
|
38 |
|
39 |
= MaxButtons =
|
40 |
|
41 |
* No coding, the plugin takes care of everything
|
|
|
42 |
* Button shortcodes for ease of use
|
43 |
* Create unlimited number of buttons
|
44 |
+
* Live preview window instantly updates as you customize your buttons
|
45 |
* Color picker for unlimited color combinations
|
46 |
* Works with all modern browsers, degrades gracefully for others
|
47 |
* Fully CSS3 compliant with text shadowing, box shadowing, gradients, etc.
|
74 |
|
75 |
In addition to promoting your content through MaxButtons share buttons you can also use share buttons to promote your social network profiles. Simply select a social icon or make a button, include the link to your profile and post the button shortcode on your page. Social icons are easy with MaxButtons!
|
76 |
|
|
|
77 |
= MaxButtons Pro =
|
78 |
|
79 |
Take your buttons to the next level with [MaxButtons Pro](https://www.maxbuttons.com/pricing/?utm_source=repombp&utm_medium=mbrepo&utm_content=MBPro&utm_campaign=repombp)!
|
80 |
|
81 |
Our premium WordPress plugin for buttons, share buttons and social icons brings you the [best WordPress button plugin](https://maxbuttons.com/?utm_source=mprepo&utm_medium=mbrepo&utm_content=best_css3_button&utm_campaign=repobestcss3) through continuous feature updating. Upgrading to the Pro version allows you to add icons and images to your custom WordPress buttons. The Pro features allow you to do so much more!
|
82 |
|
83 |
+
* **Icon Support** - Add icons and images to your buttons and customize placement and size.
|
84 |
* **Multi-line text** - Add a second line of text and stylize with font, size and placement.
|
85 |
* **Google Fonts** - We have included the entire set to help your buttons stand out with beautiful typography.
|
86 |
* **Button Packs** - Ready to use, value priced button sets that make any site good great.
|
87 |
+
* **Google Analytics** [Event Tracking for WordPress Buttons](https://maxbuttons.com/google-analytics-event-tracking/). The best way to see you users’ interactions with buttons in Google Analytics. No coding needed.
|
88 |
* **Import/Export** - Useful for backing up and/or moving your buttons. Also, use any of the great free icons listed on our site.
|
89 |
* Include images in buttons.
|
90 |
* **Button Search** - for easier management of large button sets.
|
91 |
+
* **Font Awesome 5** - Largest icon collection, fastest served
|
92 |
* **Visual Composer** - Integrated with Visual Composer
|
93 |
* **Contact Form 7** Integration
|
94 |
* **Beaver Builder** Integration
|
251 |
|
252 |
== Changelog ==
|
253 |
|
254 |
+
= 7.1 =
|
255 |
+
|
256 |
+
* Vertical align now working
|
257 |
+
* Fixed issue with selecting buttons via SiteOrigin Page Builder
|
258 |
+
|
259 |
= 7.0 =
|
260 |
|
261 |
* Removed old Social Share from base plugin. Use WordPress Share Buttons ( http://wordpress.org/plugins/share-button/ )
|
392 |
* Fixed lower save button not working in social share
|
393 |
* Fixed layout issue in Social Share
|
394 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
|
396 |
+
== Upgrade Notice ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
|
398 |
+
= 4.0 =
|
399 |
|
400 |
+
This major update includes new Social sharing features. If you run into issues please let us know via support. Experiences are also welcome!
|
401 |
|
402 |
= 3.19 =
|
403 |
|
404 |
URL handling has been changed. If you use non-usual URL's in your buttons please let us know directly if you encounter any problems.
|
405 |
|
|
|
|
|
|
|
|
|
406 |
= 3.0 =
|
407 |
Attention! This is a big upgrade from 2.x. Before installation it's adviced take a backup. In case your buttons don't appear after upgrading,
|
408 |
please try to deactivate and activate the plugin again
|