Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
 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;
 }