Admin Menu Editor - Version 1.9.1

Version Description

  • Fixed a minor conflict with Toolset Types.
  • Fixed a conflict with the MailPoet plugin where it was not possible to change the plugin's menu icon.
  • Fixed a bug where the plugin could misidentify certain core menus that have different URLs for different roles.
  • Fixed a bug where the plugin could generate incorrect URLs for submenu items where the parent menu URL contained HTML entities like "&".
  • Fixed an issue where certain vulnerability scanners showed a warning about one of the plugin files because it used the eval() function. This particular instance of eval() was not a security flaw, but it has been now been removed to prevent false positives.
  • Fixed a bug where the plugin could show an incorrect error message when a menu item was hidden due to there being another hidden menu item with the same URL.
  • Fixed a minor issue with field alignment in menu properties.
  • The "Site Health" menu will no longer be highlighted as new because it's part of WordPress core.
Download this release

Release Info

Developer whiteshadow
Plugin Icon 128x128 Admin Menu Editor
Version 1.9.1
Comparing to
See all releases

Code changes from version 1.9 to 1.9.1

css/force-dashicons.css CHANGED
@@ -16,6 +16,8 @@
16
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon > .wp-menu-image::before {
17
  font-family: "dashicons", sans-serif !important;
18
  font-size: 20px !important; }
 
 
19
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon .dashicons-menu:before {
20
  content: "\f333" !important; }
21
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon .dashicons-admin-site:before {
16
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon > .wp-menu-image::before {
17
  font-family: "dashicons", sans-serif !important;
18
  font-size: 20px !important; }
19
+ #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon > .wp-menu-image {
20
+ background-image: none; }
21
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon .dashicons-menu:before {
22
  content: "\f333" !important; }
23
  #adminmenu#adminmenu#adminmenu a.ame-has-custom-dashicon .dashicons-admin-site:before {
css/force-dashicons.css.map CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "version": 3,
3
- "mappings": "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",
4
  "sources": ["force-dashicons.scss","_dashicons.scss"],
5
  "names": [],
6
  "file": "force-dashicons.css"
1
  {
2
  "version": 3,
3
+ "mappings": "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",
4
  "sources": ["force-dashicons.scss","_dashicons.scss"],
5
  "names": [],
6
  "file": "force-dashicons.css"
css/force-dashicons.scss CHANGED
@@ -16,5 +16,10 @@
16
  font-size: 20px !important;
17
  }
18
 
 
 
 
 
 
19
  @import '_dashicons';
20
  }
16
  font-size: 20px !important;
17
  }
18
 
19
+ //Some plugins set the icon as a background image instead of a pseudo-element.
20
+ & > .wp-menu-image {
21
+ background-image: none;
22
+ }
23
+
24
  @import '_dashicons';
25
  }
css/menu-editor.css CHANGED
@@ -822,6 +822,7 @@ a#ws-ame-delete-color-preset:hover {
822
  height: 26px;
823
  width: 190px;
824
  margin-right: 5px;
 
825
  padding: 2px 4px;
826
  font-size: 12px;
827
  border: 1px solid #ddd;
822
  height: 26px;
823
  width: 190px;
824
  margin-right: 5px;
825
+ margin-left: 1px;
826
  padding: 2px 4px;
827
  font-size: 12px;
828
  border: 1px solid #ddd;
css/menu-editor.scss CHANGED
@@ -1119,6 +1119,7 @@ $colorFieldRightMargin: 5px;
1119
  width: $colorFieldWidth;
1120
 
1121
  margin-right: $colorFieldRightMargin;
 
1122
  padding: 2px 4px;
1123
 
1124
  font-size: 12px;
1119
  width: $colorFieldWidth;
1120
 
1121
  margin-right: $colorFieldRightMargin;
1122
+ margin-left: 1px;
1123
  padding: 2px 4px;
1124
 
1125
  font-size: 12px;
includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php CHANGED
@@ -65,9 +65,19 @@ abstract class CSSBlockList extends CSSList {
65
  if ($sSpecificitySearch === null) {
66
  $aResult[] = $oSelector;
67
  } else {
68
- $sComparison = "\$bRes = {$oSelector->getSpecificity()} $sSpecificitySearch;";
69
- eval($sComparison);
70
- if ($bRes) {
 
 
 
 
 
 
 
 
 
 
71
  $aResult[] = $oSelector;
72
  }
73
  }
65
  if ($sSpecificitySearch === null) {
66
  $aResult[] = $oSelector;
67
  } else {
68
+ //WSH: The original implementation used eval to compare specificity. I rewrote it
69
+ //to use version_compare instead to prevent false positives in vulnerability scanners.
70
+ //It's a bit of a hack, but it's shorter than a big switch statement.
71
+ $specificity = $oSelector->getSpecificity();
72
+ $isMatch = false;
73
+ if ( preg_match(
74
+ '/^(?P<operator>(?:[<>]=?)|(?:!==?)|={2,3})\s*?(?P<number>\d++)$/',
75
+ trim($sSpecificitySearch),
76
+ $matches
77
+ ) ) {
78
+ $isMatch = version_compare((string)$specificity, $matches['number'], $matches['operator']);
79
+ }
80
+ if ($isMatch) {
81
  $aResult[] = $oSelector;
82
  }
83
  }
includes/menu-editor-core.php CHANGED
@@ -1817,11 +1817,16 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
1817
  $trueAccess = isset($this->page_access_lookup[$topmenu['url']]) ? $this->page_access_lookup[$topmenu['url']] : null;
1818
  if ( ($trueAccess === 'do_not_allow') && ($topmenu['access_level'] !== $trueAccess) ) {
1819
  $topmenu['access_level'] = $trueAccess;
 
 
 
 
 
 
1820
  if ( isset($topmenu['access_check_log']) ) {
1821
  $topmenu['access_check_log'][] = sprintf(
1822
- '+ Override: There is a hidden menu item with the same URL (%1$s) but a higher priority.' .
1823
- ' Setting the capability to "%2$s".',
1824
- $topmenu['url'],
1825
  $trueAccess
1826
  );
1827
  $topmenu['access_check_log'][] = str_repeat('=', 79);
@@ -1837,11 +1842,16 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
1837
  $trueAccess = isset($this->page_access_lookup[$item['url']]) ? $this->page_access_lookup[$item['url']] : null;
1838
  if ( ($trueAccess === 'do_not_allow') && ($item['access_level'] !== $trueAccess) ) {
1839
  $item['access_level'] = $trueAccess;
 
 
 
 
 
 
1840
  if ( isset($item['access_check_log']) ) {
1841
  $item['access_check_log'][] = sprintf(
1842
- '+ Override: There is a hidden menu item with the same URL (%1$s) but a higher priority.' .
1843
- ' Setting the capability to "%2$s".',
1844
- $item['url'],
1845
  $trueAccess
1846
  );
1847
  $item['access_check_log'][] = str_repeat('=', 79);
@@ -2273,6 +2283,7 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
2273
  }
2274
 
2275
  echo "Fetch option {$option}<br>";
 
2276
  $row = $wpdb->get_row($wpdb->prepare(
2277
  "SELECT * FROM {$wpdb->sitemeta} WHERE meta_key = %s LIMIT 1",
2278
  $option
@@ -2566,7 +2577,14 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
2566
  */
2567
  private function get_default_menu() {
2568
  $default_tree = ameMenu::wp2tree($this->default_wp_menu, $this->default_wp_submenu, $this->menu_url_blacklist);
2569
- $default_menu = ameMenu::load_array($default_tree);
 
 
 
 
 
 
 
2570
  return $default_menu;
2571
  }
2572
 
@@ -2723,7 +2741,11 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
2723
  return $this->cached_virtual_caps[$mode];
2724
  }
2725
 
2726
- $custom_menu = $this->load_custom_menu();
 
 
 
 
2727
  if ( $custom_menu === null ){
2728
  return array();
2729
  }
@@ -3462,7 +3484,7 @@ class WPMenuEditor extends MenuEd_ShadowPluginFramework {
3462
  'ame-force-dashicons',
3463
  plugins_url('css/force-dashicons.css', $this->plugin_file),
3464
  array(),
3465
- '20170607'
3466
  );
3467
  }
3468
  }
1817
  $trueAccess = isset($this->page_access_lookup[$topmenu['url']]) ? $this->page_access_lookup[$topmenu['url']] : null;
1818
  if ( ($trueAccess === 'do_not_allow') && ($topmenu['access_level'] !== $trueAccess) ) {
1819
  $topmenu['access_level'] = $trueAccess;
1820
+ $reason = sprintf(
1821
+ 'There is a hidden menu item with the same URL (%1$s) but a higher priority.',
1822
+ $topmenu['url']
1823
+ );
1824
+ $item['access_decision_reason'] = $reason;
1825
+
1826
  if ( isset($topmenu['access_check_log']) ) {
1827
  $topmenu['access_check_log'][] = sprintf(
1828
+ '+ Override: %1$s Setting the capability to "%2$s".',
1829
+ $reason,
 
1830
  $trueAccess
1831
  );
1832
  $topmenu['access_check_log'][] = str_repeat('=', 79);
1842
  $trueAccess = isset($this->page_access_lookup[$item['url']]) ? $this->page_access_lookup[$item['url']] : null;
1843
  if ( ($trueAccess === 'do_not_allow') && ($item['access_level'] !== $trueAccess) ) {
1844
  $item['access_level'] = $trueAccess;
1845
+ $reason = sprintf(
1846
+ 'There is a hidden menu item with the same URL (%1$s) but a higher priority.',
1847
+ $item['url']
1848
+ );
1849
+ $item['access_decision_reason'] = $reason;
1850
+
1851
  if ( isset($item['access_check_log']) ) {
1852
  $item['access_check_log'][] = sprintf(
1853
+ '+ Override: %1$s Setting the capability to "%2$s".',
1854
+ $reason,
 
1855
  $trueAccess
1856
  );
1857
  $item['access_check_log'][] = str_repeat('=', 79);
2283
  }
2284
 
2285
  echo "Fetch option {$option}<br>";
2286
+ /** @noinspection SqlResolve */
2287
  $row = $wpdb->get_row($wpdb->prepare(
2288
  "SELECT * FROM {$wpdb->sitemeta} WHERE meta_key = %s LIMIT 1",
2289
  $option
2577
  */
2578
  private function get_default_menu() {
2579
  $default_tree = ameMenu::wp2tree($this->default_wp_menu, $this->default_wp_submenu, $this->menu_url_blacklist);
2580
+ try {
2581
+ $default_menu = ameMenu::load_array($default_tree);
2582
+ } catch (InvalidMenuException $e) {
2583
+ throw new LogicException(
2584
+ 'An unexpected exception was thrown while loading the default admin menu. '
2585
+ . 'This is most likely a bug. The default menu should always be valid.'
2586
+ );
2587
+ }
2588
  return $default_menu;
2589
  }
2590
 
2741
  return $this->cached_virtual_caps[$mode];
2742
  }
2743
 
2744
+ try {
2745
+ $custom_menu = $this->load_custom_menu();
2746
+ } catch (InvalidMenuException $e) {
2747
+ return array();
2748
+ }
2749
  if ( $custom_menu === null ){
2750
  return array();
2751
  }
3484
  'ame-force-dashicons',
3485
  plugins_url('css/force-dashicons.css', $this->plugin_file),
3486
  array(),
3487
+ '20190810'
3488
  );
3489
  }
3490
  }
includes/menu-item.php CHANGED
@@ -31,6 +31,8 @@ abstract class ameMenuItem {
31
  'upload.php' => true, 'user-new.php' => true, 'users.php' => true, 'widgets.php' => true,
32
  );
33
 
 
 
34
  /**
35
  * Convert a WP menu structure to an associative array.
36
  *
@@ -111,6 +113,7 @@ abstract class ameMenuItem {
111
  //Internal fields that may not map directly to WP menu structures.
112
  'open_in' => 'same_window', //'new_window', 'iframe' or 'same_window' (the default)
113
  'iframe_height' => 0,
 
114
  'template_id' => '', //The default menu item that this item is based on.
115
  'is_plugin_page' => false,
116
  'custom' => false,
@@ -163,6 +166,7 @@ abstract class ameMenuItem {
163
  'icon_url' => 'dashicons-admin-generic',
164
  'open_in' => 'same_window',
165
  'iframe_height' => 0,
 
166
  'is_plugin_page' => false,
167
  'page_heading' => '',
168
  'colors' => false,
@@ -238,8 +242,15 @@ abstract class ameMenuItem {
238
  }
239
  }
240
 
241
- if ($parent_file === 'profile.php') {
242
- $parent_file = 'users.php';
 
 
 
 
 
 
 
243
  }
244
 
245
  //Special case: In WP 4.0+ the URL of the "Appearance -> Customize" item is different on every admin page.
@@ -510,7 +521,7 @@ abstract class ameMenuItem {
510
 
511
  if ( self::is_hook_or_plugin_page($menu_url, $parent_url, $has_hook) ) {
512
  $parent_file = self::remove_query_from($parent_url);
513
- $base_file = self::is_wp_admin_file($parent_file) ? $parent_url : 'admin.php';
514
  //add_query_arg() might be more robust, but it's significantly slower.
515
  $url = $base_file
516
  . ((strpos($base_file, '?') === false) ? '?' : '&')
31
  'upload.php' => true, 'user-new.php' => true, 'users.php' => true, 'widgets.php' => true,
32
  );
33
 
34
+ private static $mappable_parent_whitelist = '@^(?:profile|import|post-new|edit-tags)\.php@';
35
+
36
  /**
37
  * Convert a WP menu structure to an associative array.
38
  *
113
  //Internal fields that may not map directly to WP menu structures.
114
  'open_in' => 'same_window', //'new_window', 'iframe' or 'same_window' (the default)
115
  'iframe_height' => 0,
116
+ 'is_iframe_scroll_disabled' => false,
117
  'template_id' => '', //The default menu item that this item is based on.
118
  'is_plugin_page' => false,
119
  'custom' => false,
166
  'icon_url' => 'dashicons-admin-generic',
167
  'open_in' => 'same_window',
168
  'iframe_height' => 0,
169
+ 'is_iframe_scroll_disabled' => false,
170
  'is_plugin_page' => false,
171
  'page_heading' => '',
172
  'colors' => false,
242
  }
243
  }
244
 
245
+ //Map known alternative parents to admin parent menus. This is necessary to ensure that
246
+ //certain menu items have the same template ID both for admins and for regular users.
247
+ static $inverse_parent_map = null;
248
+ global $_wp_real_parent_file;
249
+ if ( ($inverse_parent_map === null) && !empty($_wp_real_parent_file) && is_array($_wp_real_parent_file) ) {
250
+ $inverse_parent_map = array_flip($_wp_real_parent_file);
251
+ }
252
+ if ( isset($inverse_parent_map[$parent_file]) && (preg_match(self::$mappable_parent_whitelist, $parent_file) === 1) ) {
253
+ $parent_file = $inverse_parent_map[$parent_file];
254
  }
255
 
256
  //Special case: In WP 4.0+ the URL of the "Appearance -> Customize" item is different on every admin page.
521
 
522
  if ( self::is_hook_or_plugin_page($menu_url, $parent_url, $has_hook) ) {
523
  $parent_file = self::remove_query_from($parent_url);
524
+ $base_file = self::is_wp_admin_file($parent_file) ? html_entity_decode($parent_url) : 'admin.php';
525
  //add_query_arg() might be more robust, but it's significantly slower.
526
  $url = $base_file
527
  . ((strpos($base_file, '?') === false) ? '?' : '&')
js/actor-manager.js CHANGED
@@ -132,9 +132,9 @@ var AmeSuperAdmin = /** @class */ (function (_super) {
132
  }(AmeBaseActor));
133
  var AmeActorManager = /** @class */ (function () {
134
  function AmeActorManager(roles, users, isMultisite, suspectedMetaCaps) {
 
135
  if (isMultisite === void 0) { isMultisite = false; }
136
  if (suspectedMetaCaps === void 0) { suspectedMetaCaps = {}; }
137
- var _this = this;
138
  this.roles = {};
139
  this.users = {};
140
  this.grantedCapabilities = {};
132
  }(AmeBaseActor));
133
  var AmeActorManager = /** @class */ (function () {
134
  function AmeActorManager(roles, users, isMultisite, suspectedMetaCaps) {
135
+ var _this = this;
136
  if (isMultisite === void 0) { isMultisite = false; }
137
  if (suspectedMetaCaps === void 0) { suspectedMetaCaps = {}; }
 
138
  this.roles = {};
139
  this.users = {};
140
  this.grantedCapabilities = {};
js/menu-highlight-fix.js CHANGED
@@ -244,7 +244,7 @@ jQuery(function($) {
244
  //If a submenu is highlighted, so must be its parent.
245
  //In some cases, if we decide to stick with the WP-selected highlighted menu,
246
  //this might not be the case and we'll need to fix it.
247
- var parentOfHighlightedMenu = $('.wp-submenu a.current', '#adminmenu').closest('.menu-top');
248
  parentOfHighlightedMenu
249
  .add('> a.menu-top', parentOfHighlightedMenu)
250
  .removeClass('wp-not-current-submenu')
244
  //If a submenu is highlighted, so must be its parent.
245
  //In some cases, if we decide to stick with the WP-selected highlighted menu,
246
  //this might not be the case and we'll need to fix it.
247
+ var parentOfHighlightedMenu = $('.wp-submenu a.current', '#adminmenu').closest('.menu-top').first();
248
  parentOfHighlightedMenu
249
  .add('> a.menu-top', parentOfHighlightedMenu)
250
  .removeClass('wp-not-current-submenu')
menu-editor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Admin Menu Editor
4
  Plugin URI: http://w-shadow.com/blog/2008/12/20/admin-menu-editor-for-wordpress/
5
  Description: Lets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add custom menus and more.
6
- Version: 1.9
7
  Author: Janis Elsts
8
  Author URI: http://w-shadow.com/blog/
9
  */
3
  Plugin Name: Admin Menu Editor
4
  Plugin URI: http://w-shadow.com/blog/2008/12/20/admin-menu-editor-for-wordpress/
5
  Description: Lets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add custom menus and more.
6
+ Version: 1.9.1
7
  Author: Janis Elsts
8
  Author URI: http://w-shadow.com/blog/
9
  */
modules/actor-selector/actor-selector.js CHANGED
@@ -3,8 +3,8 @@
3
  /// <reference path="../../js/actor-manager.ts" />
4
  var AmeActorSelector = /** @class */ (function () {
5
  function AmeActorSelector(actorManager, isProVersion, allOptionEnabled) {
6
- if (allOptionEnabled === void 0) { allOptionEnabled = true; }
7
  var _this = this;
 
8
  this.selectedActor = null;
9
  this.selectedDisplayName = 'All';
10
  this.visibleUsers = [];
3
  /// <reference path="../../js/actor-manager.ts" />
4
  var AmeActorSelector = /** @class */ (function () {
5
  function AmeActorSelector(actorManager, isProVersion, allOptionEnabled) {
 
6
  var _this = this;
7
+ if (allOptionEnabled === void 0) { allOptionEnabled = true; }
8
  this.selectedActor = null;
9
  this.selectedDisplayName = 'All';
10
  this.visibleUsers = [];
modules/highlight-new-menus/wsNewMenuHighlighter.php CHANGED
@@ -37,6 +37,7 @@ class wsNewMenuHighlighter {
37
  'post-new.php' => true,
38
  'profile.php' => true,
39
  'privacy.php' => true,
 
40
  'theme-editor.php' => true,
41
  'themes.php' => true,
42
  'tools.php' => true,
@@ -51,6 +52,8 @@ class wsNewMenuHighlighter {
51
  'sites.php' => true,
52
  'theme-install.php' => true,
53
  'upgrade.php' => true,
 
 
54
  );
55
 
56
  private $menusWithNewSubmenus = array();
37
  'post-new.php' => true,
38
  'profile.php' => true,
39
  'privacy.php' => true,
40
+ 'site-health.php' => true,
41
  'theme-editor.php' => true,
42
  'themes.php' => true,
43
  'tools.php' => true,
52
  'sites.php' => true,
53
  'theme-install.php' => true,
54
  'upgrade.php' => true,
55
+ //Hidden ACF menu. It's used to show the "Welcome to Advanced Custom Fields" page.
56
+ 'edit.php?post_type=acf-field-group&page=acf-settings-info' => true,
57
  );
58
 
59
  private $menusWithNewSubmenus = array();
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: admin, dashboard, menu, security, wpmu
5
  Requires at least: 4.1
6
  Tested up to: 5.2
7
- Stable tag: 1.9
8
 
9
  Lets you edit the WordPress admin menu. You can re-order, hide or rename menus, add custom menus and more.
10
 
@@ -63,6 +63,16 @@ Plugins installed in the `mu-plugins` directory are treated as "always on", so y
63
 
64
  == Changelog ==
65
 
 
 
 
 
 
 
 
 
 
 
66
  = 1.9 =
67
  * Added an option to automatically hide new plugins. It was already possible, but previously this option was tied to the "show all plugins" checkbox. Now there is a separate "New plugins" checkbox.
68
  * Fixed a bug where trying to change the icon of the Jetpack menu caused a JavaScript error that prevented the icon selector from being displayed.
4
  Tags: admin, dashboard, menu, security, wpmu
5
  Requires at least: 4.1
6
  Tested up to: 5.2
7
+ Stable tag: 1.9.1
8
 
9
  Lets you edit the WordPress admin menu. You can re-order, hide or rename menus, add custom menus and more.
10
 
63
 
64
  == Changelog ==
65
 
66
+ = 1.9.1 =
67
+ * Fixed a minor conflict with Toolset Types.
68
+ * Fixed a conflict with the MailPoet plugin where it was not possible to change the plugin's menu icon.
69
+ * Fixed a bug where the plugin could misidentify certain core menus that have different URLs for different roles.
70
+ * Fixed a bug where the plugin could generate incorrect URLs for submenu items where the parent menu URL contained HTML entities like "&amp;".
71
+ * Fixed an issue where certain vulnerability scanners showed a warning about one of the plugin files because it used the eval() function. This particular instance of eval() was not a security flaw, but it has been now been removed to prevent false positives.
72
+ * Fixed a bug where the plugin could show an incorrect error message when a menu item was hidden due to there being another hidden menu item with the same URL.
73
+ * Fixed a minor issue with field alignment in menu properties.
74
+ * The "Site Health" menu will no longer be highlighted as new because it's part of WordPress core.
75
+
76
  = 1.9 =
77
  * Added an option to automatically hide new plugins. It was already possible, but previously this option was tied to the "show all plugins" checkbox. Now there is a separate "New plugins" checkbox.
78
  * Fixed a bug where trying to change the icon of the Jetpack menu caused a JavaScript error that prevented the icon selector from being displayed.