public function getTotal() { $this->depart_price = $this->getPriceType('depart'); // debug($this->price_list); if ($this->price_list->week) { $rate = MathHelper::filterArrayObject($this->price_list->week, 'date', strtoupper($this->date['depart']->format('D'))); } if ($this->price_list->date) { $rate = MathHelper::filterArrayObject($this->price_list->date, 'date', $this->date['depart']->format('d-m')); } if ($rate) { $this->depart_price += $this->depart_price * $rate->params / 100; } if ($this->trips['return']) { $this->return_price = $this->getPriceType('return'); $rate = false; if ($this->price_list->week) { $rate = MathHelper::filterArrayObject($this->price_list->week, 'date', strtoupper($this->date['return']->format('D'))); } if ($this->price_list->date) { $rate = MathHelper::filterArrayObject($this->price_list->date, 'date', $this->date['return']->format('d-m')); } if ($rate) { $this->return_price += $this->return_price * $rate->params / 100; } } if (!empty($this->addons['depart'])) { foreach ($this->addons['depart'] as $addon) { $this->depart_addon_price += $this->adult * $addon->price + $this->child * $addon->child_price; } } if (!empty($this->addons['return'])) { foreach ($this->addons['return'] as $addon) { $this->return_addon_price += $this->adult * $addon->price + $this->child * $addon->child_price; } } $this->total = $this->depart_price + $this->return_price + $this->depart_addon_price + $this->return_addon_price; return parent::getTotal(); }
public static function caculatePriceWithRate($price, $type, $datetime, $time, $rate) { if (!class_exists('MathHelper')) { require_once JPATH_ROOT . '/administrator/components/com_bookpro/helpers/math.php'; } $date = JFactory::getDate($datetime)->format('d-m'); $day = strtoupper(JFactory::getDate($datetime)->format('D')); if ($type == 1) { $rate_param = $rate->private; } else { $rate_param = $rate->share; } $rate = MathHelper::filterArrayObject($rate_param, 'date', $date); if (empty($rate)) { $rate = MathHelper::filterArrayObject($rate_param, 'day', $day); } if ($type == 2 && !empty($rate)) { $rate = self::getPaxGroup($time, array($rate), $type); } if (!empty($rate)) { $price += $rate->promo * $price / 100; } return $price; }
private function filterSharePrice(JDate $date, $rate, array $params) { if ($rate == null) { return null; } $datedm = $date->format('d-m'); $param = MathHelper::filterArrayObject($params, 'date', $datedm); if ($param) { $new_rate = clone $rate[0]; $new_rate->start = $param->start; $new_rate->end = $param->end; $new_rate->price += $new_rate->price * $param->promo / 100; array_unshift($rate, $new_rate); } return $rate; }
private function getTrip($cart, $roundtrip = false, $filter_date = false) { AImporter::helper('airport', 'parameter', 'math'); $price_list = AParameter::getPrice(); $rate = MathHelper::filterArrayObject($price_list->dayoff, 'date', JFactory::getDate($cart->start)->format('Y-m-d')); $trips = array(); if (!$rate) { $model = new BookProModelTransports(); $state = $model->getState(); $state->set('filter.state', 1); $state->set('filter.type', $cart->filter['type']); //depart $state->set('filter.destfrom', $cart->filter['destfrom']); $state->set('filter.destto', $cart->filter['destto']); $state->set('filter.depart_date', $cart->start); $trips['depart'] = $model->getItems(); foreach ($trips['depart'] as &$result) { $result->date = $cart->start; $result->start = $cart->start_time; $result->from = AirportHelper::getItem($result->from_dest); $result->to = AirportHelper::getItem($result->to_dest); } } if ($cart->filter['roundtrip']) { //find dayoff $rate = MathHelper::filterArrayObject($price_list->dayoff, 'date', JFactory::getDate($cart->end)->format('Y-m-d')); if (!$rate) { $model = new BookProModelTransports(); $state = $model->getState(); $state->set('filter.state', 1); $state->set('filter.type', $cart->filter['type']); $state->set('filter.destfrom', $cart->filter['destto']); $state->set('filter.destto', $cart->filter['destfrom']); $state->set('filter.depart_date', $cart->end); $trips['return'] = $model->getItems(); foreach ($trips['return'] as &$return) { $return->date = $cart->end; $return->start = $cart->return_time; $return->from = AirportHelper::getItem($return->from_dest); $return->to = AirportHelper::getItem($return->to_dest); } } } return $trips; }
* @author Ngo Van Quan * @link http://joombooking.com * @copyright Copyright (C) 2011 - 2012 Ngo Van Quan * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html * @version $Id: default.php 81 2012-08-11 01:16:36Z quannv $ **/ defined('_JEXEC') or die('Restricted access'); AImporter::helper('vehicle', 'math'); $parking_price = json_decode($displayData); $list_type = VehicleHelper::getTypeList(); ?> <div class="row-fluid"> <table> <?php foreach ($list_type as $li) { $price = MathHelper::filterArrayObject($parking_price, 'type', $li->id); ?> <tr> <td><?php echo $li->title; ?> </td> <td> <input type="text" class="input-mini" name="parking[price][]" value="<?php echo $price->price; ?> "/> <input type="hidden" name="parking[type][]" value="<?php echo $li->id; ?> "/>