Spaces:
Sleeping
Sleeping
/** | |
* WordPress Generic Request (POST/GET) Handler | |
* | |
* Intended for form submission handling in themes and plugins. | |
* | |
* @package WordPress | |
* @subpackage Administration | |
*/ | |
/** We are located in WordPress Administration Screens */ | |
if ( ! defined( 'WP_ADMIN' ) ) { | |
define( 'WP_ADMIN', true ); | |
} | |
if ( defined( 'ABSPATH' ) ) { | |
require_once ABSPATH . 'wp-load.php'; | |
} else { | |
require_once dirname( __DIR__ ) . '/wp-load.php'; | |
} | |
/** Allow for cross-domain requests (from the front end). */ | |
send_origin_headers(); | |
require_once ABSPATH . 'wp-admin/includes/admin.php'; | |
nocache_headers(); | |
/** This action is documented in wp-admin/admin.php */ | |
do_action( 'admin_init' ); | |
$action = ! empty( $_REQUEST['action'] ) ? sanitize_text_field( $_REQUEST['action'] ) : ''; | |
// Reject invalid parameters. | |
if ( ! is_scalar( $action ) ) { | |
wp_die( '', 400 ); | |
} | |
if ( ! is_user_logged_in() ) { | |
if ( empty( $action ) ) { | |
/** | |
* Fires on a non-authenticated admin post request where no action is supplied. | |
* | |
* @since 2.6.0 | |
*/ | |
do_action( 'admin_post_nopriv' ); | |
} else { | |
// If no action is registered, return a Bad Request response. | |
if ( ! has_action( "admin_post_nopriv_{$action}" ) ) { | |
wp_die( '', 400 ); | |
} | |
/** | |
* 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 is supplied. | |
* | |
* @since 2.6.0 | |
*/ | |
do_action( 'admin_post' ); | |
} else { | |
// If no action is registered, return a Bad Request response. | |
if ( ! has_action( "admin_post_{$action}" ) ) { | |
wp_die( '', 400 ); | |
} | |
/** | |
* 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}" ); | |
} | |
} | |