public static function setInventory($orderpayment_id, $order_state_id) { //only reduce the inventory if the order is successful. 1==CONFIRMED. //do it only once. $app = JFactory::getApplication(); JPluginHelper::importPlugin('k2store'); if ($order_state_id == 1) { require_once JPATH_SITE . '/components/com_k2store/models/orders.php'; $model = new K2StoreModelOrders(); //lets set the id first $model->setId($orderpayment_id); $orderTable = $model->getTable('orders'); $orderTable->load($model->getId()); $order = $model->getItem(); //trigger the plugin $app->triggerEvent("onK2StoreBeforeInventory", array($order->id)); //Do it once and set that the stock is adjusted if ($order->stock_adjusted != 1 && is_array($order->orderitems)) { foreach ($order->orderitems as $item) { K2StoreInventory::updateProductQuantities($item); } $orderTable->stock_adjusted = 1; $orderTable->store(); //trigger the plugin $app->triggerEvent("onK2StoreAfterInventory", array($orderTable->id)); } } else { return; } return; }
function viewtxnlog() { $app = JFactory::getApplication(); if (!$app->isAdmin()) { echo JText::_('K2STORE_ERROR_NO_PERMISSION'); $app->close(); return; } require_once JPATH_SITE . '/components/com_k2store/models/orders.php'; $orders_model = new K2StoreModelOrders(); $id = $app->input->get('id'); $orders_model->setId($id); $row = $orders_model->getItem(); $view = $this->getView('orders', 'html'); $view->assign('row', $row); $view->setLayout('txnlog'); $view->display(); }
public static function _getHtmlFormatedOrder($id, $user_id) { $app = JFactory::getApplication(); $k2storeparams = JComponentHelper::getParams('com_k2store'); $sitename = $k2storeparams->get('sitename', $app->getCfg('sitename')); $siteurl = $k2storeparams->get('siteurl', JURI::root()); $html = ' '; JLoader::register("K2StoreViewOrders", JPATH_SITE . "/components/com_k2store/views/orders/view.html.php"); $config = array(); $config['base_path'] = JPATH_SITE . "/components/com_k2store"; // finds the default Site template $db = JFactory::getDBO(); $query = "SELECT template FROM #__template_styles WHERE client_id = 0 AND home=1"; $db->setQuery($query); $template = $db->loadResult(); jimport('joomla.filesystem.file'); if (JFile::exists(JPATH_SITE . '/templates/' . $template . '/html/com_k2store/orders/orderemail.php')) { // (have to do this because we load the same view from the admin-side Orders view, and conflicts arise) $config['template_path'] = JPATH_SITE . '/templates/' . $template . '/html/com_k2store/orders'; } if (!empty($order->customer_language)) { $lang = JFactory::getLanguage(); $lang->load('com_k2store', JPATH_SITE, $order->customer_language); } $view = new K2StoreViewOrders($config); $view->addTemplatePath(JPATH_SITE . '/templates/' . $template . '/html/com_k2store/orders'); require_once JPATH_SITE . DS . 'components' . DS . 'com_k2store' . DS . 'models' . DS . 'orders.php'; $model = new K2StoreModelOrders(); //lets set the id first $model->setId($id); $order = $model->getTable('orders'); $order->load($model->getId()); $orderitems = $order->getItems(); $row = $model->getItem(); $ordertaxes = $order->getOrderTax(); if (!$order->user_id) { $isGuest = true; } else { $isGuest = false; } $view->set('_controller', 'orders'); $view->set('_view', 'orders'); $view->set('_doTask', true); $view->set('hidemenu', false); $view->setModel($model, true); $view->assign('row', $row); $show_tax = $k2storeparams->get('show_tax_total'); $view->assign('show_tax', $show_tax); foreach ($orderitems as &$item) { $item->orderitem_price = $item->orderitem_price + floatval($item->orderitem_attributes_price); $taxtotal = 0; if ($show_tax) { $taxtotal = $item->orderitem_tax / $item->orderitem_quantity; } $item->orderitem_price = $item->orderitem_price + $taxtotal; $item->orderitem_final_price = $item->orderitem_price * $item->orderitem_quantity; $order->order_subtotal += $taxtotal * $item->orderitem_quantity; } $view->assign('order', $order); $view->assign('isGuest', $isGuest); $view->assign('sitename', $sitename); $view->assign('siteurl', $siteurl); $view->assign('params', $k2storeparams); $shipping_info = $model->getShippingInfo($row); $view->assign('shipping_info', $shipping_info); $view->assign('ordertaxes', $ordertaxes); $view->setLayout('orderemail'); //$this->_setModelState(); ob_start(); $view->display(); $html .= ob_get_contents(); ob_end_clean(); return $html; }