__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2018 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
namespace DigitalPeak\Component\DPCalendar\Administrator\Booking\Stages;
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\Helper\Booking;
use DigitalPeak\Component\DPCalendar\Administrator\Model\BookingModel;
use DigitalPeak\Component\DPCalendar\Administrator\Model\CouponModel;
use DigitalPeak\Component\DPCalendar\Administrator\Pipeline\StageInterface;
use Joomla\CMS\Application\CMSApplicationInterface;
use Joomla\CMS\Application\SiteApplication;
use Joomla\CMS\User\User;
class SetupForUpdate implements StageInterface
{
public function __construct(
private readonly CMSApplicationInterface $application,
private readonly User $user,
private readonly BookingModel $bookingModel,
private readonly CouponModel $couponModel
) {
}
public function __invoke(\stdClass $payload): \stdClass
{
// Unset some variables, that it can't be changed afterwards through some form hacking
if ($this->application instanceof SiteApplication && !$this->user->authorise('dpcalendar.admin.book', 'com_dpcalendar')) {
unset($payload->data['price']);
}
if (!\array_key_exists('coupon_id', $payload->data)) {
$payload->data['coupon_id'] = 0;
}
$couponId = is_numeric($payload->data['coupon_id']) ? $payload->data['coupon_id'] : ['code' => $payload->data['coupon_id']];
if (!empty($payload->data['coupon_id']) && $coupon = $this->couponModel->getItem($couponId)) {
$payload->data['coupon_id'] = $coupon->id;
} else {
$payload->data['coupon_id'] = 0;
}
if (!empty($payload->data['state']) && $payload->data['state'] == 6 && $payload->data['id']) {
$booking = $this->bookingModel->getItem($payload->data['id']);
if (!$booking || !Booking::openForCancel($booking)) {
throw new \Exception('Booking can not be cancelled');
}
}
return $payload;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AdjustCustomFields.php | File | 1.06 KB | 0664 |
|
| AssignUserGroups.php | File | 1.21 KB | 0664 |
|
| CollectEventsAndTickets.php | File | 2.99 KB | 0664 |
|
| CreateOrUpdateTickets.php | File | 4.59 KB | 0664 |
|
| CreateUser.php | File | 2.19 KB | 0664 |
|
| FetchLocationData.php | File | 1.52 KB | 0664 |
|
| SendInviteMail.php | File | 2.51 KB | 0664 |
|
| SendNewBookingMail.php | File | 4.75 KB | 0664 |
|
| SendNotificationMail.php | File | 3.43 KB | 0664 |
|
| SendPaidBookingMail.php | File | 3.38 KB | 0664 |
|
| SendWaitingListMail.php | File | 3.09 KB | 0664 |
|
| SetupForMail.php | File | 3.27 KB | 0664 |
|
| SetupForNew.php | File | 15.99 KB | 0664 |
|
| SetupForUpdate.php | File | 1.96 KB | 0664 |
|
| SetupLanguage.php | File | 1.51 KB | 0664 |
|