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); }