HEX
Server: Apache
System: Linux 244.240.109.208.host.secureserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: icsla (1002)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/icsla/public_html/wp-content/plugins/string-locator/includes/REST/class-search.php
<?php

namespace StringLocator\REST;

use StringLocator\Base\REST;
use StringLocator\String_Locator;

class Search extends REST {

	protected $rest_base = 'search';

	public function __construct() {
		parent::__construct();
	}

	public function register_rest_route() {
		register_rest_route(
			$this->namespace,
			$this->rest_base,
			array(
				'methods'             => 'POST',
				'callback'            => array( $this, 'perform_search' ),
				'permission_callback' => array( $this, 'permission_callback' ),
			)
		);
	}

	public function permission_callback() {
		return current_user_can( String_Locator::$search_capability );
	}

	public function perform_search( \WP_REST_Request $request ) {
		$handler = new \StringLocator\Search();

		/**
		 * Filter the search handler used to find strings.
		 *
		 * @attr object           $handler The handler performing searches.
		 * @attr \WP_REST_Request $request The request received by the REST API handler.
		 */
		$handler = apply_filters( 'string_locator_search_handler', $handler, $request );

		return array(
			'success' => true,
			'data'    => $handler->run( $request->get_param( 'filenum' ) ),
		);
	}

}

new Search();