����JFIF��x�x����'
| Server IP : 78.140.185.180  /  Your IP : 216.73.216.38 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/././././././www/common/Settings/Validators/  | 
Upload File :  | 
<?php
namespace Common\Settings\Validators;
use Exception;
use Illuminate\Support\Arr;
use Common\Core\HttpClient;
class RecaptchaCredentialsValidator
{
    const KEYS = ['recaptcha.site_key', 'recaptcha.secret_key'];
    /**
     * @var HttpClient
     */
    private $httpClient;
    public function __construct()
    {
        $this->httpClient = new HttpClient([
            'exceptions' => true
        ]);
    }
    public function fails($settings)
    {
        try {
            $response = $this->httpClient->post('https://www.google.com/recaptcha/api/siteverify', [
                'form_params' => [
                    'response' => 'foo-bar',
                    'secret' => Arr::get($settings, 'recaptcha.secret_key'),
                ]
            ]);
            if ($response['success'] === false && Arr::get($response, 'error-codes.1') === 'invalid-input-secret') {
                $errors = ['recaptcha.secret_key' => 'This recaptcha secret key is not valid.'];
                if ( ! Arr::get($settings, 'recaptcha.site_key')) {
                    $errors['recaptcha.site_key'] = 'Recaptcha site key is required';
                }
                return $errors;
            }
        } catch (Exception $e) {
            return $this->getErrorMessage($e);
        }
    }
    /**
     * @param Exception $e
     * @return array
     */
    private function getErrorMessage($e)
    {
        return ['recaptcha-group' => $e->getMessage()];
    }
}