/** * Execute the job. * * @return void */ public function handle(Mailer $mailer) { $semester_id = semester()->id; $students = Student::whereIn('students.id', $this->students_ids)->select('students.id', 'students.registration_id', 'students.name', 'students.email', 'students.mobile', 'registrations.contact_email')->with('registration')->leftJoin('registrations', 'registrations.id', '=', 'students.registration_id')->groupBy('students.id')->get(); $created_at = new DateTime(); // $students = $this->students; $students_messages = []; foreach ($students as $student) { $student_message = []; $student_message['created_at'] = $created_at; $student_message['updated_at'] = $created_at; $student_message['sender_id'] = $this->sender_id; $student_message['semester_id'] = $semester_id; $student_message['email'] = $this->email; $student_message['sms'] = $this->sms; $student_message['student_id'] = $student->id; $student_message['email_sent'] = 0; $student_message['sms_sent'] = 0; if (!empty($this->email)) { try { $mailer->send('students::emails.message', ['content' => $this->email], function ($m) use($student) { if (!empty($student->registration) && !empty($student->registration->contact_email)) { if (filter_var($student->registration->contact_email, FILTER_VALIDATE_EMAIL)) { $m->cc([$student->registration->contact_email]); } } $m->to($student->email, $student->name)->subject("مركز التعليم عن بعد"); }); $student_message['email_sent'] = 1; } catch (\Swift_RfcComplianceException $e) { } } $mobile_number = $student->mobile; if (substr($mobile_number, 0, 3) != 968 && substr($mobile_number, 0, 5) != '00968') { $mobile_number = '968' . $mobile_number; } if (substr($mobile_number, 0, 5) == '00968') { $mobile_number = str_replace('00968', '968', $mobile_number); } // \Log::info($mobile_number); if (!empty(trim($this->sms)) && strlen($mobile_number) == 11) { $sms = new SmsGateway($this->sms, [$mobile_number]); $result = $sms->send(); if ($result == true or $result->getPushMessageResult()->PushMessageResult == 1) { $student_message['sms_sent'] = 1; } } $students_messages[] = $student_message; // $message->save(); } DB::table('student_messages')->insert($students_messages); event(new StudentsMessagesQueueFinished()); }