Max Mega Menu - Version 2.3.5

Version Description

[19/02/17] =

  • Fix: Image Widget Deluxe extra options not displaying
  • Fix: Don't reverse the order or right aligned items in the mobile menu for RTL languages
  • Fix: Keyboard navigation
Download this release

Release Info

Developer megamenu
Plugin Icon 128x128 Max Mega Menu
Version 2.3.5
Comparing to
See all releases

Code changes from version 2.3.4 to 2.3.5

classes/settings.class.php CHANGED
@@ -1087,20 +1087,6 @@ class Mega_Menu_Settings {
1087
  </form>
1088
  </td>
1089
  </tr>
1090
- <tr>
1091
- <td class='mega-name'>
1092
- <?php _e("Plugin Data", "megamenu"); ?>
1093
- <div class='mega-description'><?php _e("Delete all saved Max Mega Menu plugin data from the database. Use with caution!", "megamenu"); ?></div>
1094
- </td>
1095
- <td class='mega-value'>
1096
- <form action="<?php echo admin_url('admin-post.php'); ?>" method="post">
1097
- <?php wp_nonce_field( 'megamenu_delete_data' ); ?>
1098
- <input type="hidden" name="action" value="megamenu_delete_data" />
1099
-
1100
- <input type='submit' class='button button-secondary confirm' value='<?php _e("Delete Data", "megamenu"); ?>' />
1101
- </form>
1102
- </td>
1103
- </tr>
1104
  <tr>
1105
  <td class='mega-name'>
1106
  <?php _e("Export Theme", "megamenu"); ?>
@@ -1194,6 +1180,20 @@ class Mega_Menu_Settings {
1194
  </form>
1195
  </td>
1196
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1197
  </table>
1198
  </div>
1199
 
@@ -1244,7 +1244,7 @@ class Mega_Menu_Settings {
1244
  $header_links['pro'] = array(
1245
  'url' => 'https://www.megamenu.com/upgrade/?utm_source=free&amp;utm_medium=settings&amp;utm_campaign=pro',
1246
  'target' => '_mmmpro',
1247
- 'text' => __("Upgrade to Pro - $19", "megamenu"),
1248
  'class' => 'mega-highlight'
1249
  );
1250
  }
1087
  </form>
1088
  </td>
1089
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1090
  <tr>
1091
  <td class='mega-name'>
1092
  <?php _e("Export Theme", "megamenu"); ?>
1180
  </form>
1181
  </td>
1182
  </tr>
1183
+ <tr>
1184
+ <td class='mega-name'>
1185
+ <?php _e("Plugin Data", "megamenu"); ?>
1186
+ <div class='mega-description'><?php _e("Delete all saved Max Mega Menu plugin data from the database. Use with caution!", "megamenu"); ?></div>
1187
+ </td>
1188
+ <td class='mega-value'>
1189
+ <form action="<?php echo admin_url('admin-post.php'); ?>" method="post">
1190
+ <?php wp_nonce_field( 'megamenu_delete_data' ); ?>
1191
+ <input type="hidden" name="action" value="megamenu_delete_data" />
1192
+
1193
+ <input type='submit' class='button button-secondary confirm' value='<?php _e("Delete Data", "megamenu"); ?>' />
1194
+ </form>
1195
+ </td>
1196
+ </tr>
1197
  </table>
1198
  </div>
1199
 
1244
  $header_links['pro'] = array(
1245
  'url' => 'https://www.megamenu.com/upgrade/?utm_source=free&amp;utm_medium=settings&amp;utm_campaign=pro',
1246
  'target' => '_mmmpro',
1247
+ 'text' => __("Upgrade to Pro", "megamenu"),
1248
  'class' => 'mega-highlight'
1249
  );
1250
  }
css/admin/menus.css CHANGED
@@ -705,10 +705,12 @@
705
  #cboxContent .general_settings table td {
706
  padding-bottom: 5px;
707
  }
708
- #cboxContent h4.first {
 
709
  margin: 0em 0 0.7em 0;
710
  }
711
- #cboxContent h4 {
 
712
  clear: both;
713
  border-bottom: 1px solid #bfbfbf;
714
  padding: 0 0 10px 0;
@@ -1018,4 +1020,9 @@
1018
  -webkit-transform: rotate(359deg);
1019
  transform: rotate(359deg);
1020
  }
 
 
 
 
 
1021
  }
705
  #cboxContent .general_settings table td {
706
  padding-bottom: 5px;
707
  }
708
+ #cboxContent form > h4.first,
709
+ #cboxContent .mm_content > h4.first {
710
  margin: 0em 0 0.7em 0;
711
  }
712
+ #cboxContent form > h4,
713
+ #cboxContent .mm_content > h4 {
714
  clear: both;
715
  border-bottom: 1px solid #bfbfbf;
716
  padding: 0 0 10px 0;
1020
  -webkit-transform: rotate(359deg);
1021
  transform: rotate(359deg);
1022
  }
1023
+ }
1024
+
1025
+ /* Fix Image Widget Deluxe */
1026
+ #cboxContent div[id^=rommeled_image] .non-sortable {
1027
+ display: block !important;
1028
  }
js/admin.js CHANGED
@@ -489,7 +489,7 @@
489
  bstw( widget ).deactivate().activate();
490
  }
491
 
492
- $( document ).trigger( 'widget-added', widget);
493
 
494
  });
495
 
489
  bstw( widget ).deactivate().activate();
490
  }
491
 
492
+ $( document ).trigger( 'widget-added', [widget]);
493
 
494
  });
495
 
js/maxmegamenu.js CHANGED
@@ -24,8 +24,13 @@
24
 
25
  plugin.settings = {};
26
 
 
 
 
 
 
27
  plugin.hidePanel = function(anchor, immediate) {
28
- if (!immediate && plugin.settings.effect == 'slide' ) {
29
  anchor.siblings(".mega-sub-menu").animate({"height":"hide"}, plugin.settings.effect_speed, function() {
30
  anchor.siblings(".mega-sub-menu").css("display", "");
31
  anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
@@ -105,7 +110,6 @@
105
  };
106
 
107
  plugin.calculateDynamicSubmenuWidths = function(anchor) {
108
-
109
  // apply dynamic width and sub menu position
110
  if (anchor.parent().hasClass("mega-menu-megamenu") && plugin.settings.panel_width && $(plugin.settings.panel_width).length > 0) {
111
  if (plugin.isDesktopView()) {
@@ -167,22 +171,17 @@
167
  dragging = false;
168
  });
169
 
170
- var items_with_submenus = $("li.mega-menu-megamenu.mega-menu-item-has-children > a.mega-menu-link, li.mega-menu-flyout.mega-menu-item-has-children > a.mega-menu-link, li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item-has-children > a.mega-menu-link, li.mega-menu-flyout li.mega-menu-item-has-children > a.mega-menu-link", menu);
171
-
172
- items_with_submenus.on("click.megamenu touchend.megamenu", function(e) {
173
-
174
  if (plugin.isDesktopView() && $(this).parent().hasClass("mega-toggle-on") && $(this).parent().parent().parent().hasClass("mega-menu-tabbed")) {
175
  e.preventDefault();
176
  return;
177
  }
178
-
179
  if (dragging) {
180
  return;
181
  }
182
  if (plugin.isMobileView() && $(this).parent().hasClass("mega-hide-sub-menu-on-mobile")) {
183
  return; // allow all clicks on parent items when sub menu is hidden on mobile
184
  }
185
-
186
  if (plugin.settings.second_click === "go" || $(this).parent().hasClass("mega-click-click-go")) { // check for second click
187
  if (!$(this).parent().hasClass("mega-toggle-on")) {
188
  e.preventDefault();
@@ -201,7 +200,7 @@
201
  };
202
 
203
  var bindHoverEvents = function() {
204
- $("li.mega-menu-item-has-children", menu).not("li.mega-menu-megamenu:not(.mega-menu-tabbed) li.mega-menu-item-has-children", menu).on({
205
  mouseenter: function() {
206
  plugin.unbindClickEvents();
207
  if (! $(this).hasClass("mega-toggle-on")) {
@@ -217,7 +216,7 @@
217
  };
218
 
219
  var bindHoverIntentEvents = function() {
220
- $("li.mega-menu-item-has-children", menu).not("li.mega-menu-megamenu:not(.mega-menu-tabbed) li.mega-menu-item-has-children", menu).hoverIntent({
221
  over: function () {
222
  plugin.unbindClickEvents();
223
  if (! $(this).hasClass("mega-toggle-on")) {
@@ -234,11 +233,7 @@
234
  });
235
  };
236
 
237
- plugin.unbindClickEvents = function() {
238
- $("a.mega-menu-link", menu).off("click.megamenu touchend.megamenu");
239
- };
240
-
241
- plugin.keyboardNavigation = function() {
242
  var tab_key = 9;
243
  var escape_key = 27;
244
 
@@ -263,10 +258,10 @@
263
  if (keyCode === tab_key) {
264
  $menu.addClass("mega-keyboard-navigation");
265
 
266
- if ( active_link.parent().hasClass("mega-menu-item-has-children") ) { // menu item with sub menu
267
  plugin.showPanel(active_link);
268
- } else if ( active_link.parent().parent().hasClass("mega-menu") ) { // top level item with no children
269
- plugin.hideAllPanels();
270
  }
271
 
272
  if ( active_link.hasClass("mega-menu-toggle") ) {
@@ -280,6 +275,10 @@
280
  $("ul.mega-sub-menu, li.mega-menu-item, a.mega-menu-link", menu).off().unbind();
281
  };
282
 
 
 
 
 
283
  plugin.bindMegaMenuEvents = function() {
284
  if (plugin.isDesktopView() && plugin.settings.event === "hover_intent") {
285
  bindHoverIntentEvents();
@@ -290,6 +289,7 @@
290
  }
291
 
292
  bindClickEvents(); // always bind click events for touch screen devices
 
293
  };
294
 
295
  plugin.monitorView = function() {
@@ -324,7 +324,9 @@
324
  };
325
 
326
  plugin.reverseRightAlignedItems = function() {
327
- $menu.append($menu.children("li.mega-item-align-right").get().reverse());
 
 
328
  };
329
 
330
  plugin.switchToMobile = function() {
@@ -359,7 +361,6 @@
359
 
360
  plugin.bindMegaMenuEvents();
361
  plugin.monitorView();
362
- plugin.keyboardNavigation();
363
  $menu.triggerHandler("after_mega_menu_init");
364
  };
365
 
24
 
25
  plugin.settings = {};
26
 
27
+ var items_with_submenus = $("li.mega-menu-megamenu.mega-menu-item-has-children," +
28
+ "li.mega-menu-flyout.mega-menu-item-has-children," +
29
+ "li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item-has-children," +
30
+ "li.mega-menu-flyout li.mega-menu-item-has-children", menu);
31
+
32
  plugin.hidePanel = function(anchor, immediate) {
33
+ if (!immediate && plugin.settings.effect == 'slide') {
34
  anchor.siblings(".mega-sub-menu").animate({"height":"hide"}, plugin.settings.effect_speed, function() {
35
  anchor.siblings(".mega-sub-menu").css("display", "");
36
  anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
110
  };
111
 
112
  plugin.calculateDynamicSubmenuWidths = function(anchor) {
 
113
  // apply dynamic width and sub menu position
114
  if (anchor.parent().hasClass("mega-menu-megamenu") && plugin.settings.panel_width && $(plugin.settings.panel_width).length > 0) {
115
  if (plugin.isDesktopView()) {
171
  dragging = false;
172
  });
173
 
174
+ $("> a.mega-menu-link", items_with_submenus).on("click.megamenu touchend.megamenu", function(e) {
 
 
 
175
  if (plugin.isDesktopView() && $(this).parent().hasClass("mega-toggle-on") && $(this).parent().parent().parent().hasClass("mega-menu-tabbed")) {
176
  e.preventDefault();
177
  return;
178
  }
 
179
  if (dragging) {
180
  return;
181
  }
182
  if (plugin.isMobileView() && $(this).parent().hasClass("mega-hide-sub-menu-on-mobile")) {
183
  return; // allow all clicks on parent items when sub menu is hidden on mobile
184
  }
 
185
  if (plugin.settings.second_click === "go" || $(this).parent().hasClass("mega-click-click-go")) { // check for second click
186
  if (!$(this).parent().hasClass("mega-toggle-on")) {
187
  e.preventDefault();
200
  };
201
 
202
  var bindHoverEvents = function() {
203
+ items_with_submenus.on({
204
  mouseenter: function() {
205
  plugin.unbindClickEvents();
206
  if (! $(this).hasClass("mega-toggle-on")) {
216
  };
217
 
218
  var bindHoverIntentEvents = function() {
219
+ items_with_submenus.hoverIntent({
220
  over: function () {
221
  plugin.unbindClickEvents();
222
  if (! $(this).hasClass("mega-toggle-on")) {
233
  });
234
  };
235
 
236
+ var bindKeyboardEvents = function() {
 
 
 
 
237
  var tab_key = 9;
238
  var escape_key = 27;
239
 
258
  if (keyCode === tab_key) {
259
  $menu.addClass("mega-keyboard-navigation");
260
 
261
+ if ( active_link.parent().is(items_with_submenus) ) {
262
  plugin.showPanel(active_link);
263
+ } else {
264
+ plugin.hideSiblingPanels(active_link);
265
  }
266
 
267
  if ( active_link.hasClass("mega-menu-toggle") ) {
275
  $("ul.mega-sub-menu, li.mega-menu-item, a.mega-menu-link", menu).off().unbind();
276
  };
277
 
278
+ plugin.unbindClickEvents = function() {
279
+ $("a.mega-menu-link", menu).off("click.megamenu touchend.megamenu");
280
+ };
281
+
282
  plugin.bindMegaMenuEvents = function() {
283
  if (plugin.isDesktopView() && plugin.settings.event === "hover_intent") {
284
  bindHoverIntentEvents();
289
  }
290
 
291
  bindClickEvents(); // always bind click events for touch screen devices
292
+ bindKeyboardEvents();
293
  };
294
 
295
  plugin.monitorView = function() {
324
  };
325
 
326
  plugin.reverseRightAlignedItems = function() {
327
+ if ( ! $('body').hasClass('rtl') ) {
328
+ $menu.append($menu.children("li.mega-item-align-right").get().reverse());
329
+ }
330
  };
331
 
332
  plugin.switchToMobile = function() {
361
 
362
  plugin.bindMegaMenuEvents();
363
  plugin.monitorView();
 
364
  $menu.triggerHandler("after_mega_menu_init");
365
  };
366
 
megamenu.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Max Mega Menu
5
  * Plugin URI: https://www.megamenu.com
6
  * Description: Easy to use drag & drop WordPress Mega Menu plugin. Create Mega Menus using Widgets. Responsive, retina & touch ready.
7
- * Version: 2.3.4
8
  * Author: Tom Hemsley
9
  * Author URI: https://www.megamenu.com
10
  * License: GPL-2.0+
@@ -26,7 +26,7 @@ final class Mega_Menu {
26
  /**
27
  * @var string
28
  */
29
- public $version = '2.3.4';
30
 
31
 
32
  /**
4
  * Plugin Name: Max Mega Menu
5
  * Plugin URI: https://www.megamenu.com
6
  * Description: Easy to use drag & drop WordPress Mega Menu plugin. Create Mega Menus using Widgets. Responsive, retina & touch ready.
7
+ * Version: 2.3.5
8
  * Author: Tom Hemsley
9
  * Author URI: https://www.megamenu.com
10
  * License: GPL-2.0+
26
  /**
27
  * @var string
28
  */
29
+ public $version = '2.3.5';
30
 
31
 
32
  /**
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: megamenu
3
  Tags: menu, megamenu, mega menu, navigation, widget, dropdown menu, drag and drop, mobile, responsive, retina, theme editor, widget, shortcode, sidebar, icons, dashicons
4
  Requires at least: 3.8
5
  Tested up to: 4.7
6
- Stable tag: 2.3.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -103,6 +103,12 @@ See https://www.megamenu.com for more screenshots
103
 
104
  == Changelog ==
105
 
 
 
 
 
 
 
106
  = 2.3.4 [15/01/16] =
107
 
108
  * New: Automatic integration for GeneratePress and Twenty Twelve (hide duplicate mobile button)
3
  Tags: menu, megamenu, mega menu, navigation, widget, dropdown menu, drag and drop, mobile, responsive, retina, theme editor, widget, shortcode, sidebar, icons, dashicons
4
  Requires at least: 3.8
5
  Tested up to: 4.7
6
+ Stable tag: 2.3.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
103
 
104
  == Changelog ==
105
 
106
+ = 2.3.5 [19/02/17] =
107
+
108
+ * Fix: Image Widget Deluxe extra options not displaying
109
+ * Fix: Don't reverse the order or right aligned items in the mobile menu for RTL languages
110
+ * Fix: Keyboard navigation
111
+
112
  = 2.3.4 [15/01/16] =
113
 
114
  * New: Automatic integration for GeneratePress and Twenty Twelve (hide duplicate mobile button)