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 /** * Wordfence class. * * @since 2.10.0 * * @package OMAPI * @author Justin Sternberg */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Wordfence class. * * @since 2.10.0 */ class OMAPI_Wordfence { /** * Holds the class object. * * @since 2.10.0 * * @var object */ public static $instance; /** * Holds the base class object. * * @since 2.10.0 * * @var object */ public $base; /** * Array of Wordfence rules that are expired in these newer versions of the WordPress plugin. * * @since 2.10.0 * * @var array */ protected static $expired_om_rules = array( 401 => 1, // "OptinMonster <= 2.6.0 Reflected Cross-Site Scripting" 408 => 1, // "Optinmonster <= 2.6.1 Stored Cross-Site Scripting" ); /** * Primary class constructor. * * @since 2.10.0 */ public function __construct() { if ( ! self::is_active() ) { return; } // Set our object. $this->set(); add_action( 'all_admin_notices', array( $this, 'handle_messages' ) ); add_action( 'admin_post_om_update_wf_rules', array( $this, 'auto_update_rules' ) ); } /** * Sets our object instance and base class instance. * * @since 2.10.0 */ public function set() { self::$instance = $this; $this->base = OMAPI::get_instance(); } /** * Handles outputting the warning and success messages. * * @since 2.10.0 */ public function handle_messages() { if ( self::has_expired_rules() && ( $this->base->is_om_page() || self::is_wf_page() ) ) { $this->output_wordfence_rules_warning(); } else { $this->maybe_output_success_message(); } } /** * Outputs error message about WF rules not working with OptinMonster. * * @since 2.10.0 */ protected function output_wordfence_rules_warning() { $url = add_query_arg( array( 'action' => 'om_update_wf_rules', 'nonce' => wp_create_nonce( 'om_fix_waf_rules', 'om_fix_waf_rules' ), 'return' => urlencode( remove_query_arg( 'om_fix_waf_rules' ) ), ), admin_url( 'admin-post.php' ) ); echo ' <div id="message" class="notice notice-error is-dismissible"> <p style="margin:0.5em 0;"> <span>' . esc_html__( 'Your site is using Wordfence Firewall rules which will prevent OptinMonster from working correctly. ', 'optin-monster-api' ) . '</span> <a style="margin-left: 10px;" class="button" href="' . esc_url( $url ) . '">' . esc_html__( 'Fix this for me', 'optin-monster-api' ), '</a> </p> </div>'; } /** * Outputs success message after WF rules updated. * * @since 2.10.0 */ protected function maybe_output_success_message() { if ( empty( $_GET['om_fix_waf_rules'] ) || 'success' !== $_GET['om_fix_waf_rules'] ) { return; } echo ' <div id="message" class="notice notice-success is-dismissible"> <p style="margin:0.5em 0;">' . esc_html__( 'Success! Your Wordfence Firewall rules have been optimized to work with OptinMonster.', 'optin-monster-api' ) . '</p> </div> <script> if ( window.history.replaceState ) { window.history.replaceState( null, null, ' . json_encode( remove_query_arg( 'om_fix_waf_rules' ) ) . ' ); } </script> '; } /** * Handles auto-fixing the WF rules after user clicks the "Fix this for me" button. * * @since 2.10.0 */ public function auto_update_rules() { if ( ! self::has_expired_rules() ) { return; } // Make sure nonce check passes. check_admin_referer( 'om_fix_waf_rules', 'nonce' ); self::remove_expired_rules(); $url = add_query_arg( 'om_fix_waf_rules', 'success', ! empty( $_GET['return'] ) ? $_GET['return'] : admin_url() ); wp_safe_redirect( esc_url_raw( $url ) ); exit; } /** * Determine if the WF firewall rules have any of the expired OM rules enabled. * * @since 2.10.0 * * @return boolean Whether the WF firewall rules have any of the expired OM rules enabled.. */ protected static function has_expired_rules() { if ( ! is_callable( array( wfWAF::getInstance(), 'getStorageEngine' ) ) ) { return false; } $disabled_rules = (array) wfWAF::getInstance()->getStorageEngine()->getConfig( 'disabledRules' ); $found_rules = self::$expired_om_rules; foreach ( $found_rules as $rule_id => $one ) { if ( ! empty( $disabled_rules[ $rule_id ] ) ) { unset( $found_rules[ $rule_id ] ); } } return ! empty( $found_rules ); } /** * Handles updating the WF firewall disabled rules to include the expired OM rules. * * @since 2.10.0 */ protected function remove_expired_rules() { $disabled = (array) wfWAF::getInstance()->getStorageEngine()->getConfig( 'disabledRules' ); foreach ( self::$expired_om_rules as $rule_id => $one ) { $disabled[ $rule_id ] = true; } wfWAF::getInstance()->getStorageEngine()->setConfig( 'disabledRules', $disabled ); } /** * Checks if given (or current) page is a wordfence admin page. * * @since 2.10.0 * * @param strgin $page Page to check. Falls back to $_REQUEST['page']. * * @return boolean Whether given (or current) page is a wordfence admin page. */ public static function is_wf_page( $page = null ) { if ( empty( $page ) && ! empty( $_REQUEST['page'] ) ) { $page = $_REQUEST['page']; } if ( empty( $page ) ) { return false; } $page = sanitize_key( $page ); return 'wfls' === $page || preg_match( '/wordfence/', $page ); } /** * Check if the Wordfence plugin is active. * * @since 2.10.0 * * @return bool */ public static function is_active() { return is_callable( 'wfWAF::getInstance' ); } }
SILENT KILLER Tool