KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache
System : Linux cs317.bluehost.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : andertr9 ( 1047)
PHP Version : 8.2.18
Disable Function : NONE
Directory :  /opt/wp/plugins/bluehost-wordpress-plugin/inc/RestApi/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/wp/plugins/bluehost-wordpress-plugin/inc/RestApi/CachingController.php
<?php

namespace Bluehost\RestApi;

/**
 * Class CachingController
 */
class CachingController extends \WP_REST_Controller {

	/**
	 * The namespace of this controller's route.
	 *
	 * @var string
	 */
	protected $namespace = 'bluehost/v1';

	/**
	 * Constructor.
	 *
	 * @since 4.7.0
	 */
	public function __construct() {
	}

	/**
	 * Registers the settings route
	 */
	public function register_routes() {

		register_rest_route(
			$this->namespace,
			'/caching',
			array(
				'methods'             => \WP_REST_Server::DELETABLE,
				'callback'            => array( $this, 'purge_all' ),
				'permission_callback' => array( $this, 'check_permission' ),
			)
		);

	}

	/**
	 * Clears the entire cache
	 */
	public function purge_all() {
		if ( ! class_exists( 'Endurance_Page_Cache' ) ) {
			return new \WP_Error( 'epc_not_installed', __( 'Endurance Page Cache plugin is not installed.', 'bluehost-wordpress-plugin' ), array( 'status' => 500 ) );
		}

		$epc = new \Endurance_Page_Cache();
		$epc->purge_all();

		return array(
			'status'  => 'success',
			'message' => 'Cache purged',
		);

	}

	/**
	 * Check permissions for route.
	 *
	 * @return bool|\WP_Error
	 */
	public function check_permission() {
		if ( ! current_user_can( 'manage_options' ) ) {
			return new \WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to access this endpoint.', 'bluehost-wordpress-plugin' ), array( 'status' => rest_authorization_required_code() ) );
		}

		return true;
	}

}

Anon7 - 2021