HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/TriadGov/wp-content/plugins/wpforms/src/Integrations/Square/CurlCompatibility.php
<?php

namespace WPForms\Integrations\Square;

/**
 * Compatibility with cURL extension.
 * Square SDK requires cURL to be enabled to work correctly.
 *
 * @since 1.9.5
 */
class CurlCompatibility {

	/**
	 * Initialization.
	 *
	 * @since 1.9.5
	 *
	 * @return CurlCompatibility|null
	 */
	public function init(): ?CurlCompatibility {

		return ! $this->is_curl_loaded() ? $this : null;
	}

	/**
	 * Register hooks.
	 *
	 * @since 1.9.5
	 */
	public function hooks() {

		// Warn the user about the fact that cURL is not loaded.
		add_action( 'admin_notices', [ $this, 'display_curl_missing_notice' ] );
	}

	/**
	 * Check if cURL is loaded.
	 *
	 * @since 1.9.5
	 *
	 * @return bool
	 */
	private function is_curl_loaded(): bool {

		return extension_loaded( 'curl' );
	}

	/**
	 * Display wp-admin notification saying user to enable cURL extension for the Square payments.
	 *
	 * @since 1.9.5
	 */
	public function display_curl_missing_notice() {

		echo '<div class="notice notice-error"><p>';
			esc_html_e( 'The WPForms Square payments require cURL to be enabled to work correctly.', 'wpforms-lite' );
		echo '</p></div>';
	}
}