PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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