Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
powerpack-elements
/
classes
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php class PP_ReCaptcha { private $secret_key; private $validate_type; private $response; protected $is_success = false; protected $error = false; public function __construct($secret_key, $validate_type, $response) { $this->secret_key = $secret_key; $this->validate_type = $validate_type; $this->response = $response; require_once POWERPACK_ELEMENTS_PATH . 'includes/vendor/recaptcha/autoload.php'; $this->verify_recaptcha(); } private function verify_recaptcha() { if (function_exists('curl_exec')) { $recaptcha = new \ReCaptcha\ReCaptcha($this->secret_key, new \ReCaptcha\RequestMethod\CurlPost()); } else { $recaptcha = new \ReCaptcha\ReCaptcha($this->secret_key); } if ('invisible_v3' === $this->validate_type) { $response = $recaptcha->setExpectedHostname($_SERVER['SERVER_NAME'])->setExpectedAction('Form')->setScoreThreshold(0.5)->verify($this->response, $_SERVER['REMOTE_ADDR']); } else { $response = $recaptcha->verify($this->response, $_SERVER['REMOTE_ADDR']); } if (!$response->isSuccess()) { $this->is_success = false; $error_codes = array(); foreach ($response->getErrorCodes() as $code) { $error_codes[] = $code; } $this->error = implode(' | ', $error_codes); } else { $this->is_success = true; $this->error = false; } } public function is_success() { return $this->is_success; } public function get_error_message() { return $this->error; } }