GRAYBYTE WORDPRESS FILE MANAGER3051

Server IP : 162.213.255.40 / Your IP : 216.73.216.143
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//ApiKey.php
<?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(),
				)
			);
	}

}


[ 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