<?php
namespace App\Controller\Widget;
use App\Manager\BookingSecureBikeParkManager;
use App\Service\Internal\CoreApiService;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
class BookingSecureBikeParkController extends AbstractWidgetController
{
public function create(
Request $request,
BookingSecureBikeParkManager $bookingSecureBikeParkManager
): RedirectResponse {
if (!$bookingSecureBikeParkManager->isAuthorizedDomain($request->headers->get('referer'))
//|| !$this->get('app.manager.booking.securebikepark')->isEnabled()
) {
throw new AuthenticationException('booking.securebikepark.widget_authorization_error');
}
if (in_array($request->headers->get('sec-fetch-site'), [CoreApiService::HTTP_CROSS_SITE, CoreApiService::HTTP_SAME_SITE])) {
$widgetCode = $this->getWidgetCode($request, false, false, false, false);
$this->saveXHeaders($request, $widgetCode);
}
if (!$this->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
return $this->redirectToRoute(
'user_login',
[
'isWidget' => true,
'isModal' => true
]
);
}
return $this->redirectToRoute(
'account.booking.securebikepark.create',
[
'isWidget' => true
]
);
}
public function testWidget()
{
return $this->render('pages/widget/widget-test-booking-securebikepark.html.twig');
}
}