public function store(request $request)
 {
     $code = str_random(15);
     $email = $request->email;
     $invite = new Invite();
     $invite->inviter_id = Auth::user()->id;
     $invite->code = $code;
     $invite->email = $email;
     $invite->claimed = false;
     $invite->date_expired = time() + 24 * 60 * 60;
     $invite->save();
     $url = url('/') . '/auth/activate?code=' . $code . '&email=' . $email;
     $mailSend = array('from' => '*****@*****.**', 'person' => 'Your friend!', 'to' => $email);
     Mail::send('invites/email', array('url' => $url), function ($message) use($mailSend) {
         $message->from($mailSend['from'], $mailSend['person']);
         $message->to($mailSend['to']);
     });
     return view('home');
 }
 public function store(Request $request)
 {
     $user = new \App\User();
     $user->name = $request->name;
     $user->email = $request->email;
     $user->password = bcrypt($request->password);
     $user->save();
     $invite = Invite::firstOrCreate(array('email' => $user->email));
     $invite->claimed = 1;
     $invite->invitee_id = $user->id;
     $invite->save();
     return redirect('home');
 }
 /**
  * When the friend clicks the link in their email,
  * the user that invited them is rewarded
  *
  * @return mixed
  */
 public function inviteClicked()
 {
     //find invite based on the token
     $invite = Invite::where('token', \Request::get('token'))->first();
     if ($invite != null && !$invite->clicked) {
         //reward user when the link is clicked
         $this->pointService->inviteReward(\Request::get('user_id'), $invite->id);
         $invite->update(['clicked' => true]);
     }
     //determine the platform and set the url accordingly
     if (\Request::get('platform') == 'android') {
         $url = $this->googlePlayUrl;
     } else {
         $url = $this->appStoreUrl;
     }
     //redirect to googlePlay/appStore
     return \Redirect::to($url);
 }