Current Path: > home > codekrsu > > escapematrixonline.com > wp-content > plugins > optinmonster > OMAPI >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
EasyDigitalDownloads | Directory | - | - | |
Elementor | Directory | - | - | |
Integrations | Directory | - | - | |
MemberPress | Directory | - | - | |
Plugins | Directory | - | - | |
Promos | Directory | - | - | |
Rules | Directory | - | - | |
Shortcodes | Directory | - | - | |
WPForms | Directory | - | - | |
WooCommerce | Directory | - | - | |
Actions.php | File | 7126 bytes | February 25 2025 01:06:30. | |
Ajax.php | File | 1494 bytes | November 17 2021 04:02:26. | |
Api.php | File | 14508 bytes | February 25 2025 01:06:30. | |
ApiAuth.php | File | 2463 bytes | October 07 2021 23:34:50. | |
ApiKey.php | File | 5205 bytes | July 01 2024 22:14:00. | |
AssetLoader.php | File | 5721 bytes | April 01 2021 19:57:40. | |
BaseRestApi.php | File | 6807 bytes | October 15 2024 19:52:30. | |
Blocks.php | File | 13118 bytes | March 26 2025 18:07:30. | |
ClassicEditor.php | File | 7085 bytes | July 19 2022 01:42:26. | |
ConstantContact.php | File | 7602 bytes | July 01 2024 22:14:00. | |
Debug.php | File | 4453 bytes | July 01 2024 22:14:00. | |
EasyDigitalDownloads.php | File | 9553 bytes | July 01 2024 22:14:00. | |
Elementor.php | File | 5493 bytes | January 18 2023 22:34:56. | |
Inserter.php | File | 11562 bytes | September 14 2022 06:35:44. | |
InstallSkin.php | File | 1386 bytes | January 20 2021 22:11:00. | |
InstallSkinCompat.php | File | 1395 bytes | January 20 2021 22:11:00. | |
MailPoet.php | File | 13680 bytes | July 01 2024 22:14:00. | |
MemberPress.php | File | 4216 bytes | June 23 2023 01:24:22. | |
Menu.php | File | 15787 bytes | November 27 2024 23:45:46. | |
Notifications.php | File | 18910 bytes | October 15 2024 19:52:30. | |
OmuApi.php | File | 4122 bytes | October 27 2021 22:35:34. | |
Output.php | File | 24860 bytes | September 16 2024 23:28:26. | |
Pages.php | File | 17172 bytes | March 31 2025 18:30:04. | |
Partners.php | File | 4805 bytes | July 01 2024 22:14:00. | |
Plugins.php | File | 24923 bytes | April 23 2024 17:54:30. | |
Promos.php | File | 1132 bytes | September 14 2022 06:35:44. | |
Refresh.php | File | 5891 bytes | March 31 2025 18:30:04. | |
RestApi.php | File | 39506 bytes | October 15 2024 19:52:30. | |
RevenueAttribution.php | File | 3037 bytes | May 17 2022 18:55:22. | |
Review.php | File | 1482 bytes | September 08 2021 19:22:54. | |
Rules.php | File | 24003 bytes | July 01 2024 22:14:00. | |
Save.php | File | 11057 bytes | October 13 2023 01:19:08. | |
Shortcode.php | File | 3668 bytes | November 30 2021 23:04:18. | |
Sites.php | File | 8554 bytes | July 01 2024 22:14:00. | |
Support.php | File | 8446 bytes | February 25 2025 01:06:30. | |
Type.php | File | 2496 bytes | February 11 2023 00:30:54. | |
Urls.php | File | 8996 bytes | November 13 2024 02:13:58. | |
Utils.php | File | 7590 bytes | March 31 2025 18:30:04. | |
Validate.php | File | 9280 bytes | February 22 2024 23:03:38. | |
WPForms.php | File | 2666 bytes | July 27 2023 00:06:52. | |
Welcome.php | File | 4930 bytes | November 17 2021 04:02:26. | |
Widget.php | File | 6652 bytes | November 17 2021 04:02:26. | |
WooCommerce.php | File | 20046 bytes | July 01 2024 22:14:00. | |
Wordfence.php | File | 5606 bytes | October 09 2024 11:38:44. | |
WpErrorException.php | File | 714 bytes | November 17 2020 01:51:02. |
<?php /** * Base Rest API Class, extend this if implementing a RestApi class. * Most of the code was migrated from OMAPI_RestApi. * * @since 2.8.0 * * @package OMAPI * @author Gabriel Oliveira and Eduardo Nakatsuka */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Base Rest Api class. * * @since 2.8.0 */ abstract class OMAPI_BaseRestApi { /** * The Base OMAPI Object * * @since 2.8.0 * * @var OMAPI */ protected $base; /** * The REST API Namespace * * @since 2.8.0 * * @var string The namespace */ protected $namespace = 'omapp/v1'; /** * Whether request was given a valid api key. * * @since 2.8.0 * * @var null|bool */ protected $has_valid_api_key = null; /** * Build our object. * * @since 2.8.0 */ public function __construct() { $this->base = OMAPI::get_instance(); $this->register_rest_routes(); } /** * Registers the Rest API routes for this class * * @since 2.8.0 * * @return void */ abstract public function register_rest_routes(); /** * Determine if we can store settings. * * @since 2.0.0 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param WP_REST_Request $request The REST Request. * * @return WP_Error|bool */ public function can_update_settings( $request ) { try { $this->verify_request_nonce( $request ); } catch ( Exception $e ) { return $this->exception_to_response( $e ); } return OMAPI::get_instance()->can_access( 'settings_update' ); } /** * Determine if OM API key is provided and valid. * * @since 1.9.10 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param WP_REST_Request $request The REST Request. * * @return WP_Error|bool */ public function has_valid_api_key( $request ) { $header = $request->get_header( 'X-OptinMonster-ApiKey' ); // Use this API Key to validate. if ( ! $this->validate_api_key( $header ) ) { return new WP_Error( 'omapp_rest_forbidden', esc_html__( 'Could not verify your API Key.', 'optin-monster-api' ), array( 'status' => rest_authorization_required_code(), ) ); } return $this->has_valid_api_key; } /** * Determine if logged in or OM API key is provided and valid. * * @since 1.9.10 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param WP_REST_Request $request The REST Request. * * @return bool */ public function logged_in_or_has_api_key( $request ) { return $this->logged_in_and_can_access_route( $request ) || true === $this->has_valid_api_key( $request ); } /** * Determine if logged in user can access this route (calls current_user_can). * * @since 2.6.4 * * @param WP_REST_Request $request The REST Request. * * @return bool */ public function logged_in_and_can_access_route( $request ) { return OMAPI::get_instance()->can_access( $request->get_route() ); } /** * Determine if the passed connection token is valid. * * @since 2.16.6 * * @param WP_REST_Request $request The REST Request. * * @return WP_Error|bool */ public function has_connection_token( $request ) { $request_connection_token = $request->get_param( 'connectionToken' ); $connection_token = $this->base->get_option( 'connectionToken' ); if ( 'omwpoct_' . $connection_token !== $request_connection_token ) { return new WP_Error( 'omapp_rest_forbidden', esc_html__( 'Could not verify your connection token.', 'optin-monster-api' ), array( 'status' => rest_authorization_required_code(), ) ); } return true; } /** * Validate this API Key * We validate an API Key by fetching the Sites this key can fetch * And then confirming that this key has access to at least one of these sites * * @since 1.8.0 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param string $apikey The OM api key. * * @return bool True if the Key can be validated */ public function validate_api_key( $apikey ) { $this->has_valid_api_key = OMAPI_ApiKey::validate( $apikey ); return $this->has_valid_api_key; } /** * Convert an exception to a REST API WP_Error object. * * @since 2.0.0 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param Exception $e The exception. * * @return WP_Error */ protected function exception_to_response( Exception $e ) { // Return WP_Error objects directly. if ( $e instanceof OMAPI_WpErrorException && $e->getWpError() ) { return $e->getWpError(); } $code = $e->getCode(); if ( empty( $code ) || $code < 400 ) { $code = 400; } $data = ! empty( $e->data ) ? $e->data : array(); $data = wp_parse_args( $data, array( 'status' => $code, ) ); $error_code = rest_authorization_required_code() === $code ? 'omapp_rest_forbidden' : 'omapp_rest_error'; return new WP_Error( $error_code, $e->getMessage(), $data ); } /** * Convert a WP_Error to a proper REST API WP_Error object. * * @since 2.6.5 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param WP_Error $e The WP_Error object. * @param mixed $data Data to include in the error data. * * @return WP_Error */ protected function wp_error_to_response( WP_Error $e, $data = array() ) { $api = OMAPI_Api::instance(); $data = is_array( $data ) || is_object( $data ) ? (array) $data : array(); $error_data = $e->get_error_data(); $error_message = $e->get_error_message(); $error_code = $e->get_error_code(); if ( empty( $error_data['status'] ) ) { $status = is_numeric( $error_data ) ? $error_data : 400; $error_code = (string) rest_authorization_required_code() === (string) $status ? 'omapp_rest_forbidden' : 'omapp_rest_error'; $error_data = wp_parse_args( array( 'status' => $status, ), $data ); } else { $error_data = wp_parse_args( $error_data, $data ); } return new WP_Error( $error_code, $error_message, $error_data ); } /** * Verify the request nonce and throw an exception if verification fails. * * @since 2.0.0 * @since 2.8.0 Migrated from OMAPI_RestApi * * @param WP_REST_Request $request The REST request. * * @return void * * @throws Exception If the nonce is missing or invalid. */ public function verify_request_nonce( $request ) { $nonce = $request->get_param( 'nonce' ); if ( empty( $nonce ) ) { $nonce = $request->get_header( 'X-WP-Nonce' ); } if ( empty( $nonce ) ) { throw new Exception( esc_html__( 'Missing security token!', 'optin-monster-api' ), rest_authorization_required_code() ); } // Check the nonce. $result = wp_verify_nonce( $nonce, 'wp_rest' ); if ( ! $result ) { throw new Exception( esc_html__( 'Security token invalid!', 'optin-monster-api' ), rest_authorization_required_code() ); } } }
SILENT KILLER Tool