File manager - Edit - /home/verseaumee/ptitsanes/plugins/solidres/feedback/components/com_solidres/controllers/feedback.php
Back
<?php /* ------------------------------------------------------------------------ Solidres - Hotel booking extension for Joomla ------------------------------------------------------------------------ @Author Solidres Team @Website http://www.solidres.com @Copyright Copyright (C) 2013 - 2017 Solidres. All Rights Reserved. @License GNU General Public License version 3, or later ------------------------------------------------------------------------ */ defined('_JEXEC') or die; /** * Feedback type controller class. * * @package Solidres * @subpackage Feedback * @since 0.8.0 */ JLoader::register('FeedbackControllerForm', SR_PLUGIN_FEEDBACK_ADMINISTRATOR . '/controllers/feedbackcontrollerform.php'); use Joomla\Registry\Registry; class SolidresControllerFeedBack extends FeedbackControllerForm { protected function postSaveHook(JModelLegacy $model, $validData = array()) { $ownerEmail = JComponentHelper::getParams('com_solidres')->get('feedback_notification_owner_email'); if (!empty($ownerEmail)) { $feedbackItem = $model->getItem(); if ($feedbackItem && !empty($feedbackItem->targetItem->id) && !empty($feedbackItem->targetItem->reservation_code) && !empty($feedbackItem->targetItem->owner_email) ) { $ownerEmail = str_replace(array('{target_name}', '{asset_exp_name}'), $feedbackItem->targetItem->name, $ownerEmail); $ownerEmail = str_replace(array('{res_code}', '{reservation_code}'), $feedbackItem->targetItem->reservation_code, $ownerEmail); $mailer = JFactory::getMailer(); $config = JFactory::getConfig(); $mailer->setSender(array($config->get('mailfrom'), $config->get('fromname'))); $mailer->setSubject(JText::_('SR_FEEDBACK_OWNER_EMAIL_SUBJECT')); $mailer->setBody($ownerEmail); $mailer->isHtml(false); $recipients = array($feedbackItem->targetItem->owner_email); if (!empty($feedbackItem->targetItem->params)) { $params = new Registry; $params->loadString((string) $feedbackItem->targetItem->params); $emails = explode(',', $params->get('additional_notification_emails')); foreach ($emails as $email) { if (!empty($email) && filter_var($email, FILTER_VALIDATE_EMAIL)) { $recipients[] = trim($email); } } } $mailer->addRecipient($recipients); $mailer->Send(); } } $return = $this->input->getBase64('return'); if (!empty($return)) { $this->setMessage(JText::_('SR_FEEDBACK_POST_SUCCESS_THANKYOU_MESSAGE'), 'success'); JFactory::getApplication()->setUserState('com_solidres.feedback.posted', true); $this->setRedirect(base64_decode($return)) ->redirect(); } } protected function allowAdd($data = array()) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $view = $this->input->getCmd('view'); if (!in_array($view, array('customer', 'feedback', 'feedbacks'))) { return false; } $userId = $user->get('id'); $tableCustomer = JTable::getInstance('Customer', 'SolidresTable'); $tableCustomer->load(array('user_id' => $userId)); $customerId = (int) $tableCustomer->get('id'); $token = $this->input->get('feedbackToken', null); $data = $this->input->post->get('jform', array(), 'array'); $scope = $data['scope']; if ($scope) { if (!SRPlugin::isEnabled('experience')) { $app->enqueueMessage(JText::_('SR_FEEDBACK_ERROR_EXPERIENCE_NOT_ENABLED'), 'error'); return false; } JTable::addIncludePath(SRPlugin::getAdminPath('experience') . '/tables'); $reservation = JTable::getInstance('ExpReservation', 'SolidresTable'); } else { JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_solidres/tables'); $reservation = JTable::getInstance('Reservation', 'SolidresTable'); } if (!is_null($token) && strlen($token) == 40 && $reservation->load(array('token' => $token))) { return true; } $isPartner = SRUtilities::getPartnerId() && $user->authorise('core.create', 'com_solidres'); if (!$reservation->load($data['reservation_id'])) { if ($isPartner && !empty($data['customer_name']) && !empty($data['item_id']) && (int) $data['item_id'] > 0 ) { return true; } $app->enqueueMessage(JText::_('SR_FEEDBACK_ERROR_RESERVATION_NOT_FOUND'), 'error'); return false; } if (!$isPartner && $reservation->customer_id && $reservation->customer_id != $customerId) { $app->enqueueMessage(JText::_('SR_FEEDBACK_ERROR_RESERVATION_NOT_YOUR'), 'error'); return false; } return true; } protected function allowEdit($data = array(), $key = 'id') { if (!SRUtilities::getPartnerId()) { return false; } return JFactory::getUser()->authorise('core.edit', 'com_solidres'); } public function redirect() { $return = $this->input->getBase64('return'); if (!empty($return)) { $this->redirect = base64_decode($return); } return parent::redirect(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings