Responsive Menu - Version 4.1.7

Version Description

(4 Jan 2022) = * Hotfix: Fixed issues where menu got disappeared after updating to 4.1.6. * Hotfix: Fixed issue where users were seeing a shortcode instead of actual menu after updating to 4.1.6

Download this release

Release Info

Developer expresstech
Plugin Icon 128x128 Responsive Menu
Version 4.1.7
Comparing to
See all releases

Code changes from version 4.1.6 to 4.1.7

deploy.sh ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+ # A modification of Dean Clatworthy's deploy script as found here: https://github.com/deanc/wordpress-plugin-git-svn
3
+ # The difference is that this script lives in the plugin's git repo & doesn't require an existing SVN repo.
4
+
5
+ # main config
6
+ PLUGINSLUG="responsive-menu"
7
+ CURRENTDIR=`pwd`
8
+ MAINFILE="responsive-menu.php" # this should be the name of your main php file in the wordpress plugin
9
+
10
+ # git config
11
+ GITPATH="$CURRENTDIR/" # this file should be in the base of your git repository
12
+
13
+ # svn config
14
+ SVNPATH="/home/admin/prod/svn/$PLUGINSLUG" # path to a temp SVN repo. No trailing slash required and don't add trunk.
15
+ SVNURL="http://plugins.svn.wordpress.org/$PLUGINSLUG/" # Remote SVN repo on wordpress.org, with no trailing slash
16
+ SVNUSER="expresstech" # your svn username
17
+
18
+
19
+ # Let's begin...
20
+ echo ".........................................."
21
+ echo
22
+ echo "Preparing to deploy wordpress plugin"
23
+ echo
24
+ echo ".........................................."
25
+ echo
26
+
27
+ # Check version in readme.txt is the same as plugin file
28
+ NEWVERSION1=`grep "^Stable tag" $GITPATH/readme.txt | awk -F' ' '{print $3}'`
29
+ echo "readme version: $NEWVERSION1"
30
+ NEWVERSION2=`grep "Version" $GITPATH/$MAINFILE | awk -F' ' '{print $2}'`
31
+ echo "$MAINFILE version: $NEWVERSION2"
32
+
33
+ if [ "$NEWVERSION1" != "$NEWVERSION2" ]; then echo "Versions don't match. Exiting...."; exit 1; fi
34
+
35
+ echo "Versions match in readme.txt and PHP file. Let's proceed..."
36
+ #exit
37
+ cd $GITPATH
38
+ #echo -e "Enter a commit message for this new version: \c"
39
+ #read COMMITMSG
40
+ #git commit -am "$COMMITMSG"
41
+
42
+ #echo "Tagging new version in git"
43
+ #git tag -a "$NEWVERSION1" -m "Tagging version $NEWVERSION1"
44
+
45
+ #echo "Pushing latest commit to origin, with tags"
46
+ #git push origin master
47
+ #git push origin master --tags
48
+
49
+ echo
50
+ echo "Creating local copy of SVN repo ..."
51
+ svn co $SVNURL $SVNPATH
52
+
53
+ echo "Exporting the HEAD of master from git to the trunk of SVN"
54
+ git checkout-index -a -f --prefix=$SVNPATH/trunk/
55
+
56
+ echo "Ignoring github specific & deployment script"
57
+ svn propset svn:ignore "deploy.sh
58
+ README.md
59
+ .git
60
+ .gitignore" "$SVNPATH/trunk/"
61
+
62
+ #echo "Moving assets-wp-repo"
63
+ #mkdir $SVNPATH/assets/
64
+ #mv $SVNPATH/trunk/assets-wp-repo/* $SVNPATH/assets/
65
+ #svn add $SVNPATH/assets/
66
+ #svn delete $SVNPATH/trunk/assets-wp-repo
67
+
68
+ echo "Changing directory to SVN"
69
+ cd $SVNPATH/trunk/
70
+ # Add all new files that are not set to be ignored
71
+ svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add
72
+ echo "committing to trunk"
73
+ svn commit --username=$SVNUSER -m "$NEWVERSION1 to trunk $COMMITMSG"
74
+
75
+ #echo "Updating WP plugin repo assets & committing"
76
+ #cd $SVNPATH/assets/
77
+ #svn commit --username=$SVNUSER -m "Updating wp-repo-assets"
78
+
79
+ echo "Creating new SVN tag & committing it"
80
+ cd $SVNPATH
81
+ mkdir -p tags/$NEWVERSION1
82
+ cp -r trunk/* tags/$NEWVERSION1/
83
+ svn add tags/$NEWVERSION1/
84
+ cd $SVNPATH/tags/$NEWVERSION1
85
+ svn commit --username=$SVNUSER -m "Tagging version $NEWVERSION1"
86
+
87
+
88
+ echo "*** FIN ***"
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: expresstech, responsivemenu, imvarunkmr, surajkumarsingh, infosate
3
  Tags: responsive, mega menu, navigation, mobile, hamburger
4
  Requires at least: 3.6
5
  Tested up to: 5.8.2
6
- Stable tag: 4.1.6
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -73,6 +73,20 @@ For more reasons to go Pro, please visit [this page](https://responsive.menu#why
73
 
74
  [youtube https://www.youtube.com/watch?v=aj6ba0tGKPg]
75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  == Installation ==
77
 
78
  1. Upload `responsive-menu` to the `/wp-content/plugins/` directory
@@ -103,6 +117,10 @@ To view our FAQ, please go to [https://responsive.menu/faq/](https://responsive.
103
 
104
  == Changelog ==
105
 
 
 
 
 
106
  = 4.1.6 (20th Dec 2021) =
107
  * Enhancement: Refactored code to enqueue JS and CSS files as per coding standards
108
  * Enhancement: Refactored code to utilise libraries bundled with WordPress core
3
  Tags: responsive, mega menu, navigation, mobile, hamburger
4
  Requires at least: 3.6
5
  Tested up to: 5.8.2
6
+ Stable tag: 4.1.7
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
73
 
74
  [youtube https://www.youtube.com/watch?v=aj6ba0tGKPg]
75
 
76
+ 🌐Our Plugins
77
+
78
+ If you like this plugin, consider exploring our other plugins:
79
+
80
+ ⏱️ [Quiz and Survey Master](https://wordpress.org/plugins/quiz-master-next/) - Best WordPress Quiz Plugin to create engaging quizzes, surveys, & exams using WordPress and convert your website into a lead generation machine.
81
+
82
+ 📙 [Projectopia](https://wordpress.org/plugins/projectopia-core/) - Project Management & Invoicing plugin for WordPress. Generate invoices, send quotes, generate leads, manage clients, provide support - all inside your WordPress website.
83
+
84
+ 📅 [Booking Ultra](https://wordpress.org/plugins/booking-ultra-pro/) - Appointment Booking plugin for WordPress - Show a quick form to accept bookings for your services with pre-set booking slots. Ideal for salons, medical professionals, lawyers, consultants, etc.
85
+
86
+ ⚡ [InstaWP](https://instawp.io/) - Launch a quick WordPress site with this sandbox service. Create New WordPress instance within a second.
87
+
88
+ 🔒 [Hide My WP](https://hidemywp.net/) - Hide your WordPress from bots, attackers & spammers. Hides all the known URLs, paths, plugins, themes which can reveal that you are using WP, also comes with an in-built firewall & trust network.
89
+
90
  == Installation ==
91
 
92
  1. Upload `responsive-menu` to the `/wp-content/plugins/` directory
117
 
118
  == Changelog ==
119
 
120
+ = 4.1.7 (4 Jan 2022) =
121
+ * Hotfix: Fixed issues where menu got disappeared after updating to 4.1.6.
122
+ * Hotfix: Fixed issue where users were seeing a shortcode instead of actual menu after updating to 4.1.6
123
+
124
  = 4.1.6 (20th Dec 2021) =
125
  * Enhancement: Refactored code to enqueue JS and CSS files as per coding standards
126
  * Enhancement: Refactored code to utilise libraries bundled with WordPress core
responsive-menu.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://expresstech.io
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
- Version: 4.1.6
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
@@ -16,7 +16,7 @@ Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
16
  * Constant as plugin version.
17
  */
18
  if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19
- define( 'RMP_PLUGIN_VERSION', '4.1.6' );
20
  }
21
 
22
  define( 'RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://expresstech.io
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
+ Version: 4.1.7
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
16
  * Constant as plugin version.
17
  */
18
  if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19
+ define( 'RMP_PLUGIN_VERSION', '4.1.7' );
20
  }
21
 
22
  define( 'RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
v4.0.0/assets/scss/main.scss CHANGED
@@ -6,11 +6,6 @@
6
  }
7
  }
8
 
9
- @if( $menu_to_hide != '' ) {
10
- #{$menu_to_hide} {
11
- display: none !important;
12
- }
13
- }
14
  // Menu hamburger toggle styling.
15
  @if($menu_trigger_position_type == 'inside-element'){
16
  .admin-bar #{$menu_trigger_id}{
@@ -131,7 +126,13 @@
131
  }
132
 
133
  /* Hamburger menu styling */
134
- @media screen and (max-width: $tablet_breakpoint ) {
 
 
 
 
 
 
135
 
136
  #{$menu_trigger_id} {
137
  display: block;
6
  }
7
  }
8
 
 
 
 
 
 
9
  // Menu hamburger toggle styling.
10
  @if($menu_trigger_position_type == 'inside-element'){
11
  .admin-bar #{$menu_trigger_id}{
126
  }
127
 
128
  /* Hamburger menu styling */
129
+ @media screen and ( max-width: $tablet_breakpoint ) {
130
+
131
+ @if( $menu_to_hide != '' ) {
132
+ #{$menu_to_hide} {
133
+ display: none !important;
134
+ }
135
+ }
136
 
137
  #{$menu_trigger_id} {
138
  display: block;
v4.0.0/inc/classes/class-admin.php CHANGED
@@ -57,6 +57,7 @@ class Admin {
57
  add_action( 'wp_ajax_rmp_import_menu', array( $this, 'rmp_import_menu' ) );
58
 
59
  add_shortcode( 'rmp_menu', array( $this, 'register_menu_shortcode' ) );
 
60
  add_action( 'init', array( $this, 'rmp_menu_cpt' ), 0 );
61
 
62
  add_filter( 'post_row_actions', array( $this, 'rmp_menu_row_actions' ), 10, 2 );
@@ -215,7 +216,6 @@ class Admin {
215
  * @since 4.0.0
216
  *
217
  * @param Array $atts Attributes List.
218
- * @param string $content It contain text from shortcode.
219
  *
220
  * @return HTML $output Menu contents.
221
  */
@@ -251,6 +251,37 @@ class Admin {
251
  return ob_get_clean();
252
  }
253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  /**
255
  * Function to update the global options.
256
  *
57
  add_action( 'wp_ajax_rmp_import_menu', array( $this, 'rmp_import_menu' ) );
58
 
59
  add_shortcode( 'rmp_menu', array( $this, 'register_menu_shortcode' ) );
60
+ add_shortcode( 'responsive_menu', array( $this, 'responsive_menu_shortcode' ) );
61
  add_action( 'init', array( $this, 'rmp_menu_cpt' ), 0 );
62
 
63
  add_filter( 'post_row_actions', array( $this, 'rmp_menu_row_actions' ), 10, 2 );
216
  * @since 4.0.0
217
  *
218
  * @param Array $atts Attributes List.
 
219
  *
220
  * @return HTML $output Menu contents.
221
  */
251
  return ob_get_clean();
252
  }
253
 
254
+ /**
255
+ * This function register the shortcode for responsive_menu.
256
+ *
257
+ * @since 4.1.7
258
+ *
259
+ * @return HTML $output Menu contents.
260
+ */
261
+ public function responsive_menu_shortcode() {
262
+
263
+ // Check shortcode option is activated or not.
264
+ $options = Option_Manager::get_instance();
265
+ $menu_ids = get_all_rmp_menu_ids();
266
+
267
+ if ( ! empty( $menu_ids ) ) {
268
+ foreach ( $menu_ids as $menu_id ) {
269
+
270
+ $menu_show_on = $options->get_option( $menu_id, 'menu_display_on' );
271
+ if ( ! empty( $menu_show_on ) && 'shortcode' !== $menu_show_on ) {
272
+ continue;
273
+ }
274
+
275
+ ob_start();
276
+ $menu = new RMP_Menu( $menu_id );
277
+ $menu->build_menu();
278
+ return ob_get_clean();
279
+ }
280
+ } else {
281
+ return esc_html__( 'Shortcode deactivated', 'responsive-menu' );
282
+ }
283
+ }
284
+
285
  /**
286
  * Function to update the global options.
287
  *
v4.0.0/inc/classes/class-plugin.php CHANGED
@@ -46,7 +46,14 @@ class Plugin {
46
  protected function setup_hooks() {
47
  add_action( 'plugins_loaded', array( $this, 'rmp_load_plugin_text_domain' ) );
48
  add_action( 'admin_notices', array( $this, 'rmp_deactivate_paid_version_notice' ) );
49
- add_action( 'admin_notices', array( $this, 'rmp_upgrade_pro_admin_notice' ) );
 
 
 
 
 
 
 
50
  add_action( 'plugin_action_links_' . plugin_basename( RMP_PLUGIN_FILE ), array( $this, 'rmp_upgrade_pro_plugin_link' ) );
51
  add_action( 'wp_ajax_rmp_upgrade_admin_notice_dismiss', array( $this, 'rmp_upgrade_pro_notice_dismiss' ) );
52
  add_action( 'admin_notices', array( $this, 'no_menu_admin_notice' ) );
@@ -215,7 +222,7 @@ class Plugin {
215
 
216
  // Check wp footer option is enabled.
217
  $option_manager = Option_Manager::get_instance();
218
- if ( 'wp_body_open' == $hook && 'on' == $option_manager->get_global_option( 'rmp_wp_footer_hook' ) ) {
219
  return false;
220
  }
221
 
46
  protected function setup_hooks() {
47
  add_action( 'plugins_loaded', array( $this, 'rmp_load_plugin_text_domain' ) );
48
  add_action( 'admin_notices', array( $this, 'rmp_deactivate_paid_version_notice' ) );
49
+
50
+ //Hiding upgrade to pro notice for v3 users
51
+ global $wpdb;
52
+ $table_name = $wpdb->prefix . 'responsive_menu';
53
+ $query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) );
54
+ if ( ! $wpdb->get_var( $query ) == $table_name ) {
55
+ add_action( 'admin_notices', array( $this, 'rmp_upgrade_pro_admin_notice' ) );
56
+ }
57
  add_action( 'plugin_action_links_' . plugin_basename( RMP_PLUGIN_FILE ), array( $this, 'rmp_upgrade_pro_plugin_link' ) );
58
  add_action( 'wp_ajax_rmp_upgrade_admin_notice_dismiss', array( $this, 'rmp_upgrade_pro_notice_dismiss' ) );
59
  add_action( 'admin_notices', array( $this, 'no_menu_admin_notice' ) );
222
 
223
  // Check wp footer option is enabled.
224
  $option_manager = Option_Manager::get_instance();
225
+ if ( 'wp_body_open' === $hook && 'on' === $option_manager->get_global_option( 'rmp_wp_footer_hook' ) ) {
226
  return false;
227
  }
228
 
v4.0.0/inc/classes/class-rmp-migration.php CHANGED
@@ -70,11 +70,22 @@ if ( ! class_exists( 'RMP_Migration' ) ) :
70
  */
71
  public function migrate() {
72
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  if ( ! empty( get_option( 'rmp_migrate10111' ) ) ) {
74
  return;
75
  }
76
 
77
- $older_options = $this->get_table_options();
78
 
79
  // Separate the global options and migrate it into new format.
80
  $this->migrate_global_settings( $older_options );
@@ -187,6 +198,8 @@ if ( ! class_exists( 'RMP_Migration' ) ) :
187
 
188
  $new_options['tablet_breakpoint'] = $older_options['breakpoint'];
189
 
 
 
190
  $new_options['menu_sub_arrow_border_width'] = 1;
191
  if ( ! empty( $older_options['menu_border_width'] ) ) {
192
  $new_options['menu_sub_arrow_border_width'] = $older_options['menu_border_width'];
@@ -244,6 +257,7 @@ if ( ! class_exists( 'RMP_Migration' ) ) :
244
  $global_options['rmp_scripts_in_footer'] = $older_options['scripts_in_footer'];
245
  $global_options['rmp_remove_fontawesome'] = $older_options['remove_fontawesome'];
246
  $global_options['menu_adjust_for_wp_admin_bar'] = 'hide';
 
247
 
248
  $global_options = array_merge( rmp_global_default_setting_options(), $global_options );
249
  update_option( 'rmp_global_setting_options', $global_options );
70
  */
71
  public function migrate() {
72
 
73
+ $older_options = $this->get_table_options();
74
+
75
+ //since 4.1.7 only for v3 user if getting any issue after updating to 4.1.6
76
+ if ( ! empty( $older_options ) && ! empty( get_option( 'rmp_migrate10111' ) ) && empty( get_option( 'rmp_migrate10112' ) ) ) {
77
+ $option_manager = Option_Manager::get_instance();
78
+ $options = $option_manager->get_global_options();
79
+ $global_options['rmp_wp_footer_hook'] = 'on';
80
+ $global_options = array_merge( $options, $global_options );
81
+ update_option( 'rmp_global_setting_options', $global_options );
82
+ }
83
+ update_option( 'rmp_migrate10112', true );
84
+
85
  if ( ! empty( get_option( 'rmp_migrate10111' ) ) ) {
86
  return;
87
  }
88
 
 
89
 
90
  // Separate the global options and migrate it into new format.
91
  $this->migrate_global_settings( $older_options );
198
 
199
  $new_options['tablet_breakpoint'] = $older_options['breakpoint'];
200
 
201
+ $new_options['menu_display_on'] = 'on' === $older_options['shortcode'] ? 'shortcode' : 'all-pages';
202
+
203
  $new_options['menu_sub_arrow_border_width'] = 1;
204
  if ( ! empty( $older_options['menu_border_width'] ) ) {
205
  $new_options['menu_sub_arrow_border_width'] = $older_options['menu_border_width'];
257
  $global_options['rmp_scripts_in_footer'] = $older_options['scripts_in_footer'];
258
  $global_options['rmp_remove_fontawesome'] = $older_options['remove_fontawesome'];
259
  $global_options['menu_adjust_for_wp_admin_bar'] = 'hide';
260
+ $global_options['rmp_wp_footer_hook'] = 'on';
261
 
262
  $global_options = array_merge( rmp_global_default_setting_options(), $global_options );
263
  update_option( 'rmp_global_setting_options', $global_options );