wp/wp-admin/admin-post.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
--- 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}" );
+	}
+}