public function postCode(Request $request) { $validationMessages = ['name.required' => 'Numele este obligatoriu.', 'name.max' => 'Numele trebuie sa aiba sub 255 de caractere.', 'email.required' => 'Email-ul este obligatoriu.', 'phone.required' => 'Telefonul este obligatoriu.', 'phone.regex' => 'Telefonul continue caractere care nu sunt cifre.', 'phone.size' => 'Telefonul nu are numarul corespunzator de cifre.', 'code.unique' => 'Codul a fost deja folosit.', 'dream.max' => 'Visul trebuie sa aiba maxim 500 de caractere.']; $validator = \Validator::make($request->all(), ['name' => 'required|max:255', 'email' => 'required', 'phone' => 'required|string|size:10|regex:/[0-9]/', 'code' => 'unique:codes', 'dream' => 'max:500'], $validationMessages); $validCode = false; $validDream = false; if ($validator->passes()) { $user_cookie = $this->userService->cookie(); if ($this->userService->user() == null || $this->userService->user()->email != $request->email) { $new_user = new User(); $new_user->name = $request->input("name"); $new_user->phone = $request->input("phone"); $new_user->email = $request->input("email"); $new_user->cookie = $this->userService->getCookie(); $new_user->save(); } if ($request->input('code') != null) { $api_response = $this->codeService->checkCode($request->input('code'), $request->input('phone'), $request->has('dream') ? 1 : 0); // $api_response = "CORRECT"; $status = true; switch ($api_response) { case "INVALIDPARAMS": $status = false; $messages = "INVALID PARAMS"; break; case "TIMEOUT": $status = false; $messages = "Serviciu este momentan indisponibil. Va rugam incercati din nou in cateva minute."; break; case "DUBLA": $status = false; $messages = "Codul inserat a fost deja inregistrat."; break; case "CORECT": break; case "INCORECT": $status = false; $messages = "Codul inserat nu este valid."; break; case "PREMIU": break; case "ACCESDENIED": $status = false; $messages = "Serviciu indisponibil."; } if ($status == false) { return response()->json(['status' => "ERROR", 'data' => "", 'messages' => $messages]); } $code = new Code(); $code->id_user = $this->userService->user()->id; $code->code = $request->input('code'); $code->save(); $validCode = true; } if ($request->input('dream') != null) { $dream = new Dream(); $dream->id_user = $this->userService->user()->id; $dream->content = $request->input('dream'); $dream->save(); $validDream = true; } } else { $messages = $validator->messages()->all(); return response()->json(['status' => "ERROR", 'data' => "", 'messages' => $messages]); } if ($validCode) { $message = "Cod validat."; } elseif ($validDream) { $message = "Vis salvat."; } \Mail::send('emails.validCode', ['validDream' => $validDream, 'validCode' => $validCode, 'user' => $this->userService->user()], function ($message) { $message->from('*****@*****.**', 'Avon'); $message->to($this->userService->user()->email, $this->userService->user()->email)->subject('Competitie Avon!'); }); return response()->json(['status' => "OK", 'data' => "", 'messages' => $message]); }