/home/altere25/usaigc.com/wp-content/plugins/optinmonster/OMAPI
NameSizeModeActions
EasyDigitalDownloads/-0755rm
Elementor/-0755rm
Integrations/-0755rm
MemberPress/-0755rm
Plugins/-0755rm
Promos/-0755rm
Rules/-0755rm
Shortcodes/-0755rm
WooCommerce/-0755rm
WPForms/-0755rm
Actions.php71710644editdlrm
Ajax.php14940644editdlrm
Api.php145080644editdlrm
ApiAuth.php24630644editdlrm
ApiKey.php52050644editdlrm
AssetLoader.php57210644editdlrm
BaseRestApi.php68070644editdlrm
Blocks.php130050644editdlrm
ClassicEditor.php70850644editdlrm
ConstantContact.php76020644editdlrm
Debug.php44530644editdlrm
EasyDigitalDownloads.php95530644editdlrm
Elementor.php54930644editdlrm
Inserter.php115620644editdlrm
InstallSkin.php13860644editdlrm
InstallSkinCompat.php13950644editdlrm
MailPoet.php136800644editdlrm
MemberPress.php42160644editdlrm
Menu.php157870644editdlrm
Notifications.php189100644editdlrm
OmuApi.php41220644editdlrm
Output.php248600644editdlrm
Pages.php170440644editdlrm
Partners.php48050644editdlrm
Plugins.php249230644editdlrm
Promos.php11320644editdlrm
Refresh.php56830644editdlrm
RestApi.php395060644editdlrm
RevenueAttribution.php30370644editdlrm
Review.php14820644editdlrm
Rules.php240030644editdlrm
Save.php110570644editdlrm
Shortcode.php36680644editdlrm
Sites.php85540644editdlrm
Support.php84460644editdlrm
Type.php24960644editdlrm
Urls.php89960644editdlrm
Utils.php53230644editdlrm
Validate.php92800644editdlrm
Welcome.php49300644editdlrm
Widget.php66520644editdlrm
WooCommerce.php200460644editdlrm
WpErrorException.php7140644editdlrm
WPForms.php26660644editdlrm
Edit: /home/altere25/usaigc.com/wp-content/plugins/optinmonster/OMAPI/Actions.php (7171B)
set(); // Add validation messages. add_action( 'admin_init', array( $this, 'maybe_fetch_missing_data' ), 99 ); // We can run upgrade routines on cron runs and admin requests. if ( defined( 'DOING_CRON' ) && DOING_CRON ) { add_action( 'optin_monster_api_global_loaded', array( $this, 'check_upgrade_routines' ), 99 ); } else { add_action( 'admin_init', array( $this, 'check_upgrade_routines_admin' ), 100 ); } } /** * Sets our object instance and base class instance. * * @since 1.0.0 */ public function set() { self::$instance = $this; $this->base = OMAPI::get_instance(); } /** * When the plugin is first installed * Or Migrated from a pre-1.8.0 version * We need to fetch some additional data * * @since 1.8.0 * * @return void */ public function maybe_fetch_missing_data() { $creds = $this->base->get_api_credentials(); $option = $this->base->get_option(); $changed = false; // Set some onboarding connection related variables. // phpcs:ignore WordPress.Security.NonceVerification.Recommended $onboarding_connect = empty( $_GET['onboardingConnect'] ) ? 'false' : sanitize_key( wp_unslash( $_GET['onboardingConnect'] ) ); $connection_token = $this->base->get_option( 'connectionToken' ); $is_onboarding_connect = ! empty( $connection_token ) && wp_validate_boolean( $onboarding_connect ); // Determine if we're missing API key credentials. $missing_api_key = empty( $creds['apikey'] ) && empty( $creds['user'] ) && empty( $creds['key'] ); // If we don't have an API Key yet, we can't fetch anything else. if ( $missing_api_key && ! $is_onboarding_connect ) { return; } // Set the onboarding credentials if we don't already have credentials. if ( empty( $creds ) ) { $creds = array( 'onboardingApiKey' => 'omwpoct_' . $connection_token ); } // Fetch the userId and accountId, if we don't have them. if ( empty( $option['userId'] ) || empty( $option['accountId'] ) || empty( $option['accountUserId'] ) || empty( $option['currentLevel'] ) || empty( $option['plan'] ) || empty( $creds['apikey'] ) ) { $result = OMAPI_Api::fetch_me( $option, $creds ); if ( ! is_wp_error( $result ) ) { $changed = true; $option = $result; } } if ( $changed && ! empty( $option['connectionToken'] ) ) { unset( $option['connectionToken'] ); } // Fetch the SiteIds for this site, if we don't have them. if ( empty( $option['siteIds'] ) || empty( $option['siteId'] ) || $this->site_ids_are_numeric( $option['siteIds'] ) || ! isset( $option['apiCname'] ) ) { $result = $this->base->sites->fetch(); if ( ! is_wp_error( $result ) ) { $option = array_merge( $option, $result ); $changed = true; } } // Only update the option if we've changed something. if ( $changed ) { update_option( 'optin_monster_api', $option ); } } /** * In one version of the Plugin, we fetched the numeric SiteIds, * But we actually needed the alphanumeric SiteIds. * * So we use this check to determine if we need to re-fetch Site Ids. * * @param array $site_ids Site ids to convert. * @return bool True if the ids are numeric. */ protected function site_ids_are_numeric( $site_ids ) { foreach ( $site_ids as $id ) { if ( ! ctype_digit( (string) $id ) ) { return false; } } return true; } /** * Runs upgrade routines in the admin, and refreshes the page if needed * (if options changed, etc). * * @since 2.6.5 * * @return void */ public function check_upgrade_routines_admin() { $refresh = $this->check_upgrade_routines(); if ( $refresh ) { wp_safe_redirect( esc_url_raw( add_query_arg( 'om', 1 ) ) ); exit; } } /** * Handles running the upgrade routines for each version. * * @since 2.6.5 * * @return bool Whether page should be refreshed. */ public function check_upgrade_routines() { $in_progress = get_option( 'optinmonster_current_upgrade' ); if ( ! empty( $in_progress ) ) { return false; } $refresh = false; $plugin_version = $this->base->version; $upgrade_completed = get_option( 'optinmonster_upgrade_completed', 0 ); $upgrade_map = array( '2.6.5' => 'v265_upgrades', '2.9.0' => 'v290_upgrades', ); foreach ( $upgrade_map as $upgrade_version => $method ) { if ( version_compare( $plugin_version, $upgrade_version, '>=' ) && version_compare( $upgrade_completed, $upgrade_version, '<' ) ) { update_option( 'optinmonster_current_upgrade', $upgrade_version ); $refresh = $this->{$method}(); delete_option( 'optinmonster_current_upgrade' ); } } if ( (string) $plugin_version !== (string) $upgrade_completed ) { if ( empty( $this->base->notifications ) ) { $this->base->notifications = new OMAPI_Notifications(); } $this->base->notifications->update(); update_option( 'optinmonster_upgrade_completed', $plugin_version ); } return $refresh; } /** * Upgrades for version 2.6.5. * * @since 2.6.5 * * @return bool Whether upgrade routine was completed successfully. */ public function v265_upgrades() { $creds = $this->base->get_api_credentials(); // Missing previous api key to verify. if ( empty( $creds['apikey'] ) ) { return false; } $api = OMAPI_Api::build( 'v1', 'verify/', 'POST', $creds ); $results = $api->request(); // Current key is fine. if ( ! is_wp_error( $results ) ) { return false; } $error_code = ! empty( $api->response_body->code ) ? $api->response_body->code : 0; if ( in_array( (string) $api->response_code, array( '410', '401', '424', '403' ), true ) && '10051' === (string) $error_code ) { OMAPI_ApiKey::regenerate( $creds['apikey'] ); // Regenerated, so we want to refresh the page. return true; } // No luck. return false; } /** * Upgrades for version 2.9.0. * * This adds an admin_url to the site. * * @since 2.9.0 * * @return bool Whether upgrade routine was completed successfully. */ public function v290_upgrades() { $creds = $this->base->get_api_credentials(); $site_id = $this->base->get_site_id(); if ( empty( $creds['apikey'] ) || empty( $site_id ) ) { return false; } $args = array( 'admin_url' => esc_url_raw( get_admin_url() ), ); $api = OMAPI_Api::build( 'v2', 'sites/' . $site_id, 'PUT', $creds ); $results = $api->request( $args ); return ! is_wp_error( $results ); } }