<?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>';
}
}