Skip to content
Snippets Groups Projects
class-main.php 2.11 KiB
Newer Older
<?php

namespace Automattic\WP\Bulk_Edit_Cron_Offload;

class Main {
	/**
	 * Register action
	 */
	public static function load() {
		add_action( 'load-edit.php', array( __CLASS__, 'intercept' ) );
	}

	/**
	 * Call appropriate handler
	 */
	public static function intercept() {
		// Nothing to do
		if ( ! isset( $_REQUEST['action'] ) ) {
			return;
		}

		// Parse request to determine what to do
		$vars = self::capture_vars();
		switch ( $vars->action ) {
			case 'delete_all' :
				break;

			case 'trash' :
				break;

			case 'untrash' :
				break;

			case 'delete' :
				break;

			case 'edit' :
				break;

			// How did you get here?
			default :
				return;
				break;
		}
	}

	/**
	 * Capture relevant variables
	private static function capture_vars() {
		$vars = new \stdClass();

		// Capture request variables
		$vars->action = $_REQUEST['action'];

		if ( isset( $_REQUEST['post'] ) && is_array( $_REQUEST['post'] ) ) {
			$vars->posts = array_map( 'absint', $_REQUEST['post'] );
		}

		if ( isset( $_REQUEST['tax_input'] ) && is_array( $_REQUEST['tax_input'] ) ) {
			$vars->tax_input = $_REQUEST['tax_input'];
Erick Hitter's avatar
Erick Hitter committed
		if ( isset( $_REQUEST['post_author'] ) && -1 !== (int) $_REQUEST['post_author'] ) {
			$vars->post_author = $_REQUEST['post_author'];
		}

		if ( isset( $_REQUEST['comment_status'] ) && ! empty( $_REQUEST['comment_status'] ) ) {
			$vars->comment_status = $_REQUEST['comment_status'];
		}

		if ( isset( $_REQUEST['ping_status'] ) && ! empty( $_REQUEST['ping_status'] ) ) {
			$vars->ping_status = $_REQUEST['ping_status'];
		}

		if ( isset( $_REQUEST['_status'] ) && -1 !== (int) $_REQUEST['_status'] ) {
			$vars->post_status = $_REQUEST['_status'];
		}

		if ( isset( $_REQUEST['sticky'] ) && -1 !== (int) $_REQUEST['sticky'] ) {
			$vars->post_sticky = $_REQUEST['sticky'];
		}

		if ( isset( $_REQUEST['post_format'] ) && -1 !== (int) $_REQUEST['post_format'] ) {
			$vars->post_format = $_REQUEST['post_format'];
		}

		// Stop Core from processing bulk request
		unset( $_REQUEST['action'] );
		unset( $_REQUEST['action2'] );
Erick Hitter's avatar
Erick Hitter committed

		// Return captured variables
		return $vars;
Erick Hitter's avatar
Erick Hitter committed
	}
Main::load();