| Server IP : 54.94.228.101 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/greggilbert/recaptcha/src/ |
Upload File : |
<?php namespace Greggilbert\Recaptcha;
use Illuminate\Support\ServiceProvider;
/**
* Service provider for the Recaptcha class
*
* @author Greg Gilbert
* @link https://github.com/greggilbert
*/
class RecaptchaServiceProvider extends ServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = false;
/**
* Bootstrap the application events.
*
* @return void
*/
public function boot()
{
$this->addValidator();
$this->loadViewsFrom(__DIR__ . '/views', 'recaptcha');
}
/**
* Extends Validator to include a recaptcha type
*/
public function addValidator()
{
$this->app->validator->extendImplicit('recaptcha', function ($attribute, $value, $parameters) {
$captcha = app('recaptcha.service');
$challenge = app('request')->input($captcha->getResponseKey());
return $captcha->check($challenge, $value);
}, 'Please ensure that you are a human!');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->bindRecaptcha();
$this->handleConfig();
}
protected function bindRecaptcha()
{
$this->app->bind('recaptcha.service', function () {
if (app('config')->get('recaptcha.version', false) === 2 || app('config')->get('recaptcha.v2', false)) {
return new Service\CheckRecaptchaV2;
}
return new Service\CheckRecaptcha;
});
$this->app->bind('recaptcha', function () {
return new Recaptcha($this->app->make('recaptcha.service'), app('config')->get('recaptcha'));
});
}
protected function handleConfig()
{
$packageConfig = __DIR__ . '/config/recaptcha.php';
$destinationConfig = config_path('recaptcha.php');
$this->publishes([
$packageConfig => $destinationConfig,
]);
}
/**
* Get the services provided by the provider.
*
* @return array
*/
public function provides()
{
return [
'recaptcha',
];
}
}