function isInStock($products_id) { global $osC_Database; $osC_Product = new osC_Product(osc_get_product_id($products_id)); if ($osC_Product->getQuantity($products_id) - $this->_contents[$products_id]['quantity'] >= 0) { return true; } elseif ($this->_products_in_stock === true) { $this->_products_in_stock = false; } return false; }
function listChooseProducts() { global $toC_Json, $osC_Database, $osC_Language, $osC_Currencies, $osC_Tax; $start = empty($_REQUEST['start']) ? 0 : $_REQUEST['start']; $limit = empty($_REQUEST['limit']) ? MAX_DISPLAY_SEARCH_RESULTS : $_REQUEST['limit']; $Qproducts = $osC_Database->query('select SQL_CALC_FOUND_ROWS * from :table_products p left join :table_products_description pd on p.products_id = pd.products_id where p.products_status = 1 and pd.language_id = :language_id and p.products_status = 1'); if (!empty($_REQUEST['search'])) { $Qproducts->appendQuery('and pd.products_name like :products_name'); $Qproducts->bindValue(':products_name', '%' . $_REQUEST['search'] . '%'); } $Qproducts->appendQuery('order by p.products_id '); $Qproducts->bindTable(':table_products', TABLE_PRODUCTS); $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION); $Qproducts->bindInt(':language_id', $osC_Language->getID()); $Qproducts->setExtBatchLimit($start, $limit); $Qproducts->execute(); $osC_Currencies = new osC_Currencies(); $osC_Order = new osC_Order($_REQUEST['orders_id']); $osC_Tax = new osC_Tax_Admin(); $_SESSION['currency'] = $osC_Order->getCurrency(); $records = array(); while ($Qproducts->next()) { $products_id = $Qproducts->valueInt('products_id'); $osC_Product = new osC_Product($products_id, $osC_Order->getCustomer('customers_id')); if (!$osC_Product->hasVariants()) { $products_name = $osC_Product->getTitle(); $products_price = $osC_Product->getPriceFormated(); if ($osC_Product->isGiftCertificate()) { $products_name .= '<table cellspacing="0" cellpadding="0" border="0">'; if ($osC_Product->isOpenAmountGiftCertificate()) { $products_name .= '<tr><td><i>-- ' . $osC_Language->get('field_amount') . '</i></td><td><input id="' . $products_id . '_price' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" value="' . round($osC_Product->getOpenAmountMinValue() * $osC_Order->getCurrencyValue(), 2) . '"/></td></tr>'; } if ($osC_Product->isEmailGiftCertificate()) { $products_name .= '<tr><td><i>-- ' . $osC_Language->get('field_recipient_sender_name') . '</i></td><td><input id="' . $products_id . '_sender_name' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_recipient_sender_email') . '</i></td><td><input id="' . $products_id . '_sender_email' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_recipient_name') . '</i></td><td><input id="' . $products_id . '_recipient_name' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_recipient_email') . '</i></td><td><input id="' . $products_id . '_recipient_email' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_message') . '</i></td><td><textarea id="' . $products_id . '_message' . '" class=" x-form-textarea x-form-field" style="width: 140px" /></textarea></td></tr>'; } else { if ($osC_Product->isPhysicalGiftCertificate()) { $products_name .= '<tr><td><i>-- ' . $osC_Language->get('field_recipient_sender_name') . '</i></td><td><input id="' . $products_id . '_sender_name' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_recipient_name') . '</i></td><td><input id="' . $products_id . '_recipient_name' . '" type="text" class="x-form-text x-form-field x-form-empty-field" style="width: 140px" /></td></tr>' . '<tr><td><i>-- ' . $osC_Language->get('field_message') . '</i></td><td><textarea id="' . $products_id . '_message' . '" class=" x-form-textarea x-form-field" style="width: 140px" /></textarea></td></tr>'; } } $products_name .= '</table>'; } $records[] = array('products_id' => $products_id, 'products_name' => $products_name, 'products_type' => $osC_Product->getProductType(), 'products_sku' => $osC_Product->getSKU(), 'products_price' => $products_price, 'products_quantity' => $osC_Product->getQuantity(), 'new_qty' => $Qproducts->valueInt('products_moq'), 'has_variants' => false); } else { $records[] = array('products_id' => $products_id, 'products_name' => $osC_Product->getTitle(), 'products_type' => $osC_Product->getProductType(), 'products_sku' => $osC_Product->getSKU(), 'products_price' => $osC_Product->getPriceFormated(), 'products_quantity' => $osC_Product->getQuantity(), 'new_qty' => $Qproducts->valueInt('products_moq'), 'has_variants' => true); foreach ($osC_Product->getVariants() as $product_id_string => $details) { $variants = ''; foreach ($details['groups_name'] as $groups_name => $values_name) { $variants .= ' <i>' . $groups_name . ' : ' . $values_name . '</i><br />'; } $records[] = array('products_id' => $product_id_string, 'products_name' => $variants, 'products_type' => $osC_Product->getProductType(), 'products_sku' => $osC_Product->getSKU(osc_parse_variants_from_id_string($product_id_string)), 'products_price' => $osC_Currencies->format($osC_Product->getPrice(osc_parse_variants_from_id_string($product_id_string)), $osC_Order->getCurrency()), 'products_quantity' => $details['quantity'], 'new_qty' => $Qproducts->valueInt('products_moq'), 'has_variants' => false); } } } unset($_SESSION['currency']); $response = array(EXT_JSON_READER_TOTAL => $Qproducts->getBatchSize(), EXT_JSON_READER_ROOT => $records); echo $toC_Json->encode($response); }
} break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = ' '; if ($osC_Product->hasManufacturer()) { $lc_text = ' ' . osc_link_object(osc_href_link(FILENAME_DEFAULT, 'manufacturers=' . $osC_Product->getManufacturerID()), $osC_Product->getManufacturer()) . ' '; } break; case 'PRODUCT_LIST_PRICE': $lc_align = 'right'; $lc_text = ' ' . $osC_Product->getPriceFormated() . ' '; break; case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = ' ' . $osC_Product->getQuantity() . ' '; break; case 'PRODUCT_LIST_WEIGHT': $lc_align = 'right'; $lc_text = ' ' . $osC_Product->getWeight() . ' '; break; case 'PRODUCT_LIST_IMAGE': $lc_align = 'center'; if (isset($_GET['manufacturers'])) { $lc_text = osc_link_object(osc_href_link(FILENAME_PRODUCTS, $osC_Product->getKeyword() . '&manufacturers=' . $_GET['manufacturers']), $osC_Image->show($osC_Product->getImage(), $osC_Product->getTitle())); } else { $lc_text = ' ' . osc_link_object(osc_href_link(FILENAME_PRODUCTS, $osC_Product->getKeyword() . ($cPath ? '&cPath=' . $cPath : '')), $osC_Image->show($osC_Product->getImage(), $osC_Product->getTitle())) . ' '; } break; case 'PRODUCT_LIST_BUY_NOW': $lc_align = 'center';