HEX
Server: LiteSpeed
System: Linux dune179.sitesanctuary.org 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 07:08:17 EDT 2024 x86_64
User: h278792 (1197)
PHP: 8.1.29
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h278792/public_html/wp-content/plugins/learnpress/inc/abstracts/abstract-rest-controller.php
<?php

/**
 * Class LP_Abstract_REST_Controller
 */
class LP_Abstract_REST_Controller extends WP_REST_Controller {

	/**
	 * @var string
	 */
	public $namespace = 'lp/v1';

	/**
	 * @var string
	 */
	public $rest_base = '';

	/**
	 * @var array
	 */
	public $routes = array();

	public function __construct() {

	}

	/**
	 * Register routes for controller.
	 */
	public function register_routes() {

		if ( ! $this->routes ) {
			return;
		}

		foreach ( $this->routes as $key => $args ) {
			$rest_base = $this->rest_base;
			$override  = false;

			if ( is_bool( end( $args ) ) ) {
				$override = array_pop( $args );
			}

			if ( ! is_numeric( $key ) ) {
				$rest_base = "{$rest_base}/{$key}";
			}

			register_rest_route( $this->namespace, '/' . $rest_base, $args, $override );
		}
	}

	public function ensure_response( $data ) {
		add_filter( 'rest_pre_serve_request', array( $this, 'print_response' ), 10, 4 );

		return rest_ensure_response( $data );
	}

	/**
	 * @param boolean          $false
	 * @param WP_REST_Response $result
	 * @param WP_REST_Request  $request
	 * @param WP_REST_Server   $server
	 */
	public function print_response( $false, $result, $request, $server ) {
		learn_press_send_json( $result->get_data() );
	}
}