GRAYBYTE WORDPRESS FILE MANAGER8320

Server IP : 162.213.255.40 / Your IP : 216.73.216.119
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//Actions.php
<?php
/**
 * Actions class.
 *
 * @since 1.0.0
 *
 * @package OMAPI
 * @author  Thomas Griffin
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Actions class.
 *
 * @since 1.0.0
 */
class OMAPI_Actions {

	/**
	 * Holds the class object.
	 *
	 * @since 1.0.0
	 *
	 * @var object
	 */
	public static $instance;

	/**
	 * Path to the file.
	 *
	 * @since 1.0.0
	 *
	 * @var string
	 */
	public $file = __FILE__;

	/**
	 * Holds the base class object.
	 *
	 * @since 1.0.0
	 *
	 * @var object
	 */
	public $base;

	/**
	 * Primary class constructor.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {

		// Set our object.
		$this->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 );
	}
}

[ 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