HEX
Server: LiteSpeed
System: Linux pulsar191.sitesanctuary.org 5.14.0-284.30.1.el9.tuxcare.els9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jan 10 17:34:05 UTC 2025 x86_64
User: lgooir (1604)
PHP: 8.1.32
Disabled: exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,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/lgooir/.trash/elementor/app/modules/import-export-customization/data/routes/base-route.php
<?php

namespace Elementor\App\Modules\ImportExportCustomization\Data\Routes;

abstract class Base_Route {
	public function __construct() {}

	public function register_route( $name_space, $base_route ): void {
		register_rest_route( $name_space, '/' . $base_route . '/' . $this->get_route(), [
			[
				'methods' => $this->get_method(),
				'callback' => fn( $request ) => $this->callback( $request ),
				'permission_callback' => $this->permission_callback(),
				'args' => $this->get_args(),
			],
		] );
	}

	abstract protected function get_route(): string;

	abstract protected function get_method(): string;

	abstract protected function callback( $request ): \WP_REST_Response;

	protected function permission_callback(): callable {
		return fn() => current_user_can( 'manage_options' );
	}

	abstract protected function get_args(): array;
}