Responsive Menu - Version 3.0.14

Version Description

(22nd September 2016) = * Requires PHP 5.4 * Improved PHP check on pre 5.3 systems * Improved width of first and last menu item borders * Added animation of menu items when menu opened (Pro only) * Added slide effect animation option instead of standard dropdown (Pro only) * Removed button from header bar to aid with z-indexing (Pro only) * Bug fixes

Download this release

Release Info

Developer ResponsiveMenu
Plugin Icon 128x128 Responsive Menu
Version 3.0.14
Comparing to
See all releases

Code changes from version 3.0.13 to 3.0.14

readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://responsive.menu/donate
4
  Tags: responsive, menu, responsive menu, mobile menu, wordpress responsive menu, wp responsive menu, tablet menu, mobile, tablet, 3 lines, 3 line, three line, three lines
5
  Requires at least: 3.5.0
6
  Tested up to: 4.6
7
- Stable tag: 3.0.13
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -19,6 +19,9 @@ Highly customisable Responsive Menu Plugin for WordPress. With over 150 customis
19
  <br /><br />
20
  <a href="https://responsive.menu">https://responsive.menu</a>
21
  <br /><br />
 
 
 
22
  **Requirements:**
23
  <br /><br />
24
  PHP 5.4+
@@ -29,7 +32,7 @@ PHP 5.4+
29
  <br /><br />
30
  **Fully unit tested:**
31
  <br /><br />
32
- 100% unit test coverage with tests included in the plugin so you can run them yourself for peace of mind.
33
  <br /><br />
34
  **Basic Functionality:**
35
  <ul>
@@ -60,6 +63,7 @@ PHP 5.4+
60
  **Advanced & Pro Functionality:**
61
  <ul>
62
  <li>Preview your changes before implementing</li>
 
63
  <li>FontIcon Support for individual menu items</li>
64
  <li>15 button animation effects</li>
65
  <li>Colour opacity for all colours</li>
@@ -116,6 +120,15 @@ To view our whole FAQ, please go to https://responsive.menu/faq/
116
 
117
  == Changelog ==
118
 
 
 
 
 
 
 
 
 
 
119
  = 3.0.13 (22nd September 2016) =
120
  * **Requires PHP 5.4**
121
  * Made menu background image option free (feeling generous today!)
4
  Tags: responsive, menu, responsive menu, mobile menu, wordpress responsive menu, wp responsive menu, tablet menu, mobile, tablet, 3 lines, 3 line, three line, three lines
5
  Requires at least: 3.5.0
6
  Tested up to: 4.6
7
+ Stable tag: 3.0.14
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
19
  <br /><br />
20
  <a href="https://responsive.menu">https://responsive.menu</a>
21
  <br /><br />
22
+ Demos:
23
+ <a href="https://demo.responsive.menu">https://demo.responsive.menu</a>
24
+ <br /><br />
25
  **Requirements:**
26
  <br /><br />
27
  PHP 5.4+
32
  <br /><br />
33
  **Fully unit tested:**
34
  <br /><br />
35
+ 100% unit test coverage with tests included in the plugin so you can run them yourself for peace of mind
36
  <br /><br />
37
  **Basic Functionality:**
38
  <ul>
63
  **Advanced & Pro Functionality:**
64
  <ul>
65
  <li>Preview your changes before implementing</li>
66
+ <li>Animate the menu items when menu is opened</li>
67
  <li>FontIcon Support for individual menu items</li>
68
  <li>15 button animation effects</li>
69
  <li>Colour opacity for all colours</li>
120
 
121
  == Changelog ==
122
 
123
+ = 3.0.14 (22nd September 2016) =
124
+ * **Requires PHP 5.4**
125
+ * Improved PHP check on pre 5.3 systems
126
+ * Improved width of first and last menu item borders
127
+ * Added animation of menu items when menu opened (Pro only)
128
+ * Added slide effect animation option instead of standard dropdown (Pro only)
129
+ * Removed button from header bar to aid with z-indexing (Pro only)
130
+ * Bug fixes
131
+
132
  = 3.0.13 (22nd September 2016) =
133
  * **Requires PHP 5.4**
134
  * Made menu background image option free (feeling generous today!)
responsive-menu.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://responsive.menu
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
- Version: 3.0.13
8
  Author: Responsive Menu
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
@@ -32,13 +32,9 @@ if(version_compare(PHP_VERSION, '5.4', '<'))
32
  include dirname(__FILE__) . '/autoload.php';
33
  include dirname(__FILE__) . '/src/config/services.php';
34
 
35
- /*
36
- * Initial Migration and Version Check synchronisation */
37
- add_action('init', function() use($container) {
38
- $migration = $container['migration'];
39
- $migration->setup();
40
- $migration->synchronise();
41
- });
42
 
 
43
  include dirname(__FILE__) . '/src/config/routing.php';
44
  include dirname(__FILE__) . '/src/config/internationalise.php';
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://responsive.menu
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
+ Version: 3.0.14
8
  Author: Responsive Menu
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
32
  include dirname(__FILE__) . '/autoload.php';
33
  include dirname(__FILE__) . '/src/config/services.php';
34
 
35
+ /* Initial Migration and Version Check synchronisation */
36
+ include dirname(__FILE__) . '/src/config/setup.php';
 
 
 
 
 
37
 
38
+ /* Finally route and initialise the plugin */
39
  include dirname(__FILE__) . '/src/config/routing.php';
40
  include dirname(__FILE__) . '/src/config/internationalise.php';
src/app/Form/HeaderBarOrdering.php CHANGED
@@ -7,11 +7,12 @@ use ResponsiveMenu\Form\FormComponent;
7
  class HeaderBarOrdering implements FormComponent {
8
 
9
  public function render(Option $option) {
10
-
11
  $required = ['logo' => '', 'title' => '', 'search' => '', 'html content' => '', 'button' => ''];
12
  $current_options = (array) json_decode($option->getValue());
13
  $all_options = array_merge($current_options, $required);
14
-
 
15
  $output = '<ul id="header-bar-sortable">';
16
  foreach($all_options as $name => $val):
17
  $current_value = isset($current_options[$name]) ? $current_options[$name] : '';
7
  class HeaderBarOrdering implements FormComponent {
8
 
9
  public function render(Option $option) {
10
+
11
  $required = ['logo' => '', 'title' => '', 'search' => '', 'html content' => '', 'button' => ''];
12
  $current_options = (array) json_decode($option->getValue());
13
  $all_options = array_merge($current_options, $required);
14
+ unset($all_options['button']);
15
+
16
  $output = '<ul id="header-bar-sortable">';
17
  foreach($all_options as $name => $val):
18
  $current_value = isset($current_options[$name]) ? $current_options[$name] : '';
src/app/Mappers/ScssMenuMapper.php CHANGED
@@ -109,14 +109,22 @@ class ScssMenuMapper extends ScssMapper {
109
 
110
  #responsive-menu {
111
 
 
 
 
 
 
 
112
  li.responsive-menu-item {
113
  .responsive-menu-item-link {
114
  font-size: {$options['menu_font_size']}px;
115
  }
 
116
  a {
117
  line-height: {$options['menu_links_height']}px;
118
  border-top: 1px solid {$options['menu_item_border_colour']};
119
  border-bottom: 1px solid {$options['menu_item_border_colour']};
 
120
  color: {$options['menu_link_colour']};
121
  background-color: {$options['menu_item_background_colour']};
122
  &:hover {
109
 
110
  #responsive-menu {
111
 
112
+ > li.responsive-menu-item:first-child a {
113
+ border-top-width: 2px;
114
+ }
115
+ > li.responsive-menu-item:last-child a{
116
+ border-bottom-width: 2px;
117
+ }
118
  li.responsive-menu-item {
119
  .responsive-menu-item-link {
120
  font-size: {$options['menu_font_size']}px;
121
  }
122
+
123
  a {
124
  line-height: {$options['menu_links_height']}px;
125
  border-top: 1px solid {$options['menu_item_border_colour']};
126
  border-bottom: 1px solid {$options['menu_item_border_colour']};
127
+
128
  color: {$options['menu_link_colour']};
129
  background-color: {$options['menu_item_background_colour']};
130
  &:hover {
src/app/View/AdminView.php CHANGED
@@ -15,7 +15,6 @@ class AdminView implements View {
15
  wp_enqueue_script('responsive-menu-font-awesome', 'https://use.fontawesome.com/b6bedb3084.js', null, null);
16
 
17
  wp_enqueue_script('postbox');
18
- wp_enqueue_script('postbox-edit', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/postbox-edit.js', array('jquery', 'postbox'));
19
 
20
  wp_enqueue_script('jquery-ui-core');
21
 
15
  wp_enqueue_script('responsive-menu-font-awesome', 'https://use.fontawesome.com/b6bedb3084.js', null, null);
16
 
17
  wp_enqueue_script('postbox');
 
18
 
19
  wp_enqueue_script('jquery-ui-core');
20
 
src/app/ViewModels/Components/Admin/Boxes.php CHANGED
@@ -38,10 +38,12 @@ class Boxes {
38
  $output .= '<tr class="' . $pro . ' ' . $semi_pro . '" id="' . $option['option'] . '_container">
39
  <td>
40
  <div class="label">' . $option['title'] . '</div>
41
- <span class="description">' . $option['label'] . '</span>
42
- </td>
 
43
  <td>';
44
  $output .= $this->f($type, $option['option'], $select);
 
45
  $output .= $unit . '</td>
46
  </tr>';
47
  endforeach;
38
  $output .= '<tr class="' . $pro . ' ' . $semi_pro . '" id="' . $option['option'] . '_container">
39
  <td>
40
  <div class="label">' . $option['title'] . '</div>
41
+ <span class="description">' . $option['label'] . '</span>';
42
+ $output .= isset($option['beta']) ? '<span class="beta">beta</span>' : '';
43
+ $output .= '</td>
44
  <td>';
45
  $output .= $this->f($type, $option['option'], $select);
46
+ $output .= isset($option['pro']) ? '<a href="https://responsive.menu/why-go-pro/?utm_source=free-plugin&utm_medium=option&utm_campaign=free-plugin-option-upgrade" target="_blank" class="responsive-menu-pro-overlay"><div class="responsive-menu-pro-overlay-text">Click to upgrade now to use</div></a>' : '';
47
  $output .= $unit . '</td>
48
  </tr>';
49
  endforeach;
src/config/admin_ordering.php CHANGED
@@ -827,8 +827,50 @@ __('Sub-Menus', 'responsive-menu') => [
827
  'title' => __('Disable Parent Item Clicks', 'responsive-menu'),
828
  'label' => __('', 'responsive-menu'),
829
  'type' => 'checkbox'
830
-
831
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
832
  ],
833
  __('Sizing', 'responsive-menu') =>
834
  [
827
  'title' => __('Disable Parent Item Clicks', 'responsive-menu'),
828
  'label' => __('', 'responsive-menu'),
829
  'type' => 'checkbox'
 
830
  ],
831
+ [
832
+ 'option' => 'use_slide_effect',
833
+ 'title' => __('Use slide effect instead of drop-down', 'responsive-menu'),
834
+ 'label' => __('', 'responsive-menu'),
835
+ 'type' => 'checkbox',
836
+ 'pro' => true,
837
+ 'beta' => true
838
+ ]
839
+ ],
840
+ __('Fade Links In', 'responsive-menu') =>
841
+ [
842
+ [
843
+ 'option' => 'fade_submenus',
844
+ 'title' => __('Enabled', 'responsive-menu'),
845
+ 'label' => __('', 'responsive-menu'),
846
+ 'type' => 'checkbox',
847
+ 'pro' => true
848
+ ],
849
+ [
850
+ 'option' => 'fade_submenus_side',
851
+ 'title' => __('Fade from side', 'responsive-menu'),
852
+ 'label' => __('', 'responsive-menu'),
853
+ 'type' => 'select',
854
+ 'select' => [
855
+ ['value' => 'left', 'display' => 'Left'],
856
+ ['value' => 'right', 'display' => 'Right']
857
+ ],
858
+ 'pro' => true
859
+ ],
860
+ [
861
+ 'option' => 'fade_submenus_delay',
862
+ 'title' => __('Delay between items', 'responsive-menu'),
863
+ 'label' => __('', 'responsive-menu'),
864
+ 'unit' => 'ms',
865
+ 'pro' => true
866
+ ],
867
+ [
868
+ 'option' => 'fade_submenus_speed',
869
+ 'title' => __('Speed of fade', 'responsive-menu'),
870
+ 'label' => __('', 'responsive-menu'),
871
+ 'unit' => 'ms',
872
+ 'pro' => true
873
+ ]
874
  ],
875
  __('Sizing', 'responsive-menu') =>
876
  [
src/config/default_options.php CHANGED
@@ -79,9 +79,9 @@ $default_options = [
79
  'menu_current_link_colour' => '#fff',
80
  'menu_current_link_hover_colour' => '#fff',
81
  'menu_sub_arrow_border_colour' => '#212121',
82
- 'menu_sub_arrow_border_hover_colour' => '#fff',
83
  'menu_sub_arrow_border_colour_active' => '#212121',
84
- 'menu_sub_arrow_border_hover_colour_active' => '#fff',
85
  'menu_sub_arrow_background_colour' => '#212121',
86
  'menu_sub_arrow_background_hover_colour' => '#3f3f3f',
87
  'menu_sub_arrow_background_colour_active' => '#212121',
@@ -166,6 +166,12 @@ $default_options = [
166
  'header_bar_position_type' => 'fixed',
167
 
168
  'items_order' => '{"title":"on","menu":"on","search":"on","additional content":"on"}',
169
- 'header_bar_items_order' => '{"logo":"on","title":"on","search":"on","html content":"on","button":"on"}',
170
 
 
 
 
 
 
 
171
  ];
79
  'menu_current_link_colour' => '#fff',
80
  'menu_current_link_hover_colour' => '#fff',
81
  'menu_sub_arrow_border_colour' => '#212121',
82
+ 'menu_sub_arrow_border_hover_colour' => '#3f3f3f',
83
  'menu_sub_arrow_border_colour_active' => '#212121',
84
+ 'menu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
85
  'menu_sub_arrow_background_colour' => '#212121',
86
  'menu_sub_arrow_background_hover_colour' => '#3f3f3f',
87
  'menu_sub_arrow_background_colour_active' => '#212121',
166
  'header_bar_position_type' => 'fixed',
167
 
168
  'items_order' => '{"title":"on","menu":"on","search":"on","additional content":"on"}',
169
+ 'header_bar_items_order' => '{"logo":"on","title":"on","search":"on","html content":"on"}',
170
 
171
+ 'fade_submenus' => 'off',
172
+ 'fade_submenus_side' => 'left',
173
+ 'fade_submenus_delay' => 100,
174
+ 'fade_submenus_speed' => 500,
175
+
176
+ 'use_slide_effect' => 'off'
177
  ];
src/config/services.php CHANGED
@@ -3,7 +3,7 @@
3
  $container = new ResponsiveMenu\Routing\Container();
4
 
5
  $container['current_version'] = function($c) {
6
- return '3.0.13';
7
  };
8
 
9
  $container['option_helpers'] = function($c) {
3
  $container = new ResponsiveMenu\Routing\Container();
4
 
5
  $container['current_version'] = function($c) {
6
+ return '3.0.14';
7
  };
8
 
9
  $container['option_helpers'] = function($c) {
src/config/setup.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action('init', function() use($container) {
4
+ $migration = $container['migration'];
5
+ $migration->setup();
6
+ $migration->synchronise();
7
+ });
src/public/css/admin/main.css CHANGED
@@ -153,15 +153,37 @@ li.draggable {
153
  }
154
 
155
  .postbox .inside table tr td:last-child:hover {
156
- background: #FCFCFC;
157
  }
158
 
159
- .postbox .inside table tr.pro_option td:last-child:hover {
160
- background: #FFE9E8;
 
 
 
 
 
 
 
161
  }
162
 
163
- .postbox .inside table tr.semi_pro_option td:last-child:hover {
164
- background: #EDEAEA;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  }
166
 
167
  .postbox .inside table tr td:last-child {
@@ -226,22 +248,6 @@ input[type="text"].image,
226
  border-color: #333;
227
  }
228
 
229
- .postbox .inside tr.pro_option td:last-child:hover:after {
230
- width: 100%;
231
- content: "Please upgrade to use";
232
- top: 0;
233
- left: 0;
234
- right: 0;
235
- bottom: 0;
236
- position: absolute;
237
- text-align: center;
238
- color: #fff;
239
- font-weight: bold;
240
- font-size: 14px;
241
- padding-top: 2%;
242
- background: rgba(222, 75, 66, 0.6);
243
- }
244
-
245
  #items_order_container td:last-child,
246
  #header_bar_items_order_container td:last-child {
247
  text-align: center;
153
  }
154
 
155
  .postbox .inside table tr td:last-child:hover {
156
+ background: #EDEAEA;
157
  }
158
 
159
+ .responsive-menu-pro-overlay {
160
+ display: none;
161
+ position: absolute;
162
+ top: 0;
163
+ right: 0;
164
+ left: 0;
165
+ bottom: 0;
166
+ background: rgba(222, 75, 66, 0.6);
167
+ color: white;
168
  }
169
 
170
+ .postbox .inside table tr td:last-child:hover .responsive-menu-pro-overlay {
171
+ color: white;
172
+ display: block;
173
+ }
174
+
175
+ .responsive-menu-pro-overlay-text {
176
+ top: 50%;
177
+ transform: translateY(-50%);
178
+ position: relative;
179
+ text-align: center;
180
+ font-size: 12px;
181
+ font-weight: bold;
182
+ }
183
+
184
+ .beta {
185
+ color: orange;
186
+ display: block;
187
  }
188
 
189
  .postbox .inside table tr td:last-child {
248
  border-color: #333;
249
  }
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  #items_order_container td:last-child,
252
  #header_bar_items_order_container td:last-child {
253
  text-align: center;
src/public/js/admin/main.js CHANGED
@@ -40,19 +40,6 @@ jQuery(function($) {
40
  $(this).addClass('active_tab');
41
  });
42
 
43
- if(typeof(Storage) !== "undefined") {
44
- if(localStorage.rmupgrade) {
45
- $('.upgrade-notes').hide();
46
- } else {
47
- $(document).on('click', '.upgrade-notes-close', function(e) {
48
- e.stopPropagation();
49
- e.preventDefault();
50
- $('.upgrade-notes').fadeOut();
51
- localStorage.rmupgrade = "true";
52
- });
53
- }
54
- }
55
-
56
  $(document).on('click', '#responsive_menu_preview', function(e) {
57
  e.preventDefault();
58
  $('#responsive_menu_form').attr('action', '/?responsive-menu-preview=true');
40
  $(this).addClass('active_tab');
41
  });
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  $(document).on('click', '#responsive_menu_preview', function(e) {
44
  e.preventDefault();
45
  $('#responsive_menu_form').attr('action', '/?responsive-menu-preview=true');
src/public/js/admin/postbox-edit.js DELETED
@@ -1,4 +0,0 @@
1
- jQuery(document).ready(function($){
2
- $('.if-js-closed').removeClass('if-js-closed').addClass('closed');
3
- postboxes.add_postbox_toggles('responsive-menu');
4
- });
 
 
 
 
src/views/admin/main.phtml CHANGED
@@ -48,15 +48,6 @@ $boxes = new ResponsiveMenu\ViewModels\Components\Admin\Boxes($order_mapping, $l
48
  </a>
49
  </div>
50
 
51
- <div class="upgrade-notes">
52
- <div class="upgrade-notes-title"><?php _e('Welcome to Responsive Menu 3.0', 'responsive-menu'); ?></div>
53
- <div class="upgrade-notes-content">
54
- <?php _e(sprintf('As this is a brand new version, there are over 14,000 combinations of options so squashing bugs is not an easy task and some may still exist. Therefore, please report any bugs to us %shere%s and we will deal with them quickly.%s
55
- For an upgrade guide, please check out %sthis page%s.', '<a href="https://responsive.menu/contact/" target="_blank">', '</a>', '<br /><br />', '<a href="https://responsive.menu/upgrading-from-version-2-to-version-3" target="_blank">', '</a>'), 'responsive-menu'); ?>
56
- </div>
57
- <div class="upgrade-notes-close">x</div>
58
- </div>
59
-
60
  <div id="all_options_container">
61
  <div class="meta-box-sortables ui-sortable" id="normal-sortables">
62
  <form action="" method="post" enctype="multipart/form-data" id="responsive_menu_form">
48
  </a>
49
  </div>
50
 
 
 
 
 
 
 
 
 
 
51
  <div id="all_options_container">
52
  <div class="meta-box-sortables ui-sortable" id="normal-sortables">
53
  <form action="" method="post" enctype="multipart/form-data" id="responsive_menu_form">