findByCity($cityId) as $key => $reviewSource) { $reviewSources[$key] = $reviewSource; $reviewSources[$key]['isFloat'] = true; $f = (float) $reviewSource['rating_total']; if (strpos($reviewSource['rating_total'], '.') === false) { $reviewSources[$key]['isFloat'] = false; } } return $this->render('widget/review_source.html.twig', [ 'reviewSources' => $reviewSources, ]); } /** * @Route("/reference", name="widget_reference") */ public function reference(Request $request): Response { $ref = $request->query->get('ref', ''); $regionId = match (base64_decode($ref, strict: true)) { 'https://volgograd.sovamed.ru' => 92, 'https://voronezh.sovamed.ru' => 93, 'https://wmtmed.ru' => 94, default => 91, }; $isAuthorized = $this->isGranted('ROLE_USER'); $referenceForm = $this->createForm(ReferenceType::class, new User, [ 'method' => 'GET', 'isAuthorized' => $isAuthorized, ]); return $this->render('widget/reference.html.twig', [ 'regionId' => $regionId, 'referenceForm' => $referenceForm->createView() ]); } /** * @Route("/check/{hash}/{id}", name="widget_check", methods={"GET"}) */ public function check( RecordRepository $recordRepository, FilialRepository $filialRepository, HttpClientInterface $client, SpecialistService $specialistService, $hash, $id ): Response { $record = $recordRepository->findOneBy(['hash' => $hash, 'id' => $id]); if ($record) { $reserve = $record->getReserve(); $reserve['date'] = \date('d-m-Y', strtotime($reserve['date'])); $sms = new SmsManager($client); $msg = 'Ждем Вас: '; $filial = $filialRepository->findOneBy(['fid' => $reserve['filial']]); if ($filial) $msg .= $filial->getName() . ' '; $msg .= $reserve['date'] . ' в '. $reserve['st']; if (Region::getTemplite() == 'base') { if (!$record->getAlertSms()) { $response = $sms->sendSmsSova($record->getPhone(), $msg); $alertSms = new AlertSms(); $alertSms ->setDateCreate(new \DateTime()) ->setResponse(json_encode($response, JSON_UNESCAPED_UNICODE)) ->setRecord($record); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($alertSms); $entityManager->flush(); } $html = 'logo
'; } else { if (!$record->getAlertSms()) { $response = $sms->sendSmsWmt($record->getPhone(), $msg); $alertSms = new AlertSms(); $alertSms ->setDateCreate(new \DateTime()) ->setResponse(json_encode($response, JSON_UNESCAPED_UNICODE)) ->setRecord($record); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($alertSms); $entityManager->flush(); } $html = 'logo
'; } $specialist = $specialistService->show(['dcode' => $reserve['dcode']]); if ($specialist) { $html .= '

' . $specialist->getName() . '

'; } $html .= '

Филиал: ' . $filial->getName(). '

'; $html .= '

Дата приема: '. $reserve['date'] . ' c '. $reserve['st']. ' по ' . $reserve['en'] .'

'; $html .= '

На Ваш номер отправлено смс с информацией о приеме

'; $mpdf = new \Mpdf\Mpdf(); $mpdf->WriteHTML($html); $mpdf->Output(); } throw $this->createNotFoundException('The event does not exist'); } }