Edit File: MessageController.php
<?php namespace App\Http\Controllers\Dashboard; use App\Http\Controllers\Controller; use App\Http\Requests\SendEmailRequest; use App\Http\Requests\SendNotificationRequest; use App\Http\Requests\SendSMSRequest; use App\Mail\PublicMessage; use App\Models\SmsEmailNotification; use App\Models\User; use App\Traits\EmailTrait; use App\Traits\NotificationTrait; use App\Traits\ReportTrait; use App\Traits\SmsTrait; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; class MessageController extends Controller { use SmsTrait, EmailTrait, NotificationTrait, ReportTrait; // *** Send message to All User: Start ** // public function smsToAllUsers(SendSMSRequest $request) { $users = User::where('role_id', '!=', User::ADMIN_ID)->get(); $numbers = ''; foreach ($users as $user) { $numbers .= $user->country_key . $user->phone . ','; } $this->sendSms($numbers, $request->sms_message_content); auth()->user()->saveReport('ارسال رسالة SMS الي كل العملاء'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } public function emailAllUsers(SendEmailRequest $request) { if (!$this->checkEmailConfig()) { return back()->with('error', 'لم يتم ارسال الرساله ! .. يرجى مراجعة بيانات ال SMTP'); } $users = User::where('role_id', '!=', User::ADMIN_ID)->get(); foreach ($users as $user) { Mail::to($user->email)->send(new PublicMessage($request->email_message)); } auth()->user()->saveReport('ارسال رسالة Email الي كل العملاء'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } public function notificationAllUsers(SendNotificationRequest $request) { $data = $request->validated(); $key = 'from_admin'; $data = ['title' => $data['notification_message_title'], 'message' => $data['notification_message_content'], 'key' => $key]; $users = User::where('role_id', '!=', User::ADMIN_ID)->get(); foreach ($users as $user) { $this->sendNotification($user, $key, $data, false); } auth()->user()->saveReport('ارسال اشعار الي كل العملاء'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } // *** Send message to All User: End ** // // *** Send message to Single User: Start ** // public function smsToSingleUser(SendSMSRequest $request) { $request->validate(['user_id' => 'required',]); $user = User::findOrFail($request->user_id); $number = $user->country_key . $user->phone . ','; $this->sendSms($number, $request->sms_message_content); auth()->user()->saveReport('ارسال رسالة SMS الي عميل'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } public function emailToSingleUser(SendEmailRequest $request) { $request->validate(['user_id' => 'required',]); $user = User::findOrFail($request->user_id); if (!$this->checkEmailConfig()) { return back()->with('error', 'لم يتم ارسال الرساله ! .. يرجى مراجعة بيانات ال SMTP'); } Mail::to($user->email)->send(new PublicMessage($request->email_message_content)); auth()->user()->saveReport('ارسال رسالة ايميل الي عميل'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } public function notificationToSingleUser(SendNotificationRequest $request) { $request->validate(['user_id' => 'required',]); $user = User::findOrFail($request->user_id); $data = $request->all(); $key = 'from_admin'; $data = ['title' => $data['notification_message_title'], 'message' => $data['notification_message_content'], 'key' => $key]; $this->sendNotification($user, $key, $data, false); auth()->user()->saveReport('ارسال اشعار الي عميل'); return back()->with('success', __('dashboard.alerts.message_sent_successfully')); } // *** Send message to Single User: End ** // }
Back to File Manager