X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0461a5f2e55c8d5f1fde96ca2e83117152573c7d..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-admin/admin-post.php diff --git a/wp-admin/admin-post.php b/wp-admin/admin-post.php index 71039940..f05cdf4e 100644 --- a/wp-admin/admin-post.php +++ b/wp-admin/admin-post.php @@ -9,7 +9,9 @@ */ /** We are located in WordPress Administration Screens */ -define('WP_ADMIN', true); +if ( ! defined( 'WP_ADMIN' ) ) { + define( 'WP_ADMIN', true ); +} if ( defined('ABSPATH') ) require_once(ABSPATH . 'wp-load.php'); @@ -26,20 +28,44 @@ nocache_headers(); /** This action is documented in wp-admin/admin.php */ do_action( 'admin_init' ); -$action = 'admin_post'; +$action = empty( $_REQUEST['action'] ) ? '' : $_REQUEST['action']; -if ( !wp_validate_auth_cookie() ) - $action .= '_nopriv'; - -if ( !empty($_REQUEST['action']) ) - $action .= '_' . $_REQUEST['action']; - -/** - * Fires the requested handler action. - * - * admin_post_nopriv_{$_REQUEST['action']} is called for not-logged-in users. - * admin_post_{$_REQUEST['action']} is called for logged-in users. - * - * @since 2.6.0 - */ -do_action( $action ); +if ( ! wp_validate_auth_cookie() ) { + if ( empty( $action ) ) { + /** + * Fires on a non-authenticated admin post request where no action was supplied. + * + * @since 2.6.0 + */ + do_action( 'admin_post_nopriv' ); + } else { + /** + * Fires on a non-authenticated admin post request for the given action. + * + * The dynamic portion of the hook name, $action, refers to the given + * request action. + * + * @since 2.6.0 + */ + do_action( "admin_post_nopriv_{$action}" ); + } +} else { + if ( empty( $action ) ) { + /** + * Fires on an authenticated admin post request where no action was supplied. + * + * @since 2.6.0 + */ + do_action( 'admin_post' ); + } else { + /** + * Fires on an authenticated admin post request for the given action. + * + * The dynamic portion of the hook name, $action, refers to the given + * request action. + * + * @since 2.6.0 + */ + do_action( "admin_post_{$action}" ); + } +}