public function generate($expire, $active, $accountId = null) { $now = strtotime("now"); $format = 'Y-m-d H:i:s '; $expiration = date($format, strtotime('+ ' . $expire, $now)); $code = $this->hash_split(hash('sha256', str_random(10))) . $this->hash_split(hash('sha256', time())); $newInvi = array("code" => $code, "expiration" => $expiration, "active" => $active, "used" => "0"); if ($accountId) { $newInvi['account_id'] = $accountId; } Invitation::create($newInvi); return json_encode($newInvi); }
public function sendInvite(Request $request, $id) { $organization = Organization::findOrFail($id); $email = $request->input('email'); $user = User::where('email', $request->input('email'))->first(); if ($user) { Role::create(['user_id' => $user->id, 'organization_id' => $organization->id, 'role' => 'admin']); $link = url('/') . '/dashboard'; Mail::send('emails.new_invitation', ['link' => $link], function ($message) use($email) { $message->to($email)->subject('You have been invited to Lunch.run!'); }); return redirect()->route('organizationUsers', $organization)->with('status', 'The user has been added to your organization.'); } else { $token = substr(md5(rand()), 0, 20); Invitation::create(['email' => $email, 'token' => $token, 'organization_id' => $id]); $link = url('/') . '/auth/register?t=' . $token; Mail::send('emails.new_invitation', ['link' => $link], function ($message) use($email) { $message->to($email)->subject('You have been invited to Lunch.run!'); }); return redirect()->route('organizationUsers', $organization)->with('status', 'The user has been invited to your organization.'); } }
/** * Handles users request registration page. * * @return \Illuminate\Http\Response */ public function request_sign_up() { $name = Input::get('name'); $email = Input::get('email'); $validate = Validator::make(['name' => $name, 'email' => $email], ['name' => 'required|max:255', 'email' => 'required|email|max:255|unique:invite,email'], ['required' => 'El campo :attribute es requerido', 'email' => 'Dirección de correo inválido', 'unique' => 'Este correo ya está registrado']); if ($validate->fails()) { return Response::json(['status' => false, 'message' => $validate->errors()->all()]); } $invitation = Invitation::create(['name' => $name, 'email' => $email, 'token' => str_random(15), 'status' => 1]); if ($invitation) { /* EMAIL NOTICE THE ADMIN */ // // // /* END EMAIL */ return Response::json(['status' => true, 'message' => 'Datos enviados correctamente!', 'invitation' => $invitation]); } else { return Response::json(['status' => false, 'message' => ['Algo ha ocurrido, vuelve a intentarlo.']]); } }
/** * Run the database seeds. * * @return void */ public function run() { Invitation::create(['account_id' => 1, 'email' => '*****@*****.**']); }