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 display($tpl = null) { $app = JFactory::getApplication(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('*'); $query->from('#__k2store_storeprofiles'); $query->where('state=1'); $query->order('store_id ASC LIMIT 1'); $db->setQuery($query); $store = $db->loadObject(); if (!isset($store->store_id) || (int) $store->store_id < 1) { $redirect_url = 'index.php?option=com_k2store&view=postconfig'; $app->redirect($redirect_url); } $this->assignRef('store', $store); $model = $this->getModel('cpanel'); $model->checkCurrency(); $params = JComponentHelper::getParams('com_k2store'); $xmlfile = JPATH_ADMINISTRATOR . '/components/com_k2store/manifest.xml'; $row = new JObject(); $data = JApplicationHelper::parseXMLInstallFile($xmlfile); foreach ($data as $key => $value) { $row->{$key} = $value; } $this->assignRef('params', $params); $this->assignRef('row', $row); require_once JPATH_COMPONENT_ADMINISTRATOR . '/models/orders.php'; require_once JPATH_COMPONENT_ADMINISTRATOR . '/library/prices.php'; $order_model = new K2StoreModelOrders(); $order_model->setState('filter_limit', 5); $latest_items = $order_model->getOrders(); $this->orders = $latest_items; $this->order_model = $order_model; $this->params = $params; $this->addToolBar(); $toolbar = new K2StoreToolBar(); $toolbar->renderLinkbar(); parent::display($tpl); }
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; }