get('currency_id'); $currencies = Inventory_Module_Model::getAllCurrencies(); $conversionRate = $conversionRateForPurchaseCost = 1; $idList = $request->get('idlist'); if (!$idList) { $recordId = $request->get('record'); $idList = array($recordId); } $response = new Vtiger_Response(); $namesList = $purchaseCostsList = $taxesList = $listPricesList = $listPriceValuesList = array(); $coliListe=$premList = $pricebookList = $ugList = $descriptionsList = $quantitiesList = $imageSourcesList = $productIdsList = $baseCurrencyIdsList = array(); foreach($idList as $id) { $recordModel = Vtiger_Record_Model::getInstanceById($id); $taxes = $recordModel->getTaxes(); foreach ($taxes as $key => $taxInfo) { $taxInfo['compoundOn'] = json_encode($taxInfo['compoundOn']); $taxes[$key] = $taxInfo; } $taxesList[$id] = $taxes; $namesList[$id] = decode_html($recordModel->getName()); $quantitiesList[$id] = $recordModel->get('qtyinstock'); $ugList[$id] = $recordModel->get('cf_941'); $premList[$id] = $recordModel->get('expiry_date'); $coliListe[$id] = $recordModel->get('cf_866'); $descriptionsList[$id] = decode_html($recordModel->get('description')); $listPriceValuesList[$id] = $recordModel->getListPriceValues($recordModel->getId()); global $adb; $query = 'SELECT * FROM vtiger_pricebookproductrel where productid = '.$id; $sql_get_result = $adb->query($query); $pricesbook = array(); while ($recordinfo = $adb->fetch_array($sql_get_result)) { $pricesbook[] = $recordinfo; } $pricebookList[$id] = $pricesbook; $priceDetails = $recordModel->getPriceDetails(); foreach ($priceDetails as $currencyDetails) { if ($currencyId == $currencyDetails['curid']) { $conversionRate = $currencyDetails['conversionrate']; } } $listPricesList[$id] = (float)$recordModel->get('unit_price') * (float)$conversionRate; foreach ($currencies as $currencyInfo) { if ($currencyId == $currencyInfo['curid']) { $conversionRateForPurchaseCost = $currencyInfo['conversionrate']; break; } } $purchaseCostsList[$id] = round((float)$recordModel->get('purchase_cost') * (float)$conversionRateForPurchaseCost, $decimalPlace); $baseCurrencyIdsList[$id] = getProductBaseCurrency($id, $recordModel->getModuleName()); if ($recordModel->getModuleName() == 'Products') { $productIdsList[] = $id; } } if ($productIdsList) { $imageDetailsList = Products_Record_Model::getProductsImageDetails($productIdsList); foreach ($imageDetailsList as $productId => $imageDetails) { $imageSourcesList[$productId] = $imageDetails[0]['path'].'_'.$imageDetails[0]['orgname']; } } foreach($idList as $id) { $resultData = array( 'id' => $id, 'name' => $namesList[$id], 'taxes' => $taxesList[$id], 'listprice' => $listPricesList[$id], 'listpricevalues' => $listPriceValuesList[$id], 'purchaseCost' => $purchaseCostsList[$id], 'description' => $descriptionsList[$id], 'baseCurrencyId' => $baseCurrencyIdsList[$id], 'quantityInStock' => $quantitiesList[$id], 'imageSource' => $imageSourcesList[$id], 'unitesGratuites' => $ugList[$id], 'datePeremption' => $premList[$id], 'Colisage' => $coliListe[$id], 'pricebook' => $pricebookList[$id] ); $info[] = array($id => $resultData); } $response->setResult($info); $response->emit(); } }