/
home
/
techb158
/
public_html
/
wp-content
/
plugins
/
optinmonster
/
OMAPI
/
/home/techb158/public_html/wp-content/plugins/optinmonster/OMAPI
mkdir
upload
Name
Size
Mode
Actions
EasyDigitalDownloads/
-
0755
rm
Elementor/
-
0755
rm
Integrations/
-
0755
rm
MemberPress/
-
0755
rm
Plugins/
-
0755
rm
Promos/
-
0755
rm
Rules/
-
0755
rm
Shortcodes/
-
0755
rm
WooCommerce/
-
0755
rm
WPForms/
-
0755
rm
Actions.php
7970
0666
edit
dl
rm
Ajax.php
1494
0666
edit
dl
rm
Api.php
14507
0666
edit
dl
rm
ApiAuth.php
2463
0666
edit
dl
rm
ApiKey.php
5203
0666
edit
dl
rm
AssetLoader.php
5489
0666
edit
dl
rm
BaseRestApi.php
6889
0666
edit
dl
rm
Blocks.php
13105
0666
edit
dl
rm
ClassicEditor.php
7084
0666
edit
dl
rm
ConstantContact.php
7591
0666
edit
dl
rm
Debug.php
4592
0666
edit
dl
rm
EasyDigitalDownloads.php
9553
0666
edit
dl
rm
Elementor.php
5493
0666
edit
dl
rm
Inserter.php
11571
0666
edit
dl
rm
InstallSkin.php
1386
0666
edit
dl
rm
InstallSkinCompat.php
1395
0666
edit
dl
rm
MailPoet.php
13974
0666
edit
dl
rm
MemberPress.php
4216
0666
edit
dl
rm
Menu.php
17301
0666
edit
dl
rm
Notifications.php
18910
0666
edit
dl
rm
OmuApi.php
4122
0666
edit
dl
rm
Output.php
25848
0666
edit
dl
rm
Pages.php
18019
0666
edit
dl
rm
Partners.php
5557
0666
edit
dl
rm
Plugins.php
24923
0666
edit
dl
rm
Promos.php
1131
0666
edit
dl
rm
Refresh.php
6553
0666
edit
dl
rm
RestApi.php
44190
0666
edit
dl
rm
RevenueAttribution.php
3037
0666
edit
dl
rm
Review.php
1482
0666
edit
dl
rm
Rules.php
24000
0666
edit
dl
rm
Save.php
11999
0666
edit
dl
rm
Shortcode.php
3667
0666
edit
dl
rm
Sites.php
8553
0666
edit
dl
rm
Support.php
9192
0666
edit
dl
rm
Type.php
3722
0666
edit
dl
rm
Urls.php
8951
0666
edit
dl
rm
Utils.php
7589
0666
edit
dl
rm
Validate.php
9266
0666
edit
dl
rm
Welcome.php
4929
0666
edit
dl
rm
Widget.php
6662
0666
edit
dl
rm
WooCommerce.php
20045
0666
edit
dl
rm
WpErrorException.php
714
0666
edit
dl
rm
WPForms.php
2665
0666
edit
dl
rm
Edit:
/home/techb158/public_html/wp-content/plugins/optinmonster/OMAPI/ApiKey.php
(5203B)
<?php /** * Mailpoet integration class. * * @since 2.0.0 * * @package OMAPI * @author Justin Sternberg */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * OM API Key management class. * * @since 2.0.0 */ class OMAPI_ApiKey { /** * Handles storing the API key and initiating the API connection. * * @since 2.0.0 * * @param string $apikey The OM api key. * * @return bool True if the Key can be validated */ public static function init_connection( $apikey ) { $base = OMAPI::get_instance(); $creds = compact( 'apikey' ); $option = $base->get_option(); $option['api']['apikey'] = $apikey; // Let's store the api-key first. $base->save->update_option( $option, $creds ); // Go ahead and remove the old user and key. $option['api']['user'] = ''; $option['api']['key'] = ''; // Remove any error messages. $option['is_invalid'] = false; $option['is_expired'] = false; $option['is_disabled'] = false; $option['connected'] = time(); $option['auto_updates'] = 'all'; $option['usage_tracking'] = true; // Remove any pre-saved site/user/account data, so we re-fetch it elsewhere. unset( $option['siteId'] ); unset( $option['siteIds'] ); unset( $option['customApiUrl'] ); unset( $option['apiCname'] ); unset( $option['userId'] ); unset( $option['accountUserId'] ); unset( $option['accountId'] ); unset( $option['currentLevel'] ); unset( $option['plan'] ); unset( $option['revenueAttribution'] ); // Fetch the userId and accountId now. $option = OMAPI_Api::fetch_me( $option, $creds ); if ( is_wp_error( $option ) ) { return $option; } // Fetch the SiteIds for this site now. $result = $base->sites->fetch( $apikey ); if ( is_wp_error( $result ) ) { return $result; } $option = array_merge( $option, $result ); // Fetch the campaigns for this site now. $base->refresh->refresh( $apikey ); // Save the option one more time, with all the new good stuff.. $base->save->update_option( $option, $creds ); return $option; } /** * Remove the API key and disconnect from the OptinMonster app. * * @since 2.0.0 * * @return mixed The results of update_option. */ public static function disconnect() { $option = OMAPI::get_instance()->get_option(); $option['connected'] = 0; $option['api']['apikey'] = ''; // Remove any pre-saved site/user/account data, so we re-fetch it elsewhere. unset( $option['userId'] ); unset( $option['accountUserId'] ); unset( $option['accountId'] ); unset( $option['currentLevel'] ); unset( $option['plan'] ); unset( $option['siteId'] ); unset( $option['siteIds'] ); unset( $option['customApiUrl'] ); unset( $option['apiCname'] ); unset( $option['api']['user'] ); unset( $option['api']['key'] ); // Save the updated option. return OMAPI::get_instance()->save->update_option( $option ); } /** * Determine if we can store the given api key. * * @since 2.0.0 * * @param string $apikey The OM api key. * * @return bool True if the Key can be validated */ public static function verify( $apikey ) { $creds = array( 'apikey' => $apikey ); // Verify this new API Key works by posting to the Legacy route. return OMAPI_Api::build( 'v1', 'verify/', 'POST', $creds )->request(); } /** * 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 2.0.0 * * @param string $apikey The OM api key. * * @return bool True if the Key can be validated */ public static function validate( $apikey ) { if ( empty( $apikey ) ) { return false; } $site_ids = OMAPI::get_instance()->get_site_ids(); if ( empty( $site_ids ) ) { return false; } $api_key_sites = OMAPI::get_instance()->sites->fetch( $apikey, true ); if ( is_wp_error( $api_key_sites ) || empty( $api_key_sites['siteIds'] ) ) { return false; } foreach ( $site_ids as $site_id ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict if ( in_array( $site_id, $api_key_sites['siteIds'] ) ) { return true; } } return false; } /** * Determine if we have a valid api key stored. * * @since 2.0.0 * * @return bool */ public static function has_credentials() { $creds = OMAPI::get_instance()->get_api_credentials(); return ! empty( $creds['apikey'] ) || self::has_legacy(); } /** * Determine if we have legacy api credentials. * * @since 2.0.0 * * @return bool */ public static function has_legacy() { $creds = OMAPI::get_instance()->get_api_credentials(); return ! empty( $creds['user'] ) && ! empty( $creds['key'] ); } /** * Handles regnerating api key. * * @since 2.6.5 * * @param string $apikey Api Key to replace after regeneration. * * @return mixed $value The response to the API call. */ public static function regenerate( $apikey ) { return OMAPI_Api::build( 'v2', 'key/regenerate', 'POST', compact( 'apikey' ) ) ->request( array( 'tt' => OMAPI_ApiAuth::get_tt(), ) ); } }
Save
cmd:
run