⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.23
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
crm.dev-unit.com
/
app
/
Repositories
/
View File Name :
AnnouncementRepository.php
<?php namespace App\Repositories; use App\Mail\AnnouncementReminderMail; use App\Models\Announcement; use App\Models\Contact; use App\Models\User; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Mail; use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException; /** * Class AnnouncementRepository * * @version April 6, 2020, 6:50 am UTC */ class AnnouncementRepository extends BaseRepository { /** * @var array */ protected $fieldSearchable = [ 'subject', 'message', ]; /** * Return searchable fields * * @return array */ public function getFieldsSearchable() { return $this->fieldSearchable; } /** * Configure the Model **/ public function model() { return Announcement::class; } public function sendAnnouncementReminderEmail() { /** @var Announcement $announcement */ $announcements = Announcement::where('status', Announcement::PENDING) ->where('show_to_clients', true) ->whereDate('date', '<=', Carbon::now()->toDateString()) ->get(); $contacts = User::whereOwnerType(Contact::class)->where('is_enable', true)->whereNotNull('email_verified_at')->pluck('email'); foreach ($announcements as $announcement) { $updateStatus = Announcement::whereId($announcement->id)->update(['status' => Announcement::COMPLETED]); foreach ($contacts as $contact) { try { $input['message'] = $announcement->message; $input['subject'] = $announcement->subject; $input['created_at'] = $announcement->created_at; Mail::to($contact) ->send(new AnnouncementReminderMail('emails.reminder.announcement', 'Announcement Notification', $input)); } catch (\Exception $e) { throw new UnprocessableEntityHttpException($e->getMessage()); } } } } /** * @param $id * @return Announcement */ public function getAnnouncementDetailClient($id) { /** @var Announcement $announcement */ $announcement = Announcement::whereShowToClients(true)->findOrFail($id); return $announcement; } }