File manager - Edit - /home/verseaumee/ptitsanes/plugins/experiencepayment/offline/offline.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; JLoader::register('SRExpPayment', SRPlugin::getAdminPath('experience') . '/helpers/payment.php'); class PlgExperiencePaymentOffline extends SRExpPayment { protected $isCard = true; public function onSolidresExperienceReservationBeforeSave($payment, &$validData) { if (is_object($payment) && $payment->element == 'offline') { // B/C $validData['payment_data'] = array( 'card_holder_name' => $payment->card['data']['name'], 'card_number' => $payment->card['data']['number'], 'card_cvv' => $payment->card['data']['cvv'], 'card_exp_month' => $payment->card['data']['expiryMonth'], 'card_exp_year' => $payment->card['data']['expiryYear'], ); } } public function finished($reservationTable, $payment) { $this->app->triggerEvent('onExperienceSendConfirmEmail', array($reservationTable)); // Handle after send email. We need update payment data for this reservation $paymentData = json_decode($reservationTable->payment_data, true); if (!empty($paymentData['card_number'])) { $cardNumber = trim($paymentData['card_number']); $paymentData['card_number'] = substr($cardNumber, 0, 8) . str_repeat('x', strlen($cardNumber) - 8); $reservationTable->set('payment_data', json_encode($paymentData)); $reservationTable->store(); } return parent::getSuccessMessage($reservationTable, $payment); } public function onSolidresExperiencePaymentInfo($payment) { if ($payment->element == 'offline' && is_array($payment->data)) { $data = $payment->data; if (isset($data['card_number'])) { $cardNumber = trim($data['card_number']); $data['card_number'] = str_repeat('x', strlen($cardNumber) - 8) . substr($cardNumber, 8); SRLayoutHelper::addIncludePath(__DIR__ . '/layouts'); $payment->info = SRLayoutHelper::render('plg_experiencepayment_offline.info', $data); } } } public function onSolidresExperienceReservationPaymentData($payment) { if ($payment->element == 'offline' && is_array($payment->data)) { SRLayoutHelper::addIncludePath(__DIR__ . '/layouts'); return SRLayoutHelper::render('plg_experiencepayment_offline.admininfo', $payment); } } public function onAjaxOffline() { JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); JTable::addIncludePath(SRPlugin::getAdminPath('experience') . '/tables'); $reservationId = $this->app->input->post->getInt('reservation_id'); $reservationTable = JTable::getInstance('ExpReservation', 'SolidresTable'); if (!$reservationTable->load($reservationId)) { throw new RuntimeException(JText::_('SR_EXPERIENCE_ERROR_CANNOT_LOAD_RESERVATION_PLURAL', $reservationId)); } if ($this->app->isSite()) { $partnerId = SRExperienceHelper::getPartnerId(); $experienceTable = JTable::getInstance('Experience', 'SolidresTable'); if (false === $partnerId || !$experienceTable->load($reservationTable->experience_id) || $partnerId != $experienceTable->partner_id ) { throw new RuntimeException(JText::_('JERROR_ALERTNOAUTHOR')); } } elseif (!JFactory::getUser()->authorise('core.delete', 'com_solidres')) { throw new RuntimeException(JText::_('JERROR_ALERTNOAUTHOR')); } $reservationTable->set('payment_data', '{}'); $reservationTable->store(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings