<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\DB;


class CustomAuthController extends Controller
{
    public function admin(){
        return view("auth.admin") ;

    }
    public function logout() {
        //CustomAuthController::logout();
        //$this->guard()->logout();
        session()->flush();
        
        return Redirect('admin');
    }

    public function indexUser(Request $request)
    {
    //     $request->validate([
    //         'g-recaptcha-response' => 'required|captcha',
    //     ],     
    // );
    $validated=$request->validate([  
        'h-captcha-response' => 'required',
        ]);
        $data = array(
          'secret' => env('H_CAPTCHA_SECRET'),
          'response' => request('h-captcha-response'),
      );
      $verify = curl_init();

      curl_setopt($verify, CURLOPT_URL, "https://hcaptcha.com/siteverify");
      curl_setopt($verify, CURLOPT_POST, true);
      curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
      curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
      
      $response = curl_exec($verify);
      $responseData = json_decode( $response );
      
      if($responseData->success) 
        {
      
        $credentials = $request->validate([
            'name'=>'required',
            'password'=>'required',
        ]);
        if(Auth::attempt($credentials)) {
            $s = $request->session()->regenerate();
            $request->session()->put('user',$credentials['name']);
            return redirect()->intended('dashboard');
         
        }
        return back()->withErrors([          
            'password' => 'The provided credentials do not match our records.',
        ])->onlyInput('name','password','g-recaptcha-response');
        }
        else{
            // return redirect()->back()->withErrors($validated);
            abort(419, 'Page Expired');
        }
    }

}
