WP Mobile Menu - Version 2.8.2.3

Version Description

  • Fix! - Fix security issue in code from TitanFramework
  • Fix! - Fix typo
  • Fix! - Fix code editor spacing
  • Fix! - Show Select file for the import settings button
  • Fix! - Close submenus when closing menu
Download this release

Release Info

Developer takanakui
Plugin Icon 128x128 WP Mobile Menu
Version 2.8.2.3
Comparing to
See all releases

Code changes from version 2.8.2.2 to 2.8.2.3

includes/class-wp-mobile-menu-options.php CHANGED
@@ -133,6 +133,27 @@ class WP_Mobile_Menu_Options
133
  $this->create_footer_options_upsell( $panel, $titan );
134
  // Create Woocommerce options upsell.
135
  $this->create_woocommerce_options_upsell( $panel, $titan );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  // Enable/Disable Left Header Menu.
137
  $general_tab->createOption( array(
138
  'name' => __( 'Enable Left Menu', 'mobile-menu' ),
@@ -418,17 +439,6 @@ class WP_Mobile_Menu_Options
418
  'disabled' => __( 'No', 'mobile-menu' ),
419
  'class' => 'header-options',
420
  ) );
421
- // Enable/Disable Naked Header.
422
- $general_tab->createOption( array(
423
- 'name' => __( 'Naked Header', 'mobile-menu' ),
424
- 'id' => 'enabled_naked_header',
425
- 'type' => 'enable',
426
- 'default' => false,
427
- 'desc' => __( 'Choose if you want to display a naked header with no background color(transparent).', 'mobile-menu' ),
428
- 'enabled' => __( 'Yes', 'mobile-menu' ),
429
- 'disabled' => __( 'No', 'mobile-menu' ),
430
- 'class' => 'header-options',
431
- ) );
432
  // Enable/Disable Logo Url.
433
  $general_tab->createOption( array(
434
  'name' => __( 'Disable Logo/Text', 'mobile-menu' ),
133
  $this->create_footer_options_upsell( $panel, $titan );
134
  // Create Woocommerce options upsell.
135
  $this->create_woocommerce_options_upsell( $panel, $titan );
136
+ $custom_html = '<h3>' . __( 'Choose the style of your Mobile Menu', 'mobile-menu' ) . '</h3><div class="mm-mobile-header-type">';
137
+ $custom_html .= '<div><h4>' . __( 'Hamburger Menu', 'mobile-menu' ) . '</h4><img src="' . plugins_url( '/assets/mobile_hamburger_menu_option.png', __FILE__ ) . '" class="hamburger-menu"></div>';
138
+ $custom_html .= '<div><h4>' . __( 'Header Menu', 'mobile-menu' ) . '</h4><img src="' . plugins_url( '/assets/mobile_header.png', __FILE__ ) . '"></div></div>';
139
+ // Mobile Header type.
140
+ $general_tab->createOption( array(
141
+ 'name' => 'mobile-header-type',
142
+ 'type' => 'custom',
143
+ 'custom' => $custom_html,
144
+ 'class' => 'general-options',
145
+ ) );
146
+ // Enable/Disable Naked Header.
147
+ $general_tab->createOption( array(
148
+ 'name' => __( 'Header Style', 'mobile-menu' ),
149
+ 'id' => 'enabled_naked_header',
150
+ 'type' => 'enable',
151
+ 'default' => false,
152
+ 'desc' => '',
153
+ 'enabled' => __( 'Hamburger Menu', 'mobile-menu' ),
154
+ 'disabled' => __( 'Header Menu', 'mobile-menu' ),
155
+ 'class' => 'general-options header-options',
156
+ ) );
157
  // Enable/Disable Left Header Menu.
158
  $general_tab->createOption( array(
159
  'name' => __( 'Enable Left Menu', 'mobile-menu' ),
439
  'disabled' => __( 'No', 'mobile-menu' ),
440
  'class' => 'header-options',
441
  ) );
 
 
 
 
 
 
 
 
 
 
 
442
  // Enable/Disable Logo Url.
443
  $general_tab->createOption( array(
444
  'name' => __( 'Disable Logo/Text', 'mobile-menu' ),
includes/css/mobmenu-admin.css CHANGED
@@ -14,6 +14,11 @@
14
  width: 10px;
15
  padding: 0px!important;
16
  }
 
 
 
 
 
17
  .menu .mobmenu-item-settings:before {
18
  padding-right: 5px;
19
  }
@@ -300,6 +305,10 @@ td.second.tf-select .select2 {
300
  .mobmenu-header-wrap .fs-plugin-title {
301
  display: none;
302
  }
 
 
 
 
303
  .titan-framework-panel-wrap .tf-heading th {
304
  background:none repeat scroll 0 0 #fbfbfb!important;
305
  width: 100vw;
@@ -768,4 +777,29 @@ tr.even.first.tf-heading {
768
  }
769
  .submit button.button.button-primary {
770
  background: #5c7ff7!important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
771
  }
14
  width: 10px;
15
  padding: 0px!important;
16
  }
17
+ .mobmenu-standard .general-options th.first:nth-child(0) {
18
+ opacity: 0;
19
+ width: 10px;
20
+ padding: 0px!important;
21
+ }
22
  .menu .mobmenu-item-settings:before {
23
  padding-right: 5px;
24
  }
305
  .mobmenu-header-wrap .fs-plugin-title {
306
  display: none;
307
  }
308
+ .mobile-menu-importer-wrapper tr {
309
+ display: block!important;
310
+ padding-bottom: 30px;
311
+ }
312
  .titan-framework-panel-wrap .tf-heading th {
313
  background:none repeat scroll 0 0 #fbfbfb!important;
314
  width: 100vw;
777
  }
778
  .submit button.button.button-primary {
779
  background: #5c7ff7!important;
780
+ }
781
+ .general-advanced-options td .CodeMirror-wrap pre {
782
+ padding-left: 35px;
783
+ }
784
+ .mm-mobile-header-type {
785
+ display: flex;
786
+ }
787
+ .mm-mobile-header-type img {
788
+ height: 300px;
789
+ padding: 20px;
790
+ cursor: pointer;
791
+ margin-right: 20px;
792
+ border: 2px solid transparent;
793
+ }
794
+
795
+ .mm-mobile-header-type img.active {
796
+ border: 2px solid #5b7ff7;
797
+ border-radius: 15px;
798
+ }
799
+ .mm-mobile-header-type h4 {
800
+ text-align: center;
801
+ color: #5b7ff7;
802
+ }
803
+ #wpbody-content > div.wrap > div.titan-framework-panel-wrap.mobmenu-standard > div > form > table > tbody > tr.row-3.odd.general-options > th > label {
804
+ display: none;
805
  }
includes/js/mobmenu-admin.js CHANGED
@@ -180,14 +180,31 @@
180
  }
181
  });
182
 
183
- $( "#mobmenu-modal-body .mobmenu-item" ).removeClass( "mobmenu-item-selected" );
184
- $( this ).addClass( "mobmenu-item-selected" );
185
- $( ".mobmenu-icons-remove-selected" ).show();
186
 
187
  });
188
 
189
-
190
- $( document ).on( "input", "#mobmenu_search_icons", function() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
 
192
  var foundResults = false;
193
 
@@ -202,10 +219,10 @@
202
 
203
  var txAux = str;
204
 
205
- $( "#mobmenu-modal-body .mobmenu-item" ).each(
206
  function() {
207
 
208
- if ( $( this ).attr( "data-icon-key" ).indexOf( txAux ) < 0 ) {
209
  $( this ).addClass( "mobmenu-hide-icons" );
210
  } else {
211
  $( this ).removeClass( "mobmenu-hide-icons" );
@@ -216,21 +233,21 @@
216
  }
217
  );
218
  } else {
219
- $( "#mobmenu-modal-body .mobmenu-item" ).removeClass( "mobmenu-hide-icons" );
220
  }
221
 
222
  if ( $( this ).val() === '' || !foundResults ) {
223
- $( "#mobmenu-modal-body .mobmenu-item" ).removeClass( "mobmenu-hide-icons" );
224
 
225
  }
226
 
227
  if ( $( this ).val() !== '' && $( this ).val().length >= 3 && !foundResults ) {
228
- $( "#mobmenu-modal-body .mobmenu-item" ).addClass( "mobmenu-hide-icons" );
229
  }
230
 
231
  });
232
 
233
- $( document ).on( "click", ".mobmenu-icon-picker" , function( e ) {
234
 
235
  e.preventDefault();
236
 
@@ -241,8 +258,8 @@
241
 
242
  $( this ).prev().addClass( 'selected-option' );
243
 
244
- if ( $( ".mobmenu-icons-overlay" ).length ) {
245
- full_content = 'no';
246
  } else {
247
  full_content = 'yes';
248
  }
@@ -260,15 +277,15 @@
260
  success: function( response ) {
261
  if ( full_content == 'yes' ) {
262
 
263
- $( "body" ).append( response );
264
- selected_icon = $( ".mobmenu-icons-holder" ).attr( "data-selected-icon" );
265
 
266
  } else {
267
 
268
- $( ".mobmenu-icons-overlay" ).fadeIn();
269
- $( ".mobmenu-icons-content" ).fadeIn();
270
- $( "#mobmenu-modal-body .mobmenu-item" ).removeClass( "mobmenu-item-selected" );
271
- selected_icon = $( response ).attr( "data-selected-icon" );
272
 
273
  }
274
 
@@ -296,7 +313,7 @@
296
  // General Options Tab - Hide Original Theme menu
297
  termsList.push(['Hide Elements', 'general-hide-elements'],['Hide Elements by default', 'general-hide-elements']);
298
 
299
- // General Options Tab - Miscelaneous Options
300
  termsList.push(['Menu Display Type', 'general-misc-options'],['Enable Over effects', 'general-misc-options'],['Sliding Submenus', 'general-misc-options'],['Automatically Close Submenus', 'general-misc-options'],['Menu items border size', 'general-misc-options'],['Close icon', 'general-misc-options'],['Close icon font size', 'general-misc-options'],['Submenu Open icon', 'general-misc-options'],['Submenu Close icon', 'general-misc-options'],['Submenu icon font size', 'general-misc-options']);
301
 
302
  // General Options Tab - Advanced Options
180
  }
181
  });
182
 
183
+ $( '#mobmenu-modal-body .mobmenu-item' ).removeClass( 'mobmenu-item-selected' );
184
+ $( this ).addClass( 'mobmenu-item-selected' );
185
+ $( '.mobmenu-icons-remove-selected' ).show();
186
 
187
  });
188
 
189
+
190
+ $( document ).on( 'mouseleave', '.mm-mobile-header-type img', function() {
191
+ $(this).removeClass( 'active');
192
+ });
193
+
194
+ $( document ).on( 'mouseenter', '.mm-mobile-header-type img', function() {
195
+ $(this).addClass( 'active');
196
+ });
197
+
198
+ $( document ).on( 'click', '.mm-mobile-header-type img', function() {
199
+
200
+ if ( $( this ).hasClass('hamburger-menu') ) {
201
+ $( '#mobmenu_enabled_naked_header' ).next().click();
202
+ } else {
203
+ $( '#mobmenu_enabled_naked_header' ).next().next().click();
204
+ }
205
+ });
206
+
207
+ $( document ).on( 'input', '#mobmenu_search_icons', function() {
208
 
209
  var foundResults = false;
210
 
219
 
220
  var txAux = str;
221
 
222
+ $( '#mobmenu-modal-body .mobmenu-item' ).each(
223
  function() {
224
 
225
+ if ( $( this ).attr( 'data-icon-key' ).indexOf( txAux ) < 0 ) {
226
  $( this ).addClass( "mobmenu-hide-icons" );
227
  } else {
228
  $( this ).removeClass( "mobmenu-hide-icons" );
233
  }
234
  );
235
  } else {
236
+ $( '#mobmenu-modal-body .mobmenu-item' ).removeClass( 'mobmenu-hide-icons' );
237
  }
238
 
239
  if ( $( this ).val() === '' || !foundResults ) {
240
+ $( '#mobmenu-modal-body .mobmenu-item' ).removeClass( 'mobmenu-hide-icons' );
241
 
242
  }
243
 
244
  if ( $( this ).val() !== '' && $( this ).val().length >= 3 && !foundResults ) {
245
+ $( '#mobmenu-modal-body .mobmenu-item' ).addClass( 'mobmenu-hide-icons' );
246
  }
247
 
248
  });
249
 
250
+ $( document ).on( 'click', '.mobmenu-icon-picker' , function( e ) {
251
 
252
  e.preventDefault();
253
 
258
 
259
  $( this ).prev().addClass( 'selected-option' );
260
 
261
+ if ( $( '.mobmenu-icons-overlay' ).length ) {
262
+ full_content = 'no';
263
  } else {
264
  full_content = 'yes';
265
  }
277
  success: function( response ) {
278
  if ( full_content == 'yes' ) {
279
 
280
+ $( 'body' ).append( response );
281
+ selected_icon = $( '.mobmenu-icons-holder' ).attr( 'data-selected-icon' );
282
 
283
  } else {
284
 
285
+ $( '.mobmenu-icons-overlay' ).fadeIn();
286
+ $( '.mobmenu-icons-content' ).fadeIn();
287
+ $( '#mobmenu-modal-body .mobmenu-item' ).removeClass( 'mobmenu-item-selected' );
288
+ selected_icon = $( response ).attr( 'data-selected-icon' );
289
 
290
  }
291
 
313
  // General Options Tab - Hide Original Theme menu
314
  termsList.push(['Hide Elements', 'general-hide-elements'],['Hide Elements by default', 'general-hide-elements']);
315
 
316
+ // General Options Tab - Miscellaneous Options
317
  termsList.push(['Menu Display Type', 'general-misc-options'],['Enable Over effects', 'general-misc-options'],['Sliding Submenus', 'general-misc-options'],['Automatically Close Submenus', 'general-misc-options'],['Menu items border size', 'general-misc-options'],['Close icon', 'general-misc-options'],['Close icon font size', 'general-misc-options'],['Submenu Open icon', 'general-misc-options'],['Submenu Close icon', 'general-misc-options'],['Submenu icon font size', 'general-misc-options']);
318
 
319
  // General Options Tab - Advanced Options
includes/js/mobmenu.js CHANGED
@@ -92,7 +92,9 @@
92
  }
93
 
94
  function mobmenuOpenSubmenus( menu ) {
95
- var submenu = $(menu).parent().next();
 
 
96
  if ( $(menu).parent().next().hasClass( 'show-sub-menu' ) ) {
97
  $(menu).find('.show-sub-menu' ).hide();
98
  $(menu).toggleClass( 'show-sub');
@@ -291,8 +293,9 @@
291
  $( 'html' ).removeClass( 'mob-menu-no-scroll' );
292
 
293
  setTimeout(function(){
294
- $('.mob-menu-sliding-menus [data-menu-level]').scrollTop( '0' );
295
- $('.mobmenu-content .show-sub-menu').removeClass( 'show-sub-menu' );
 
296
  }, 400);
297
 
298
  }
92
  }
93
 
94
  function mobmenuOpenSubmenus( menu ) {
95
+ //var submenu = $(menu).parent().next();
96
+ var submenu = $(menu).parent().parent().find( '.sub-menu' );
97
+
98
  if ( $(menu).parent().next().hasClass( 'show-sub-menu' ) ) {
99
  $(menu).find('.show-sub-menu' ).hide();
100
  $(menu).toggleClass( 'show-sub');
293
  $( 'html' ).removeClass( 'mob-menu-no-scroll' );
294
 
295
  setTimeout(function(){
296
+ $( '.mob-menu-sliding-menus [data-menu-level]' ).scrollTop( '0' );
297
+ $( '.mob-expand-submenu.show-sub' ).parent().click();
298
+ $( '.mobmenu-content .show-sub-menu' ).removeClass( 'show-sub-menu' );
299
  }, 400);
300
 
301
  }
languages/mobile-menu-en_US.po CHANGED
@@ -584,7 +584,7 @@ msgid "Check the desired elements"
584
  msgstr ""
585
 
586
  #: includes/class-wp-mobile-menu-options.php:399
587
- msgid "Miscelaneous Options"
588
  msgstr ""
589
 
590
  #: includes/class-wp-mobile-menu-options.php:405
584
  msgstr ""
585
 
586
  #: includes/class-wp-mobile-menu-options.php:399
587
+ msgid "Miscellaneous Options"
588
  msgstr ""
589
 
590
  #: includes/class-wp-mobile-menu-options.php:405
mobmenu.php CHANGED
@@ -3,11 +3,11 @@
3
  /**
4
  * Plugin Name: Mobile Menu
5
  * Description: An easy to use WordPress responsive mobile menu. Keep your mobile visitors engaged.
6
- * Version: 2.8.2.2
7
  * Plugin URI: https://www.wpmobilemenu.com/
8
  * Author: Rui Guerreiro
9
- * Author URI: https://www.jedipress.com/
10
- * Tested up to: 5.7
11
  * Text Domain: mobile-menu
12
  * Domain Path: /languages/
13
  * License: GPLv2
@@ -16,7 +16,7 @@
16
  if ( !defined( 'ABSPATH' ) ) {
17
  die;
18
  }
19
- define( 'WP_MOBILE_MENU_VERSION', '2.8.2.2' );
20
  define( 'WP_MOBILE_MENU_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
21
  define( 'WP_MOBILE_MENU_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
22
  if ( !class_exists( 'WP_Mobile_Menu' ) ) {
3
  /**
4
  * Plugin Name: Mobile Menu
5
  * Description: An easy to use WordPress responsive mobile menu. Keep your mobile visitors engaged.
6
+ * Version: 2.8.2.3
7
  * Plugin URI: https://www.wpmobilemenu.com/
8
  * Author: Rui Guerreiro
9
+ * Author URI: https://www.freshlightlab.com/
10
+ * Tested up to: 5.8
11
  * Text Domain: mobile-menu
12
  * Domain Path: /languages/
13
  * License: GPLv2
16
  if ( !defined( 'ABSPATH' ) ) {
17
  die;
18
  }
19
+ define( 'WP_MOBILE_MENU_VERSION', '2.8.2.3' );
20
  define( 'WP_MOBILE_MENU_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
21
  define( 'WP_MOBILE_MENU_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
22
  if ( !class_exists( 'WP_Mobile_Menu' ) ) {
options-framework/lib/class-admin-tab.php CHANGED
@@ -88,7 +88,7 @@ class TitanFrameworkAdminTab
88
  'url' => 'general-hide-elements',
89
  ),
90
  array(
91
- 'name' => __( 'Miscelaneous Options', 'mobile-menu' ),
92
  'url' => 'general-misc-options',
93
  ),
94
  array(
88
  'url' => 'general-hide-elements',
89
  ),
90
  array(
91
+ 'name' => __( 'Miscellaneous Options', 'mobile-menu' ),
92
  'url' => 'general-misc-options',
93
  ),
94
  array(
options-framework/lib/iframe-font-preview.php CHANGED
@@ -9,7 +9,7 @@ if ( empty( $_GET ) ) {
9
 
10
  // Sanitize the inputs
11
  foreach ( $_GET as $key => $value ) {
12
- $_GET[ $key ] = htmlspecialchars( $value );
13
  }
14
 
15
  // Set the defaults
9
 
10
  // Sanitize the inputs
11
  foreach ( $_GET as $key => $value ) {
12
+ $_GET[ $key ] = htmlspecialchars( $value, ENT_QUOTES );
13
  }
14
 
15
  // Set the defaults
options-framework/option-framework.php CHANGED
@@ -1,20 +1,4 @@
1
  <?php
2
- /**
3
- * Main plugin file
4
- *
5
- * @package Titan Framework
6
- *
7
- * @see lib/class-titan-framework.php
8
- */
9
-
10
- /**
11
- Plugin Name: Titan Framework
12
- Plugin URI: http://www.titanframework.net/
13
- Description: Titan Framework allows theme and plugin developers to create a admin pages, options, meta boxes, and theme customizer options with just a few simple lines of code.
14
- Author: Benjamin Intal, Gambit
15
- Version: 1.11
16
- Author URI: http://gambit.ph
17
- */
18
 
19
  if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly.
20
  }
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly.
4
  }
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: takanakui, freemius
3
  link: http://profiles.wordpress.org/takanakui
4
  Tags: mobile, navigation, responsive, menu, responsive menu, mobile menu, tablet menu, hamburger menu, hamburger, wordpress responsive menu, wordpress mobile menu, canvas menu
5
  Requires at least: 4.4
6
- Tested up to: 5.7
7
- Stable tag: 2.8.2.2
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -70,8 +70,11 @@ No coding knowledge is required. Works with all WordPress responsive themes.
70
 
71
  = Related Plugins =
72
  * [Menu Image](https://wordpress.org/plugins/menu-image/): Easily add an image or icon in a menu item. Creating a better website menu.
 
73
  * [Pay With Stripe](https://wordpress.org/plugins/payments-stripe-gateway/): Sell your products on your WordPress website without any other complex e-commerce plugin.
74
 
 
 
75
  ###I need help or I have a doubt, check our Support
76
  * Great Support, our free support is above the average. Only the Premium support is better and faster.
77
 
@@ -135,6 +138,13 @@ Not available at the moment
135
 
136
 
137
 
 
 
 
 
 
 
 
138
  = 2.8.2.2 =
139
  * Fix! - Fix Menu settings and widgetized areas in translated websites
140
  * Fix! - Fix Walker Menu filter
3
  link: http://profiles.wordpress.org/takanakui
4
  Tags: mobile, navigation, responsive, menu, responsive menu, mobile menu, tablet menu, hamburger menu, hamburger, wordpress responsive menu, wordpress mobile menu, canvas menu
5
  Requires at least: 4.4
6
+ Tested up to: 5.8
7
+ Stable tag: 2.8.2.3
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
70
 
71
  = Related Plugins =
72
  * [Menu Image](https://wordpress.org/plugins/menu-image/): Easily add an image or icon in a menu item. Creating a better website menu.
73
+
74
  * [Pay With Stripe](https://wordpress.org/plugins/payments-stripe-gateway/): Sell your products on your WordPress website without any other complex e-commerce plugin.
75
 
76
+ ###I need help or I have a doubt, check our Support
77
+
78
  ###I need help or I have a doubt, check our Support
79
  * Great Support, our free support is above the average. Only the Premium support is better and faster.
80
 
138
 
139
 
140
 
141
+ = 2.8.2.3 =
142
+ * Fix! - Fix security issue in code from TitanFramework
143
+ * Fix! - Fix typo
144
+ * Fix! - Fix code editor spacing
145
+ * Fix! - Show Select file for the import settings button
146
+ * Fix! - Close submenus when closing menu
147
+
148
  = 2.8.2.2 =
149
  * Fix! - Fix Menu settings and widgetized areas in translated websites
150
  * Fix! - Fix Walker Menu filter