/** * Return user if exists; create and return if doesn't. * * @param $socialUser * @return User */ private function findOrCreateUser($socialUser) { if ($authUser = User::where('email', $socialUser->getEmail())->first()) { return $authUser; } return User::create(['name' => $socialUser->getName(), 'email' => $socialUser->getEmail(), 'provider_id' => $socialUser->getId(), 'avatar' => $socialUser->getAvatar()]); }
/** * Store a newly created category in database. * * @param Soma\Http\Requests\CategoriesRequest $request * @return \Illuminate\Routing\Redirector */ public function store(CategoriesRequest $request) { $user = User::authorizedUser($request->email)->first(); $user->categories()->create(['title' => $request->title]); flash()->success('Category Added', 'You have created a new category!'); return redirect()->back(); }
/** * Update the avatar url. * * @param \Illuminate\Http\Request $request * @param int $id * @return void */ public function changeAvatar(Request $request, $id) { $baseDir = 'avatar'; $this->validate($request, ['photo' => 'required|mimes:jpg,jpeg,png,bmp']); $file = $request->file('photo'); $name = $file->getClientOriginalName(); $file->move($baseDir, $name); $user = User::find($id); $user->avatar = '/' . $baseDir . '/' . $name; $user->save(); }
/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { $user = User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]); flash()->success('Welcome to SomaTech!', 'Thank you for being a member.'); return $user; }