File manager - Edit - /home/verseaumee/ptitsanes/plugins/solidres/experience/components/com_solidres/views/bookform/view.html.php
Back
<?php /** ------------------------------------------------------------------------ SOLIDRES - Accommodation booking extension for Joomla ------------------------------------------------------------------------ * @author Solidres Team <contact@solidres.com> * @website https://www.solidres.com * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved. * @license GNU General Public License version 3, or later ------------------------------------------------------------------------ */ defined('_JEXEC') or die; class SolidresViewBookForm extends SRViewLegacy { protected $form; protected $item; protected $data; protected $payments; protected $paymentFormData; protected $customFields; protected $context; public function display($tpl = null) { $app = JFactory::getApplication(); $this->context = base64_decode($app->input->getBase64('context', '')); $this->paymentFormData = SRExperienceHelper::getPaymentFormData($this->context); if (empty($this->paymentFormData)) { $formData = (array) $app->getUserState($this->context, []); if (empty($formData['participants']) || !SRExperienceHelper::validateDate($formData['date'], (int) $formData['experience_id']) || !($this->item = SRExperienceHelper::getItem((int) $formData['experience_id'])) ) { $message = empty($formData['participants']) ? JText::_('SR_INVALID_DATA') : JText::_('SR_DATE_INVALID'); $this->redirect($message); } JHtml::_('stylesheet', 'plg_solidres_experience/assets/experience.min.css', ['relative' => true, 'version' => plgSolidresExperience::getHashVersion()]); $this->data = $formData; $this->form = $this->get('Form'); $participants = (int) $formData['participants'] + (int) $formData['summary']['childrenQuantity']; $timeSlots = SRExperienceHelper::parseTimeSlots($this->item->timeslots, false); $isValid = true; if ($timeSlots) { if (isset($formData['timeSlotId']) && isset($timeSlots[$formData['timeSlotId']]) && (int) $timeSlots[$formData['timeSlotId']]->guide_state === 1 ) { $timeSlot = $timeSlots[$formData['timeSlotId']]; $key = $formData['date'] . ':' . $timeSlot->guide_id . ':' . $timeSlot->from . ':' . $timeSlot->to; $isValid = !isset($timeSlot->guideAvailableSizes[$key]) || $timeSlot->guideAvailableSizes[$key] >= $participants; } } elseif (isset($this->item->available_sizes[$formData['date']]) && (int) $this->item->available_sizes[$formData['date']] < $participants) { $isValid = false; } if (!$isValid) { $formData['participants'] = 0; $app->setUserState($this->context, $formData); $this->redirect(JText::_('SR_DATE_INVALID')); } if ($errors = $this->get('Errors')) { throw new Exception(implode("\n", $errors), 500); } $this->payments = SRExperienceHelper::getPayments($this->item->id, $this->data); $this->customFields = $this->get('customFields'); // Extras if (!empty($this->item->extras) && SRPlugin::isEnabled('advancedextra')) { JPluginHelper::importPlugin('solidres', 'advancedextra'); $app->triggerEvent('onSolidresExpExtraPrepare', array($this->item, $formData)); } } else { $this->setLayout('paymentredirect'); } parent::display($tpl); } protected function redirect($message) { $app = JFactory::getApplication(); $return = $app->input->getBase64('return'); $app->enqueueMessage($message, 'warning'); if (!empty($return)) { $app->redirect(base64_decode($return)); } $app->redirect(JUri::root()); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings