PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / views / refundtn / view.html.php

view.html.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/views/refundtn/view.html.php

71 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage com_vikbooking
5 * @author Alessio Gaggii - e4j - Extensionsforjoomla.com
6 * @copyright Copyright (C) 2018 e4j - Extensionsforjoomla.com. All rights reserved.
7 * @license GNU General Public License version 2 or later; see LICENSE
8 * @link https://vikwp.com
9 */
10
11 defined('ABSPATH') or die('No script kiddies please!');
12
13 // import Joomla view library
14 jimport('joomla.application.component.view');
15
16 class VikBookingViewRefundtn extends JViewVikBooking {
17
18 function display($tpl = null) {
19 // This view is usually called within a modal box, so it does not require the toolbar or page title
20
21 $cid = VikRequest::getVar('cid', array(0));
22 $id = $cid[0];
23
24 $dbo = JFactory::getDbo();
25 $mainframe = JFactory::getApplication();
26
27 $q = "SELECT * FROM `#__vikbooking_orders` WHERE `id`=".(int)$id." AND `status`!='standby';";
28 $dbo->setQuery($q);
29 $dbo->execute();
30 if ($dbo->getNumRows() < 1) {
31 $mainframe->redirect('index.php?option=com_vikbooking');
32 exit;
33 }
34 $row = $dbo->loadAssoc();
35
36 // get booking history instance
37 $history_obj = VikBooking::getBookingHistoryInstance();
38 $history_obj->setBid($row['id']);
39
40 // get payment information
41 $payment = VikBooking::getPayment($row['idpayment']);
42 $tn_driver = is_array($payment) ? $payment['file'] : null;
43
44 // transaction data validation callback
45 $tn_data_callback = function($data) use ($tn_driver) {
46 return (is_object($data) && isset($data->driver) && basename($data->driver, '.php') == basename($tn_driver, '.php'));
47 };
48 // get previous transactions
49 $prev_tn_data = $history_obj->getEventsWithData(array('P0', 'PN'), $tn_data_callback);
50
51 if (!is_array($prev_tn_data) || !count($prev_tn_data)) {
52 // no previous transactions found
53 VikError::raiseWarning('', 'No previous transactions found, unable to issue the refund');
54 $mainframe->redirect('index.php?option=com_vikbooking&task=editorder&cid[]=' . $row['id']);
55 exit;
56 }
57
58 // load all previous refund events, if any
59 $refunds = $history_obj->getEventsWithData('RF', null, false);
60 $refunds = !is_array($refunds) ? array() : $refunds;
61
62 $this->row = $row;
63 $this->payment = $payment;
64 $this->refunds = $refunds;
65
66 // Display the template
67 parent::display($tpl);
68 }
69
70 }
71