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('j2store'); if ($order_state_id == 1) { require_once JPATH_SITE . '/components/com_j2store/models/orders.php'; $model = new J2StoreModelOrders(); //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("onJ2StoreBeforeInventory", 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) { J2StoreInventory::updateProductQuantities($item); } $orderTable->stock_adjusted = 1; $orderTable->store(); //trigger the plugin $app->triggerEvent("onJ2StoreAfterInventory", array($orderTable->id)); } } else { return; } return; }