diff -r 346c88efed21 -r 5e2f62d02dcd wp/wp-admin/admin-post.php --- a/wp/wp-admin/admin-post.php Mon Jun 08 16:11:51 2015 +0000 +++ b/wp/wp-admin/admin-post.php Tue Jun 09 03:35:32 2015 +0200 @@ -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 @@ /** This action is documented in wp-admin/admin.php */ do_action( 'admin_init' ); -$action = 'admin_post'; - -if ( !wp_validate_auth_cookie() ) - $action .= '_nopriv'; - -if ( !empty($_REQUEST['action']) ) - $action .= '_' . $_REQUEST['action']; +$action = empty( $_REQUEST['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}" ); + } +}