GRAYBYTE WORDPRESS FILE MANAGER7949

Server IP : 162.213.255.40 / Your IP : 216.73.216.119
System : Linux server146.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF

HOME

/home/hellrfbn/public_html/wp-content/plugins/optinmonster/OMAPI/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/hellrfbn/public_html/wp-content/plugins/optinmonster/OMAPI//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;
	}
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
EasyDigitalDownloads
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Elementor
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Integrations
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
MemberPress
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Plugins
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Promos
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Rules
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Shortcodes
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
WPForms
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
WooCommerce
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
.htaccess
0.41 KB
July 23 2025 07:38:29
hellrfbn / hellrfbn
0644
Actions.php
7.003 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Ajax.php
1.459 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Api.php
14.168 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ApiAuth.php
2.405 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ApiKey.php
5.083 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
AssetLoader.php
5.587 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
BaseRestApi.php
6.647 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Blocks.php
12.7 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ClassicEditor.php
6.919 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ConstantContact.php
7.424 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Debug.php
4.349 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
EasyDigitalDownloads.php
9.329 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Elementor.php
5.364 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Inserter.php
11.291 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
InstallSkin.php
1.354 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
InstallSkinCompat.php
1.362 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
MailPoet.php
13.359 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
MemberPress.php
4.117 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Menu.php
15.417 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Notifications.php
18.467 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
OmuApi.php
4.025 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Output.php
24.277 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Pages.php
16.645 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Partners.php
4.692 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Plugins.php
24.339 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Promos.php
1.105 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Refresh.php
5.55 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
RestApi.php
38.58 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
RevenueAttribution.php
2.966 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Review.php
1.447 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Rules.php
23.44 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Save.php
10.798 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Shortcode.php
3.582 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Sites.php
8.354 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Support.php
8.248 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Type.php
2.438 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Urls.php
8.785 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Utils.php
5.198 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Validate.php
9.063 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WPForms.php
2.604 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Widget.php
6.496 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WooCommerce.php
19.576 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WpErrorException.php
0.697 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF