예제 #1
0
 public function postCompleteForm()
 {
     $rules = array('email' => 'email|required', 'provider_id' => 'unique:user_providers,provider_id');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         $messages = $validator->messages();
         return Redirect::to('/zaloguj')->with('alert', array('type' => 'error', 'content' => 'Niewłaściwy e-mail! Spróbuj jeszcze raz!'));
     } else {
         $user = User::where('email', '=', Input::get('email'))->first();
         if (is_null($user)) {
             $user = new User();
             $user->email = Input::get('email');
             $user->password = Hash::make(Str::random());
             $user->first_name = Input::get('first_name');
             $user->last_name = Input::get('last_name');
             $user->default_provider = Input::get('provider');
             $user->level = 2;
             $user->save();
         } else {
             $user->first_name = Input::get('first_name');
             $user->last_name = Input::get('last_name');
             $user->save();
         }
         $provider = new SocialProvider();
         $provider->user_id = $user->id;
         $provider->provider = Input::get('provider');
         $provider->provider_id = Input::get('provider_id');
         $provider->access_token = Input::get('access_token');
         if (Input::get('provider') == 'instagram') {
             $provider->profile_picture = sslInstagramProfilePic(Input::get('profile_picture'));
         } else {
             $provider->profile_picture = Input::get('profile_picture');
         }
         $provider->save();
         Session::forget('mmanos.social.pending');
         Auth::loginUsingId($user->id);
         return Redirect::to('/')->with('alert', array('type' => 'success', 'content' => 'Witamy!'));
     }
 }