Submit
Path:
~
/
home
/
caidadmin
/
dev.hounds.sca-caid.org
/
wp-admin
/
includes
/
File Content:
menu.php
<?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. * * @private * @since 3.1.0 */ 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. * * @private * @since 3.1.0 */ 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. * * @private * @since 2.2.0 */ do_action( '_admin_menu' ); } // Create list of page plugin hook names. foreach ( $menu as $menu_page ) { if ( false !== $pos = strpos( $menu_page[2], '?' ) ) { // 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 ); /** * @param string $add * @param string $class * @return string */ function add_cssclass( $add, $class ) { $class = empty( $class ) ? $add : $class .= ' ' . $add; return $class; } /** * @param array $menu * @return array */ function add_menu_classes( $menu ) { $first = $lastorder = false; $i = 0; $mc = count( $menu ); foreach ( $menu as $order => $top ) { $i++; if ( 0 == $order ) { // dashboard is always shown/single $menu[0][4] = add_cssclass( 'menu-top-first', $top[4] ); $lastorder = 0; continue; } if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastorder ) { // if separator $first = true; $c = $menu[ $lastorder ][4]; $menu[ $lastorder ][4] = add_cssclass( 'menu-top-last', $c ); continue; } if ( $first ) { $c = $menu[ $order ][4]; $menu[ $order ][4] = add_cssclass( 'menu-top-first', $c ); $first = false; } if ( $mc == $i ) { // last item $c = $menu[ $order ][4]; $menu[ $order ][4] = add_cssclass( 'menu-top-last', $c ); } $lastorder = $order; } /** * Filters administration menus 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 );
Submit
FILE
FOLDER
Name
Size
Permission
Action
admin-filters.php
6804 bytes
0644
admin.php
3002 bytes
0644
ajax-actions.php
137557 bytes
0644
bookmark.php
9247 bytes
0644
class-automatic-upgrader-skin.php
3146 bytes
0644
class-bulk-plugin-upgrader-skin.php
2056 bytes
0644
class-bulk-theme-upgrader-skin.php
2091 bytes
0644
class-bulk-upgrader-skin.php
5306 bytes
0644
class-core-upgrader.php
14400 bytes
0644
class-file-upload-upgrader.php
3371 bytes
0644
class-ftp-pure.php
5400 bytes
0644
class-ftp-sockets.php
8449 bytes
0644
class-ftp.php
27125 bytes
0644
class-language-pack-upgrader-skin.php
2365 bytes
0644
class-language-pack-upgrader.php
14724 bytes
0644
class-pclzip.php
195795 bytes
0644
class-plugin-installer-skin.php
4459 bytes
0644
class-plugin-upgrader-skin.php
2681 bytes
0644
class-plugin-upgrader.php
15183 bytes
0644
class-theme-installer-skin.php
4430 bytes
0644
class-theme-upgrader-skin.php
3845 bytes
0644
class-theme-upgrader.php
20286 bytes
0644
class-walker-category-checklist.php
4255 bytes
0644
class-walker-nav-menu-checklist.php
5015 bytes
0644
class-walker-nav-menu-edit.php
11685 bytes
0644
class-wp-ajax-upgrader-skin.php
3038 bytes
0644
class-wp-automatic-updater.php
36027 bytes
0644
class-wp-comments-list-table.php
27393 bytes
0644
class-wp-community-events.php
15952 bytes
0644
class-wp-debug-data.php
44205 bytes
0644
class-wp-filesystem-base.php
23065 bytes
0644
class-wp-filesystem-direct.php
16409 bytes
0644
class-wp-filesystem-ftpext.php
19906 bytes
0644
class-wp-filesystem-ftpsockets.php
16714 bytes
0644
class-wp-filesystem-ssh2.php
21722 bytes
0644
class-wp-importer.php
7522 bytes
0644
class-wp-internal-pointers.php
4350 bytes
0644
class-wp-links-list-table.php
7751 bytes
0644
class-wp-list-table-compat.php
1071 bytes
0644
class-wp-list-table.php
38031 bytes
0644
class-wp-media-list-table.php
22911 bytes
0644
class-wp-ms-sites-list-table.php
15848 bytes
0644
class-wp-ms-themes-list-table.php
20538 bytes
0644
class-wp-ms-users-list-table.php
13709 bytes
0644
class-wp-plugin-install-list-table.php
22865 bytes
0644
class-wp-plugins-list-table.php
35436 bytes
0644
class-wp-post-comments-list-table.php
1472 bytes
0644
class-wp-posts-list-table.php
56625 bytes
0644
class-wp-screen.php
35701 bytes
0644
class-wp-site-health-auto-updates.php
12512 bytes
0644
class-wp-site-health.php
61019 bytes
0644
class-wp-site-icon.php
6132 bytes
0644
class-wp-terms-list-table.php
18566 bytes
0644
class-wp-theme-install-list-table.php
15237 bytes
0644
class-wp-themes-list-table.php
9533 bytes
0644
class-wp-upgrader-skin.php
5164 bytes
0644
class-wp-upgrader-skins.php
1456 bytes
0644
class-wp-upgrader.php
35658 bytes
0644
class-wp-users-list-table.php
17541 bytes
0644
comment.php
6060 bytes
0644
continents-cities.php
20750 bytes
0644
credits.php
2208 bytes
0644
dashboard.php
60081 bytes
0644
deprecated.php
39173 bytes
0644
edit-tag-messages.php
1412 bytes
0644
export.php
23437 bytes
0644
file.php
94623 bytes
0644
image-edit.php
34711 bytes
0644
image.php
22931 bytes
0644
import.php
6697 bytes
0644
list-table.php
2779 bytes
0644
media.php
110212 bytes
0644
menu.php
9114 bytes
0644
meta-boxes.php
61143 bytes
0644
misc.php
73142 bytes
0644
ms-admin-filters.php
1370 bytes
0644
ms-deprecated.php
3030 bytes
0644
ms.php
34773 bytes
0644
nav-menu.php
44314 bytes
0644
network.php
24292 bytes
0644
noop.php
1231 bytes
0644
options.php
4097 bytes
0644
plugin-install.php
33831 bytes
0644
plugin.php
79127 bytes
0644
post.php
74509 bytes
0644
revision.php
15669 bytes
0644
schema.php
41533 bytes
0644
screen.php
6214 bytes
0644
taxonomy.php
7914 bytes
0644
template.php
87905 bytes
0644
theme-install.php
6559 bytes
0644
theme.php
33788 bytes
0644
translation-install.php
8613 bytes
0644
update-core.php
57736 bytes
0644
update.php
27946 bytes
0644
upgrade.php
101687 bytes
0644
user.php
52820 bytes
0644
widgets.php
10628 bytes
0644
N4ST4R_ID | Naxtarrr