| | <?php |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | define( 'DOING_AJAX', true ); |
| | if ( ! defined( 'WP_ADMIN' ) ) { |
| | define( 'WP_ADMIN', true ); |
| | } |
| |
|
| | |
| | require_once dirname( __DIR__ ) . '/wp-load.php'; |
| |
|
| | |
| | send_origin_headers(); |
| |
|
| | header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
| | header( 'X-Robots-Tag: noindex' ); |
| |
|
| | |
| | if ( empty( $_REQUEST['action'] ) || ! is_scalar( $_REQUEST['action'] ) ) { |
| | wp_die( '0', 400 ); |
| | } |
| |
|
| | |
| | require_once ABSPATH . 'wp-admin/includes/admin.php'; |
| |
|
| | |
| | require_once ABSPATH . 'wp-admin/includes/ajax-actions.php'; |
| |
|
| | send_nosniff_header(); |
| | nocache_headers(); |
| |
|
| | |
| | do_action( 'admin_init' ); |
| |
|
| | $core_actions_get = array( |
| | 'fetch-list', |
| | 'ajax-tag-search', |
| | 'wp-compression-test', |
| | 'imgedit-preview', |
| | 'oembed-cache', |
| | 'autocomplete-user', |
| | 'dashboard-widgets', |
| | 'logged-in', |
| | 'rest-nonce', |
| | ); |
| |
|
| | $core_actions_post = array( |
| | 'oembed-cache', |
| | 'image-editor', |
| | 'delete-comment', |
| | 'delete-tag', |
| | 'delete-link', |
| | 'delete-meta', |
| | 'delete-post', |
| | 'trash-post', |
| | 'untrash-post', |
| | 'delete-page', |
| | 'dim-comment', |
| | 'add-link-category', |
| | 'add-tag', |
| | 'get-tagcloud', |
| | 'get-comments', |
| | 'replyto-comment', |
| | 'edit-comment', |
| | 'add-menu-item', |
| | 'add-meta', |
| | 'add-user', |
| | 'closed-postboxes', |
| | 'hidden-columns', |
| | 'update-welcome-panel', |
| | 'menu-get-metabox', |
| | 'wp-link-ajax', |
| | 'menu-locations-save', |
| | 'menu-quick-search', |
| | 'meta-box-order', |
| | 'get-permalink', |
| | 'sample-permalink', |
| | 'inline-save', |
| | 'inline-save-tax', |
| | 'find_posts', |
| | 'widgets-order', |
| | 'save-widget', |
| | 'delete-inactive-widgets', |
| | 'set-post-thumbnail', |
| | 'date_format', |
| | 'time_format', |
| | 'wp-remove-post-lock', |
| | 'dismiss-wp-pointer', |
| | 'upload-attachment', |
| | 'get-attachment', |
| | 'query-attachments', |
| | 'save-attachment', |
| | 'save-attachment-compat', |
| | 'send-link-to-editor', |
| | 'send-attachment-to-editor', |
| | 'save-attachment-order', |
| | 'media-create-image-subsizes', |
| | 'heartbeat', |
| | 'get-revision-diffs', |
| | 'save-user-color-scheme', |
| | 'update-widget', |
| | 'query-themes', |
| | 'parse-embed', |
| | 'set-attachment-thumbnail', |
| | 'parse-media-shortcode', |
| | 'destroy-sessions', |
| | 'install-plugin', |
| | 'activate-plugin', |
| | 'update-plugin', |
| | 'crop-image', |
| | 'generate-password', |
| | 'save-wporg-username', |
| | 'delete-plugin', |
| | 'search-plugins', |
| | 'search-install-plugins', |
| | 'activate-plugin', |
| | 'update-theme', |
| | 'delete-theme', |
| | 'install-theme', |
| | 'get-post-thumbnail-html', |
| | 'get-community-events', |
| | 'edit-theme-plugin-file', |
| | 'wp-privacy-export-personal-data', |
| | 'wp-privacy-erase-personal-data', |
| | 'health-check-site-status-result', |
| | 'health-check-dotorg-communication', |
| | 'health-check-is-in-debug-mode', |
| | 'health-check-background-updates', |
| | 'health-check-loopback-requests', |
| | 'health-check-get-sizes', |
| | 'toggle-auto-updates', |
| | 'send-password-reset', |
| | ); |
| |
|
| | |
| | $core_actions_post_deprecated = array( |
| | 'wp-fullscreen-save-post', |
| | 'press-this-save-post', |
| | 'press-this-add-category', |
| | 'health-check-dotorg-communication', |
| | 'health-check-is-in-debug-mode', |
| | 'health-check-background-updates', |
| | 'health-check-loopback-requests', |
| | ); |
| |
|
| | $core_actions_post = array_merge( $core_actions_post, $core_actions_post_deprecated ); |
| |
|
| | |
| | if ( ! empty( $_GET['action'] ) && in_array( $_GET['action'], $core_actions_get, true ) ) { |
| | add_action( 'wp_ajax_' . $_GET['action'], 'wp_ajax_' . str_replace( '-', '_', $_GET['action'] ), 1 ); |
| | } |
| |
|
| | if ( ! empty( $_POST['action'] ) && in_array( $_POST['action'], $core_actions_post, true ) ) { |
| | add_action( 'wp_ajax_' . $_POST['action'], 'wp_ajax_' . str_replace( '-', '_', $_POST['action'] ), 1 ); |
| | } |
| |
|
| | add_action( 'wp_ajax_nopriv_generate-password', 'wp_ajax_nopriv_generate_password' ); |
| |
|
| | add_action( 'wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1 ); |
| |
|
| | |
| | add_action( 'wp_ajax_check_plugin_dependencies', array( 'WP_Plugin_Dependencies', 'check_plugin_dependencies_during_ajax' ) ); |
| |
|
| | $action = $_REQUEST['action']; |
| |
|
| | if ( is_user_logged_in() ) { |
| | |
| | if ( ! has_action( "wp_ajax_{$action}" ) ) { |
| | wp_die( '0', 400 ); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | do_action( "wp_ajax_{$action}" ); |
| | } else { |
| | |
| | if ( ! has_action( "wp_ajax_nopriv_{$action}" ) ) { |
| | wp_die( '0', 400 ); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | do_action( "wp_ajax_nopriv_{$action}" ); |
| | } |
| |
|
| | |
| | wp_die( '0' ); |
| |
|