PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / ContainerConfig / request.php
ameliabooking / src / Infrastructure / ContainerConfig Last commit date
application.services.php 1 month ago command.bus.php 2 years ago container.php 1 month ago domain.event.bus.php 1 year ago domain.services.php 1 year ago infrastructure.services.php 4 months ago infrastructure.user.php 1 year ago repositories.php 6 months ago request.php 1 month ago
request.php
82 lines
1 <?php
2
3 use AmeliaBooking\Infrastructure\Common\Container;
4 use Slim\Factory\ServerRequestCreatorFactory;
5
6 $entries['request'] = function (Container $c) {
7 $creator = ServerRequestCreatorFactory::create();
8
9 $serverRequest = $creator->createServerRequestFromGlobals();
10
11 $curUri = $serverRequest->getUri();
12
13 // fix callback url for Razorpay payment through link since Razorpay encodes callback urls
14 $queryWithPlaceholderFixes = str_replace(
15 '__payments__callback',
16 '/payments/callback',
17 $curUri->getQuery()
18 );
19
20 // fix callback url for whatsapp webhooks
21 $queryWithPlaceholderFixes = str_replace(
22 '__notifications__whatsapp__webhook',
23 '/notifications/whatsapp/webhook',
24 $queryWithPlaceholderFixes
25 );
26
27 [$newPath, $newQuery] = (function ($queryWithPlaceholderFixes, array $get) {
28 if (isset($get['call']) && is_string($get['call']) && $get['call'] !== '') {
29 $callPath = str_replace(
30 '__payments__callback',
31 '/payments/callback',
32 $get['call']
33 );
34 $callPath = str_replace(
35 '__notifications__whatsapp__webhook',
36 '/notifications/whatsapp/webhook',
37 $callPath
38 );
39
40 $queryParams = $get;
41 unset($queryParams['action'], $queryParams['call']);
42
43 return [$callPath, http_build_query($queryParams)];
44 }
45
46 $newRoute = str_replace(
47 ['XDEBUG_SESSION_START=PHPSTORM&' . AMELIA_ACTION_SLUG, AMELIA_ACTION_SLUG],
48 '',
49 $queryWithPlaceholderFixes
50 );
51
52 $newPath = strpos($newRoute, '&') ? substr(
53 $newRoute,
54 0,
55 strpos($newRoute, '&')
56 ) : $newRoute;
57
58 $newQuery = strpos($newRoute, '&') ? substr(
59 $newRoute,
60 strpos($newRoute, '&') + 1
61 ) : '';
62
63 return [$newPath, $newQuery];
64 })($queryWithPlaceholderFixes, $_GET);
65
66 $request = $serverRequest->withUri(
67 $curUri
68 ->withPath($newPath)
69 ->withQuery($newQuery)
70 );
71
72 $queryParams = $request->getQueryParams();
73
74 if (!empty($queryParams['showAmeliaErrors'])) {
75 ini_set('display_errors', 1);
76 ini_set('display_startup_errors', 1);
77 error_reporting(E_ALL);
78 }
79
80 return $request;
81 };
82