Chciałbym wykonać schemat rejestracji dwu etapowej, tzn. user się rejestruje , Ja wysyłam do niego wiadomość z kodem, w tym czasie rejestracja się przeładowuje np na strona/activate z polem do wpisania kodu oraz przyciskiem "wyślij ponownie kod" , następnie po wklepaniu poprawnego kodu wylogowuje się do panelu administracyjnego.
Mój obecny kod RegisterController.php
<?php namespace App\Http\Controllers\Auth; use DateTime; use Request; use App\{User,Role}; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; use Webpatser\Uuid\Uuid; //to nam daje losowanie klucza losowego class RegisterController extends Controller { use RegistersUsers; protected $redirectTo = '/admin'; public function __construct() { $this->middleware('guest'); } { return Validator::make($data, [ 'user' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]); } { 'name' => "Learning Laravel", ); $user = User::create([ 'user' => $data['user'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'ip' => Request::ip(), 'key' => Uuid::generate()->string, 'date' => new DateTime(), ]); if(!Role::where('name','firm')->exists()) { Role::create(['name'=>'firm']); Role::create(['name'=>'person']); Role::create(['name'=>'moderator']); Role::create(['name'=>'admin']); } if($data['type']0) $user->roles()->attach( Role::where('name','firm')->first()->id );
else $user->roles()->attach( Role::where('name','person')->first()->id ); return $user; } }
z tego co wyczytałem, musiałbym teraz wykonać (nie wiem czy dobrze zrozumiałem) następujący kod:
php artisan make:mail Activate
a w nim wstawić:
public function build() { return $this->view('emails.activate'); }
następnie możemy sobie edytować jak chcemy nasz szablon: resources/views/emails/activate.blade.php
następnie jakoś chyba trzeba by było wkleić w Register :
$message->from('odkogo@.pl', 'Forum'); $message->to('odKogo@pl')->subject('Wiadomość lub chyba jakoś wyciągnięcie z blade ?'); });
no i jeszcze kwestia tych przekierowań i sprawdzanie czy ktoś podał poprawny kod aktywacyjny , ewentualnie zamiast sprawdzania to chyba by zrobić link aktywacyjny w mailu
