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 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; }