/** * (non-PHPdoc) * @see Citruscart/site/CitruscartController#view() */ function printOrder() { $input = JFactory::getApplication()->input; // if the user cannot view order, fail $model = $this->getModel($this->get('suffix')); $model->getId(); $order = $model->getTable('orders'); $order->load($model->getId()); $row = $model->getItem(); $row->order_ships = $order->order_ships; $orderitems = $order->getItems(); $user_id = JFactory::getUser()->id; if ($row->user_id > 0) { if (empty($user_id) || $user_id != $row->user_id) { $this->messagetype = 'notice'; $this->message = JText::_('COM_CITRUSCART_INVALID_ORDER'); $redirect = "index.php?option=com_citruscart&view=" . $this->get('suffix'); $redirect = JRoute::_($redirect, false); $this->setRedirect($redirect, $this->message, $this->messagetype); return; } } else { $hash = $input->getString('h', ''); if ($row->order_hash != $hash) { $this->messagetype = 'notice'; $this->message = JText::_('COM_CITRUSCART_INVALID_ORDER'); $redirect = "index.php?option=com_citruscart&view=" . $this->get('suffix'); $redirect = JRoute::_($redirect, false); $this->setRedirect($redirect, $this->message, $this->messagetype); return; } } Citruscart::load('CitruscartUrl', 'library.url'); $view = $this->getView('orders', 'html'); $view->set('_controller', 'orders'); $view->set('_view', 'orders'); $view->set('_doTask', true); $view->set('hidemenu', true); $view->setModel($model, true); $config = Citruscart::getInstance(); $show_tax = $config->get('display_prices_with_tax'); if ($show_tax) { $order->order_subtotal += $order->order_tax; } //START onDisplayOrderItem: trigger plugins for extra orderitem information if (!empty($orderitems)) { Citruscart::load('CitruscartHelperOrder', 'helpers.order'); $onDisplayOrderItem = CitruscartHelperOrder::onDisplayOrderItems($orderitems); $view->assign('onDisplayOrderItem', $onDisplayOrderItem); } foreach ($orderitems as $item) { if ($show_tax) { $item->orderitem_price += $item->orderitem_tax / $item->orderitem_quantity; } } //END onDisplayOrderItem $view->assign('show_tax', $show_tax); $view->assign('using_default_geozone', false); $view->assign('order', $order); $view->setLayout('print'); $view->display(); }
/** * Displays item * @return void */ function view($cachable = false, $urlparams = false) { Citruscart::load('CitruscartUrl', 'library.url'); $model = $this->getModel($this->get('suffix')); $order = $model->getTable('orders'); $order->load($model->getId()); $orderitems = $order->getItems(); $row = $model->getItem(); // Get the shop country name $row->shop_country_name = ""; $countryModel = JModelLegacy::getInstance('Countries', 'CitruscartModel'); $countryModel->setId(Citruscart::getInstance()->get('shop_country')); $countryItem = $countryModel->getItem(); if ($countryItem && Citruscart::getInstance()->get('shop_country')) { $row->shop_country_name = $countryItem->country_name; } // Get the shop zone name $row->shop_zone_name = ""; $zoneModel = JModelLegacy::getInstance('Zones', 'CitruscartModel'); $zoneModel->setId(Citruscart::getInstance()->get('shop_zone')); $zoneItem = $zoneModel->getItem(); if ($zoneItem && Citruscart::getInstance()->get('shop_zone')) { $row->shop_zone_name = $zoneItem->zone_name; } //retrieve user information and make available to page if (!empty($row->user_id)) { //get the user information from jos_users and jos_Citruscart_userinfo $userModel = JModelLegacy::getInstance('Users', 'CitruscartModel'); $userModel->setId($row->user_id); $userItem = $userModel->getItem(); if ($userItem) { $row->userinfo = $userItem; } } $view = $this->getView('orders', 'html'); $view->set('_controller', 'orders'); $view->set('_view', 'orders'); $view->setModel($model, true); $view->assign('state', $model->getState()); $view->assign('row', $row); if ($this->getTask() == 'print') { $view->setLayout('print'); } else { $view->setLayout('view'); } $model->emptyState(); $this->_setModelState(); /* $surrounding = $model->getSurrounding( $model->getId() ); $view->assign( 'surrounding', $surrounding ); */ //START onDisplayOrderItem: trigger plugins for extra orderitem information if (!empty($orderitems)) { Citruscart::load('CitruscartHelperOrder', 'helpers.order'); $onDisplayOrderItem = CitruscartHelperOrder::onDisplayOrderItems($orderitems); $view->assign('onDisplayOrderItem', $onDisplayOrderItem); } //END onDisplayOrderItem $config = Citruscart::getInstance(); $show_tax = $config->get('display_prices_with_tax'); $view->assign('show_tax', $show_tax); $view->assign('using_default_geozone', false); if ($show_tax) { $geozones = $order->getBillingGeoZones(); if (empty($geozones)) { // use the default $view->assign('using_default_geozone', true); $table = JTable::getInstance('Geozones', 'CitruscartTable'); $table->load(array('geozone_id' => $config->get('default_tax_geozone'))); $geozones = array($table); } Citruscart::load("CitruscartHelperProduct", 'helpers.product'); foreach ($orderitems as &$item) { $taxtotal = $item->orderitem_tax / $item->orderitem_quantity; $item->orderitem_price = $item->orderitem_price + floatval($item->orderitem_attributes_price) + $taxtotal; $item->orderitem_final_price = $item->orderitem_price * $item->orderitem_quantity; $order->order_subtotal += $taxtotal * $item->orderitem_quantity; } } $view->assign('order', $order); $view->setTask(true); parent::view($cachable, $urlparams); }