PluginProbe
Booking for Appointments and Events Calendar – Amelia / 2.4.2
Booking for Appointments and Events Calendar – Amelia v2.4.2
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 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 All 59 releases
ameliabooking / src / Infrastructure / WP / ShortcodeService / StepBookingShortcodeService.php

StepBookingShortcodeService.php in Booking for Appointments and Events Calendar – Amelia 2.4.2, at src/Infrastructure/WP/ShortcodeService/StepBookingShortcodeService.php

59 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Infrastructure\WP\ShortcodeService;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11 use AmeliaBooking\Domain\Services\Settings\SettingsService;
12 use AmeliaBooking\Infrastructure\Common\Container;
13 use AmeliaBooking\Infrastructure\WP\Integrations\PluginInstaller;
14
15 /**
16 * Class StepBookingShortcodeService
17 *
18 * @package AmeliaBooking\Infrastructure\WP\ShortcodeService
19 */
20 class StepBookingShortcodeService extends AmeliaBookingShortcodeService
21 {
22 /**
23 * @param array $params
24 * @return string
25 * @throws InvalidArgumentException
26 */
27 public static function shortcodeHandler($params)
28 {
29 self::$container = self::$container ?: require AMELIA_PATH . '/src/Infrastructure/ContainerConfig/container.php';
30
31 /** @var SettingsService $settingsService */
32 $settingsService = self::$container->get('domain.settings.service');
33
34 if (!empty($params['ivy']) && (!$settingsService->isFeatureEnabled('ivy') || !PluginInstaller::isPluginActive('ivyforms'))) {
35 $params['ivy'] = '';
36 }
37
38 $params = shortcode_atts(
39 [
40 'ivy' => '',
41 'trigger' => '',
42 'trigger_type' => '',
43 'in_dialog' => '',
44 'layout' => '',
45 'show' => '',
46 'category' => null,
47 'service' => null,
48 'employee' => null,
49 'location' => null,
50 'package' => null,
51 'counter' => self::$counter
52 ],
53 $params
54 );
55
56 return self::renderView('step-booking.inc.php', $params);
57 }
58 }
59