Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Illuminate\Auth\Notifications;use Illuminate\Notifications\Messages\MailMessage;use Illuminate\Notifications\Notification;use Illuminate\Support\Facades\Lang;class ResetPassword extends Notification{/*** The password reset token.** @var string*/public $token;/*** The callback that should be used to create the reset password URL.** @var (\Closure(mixed, string): string)|null*/public static $createUrlCallback;/*** The callback that should be used to build the mail message.** @var (\Closure(mixed, string): \Illuminate\Notifications\Messages\MailMessage)|null*/public static $toMailCallback;/*** Create a notification instance.** @param string $token* @return void*/public function __construct($token){$this->token = $token;}/*** Get the notification's channels.** @param mixed $notifiable* @return array|string*/public function via($notifiable){return ['mail'];}/*** Build the mail representation of the notification.** @param mixed $notifiable* @return \Illuminate\Notifications\Messages\MailMessage*/public function toMail($notifiable){if (static::$toMailCallback) {return call_user_func(static::$toMailCallback, $notifiable, $this->token);}return $this->buildMailMessage($this->resetUrl($notifiable));}/*** Get the reset password notification mail message for the given URL.** @param string $url* @return \Illuminate\Notifications\Messages\MailMessage*/protected function buildMailMessage($url){return (new MailMessage)->subject(Lang::get('Reset Password Notification'))->line(Lang::get('You are receiving this email because we received a password reset request for your account.'))->action(Lang::get('Reset Password'), $url)->line(Lang::get('This password reset link will expire in :count minutes.', ['count' => config('auth.passwords.'.config('auth.defaults.passwords').'.expire')]))->line(Lang::get('If you did not request a password reset, no further action is required.'));}/*** Get the reset URL for the given notifiable.** @param mixed $notifiable* @return string*/protected function resetUrl($notifiable){if (static::$createUrlCallback) {return call_user_func(static::$createUrlCallback, $notifiable, $this->token);}return url(route('password.reset', ['token' => $this->token,'email' => $notifiable->getEmailForPasswordReset(),], false));}/*** Set a callback that should be used when creating the reset password button URL.** @param \Closure(mixed, string): string $callback* @return void*/public static function createUrlUsing($callback){static::$createUrlCallback = $callback;}/*** Set a callback that should be used when building the notification mail message.** @param \Closure(mixed, string): \Illuminate\Notifications\Messages\MailMessage $callback* @return void*/public static function toMailUsing($callback){static::$toMailCallback = $callback;}}