Advertisement
corzopabloariel

Method

Jul 7th, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.88 KB | None | 0 0
  1. public function presupuesto( Request $request ) {
  2.         $rules = [
  3.             "nombre" => "required|max:100",
  4.             "email" => "required|email|max:150",
  5.             "mensaje" => "required",
  6.             "file" => "required|mimes:jpeg,png,jpg,gif,txt,doc,docx,xls,xlsx,pdf,zip,rar,7zip|max:2048"
  7.         ];
  8.         $validator = Validator::make($request->all(), $rules);
  9.         if ($validator->fails())
  10.             return [ "estado" => 0 , "mssg" => "Validación incorrecta"];
  11.         $dataRequest = $request->all();
  12.         unset( $dataRequest[ "_token" ] );
  13.         $file = isset($dataRequest["file"]) ? $request->file('file') : null;
  14.         $email = $this->data->form[ "presupuesto" ];
  15.         $captcha = $dataRequest[ "token" ];
  16.         if(!$captcha){
  17.             return [ "estado" => 0 , "mssg" => "Captcha no verificado"];
  18.             exit;
  19.         }
  20.         $ip = $_SERVER['REMOTE_ADDR'];
  21.         $url = 'https://www.google.com/recaptcha/api/siteverify';
  22.         $data = array('secret' => $this->data->captcha[ 'private' ], 'response' => $captcha);
  23.         $options = [
  24.             'http' => [
  25.                 'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
  26.                 'method'  => 'POST',
  27.                 'content' => http_build_query($data)
  28.             ]
  29.         ];
  30.         $context = stream_context_create($options);
  31.         $response = file_get_contents($url, false, $context);
  32.         $responseKeys = json_decode($response,true);
  33.         if($responseKeys["success"]) {
  34.             Mail::to( $email )->send( new PresupuestoMail( $dataRequest , $file ) );
  35.             if( count( Mail::failures() ) > 0 )
  36.                 return [ "estado" => 0 , "mssg" => "Error"];
  37.             else
  38.                 return [ "estado" => 1 , "mssg" => "Presupuesto enviado"];
  39.         } else {
  40.             return [ "estado" => 0 , "mssg" => "Error"];
  41.         }
  42.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement