# elasticpress/5.3.5/includes/classes/StatusReport/AjaxReport.php

ElasticPress, version 5.3.5. 58 lines.

- Page: https://pluginprobe.com/plugins/elasticpress/5.3.5/code/includes/classes/StatusReport/AjaxReport.php
- Raw: https://pluginprobe.com/plugins/elasticpress/5.3.5/raw/includes/classes/StatusReport/AjaxReport.php
- Modified: 2025-04-10T13:16:00+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elasticpress/5.3.5/code/includes/classes/StatusReport/AjaxReport.php#L10-L20`.

```php
<?php
/**
 * AjaxReport abstract class
 *
 * @package elasticpress
 *
 * @since 5.2.0
 */

namespace ElasticPress\StatusReport;

defined( 'ABSPATH' ) || exit;

/**
 * AjaxReport class
 *
 * @package ElasticPress
 */
abstract class AjaxReport extends Report {
	/**
	 * Groups must return empty array in Ajax context. Always
	 *
	 * @return array
	 */
	final public function get_groups(): array {
		return [];
	}

	/**
	 * Return the report messages.
	 *
	 * @return array
	 */
	public function get_messages(): array {
		if ( isset( $_POST['action'] ) && 'ep_load_groups' === $_POST['action'] ) { // phpcs:ignore WordPress.Security.NonceVerification
			return [];
		}

		$messages = [
			[
				'type'    => 'warning',
				'message' => sprintf(
					__( 'To see this report, please generate a full report first by clicking the "Generate Full Status Report" button.', 'elasticpress' ),
				),
			],
		];

		return $messages;
	}

	/**
	 * Return the report groups in an AJAX context
	 *
	 * @return string
	 */
	abstract public function get_groups_ajax(): array;
}

```
