![]() 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/Essentials/Notifications/ |
<?php namespace Modules\Essentials\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\BroadcastMessage; use Illuminate\Notifications\Notification; use Modules\Essentials\Entities\DocumentShare; class DocumentShareNotification extends Notification { use Queueable; protected $document; protected $shared_by; /** * Create a new notification instance. * * @return void */ public function __construct($document, $shared_by) { $this->document = $document; $this->shared_by = $shared_by; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { $channels = ['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) { } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toDatabase($notifiable) { return $this->notificationData(); } /** * Get the broadcastable representation of the notification. * * @param mixed $notifiable * @return BroadcastMessage */ public function toBroadcast($notifiable) { $notifiction_data = DocumentShare::documentShareNotificationData($this->notificationData()); return new BroadcastMessage([ 'title' => $notifiction_data['title'], 'body' => strip_tags($notifiction_data['msg']), 'link' => $notifiction_data['link'], ]); } private function notificationData() { return [ 'document_id' => $this->document->id, 'document_name' => $this->document->name, 'shared_by_name' => $this->shared_by->user_full_name, 'shared_by_id' => $this->shared_by->id, 'document_type' => $this->document->type, ]; } }