![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/Modules/Superadmin/Notifications/ |
<?php namespace Modules\Superadmin\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\BroadcastMessage; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Notification; class SendSubscriptionExpiryAlert extends Notification { use Queueable; protected $subscription; protected $days_left; /** * Create a new notification instance. * * @return void */ public function __construct($subscription) { $this->subscription = $subscription; $this->days_left = \Carbon::now()->diffInDays($this->subscription->end_date) + 1; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { $channels = ['mail', 'database']; if (isPusherEnabled()) { $channels[] = 'broadcast'; } return $channels; } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { $owner_name = $notifiable->user_full_name; $app_name = config('app.name'); $business_name = $this->subscription->business->name; $days_left = $this->days_left; return (new MailMessage) ->greeting("Dear $owner_name,") ->subject('Subscription Expiry Alert') ->line("Your subscription for $app_name is expiring in next $days_left days.") ->line("Kindly subscribe to continue using $business_name.") ->action('Subscribe', action([\Modules\Superadmin\Http\Controllers\SubscriptionController::class, 'index'])); } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toDatabase($notifiable) { return [ 'days_left' => $this->days_left, ]; } /** * Get the broadcastable representation of the notification. * * @param mixed $notifiable * @return BroadcastMessage */ public function toBroadcast($notifiable) { return new BroadcastMessage([ 'title' => '', 'body' => strip_tags(__('superadmin::lang.subscription_expiry_alert', ['days_left' => $this->days_left, 'app_name' => config('app.name')])), 'link' => action([\Modules\Superadmin\Http\Controllers\SubscriptionController::class, 'index']), ]); } }