Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App;
- use IlluminateNotificationsNotifiable;
- use IlluminateContractsAuthMustVerifyEmail;
- use IlluminateFoundationAuthUser as Authenticatable;
- use LaratrustTraitsLaratrustUserTrait;
- use AppNotificationsNewUserPasswordCreate;
- class User extends Authenticatable
- {
- use Notifiable;
- use LaratrustUserTrait;
- protected $fillable = [
- 'name', 'email', 'password',
- ];
- protected $hidden = [
- 'password', 'remember_token',
- ];
- public function createAcount()
- {
- $token = app('auth.password.broker')->createToken($this);
- return $this->notify(new NewUserPasswordCreate($token));
- }
- }
- public function store(Request $request)
- {
- $this->validate($request, [
- 'name' => 'required|min:3|max:255',
- 'email' => 'required|unique:users',
- 'civilNum' => 'required|size:12',
- ]);
- if ($request->has('password') && !empty($request->password)) {
- $this->validate($request, [
- 'password' => 'required|min:3|max:255',
- ]);
- $password = Hash::make($request->password);
- } else {
- $length = 10;
- $keyspace = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';
- $str= '';
- $max = mb_strlen($keyspace, '8bit') - 1;
- for ($i=0; $i < $length; ++$i) {
- $str .= $keyspace[random_int(0, $max)];
- }
- $password = $str;
- }
- $user = new User();
- $user->name = $request->name;
- $user->email = $request->email;
- $user->civilNum = $request->civilNum;
- $user->password = $password;
- $user->password = Hash::make($password);
- $user->save();
- if ($user->save()) {
- return redirect()->route('users.index');
- } else {
- Session::flash('danger', 'Sorry, a problem occured while creating the user.');
- return redirect()->route('users.create');
- }
- }
- <?php
- namespace AppNotifications;
- use IlluminateBusQueueable;
- use IlluminateNotificationsNotification;
- use IlluminateContractsQueueShouldQueue;
- use IlluminateNotificationsMessagesMailMessage;
- class NewUserPasswordCreate extends Notification
- {
- use Queueable;
- public function __construct()
- {
- //
- }
- public function via($notifiable)
- {
- return ['mail'];
- }
- public function toMail($notifiable)
- {
- $link = url( "/password/reset/?token=" . $this->token );
- return ( new MailMessage )
- ->view('reset.emailer')
- ->from('info@example.com')
- ->subject( 'Reset your password' )
- ->line( "Hey, We've successfully changed the text " )
- ->action( 'Reset Password', $link )
- ->attach('reset.attachment')
- ->line( 'Thank you!' );
- }
- public function toArray($notifiable)
- {
- return [
- //
- ];
- }
- }
Add Comment
Please, Sign In to add comment