OS : Linux
PHP Version : 7.4.33
Software : Apache/2.4.6 (CentOS) PHP/7.4.33
Information System : '/gnome-icon-theme/edit-cut-blue.png',
'copy' => '/gion/edit-copy.png',
'paste' => '/gnome-icon-theme/edit-paste.png',
'hide' => '/page-invisible.png',
'hide-and-deny' => '/font-awesome/eye-slash-color.png',
'new' => '/page-add.png',
'delete' => '/page-delete.png',
'new-separator' => '/separator-add.png',
'toggle-all' => '/check-all.png',
'copy-permissions' => '/copy-permissions.png',
'toggle-toolbar' => '/font-awesome/angle-double-down.png',
'sort-ascending' => '/sort_ascending.png',
'sort-descending' => '/sort_descending.png',
);
foreach($icons as $name => $url) {
$icons[$name] = $images_url . $url;
}
$icons = apply_filters('admin_menu_editor-toolbar_icons', $icons, $images_url);
$toolbarButtons = new ameOrderedMap();
$toolbarButtons->addAll(array(
'cut' => array(
'title' => 'Cut',
),
'copy' => array(
'title' => 'Copy',
),
'paste' => array(
'title' => 'Paste',
),
'separator-1' => null,
'new-menu' => array(
'title' => 'New menu',
'iconName' => 'new',
),
'new-separator' => array(
'title' => 'New separator',
'topLevelOnly' => !$is_pro_version,
),
'delete' => array(
'title' => 'Delete menu',
'class' => array('ws_delete_menu_button'),
),
'separator-2' => null,
));
if ( !$is_pro_version ) {
ame_register_sort_buttons($toolbarButtons);
}
if ( $editor_data['show_deprecated_hide_button'] ) {
$toolbarButtons->insertBefore(
'delete',
'hide',
array(
'title' => 'Hide without preventing access (cosmetic)',
'alt' => 'Hide (cosmetic)',
)
);
}
$secondToolbarRow = new ameOrderedMap();
if ( $is_pro_version ) {
//In the Pro version, the sort buttons are on the second row.
ame_register_sort_buttons($secondToolbarRow);
}
$secondToolbarRowClasses = array('ws_second_toolbar_row');
if ( !$is_second_toolbar_visible ) {
$secondToolbarRowClasses[] = 'hidden';
}
do_action('admin_menu_editor-register_toolbar_buttons', $toolbarButtons, $secondToolbarRow, $icons);
if ( count($secondToolbarRow) > 0 ) {
$toolbarButtons->set(
'toggle-toolbar',
array(
'title' => 'Toggle second toolbar',
'alt' => 'Toolbar toggle',
'class' => array('ws_toggle_toolbar_button'),
'topLevelOnly' => true,
)
);
}
/**
* @param ameOrderedMap $buttons
* @param array $icons
* @param array $classes CSS classes to add to the toolbar row.
*/
function ame_output_toolbar_row($buttons, $icons, $classes = array()) {
$classes = array_merge(array('ws_button_container'), $classes);
printf(' Failed to decode input! The menu wasn\'t modified.',
esc_attr($icons[$iconName]),
esc_attr(isset($settings['alt']) ? $settings['alt'] : $settings['title'])
);
}
$pairs = array();
foreach ($attributes as $name => $value) {
$pairs[] = $name . '="' . esc_attr($value) . '"';
}
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Attribute $pairs and $icon attributes were escaped with esc_attr() above.
printf('%s' . "\n", implode(' ', $pairs), $icon);
}
echo '' . "\n";
echo '