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++)#x2F;',
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.