function quickAddRate() { AImporter::model('transport'); $mainframe = JFactory::getApplication(); $input = JFactory::getApplication()->input; $transport_id = $input->getInt('transport_id'); $model = new BookProModelTransport(); $transport = $model->getItem($transport_id); $params = $transport->rate_params; $weekdays = array(0, 1, 2, 3, 4, 5, 6); $startdate = new JDate(); $startdate->setTime('00', '00', '00'); $enddate = clone $startdate; $enddate->add(new DateInterval('P60D')); $frate = array('private_price' => null, 'private_state' => 0, 'share_price' => null, 'share_state' => 0); if (!empty($transport->private_price)) { $frate['private_price'] = $transport->private_price; $frate['private_state'] = 1; } if (!empty($transport->share_price)) { $frate['share_price'] = $transport->share_price; $frate['share_state'] = 1; } $result = $this->saveOne($weekdays, $frate, $transport_id, $startdate, $enddate, $params); if ($result) { $mainframe->enqueueMessage('Add rate from ' . JFactory::getDate()->format('Y-m-d', true) . ' to ' . $enddate->format('Y-m-d') . ' successful!'); } else { $mainframe->enqueueMessage('Failed', 'error'); } $this->setRedirect('index.php?option=com_bookpro&view=transports'); return; }
private function updateOrder($order_id) { $order = JTable::getInstance('orders', 'table'); $order->load($order_id); if (!class_exists('BookProModelOrderInfos')) { AImporter::model('orderinfos'); } $modelInfo = new BookProModelOrderinfos(); $lists = array('order_id' => $order_id); $modelInfo->init($lists); $datas = $modelInfo->getData(); $total = 0; switch ($order->type) { case 'TOUR': if (!class_exists('BookProModelTourPackagece')) { AImporter::model('tourpackage'); } foreach ($datas as $row) { $modelpackprice = new BookProModelTourPackage(); $modelpackprice->setId($row->obj_id); $price = $modelpackprice->getObject(); $total += $row->adult * $price->price + $row->child * $price->child_price; } $order->total = $total; break; case 'TRANSPORT': if (!class_exists('BookProModelTransport')) { AImporter::model('transport'); } foreach ($datas as $row) { $modelTransport = new BookProModelTransport(); $modelTransport->setId($row->obj_id); $trans = $modelTransport->getObject(); $total += $row->adult * $trans->price; } $order->total = $total; break; default: break; } $order->notes = JRequest::getString('notes'); $order->order_status = JRequest::getString('order_status'); $order->pay_status = JRequest::getString('pay_status'); $order->store(); }
private function getComplexTransport($order) { AImporter::helper('airport'); $object = new JObject(); $object->order = $order; $db = JFactory::getDBO(); $query = $db->getQuery(true); // get Customer and Country name $query->select('customer.*, country.country_name AS country_name'); $query->from('#__bookpro_customer AS customer'); $query->leftJoin('#__bookpro_country AS country ON country.id = customer.country_id'); $query->where('customer.id = ' . (int) $order->user_id); $db->setQuery($query); $object->customer = $db->loadObject(); //get order info $query->clear(); $query->select('orderinfo.*'); $query->from('#__bookpro_orderinfo AS orderinfo'); $query->where('orderinfo.order_id = ' . (int) $order->id); $db->setQuery($query); $object->orderinfo = $db->loadObjectList(); //get route AImporter::model('transport'); $model = new BookProModelTransport(); foreach ($object->orderinfo as $orderinfo) { $orderinfo->trip = $model->getItem($orderinfo->route_id); $orderinfo->trip->from = AirportHelper::getItem($orderinfo->destfrom); $orderinfo->trip->to = AirportHelper::getItem($orderinfo->destto); } $object->addons = $this->getAddon($order->id); //passenger $query->clear(); $query->select('passenger.*, country.country_name AS country'); $query->from('#__bookpro_passenger AS passenger'); $query->leftJoin('#__bookpro_country AS country ON country.id = passenger.country_id'); $query->where('passenger.order_id = ' . (int) $order->id); $db->setQuery($query); $object->passengers = $db->loadObjectList(); return $object; }