WordPress Button Plugin MaxButtons - Version 8.4

Version Description

  • [Tweak] Elementor button preview now works better
  • [Fix] TablePress Advanced Editor Button Popup now works.
  • Tested on PHP 8.0
  • Tested for WordPress 5.6
Download this release

Release Info

Developer basszje
Plugin Icon 128x128 WordPress Button Plugin MaxButtons
Version 8.4
Comparing to
See all releases

Code changes from version 8.3 to 8.4

assets/css/maxmodal.css CHANGED
@@ -14,7 +14,7 @@ body.max-modal-active {
14
  position: fixed;
15
  left: 50%;
16
  top: 50%;
17
- z-index: 100101;
18
  display: none;
19
  background: #ffffff;
20
  border-radius: 4px 4px 4px 4px;
@@ -129,5 +129,5 @@ body.max-modal-active {
129
  height: 100%;
130
  position: fixed;
131
  opacity: 0.7;
132
- z-index: 100100;
133
  display: none; }
14
  position: fixed;
15
  left: 50%;
16
  top: 50%;
17
+ z-index: 100105;
18
  display: none;
19
  background: #ffffff;
20
  border-radius: 4px 4px 4px 4px;
129
  height: 100%;
130
  position: fixed;
131
  opacity: 0.7;
132
+ z-index: 100104;
133
  display: none; }
assets/integrations/elementor/elementor.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace MaxButtons;
3
+ defined('ABSPATH') or die('No direct access permitted');
4
+
5
+
6
+ class MBElementor
7
+ {
8
+
9
+ public function __construct()
10
+ {
11
+ $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : false;
12
+
13
+ if ( ($action == 'elementor' || $action == 'elementor_ajax') && is_admin())
14
+ {
15
+ add_filter('mb_shortcode_display_args', array($this, 'shortcode_args'));
16
+ }
17
+ }
18
+
19
+ public function shortcode_args($args)
20
+ {
21
+
22
+ $args['load_css'] = 'inline';
23
+ return $args;
24
+ }
25
+
26
+ }
27
+
28
+ $mbelem = new MBElementor();
assets/scss/maxmodal.scss CHANGED
@@ -21,7 +21,7 @@ body.max-modal-active {
21
  left: 50%;
22
  top: 50%;
23
  //overflow-y: auto;
24
- z-index: 100101; // just trying to stay on top, don't blame me.
25
 
26
  &.fullscreen {
27
  width: auto;
@@ -173,7 +173,7 @@ body.max-modal-active {
173
  height: 100%;
174
  position: fixed;
175
  opacity : 0.7;
176
- z-index: 100100;
177
  display: none;
178
 
179
  }
21
  left: 50%;
22
  top: 50%;
23
  //overflow-y: auto;
24
+ z-index: 100105; // just trying to stay on top, don't blame me. -- It's war now!
25
 
26
  &.fullscreen {
27
  width: auto;
173
  height: 100%;
174
  position: fixed;
175
  opacity : 0.7;
176
+ z-index: 100104;
177
  display: none;
178
 
179
  }
classes/integrations.php CHANGED
@@ -16,6 +16,14 @@ class maxIntegrations
16
  // This are the ones that also can't crash the plugin, since it's hook based - no hook - no call.
17
  self::doDirectInit();
18
 
 
 
 
 
 
 
 
 
19
  //remove_action( 'wp_ajax_fusion_pallete_elements', array( $instance,'get_pallete_elements') );
20
  }
21
 
@@ -33,7 +41,8 @@ class maxIntegrations
33
  require_once( $integration_path . "gutenberg/gutenberg.php");
34
  require_once( $integration_path . "cache/cache.php");
35
  require_once( $integration_path . "tablepress/tablepress.php");
36
- require_once( $integration_path . "beaver_builder/beaver_builder.php");
 
37
 
38
  do_action('maxbutton-direct-integrations');
39
 
16
  // This are the ones that also can't crash the plugin, since it's hook based - no hook - no call.
17
  self::doDirectInit();
18
 
19
+ /* add_filter( 'elementor/widget/render_content', function ($content, $widget)
20
+ {
21
+ var_dump($widget);
22
+ return $content;
23
+ }, 2, 10); */
24
+
25
+
26
+
27
  //remove_action( 'wp_ajax_fusion_pallete_elements', array( $instance,'get_pallete_elements') );
28
  }
29
 
41
  require_once( $integration_path . "gutenberg/gutenberg.php");
42
  require_once( $integration_path . "cache/cache.php");
43
  require_once( $integration_path . "tablepress/tablepress.php");
44
+ require_once( $integration_path . "beaver_builder/beaver_builder.php");
45
+ require_once( $integration_path . "elementor/elementor.php");
46
 
47
  do_action('maxbutton-direct-integrations');
48
 
classes/maxbuttons-admin-helper.php CHANGED
@@ -104,7 +104,7 @@ class maxAdmin
104
  {
105
  //$created = get_option("MBFREE_CREATED");
106
  //$show = time() + (7* DAY_IN_SECONDS);
107
- $show = time() + (2* DAY_IN_SECONDS); // Changed
108
  update_user_meta($current_user_id, 'maxbuttons_review_notice', $show);
109
  return;
110
  }
@@ -118,7 +118,6 @@ class maxAdmin
118
  elseif (is_numeric($review))
119
  {
120
  $now = time();
121
-
122
  if ($now > $review)
123
  {
124
  $display_review = true;
@@ -156,12 +155,14 @@ class maxAdmin
156
 
157
  update_user_meta($current_user_id, 'maxbuttons_review_notice', $later);
158
  }
 
159
  if ($status == 'reviewoffer-dismiss') // different ad!
160
  {
161
  $updated = true;
162
  update_user_meta($current_user_id, 'maxbuttons_review_offer', 'off');
163
 
164
  }
 
165
 
166
  echo json_encode(array("updated" => $updated)) ;
167
 
@@ -289,7 +290,7 @@ class maxAdmin
289
  <div class='review-logo'></div>
290
  <div class='mb-notice'>
291
  <p class='title'><?php _e("Is there a feature you would like for us to add to <b>MaxButtons</b>? <br> Let us know.","maxbuttons"); ?></p>
292
- <p><?php printf(__("Send your suggestions to %s","maxbuttons"), '<a href="mailto:support@maxfoundry.com">support@maxfoundry.com</a>'); ?></p>
293
 
294
 
295
  </div>
104
  {
105
  //$created = get_option("MBFREE_CREATED");
106
  //$show = time() + (7* DAY_IN_SECONDS);
107
+ $show = time() + (1* DAY_IN_SECONDS); // Changed
108
  update_user_meta($current_user_id, 'maxbuttons_review_notice', $show);
109
  return;
110
  }
118
  elseif (is_numeric($review))
119
  {
120
  $now = time();
 
121
  if ($now > $review)
122
  {
123
  $display_review = true;
155
 
156
  update_user_meta($current_user_id, 'maxbuttons_review_notice', $later);
157
  }
158
+ /* Seems not here anymore
159
  if ($status == 'reviewoffer-dismiss') // different ad!
160
  {
161
  $updated = true;
162
  update_user_meta($current_user_id, 'maxbuttons_review_offer', 'off');
163
 
164
  }
165
+ */
166
 
167
  echo json_encode(array("updated" => $updated)) ;
168
 
290
  <div class='review-logo'></div>
291
  <div class='mb-notice'>
292
  <p class='title'><?php _e("Is there a feature you would like for us to add to <b>MaxButtons</b>? <br> Let us know.","maxbuttons"); ?></p>
293
+ <p><?php printf(__("Send your suggestions to %s","maxbuttons"), '<a href="mailto:support@maxfoundry.com?subject=Suggestion for MaxButtons">support@maxfoundry.com</a>'); ?></p>
294
 
295
 
296
  </div>
classes/maxbuttons-class.php CHANGED
@@ -519,7 +519,7 @@ class maxButtonsPlugin
519
  - Check developer console (F12) on your browser to check which script is causing the issue %s
520
  - Contact our support %s
521
  ', 'maxbuttons'), '<br>','<br>','<br>','<br>'),
522
- 'initFailedDetectedErrors' => '<h3>' . __('Detected Errors:', 'maxbuttons') . '</h3>',
523
  ));
524
  wp_register_script('maxbuttons-tabs', $this->js_url . 'maxtabs.js', array('jquery') ,$this->version, true);
525
 
519
  - Check developer console (F12) on your browser to check which script is causing the issue %s
520
  - Contact our support %s
521
  ', 'maxbuttons'), '<br>','<br>','<br>','<br>'),
522
+ 'initFailedDetectedErrors' => '<h3>' . __('Detected Errors:', 'maxbuttons') . '</h3>',
523
  ));
524
  wp_register_script('maxbuttons-tabs', $this->js_url . 'maxtabs.js', array('jquery') ,$this->version, true);
525
 
js/media_button.js CHANGED
@@ -23,9 +23,7 @@ jQuery(document).ready(function(jq) {
23
  }
24
  if (typeof window.maxFoundry.maxAjax !== 'object')
25
  {
26
-
27
  window.maxFoundry.maxAjax = new maxAjax();
28
-
29
  window.maxFoundry.maxAjax.init();
30
  }
31
 
@@ -66,6 +64,9 @@ jQuery(document).ready(function(jq) {
66
 
67
  maxMedia.prototype.openModal = function()
68
  {
 
 
 
69
  this.maxmodal.newModal('media-popup');
70
 
71
  this.maxmodal.parent = this.parent;
@@ -279,11 +280,29 @@ jQuery(document).ready(function(jq) {
279
  maxMedia.prototype.buttonToEditor = function (button_id)
280
  {
281
  shortcode = this.generateShortcode(button_id);
282
- window.send_to_editor(shortcode, button_id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  }
284
 
285
  maxMedia.prototype.close = function()
286
  {
 
 
 
287
  this.maxmodal.close();
288
  }
289
 
23
  }
24
  if (typeof window.maxFoundry.maxAjax !== 'object')
25
  {
 
26
  window.maxFoundry.maxAjax = new maxAjax();
 
27
  window.maxFoundry.maxAjax.init();
28
  }
29
 
64
 
65
  maxMedia.prototype.openModal = function()
66
  {
67
+ if (typeof window.tp !== 'undefined') // TablePress Fix.
68
+ $( '#advanced-editor' ).wpdialog( 'close' );
69
+
70
  this.maxmodal.newModal('media-popup');
71
 
72
  this.maxmodal.parent = this.parent;
280
  maxMedia.prototype.buttonToEditor = function (button_id)
281
  {
282
  shortcode = this.generateShortcode(button_id);
283
+
284
+ if (typeof window.send_to_editor == 'function')
285
+ {
286
+ window.send_to_editor(shortcode, button_id);
287
+ }
288
+ else // ohoh
289
+ {
290
+ if (typeof window.tp !== 'undefined') // TablePress Fix.
291
+ {
292
+ var html = $('#advanced-editor-content').val();
293
+ html += shortcode;
294
+ $('#advanced-editor-content').val(html);
295
+
296
+ $( '#advanced-editor' ).wpdialog( 'open' );
297
+ }
298
+ }
299
  }
300
 
301
  maxMedia.prototype.close = function()
302
  {
303
+ //var event = {shiftKey: true};
304
+ //event.shiftKey = true;
305
+ //window.tp.cells.advanced_editor.keyopen(event);
306
  this.maxmodal.close();
307
  }
308
 
js/min/media_button.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(t){function o(){"object"!=typeof window.maxFoundry.maxmodal&&(window.maxFoundry.maxmodal=new maxModal,window.maxFoundry.maxmodal.init()),"object"!=typeof window.maxFoundry.maxAjax&&(window.maxFoundry.maxAjax=new maxAjax,window.maxFoundry.maxAjax.init()),this.maxmodal=window.maxFoundry.maxmodal,this.maxajax=window.maxFoundry.maxAjax}$=t,(o.prototype={parent:"body",is_active:!1,maxmodal:null,maxajax:null,callback:null,useShortCodeOptions:!0,shortcodeData:null,getPage:1,ajaxSuccessHandler:null}).init=function(t){void 0!==t&&(void 0!==t.callback&&(this.callback=t.callback||null),void 0!==t.useShortCodeOptions&&(this.useShortCodeOptions=t.useShortCodeOptions),void 0!==t.parent&&(this.parent=t.parent)),this.ajaxSuccessHandler=$.proxy(this.putContent,this),$(document).off("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).on("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).off("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).on("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).off("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).on("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).off("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this)),$(document).on("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this))},o.prototype.openModal=function(){this.maxmodal.newModal("media-popup"),this.maxmodal.parent=this.parent,this.maxmodal.setTitle(mbtrans.windowtitle),this.maxmodal.setContent('<span class="loading"></span>'),this.maxmodal.show(),this.maxajax.showSpinner($(".loading")),this.loadButtons(),this.is_active=!0},o.prototype.loadButtons=function(){var t=this.maxajax.ajaxInit();t.plugin_action="getAjaxButtons",t.page=this.getPage,this.maxajax.ajaxPost(t,this.ajaxSuccessHandler)},o.prototype.putContent=function(t){t=JSON.parse(t);this.maxajax.removeSpinner(),void 0!==t.output&&this.maxmodal.setContent(t.output),void 0!==t.action&&$(document).trigger("media_button_content_"+t.action,t)},o.prototype.hookButtonAction=function(){$(document).off("click",".button-list"),$(document).on("click",".button-list",$.proxy(function(t){var o=$(t.target);void 0===$(o).data("button")&&(o=$(o).parents(".button-list"));var a=$(o).data("button");$(".button-list").removeClass("selected"),$(o).addClass("selected"),$(".controls .button-primary").data("button",a),this.maxmodal.currentModal.find(".controls .button-primary").removeClass("disabled")},this)),$(document).off("click",".button-preview a"),$(document).on("click",".button-preview a",function(t){t.preventDefault()}),this.maxmodal.resetControls(),this.useShortCodeOptions?this.maxmodal.addControl(mbtrans.use,"",$.proxy(this.shortCodeOptions,this)):this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),this.maxmodal.currentModal.find(".controls .button-primary").addClass("disabled"),this.maxmodal.checkResize()},o.prototype.hookShortCodeAction=function(t,o){this.shortcodeData=o.shortcodeData;var a=o.button_id;this.maxmodal.resetControls(),this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),$(this.maxmodal.currentModal).find(".controls .button-primary").data("button",a),$(this.maxmodal.currentModal).find(".more-options a").off("click"),$(this.maxmodal.currentModal).find(".more-options a").on("click",$.proxy(function(t){$(this.maxmodal.currentModal).find(".more-field").show(),$(t.target).parents(".option .more").hide(),this.maxmodal.checkResize()},this)),this.maxmodal.checkResize()},o.prototype.selectAction=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button");void 0===o||parseInt(o)<=0||("function"==typeof this.callback?this.callback(o,$(t.target)):(this.buttonToEditor(o),this.close()))}},o.prototype.shortCodeOptions=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button"),a=this.maxajax.ajaxInit();a.plugin_action="mediaShortcodeOptions",a.button_id=o,this.maxajax.ajaxPost(a,this.ajaxSuccessHandler)}},o.prototype.doInputPagination=function(t){t.preventDefault();var o=$(t.target),a=parseInt(o.data("current")),n=parseInt(o.val()),i=parseInt(o.attr("max"));n!=a&&n>=1&&n<=i&&(this.getPage=n,this.loadButtons())},o.prototype.doPagination=function(t){if(t.preventDefault(),$(t.target).hasClass("disabled"))return!1;var o=$(t.target).data("page");o<=1&&(o=1),this.getPage=o,this.loadButtons()},o.prototype.generateShortcode=function(t){var o='[maxbutton id="'+t+'"';return void 0!==this.shortcodeData&&$(this.shortcodeData).each(function(t,a){var n=$('input[name="'+a.name+'"]'),i=$('input[name="'+a.name+'"]').val();if("checkbox"==n.attr("type")){var e=n.is(":checked");e!=a.original&&(o+=e?" "+a.shortcode+'="'+a.checked+'"':" "+a.shortcode+'="'+a.unchecked+'"')}else i!=a.original&&(o+=" "+a.shortcode+'="'+i+'"')}),o+=" ] "},o.prototype.buttonToEditor=function(t){shortcode=this.generateShortcode(t),window.send_to_editor(shortcode,t)},o.prototype.close=function(){this.maxmodal.close()},void 0===window.maxFoundry&&(window.maxFoundry={}),window.maxFoundry.maxMedia=o});
1
+ jQuery(document).ready(function(t){function o(){"object"!=typeof window.maxFoundry.maxmodal&&(window.maxFoundry.maxmodal=new maxModal,window.maxFoundry.maxmodal.init()),"object"!=typeof window.maxFoundry.maxAjax&&(window.maxFoundry.maxAjax=new maxAjax,window.maxFoundry.maxAjax.init()),this.maxmodal=window.maxFoundry.maxmodal,this.maxajax=window.maxFoundry.maxAjax}$=t,(o.prototype={parent:"body",is_active:!1,maxmodal:null,maxajax:null,callback:null,useShortCodeOptions:!0,shortcodeData:null,getPage:1,ajaxSuccessHandler:null}).init=function(t){void 0!==t&&(void 0!==t.callback&&(this.callback=t.callback||null),void 0!==t.useShortCodeOptions&&(this.useShortCodeOptions=t.useShortCodeOptions),void 0!==t.parent&&(this.parent=t.parent)),this.ajaxSuccessHandler=$.proxy(this.putContent,this),$(document).off("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).on("click",".pagination span, .pagination-links a",$.proxy(this.doPagination,this)),$(document).off("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).on("change",".pagination-links .input-paging",$.proxy(this.doInputPagination,this)),$(document).off("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).on("media_button_content_buttons_load",$.proxy(this.hookButtonAction,this)),$(document).off("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this)),$(document).on("media_button_content_shortcode_options",$.proxy(this.hookShortCodeAction,this))},o.prototype.openModal=function(){void 0!==window.tp&&$("#advanced-editor").wpdialog("close"),this.maxmodal.newModal("media-popup"),this.maxmodal.parent=this.parent,this.maxmodal.setTitle(mbtrans.windowtitle),this.maxmodal.setContent('<span class="loading"></span>'),this.maxmodal.show(),this.maxajax.showSpinner($(".loading")),this.loadButtons(),this.is_active=!0},o.prototype.loadButtons=function(){var t=this.maxajax.ajaxInit();t.plugin_action="getAjaxButtons",t.page=this.getPage,this.maxajax.ajaxPost(t,this.ajaxSuccessHandler)},o.prototype.putContent=function(t){t=JSON.parse(t);this.maxajax.removeSpinner(),void 0!==t.output&&this.maxmodal.setContent(t.output),void 0!==t.action&&$(document).trigger("media_button_content_"+t.action,t)},o.prototype.hookButtonAction=function(){$(document).off("click",".button-list"),$(document).on("click",".button-list",$.proxy(function(t){var o=$(t.target);void 0===$(o).data("button")&&(o=$(o).parents(".button-list"));var a=$(o).data("button");$(".button-list").removeClass("selected"),$(o).addClass("selected"),$(".controls .button-primary").data("button",a),this.maxmodal.currentModal.find(".controls .button-primary").removeClass("disabled")},this)),$(document).off("click",".button-preview a"),$(document).on("click",".button-preview a",function(t){t.preventDefault()}),this.maxmodal.resetControls(),this.useShortCodeOptions?this.maxmodal.addControl(mbtrans.use,"",$.proxy(this.shortCodeOptions,this)):this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),this.maxmodal.currentModal.find(".controls .button-primary").addClass("disabled"),this.maxmodal.checkResize()},o.prototype.hookShortCodeAction=function(t,o){this.shortcodeData=o.shortcodeData;var a=o.button_id;this.maxmodal.resetControls(),this.maxmodal.addControl(mbtrans.insert,"",$.proxy(this.selectAction,this)),this.maxmodal.setControls(),$(this.maxmodal.currentModal).find(".controls .button-primary").data("button",a),$(this.maxmodal.currentModal).find(".more-options a").off("click"),$(this.maxmodal.currentModal).find(".more-options a").on("click",$.proxy(function(t){$(this.maxmodal.currentModal).find(".more-field").show(),$(t.target).parents(".option .more").hide(),this.maxmodal.checkResize()},this)),this.maxmodal.checkResize()},o.prototype.selectAction=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button");void 0===o||parseInt(o)<=0||("function"==typeof this.callback?this.callback(o,$(t.target)):(this.buttonToEditor(o),this.close()))}},o.prototype.shortCodeOptions=function(t){if(t.preventDefault(),!$(t.target).hasClass("disabled")){var o=$(t.target).data("button"),a=this.maxajax.ajaxInit();a.plugin_action="mediaShortcodeOptions",a.button_id=o,this.maxajax.ajaxPost(a,this.ajaxSuccessHandler)}},o.prototype.doInputPagination=function(t){t.preventDefault();var o=$(t.target),a=parseInt(o.data("current")),n=parseInt(o.val()),i=parseInt(o.attr("max"));n!=a&&n>=1&&n<=i&&(this.getPage=n,this.loadButtons())},o.prototype.doPagination=function(t){if(t.preventDefault(),$(t.target).hasClass("disabled"))return!1;var o=$(t.target).data("page");o<=1&&(o=1),this.getPage=o,this.loadButtons()},o.prototype.generateShortcode=function(t){var o='[maxbutton id="'+t+'"';return void 0!==this.shortcodeData&&$(this.shortcodeData).each(function(t,a){var n=$('input[name="'+a.name+'"]'),i=$('input[name="'+a.name+'"]').val();if("checkbox"==n.attr("type")){var e=n.is(":checked");e!=a.original&&(o+=e?" "+a.shortcode+'="'+a.checked+'"':" "+a.shortcode+'="'+a.unchecked+'"')}else i!=a.original&&(o+=" "+a.shortcode+'="'+i+'"')}),o+=" ] "},o.prototype.buttonToEditor=function(t){if(shortcode=this.generateShortcode(t),"function"==typeof window.send_to_editor)window.send_to_editor(shortcode,t);else if(void 0!==window.tp){var o=$("#advanced-editor-content").val();o+=shortcode,$("#advanced-editor-content").val(o),$("#advanced-editor").wpdialog("open")}},o.prototype.close=function(){this.maxmodal.close()},void 0===window.maxFoundry&&(window.maxFoundry={}),window.maxFoundry.maxMedia=o});
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: 8.3
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', '8.3');
20
 
21
- define('MAXBUTTONS_RELEASE',"10 November 2020");
22
 
23
  if (! function_exists('MaxButtons\maxbutton_double_load'))
24
  {
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: 8.4
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', '8.4');
20
 
21
+ define('MAXBUTTONS_RELEASE',"1 December 2020");
22
 
23
  if (! function_exists('MaxButtons\maxbutton_double_load'))
24
  {
readme.txt CHANGED
@@ -2,9 +2,9 @@
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: 5.5.3
6
  Requires PHP: 5.6
7
- Stable tag: 8.3
8
 
9
  WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
10
 
@@ -264,6 +264,13 @@ Secondly, please use latin only characters for button name ( Basic settings) and
264
 
265
  == Changelog ==
266
 
 
 
 
 
 
 
 
267
  = 8.3 =
268
 
269
  * New - When external Javascript crashes Maxbuttons, an error is displayed
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: 5.6
6
  Requires PHP: 5.6
7
+ Stable tag: 8.4
8
 
9
  WordPress button plugin so powerful and easy to use anyone can create beautiful buttons, share buttons and social icons.
10
 
264
 
265
  == Changelog ==
266
 
267
+ = 8.4 =
268
+
269
+ * [Tweak] Elementor button preview now works better
270
+ * [Fix] TablePress Advanced Editor Button Popup now works.
271
+ * Tested on PHP 8.0
272
+ * Tested for WordPress 5.6
273
+
274
  = 8.3 =
275
 
276
  * New - When external Javascript crashes Maxbuttons, an error is displayed