HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux newsites.squeezer-software.com 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/sites/ileskneiss/wp-content/plugins/learnpress/inc/abstracts/abstract-rest-api.php
<?php

/**
 * Class LP_API_Base
 *
 * Base class for api
 *
 * @since 3.2.6
 */
abstract class LP_Abstract_API {
	/**
	 * @var string
	 */
	public $version = 'v1';

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

	/**
	 * @var WC_REST_Controller[]|string[]
	 */
	public $controllers = array();

	/**
	 * LP_API_Base constructor.
	 */
	public function __construct() {
		$this->rest_api_init();
	}

	/**
	 * Init REST.
	 *
	 * @since 3.2.6
	 */
	public function rest_api_init() {
		if ( ! class_exists( 'WP_REST_Server' ) ) {
			return;
		}

		if ( ! LP_Helper::isRestApiLP() ) {
			return;
		}

		$this->rest_api_includes();

		add_action( 'rest_api_init', array( $this, 'rest_api_register_routes' ), 10 );

	}

	public function rest_api_includes() {

	}

	/**
	 * Register routes
	 *
	 * @since 3.2.6
	 */
	public function rest_api_register_routes() {
		if ( ! $this->controllers ) {
			return;
		}

		$controllers = array();

		foreach ( $this->controllers as $name => $controller ) {

			if ( is_string( $controller ) ) {
				$name                 = $controller;
				$controllers[ $name ] = new $controller();
			} else {
				$controllers[ $name ] = $controller;
			}

			$controllers[ $name ]->register_routes();
		}

		$this->controllers = $controllers;
	}

	/**
	 * Check permission if user is administrator.
	 *
	 * @return bool
	 */
	public static function check_admin_permission(): bool {
		return current_user_can( ADMIN_ROLE );
	}
}