public static function socialMediaLogin($email, $first_name, $last_name, $id, $site, $data) { $newUser = false; if ($site == 'fb') { $user = User::where('fb_id', $id)->first(); } else { if ($site == 'google') { $user = User::where('google_id', $id)->first(); } } if (!$user) { $user = User::where('email', $email)->first(); if (!$user) { $user = new User(); $newUser = true; } } if ($site == 'fb') { $user->fb_id = $id; } else { if ($site == 'google') { $user->google_id = $id; $user->avatar = $data['picture']; } } $user->firstname = $first_name; $user->lastname = $last_name; $user->email = $email; $user->is_buyer = true; $matches = explode("@", $user->email); $user->username = isset($matches[0]) && $matches[0] != '' ? $matches[0] : (isset($data['username']) ? $data['username'] : strtolower(str_replace(' ', '_', $first_name))); $random = ''; if ($newUser) { $random = FoxHelper::genRandomPassword(); $user->password = $random; $user->password_confirmation = $random; $user->confirmed = true; } if ($user->email == '') { $user->email = '*****@*****.**'; } if ($newUser && $user->save()) { Auth::login($user); return Redirect::to('member')->with('alert', array('type' => 'alert', 'message' => "You're account has been successfully created<br/>This is your generated password: <b>" . $random . "</b><br/>Please go change it now <a href='" . URL::to('member/buyer/profile') . "'>Profile Settings</a>")); } else { // return $user->validationErrors; $user->updateUniques(); Auth::login($user); return Redirect::to('member'); } }