示例#1
0
 /**
  * Create Email and Password Account.
  */
 public function signup(Request $request)
 {
     $validator = Validator::make($request->all(), ['displayName' => 'required', 'email' => 'required|email|unique:users,email', 'password' => 'required']);
     if ($validator->fails()) {
         return response()->json(['message' => $validator->messages()], 400);
     }
     $img = DefaultProfileImage::create($request->input('displayName'));
     $imageName = uniqid();
     $imgFile = public_path('uploads') . "/" . $imageName . '.png';
     $image = Image::make($img->encode());
     $image->save($imgFile, 100);
     $user = new User();
     $user->displayName = $request->input('displayName');
     $user->email = $request->input('email');
     $user->password = Hash::make($request->input('password'));
     $user->image = $imageName . '.png';
     $user->activation_code = $random_hash = md5(uniqid(rand(), true));
     $user->save();
     $role = Role::where('name', 'user')->first();
     $user->roles()->attach($role);
     $user_arr = $user->toArray();
     Mail::send("emails.welcome", $user_arr, function ($message) use($user_arr) {
         $message->from('*****@*****.**', "Site Name");
         $message->subject('Welcome to site name');
         $message->to($user_arr['email']);
     });
     //return response()->json(['token' => $this->createToken($user)]);
     return response()->json(["message" => "User created. We send a confirmation email. Check your email account.", 'token' => $this->createToken($user)]);
 }