コード例 #1
0
 function listProducts()
 {
     global $osC_Database, $toC_Json, $osC_Language;
     $current_category_id = end(explode('_', empty($_REQUEST['categories_id']) ? 0 : $_REQUEST['categories_id']));
     if ($current_category_id > 0) {
         $osC_CategoryTree = new osC_CategoryTree_Admin();
         $osC_CategoryTree->setBreadcrumbUsage(false);
         $in_categories = array($current_category_id);
         foreach ($osC_CategoryTree->getTree($current_category_id) as $category) {
             $in_categories[] = $category['id'];
         }
         $Qproducts = $osC_Database->query("select pd.products_id as products_id, pd.products_name as products_name, pf.sort_order as sort_order from :table_products_frontpage pf, :table_products_description pd, :table_products_to_categories p2c where pf.products_id = pd.products_id and p2c.products_id = pf.products_id and p2c.categories_id in (:categories_id)");
         $Qproducts->bindRaw(':categories_id', implode(',', $in_categories));
         $Qproducts->bindTable(':table_products_to_categories', TABLE_PRODUCTS_TO_CATEGORIES);
     } else {
         $Qproducts = $osC_Database->query("select pd.products_id as products_id, pd.products_name as products_name, pf.sort_order as sort_order from :table_products_frontpage pf, :table_products_description pd where pf.products_id = pd.products_id");
     }
     $Qproducts->appendQuery("order by pf.sort_order");
     $Qproducts->bindTable(':table_products_frontpage', TABLE_PRODUCTS_FRONTPAGE);
     $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
     $Qproducts->execute();
     $records = array();
     while ($Qproducts->next()) {
         $records[] = array('products_id' => $Qproducts->value("products_id"), 'products_name' => $Qproducts->value("products_name"), 'sort_order' => $Qproducts->value("sort_order"));
     }
     $response = array(EXT_JSON_READER_TOTAL => sizeof($records), EXT_JSON_READER_ROOT => $records);
     echo $toC_Json->encode($response);
 }
コード例 #2
0
ファイル: products.php プロジェクト: heshuai64/gamestore
 public static function find($search, $category_id = null, $pageset = 1)
 {
     global $osC_Database, $osC_Language, $osC_Currencies;
     if (!is_numeric($category_id)) {
         $category_id = 0;
     }
     if (!is_numeric($pageset) || floor($pageset) != $pageset) {
         $pageset = 1;
     }
     $result = array('entries' => array());
     if ($category_id > 0) {
         $osC_CategoryTree = new osC_CategoryTree_Admin();
         $osC_CategoryTree->setBreadcrumbUsage(false);
         $in_categories = array($category_id);
         foreach ($osC_CategoryTree->getArray($category_id) as $category) {
             $in_categories[] = $category['id'];
         }
         $Qproducts = $osC_Database->query('select SQL_CALC_FOUND_ROWS distinct p.*, pd.products_name from :table_products p, :table_products_description pd, :table_products_to_categories p2c where p.parent_id = 0 and p.products_id = pd.products_id and pd.language_id = :language_id and p.products_id = p2c.products_id and p2c.categories_id in (:categories_id)');
         $Qproducts->bindTable(':table_products_to_categories', TABLE_PRODUCTS_TO_CATEGORIES);
         $Qproducts->bindRaw(':categories_id', implode(',', $in_categories));
     } else {
         $Qproducts = $osC_Database->query('select SQL_CALC_FOUND_ROWS p.*, pd.products_name from :table_products p, :table_products_description pd where p.parent_id = 0 and p.products_id = pd.products_id and pd.language_id = :language_id');
     }
     $Qproducts->appendQuery('and (pd.products_name like :products_name or pd.products_keyword like :products_keyword) order by pd.products_name');
     $Qproducts->bindTable(':table_products', TABLE_PRODUCTS);
     $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
     $Qproducts->bindInt(':language_id', $osC_Language->getID());
     $Qproducts->bindValue(':products_name', '%' . $search . '%');
     $Qproducts->bindValue(':products_keyword', '%' . $search . '%');
     if ($pageset !== -1) {
         $Qproducts->setBatchLimit($pageset, MAX_DISPLAY_SEARCH_RESULTS);
     }
     $Qproducts->execute();
     while ($Qproducts->next()) {
         $price = $osC_Currencies->format($Qproducts->value('products_price'));
         $products_status = $Qproducts->valueInt('products_status') === 1;
         $products_quantity = $Qproducts->valueInt('products_quantity');
         if ($Qproducts->valueInt('has_children') === 1) {
             $Qvariants = $osC_Database->query('select min(products_price) as min_price, max(products_price) as max_price, sum(products_quantity) as total_quantity, min(products_status) as products_status from :table_products where parent_id = :parent_id');
             $Qvariants->bindTable(':table_products', TABLE_PRODUCTS);
             $Qvariants->bindInt(':parent_id', $Qproducts->valueInt('products_id'));
             $Qvariants->execute();
             $products_status = $Qvariants->valueInt('products_status') === 1;
             $products_quantity = '(' . $Qvariants->valueInt('total_quantity') . ')';
             $price = $osC_Currencies->format($Qvariants->value('min_price'));
             if ($Qvariants->value('min_price') != $Qvariants->value('max_price')) {
                 $price .= ' - ' . $osC_Currencies->format($Qvariants->value('max_price'));
             }
         }
         $extra_data = array('products_price_formatted' => $price, 'products_status' => $products_status, 'products_quantity' => $products_quantity);
         $result['entries'][] = array_merge($Qproducts->toArray(), $extra_data);
     }
     $result['total'] = $Qproducts->getBatchSize();
     $Qproducts->freeResult();
     return $result;
 }
コード例 #3
0
ファイル: products.php プロジェクト: Doluci/tomatocart
 function listProducts()
 {
     global $toC_Json, $osC_Database, $osC_Language, $osC_Currencies;
     require_once '../includes/classes/currencies.php';
     $osC_Currencies = new osC_Currencies();
     $start = empty($_REQUEST['start']) ? 0 : $_REQUEST['start'];
     $limit = empty($_REQUEST['limit']) ? MAX_DISPLAY_SEARCH_RESULTS : $_REQUEST['limit'];
     $current_category_id = end(explode('_', empty($_REQUEST['categories_id']) ? 0 : $_REQUEST['categories_id']));
     if ($current_category_id > 0) {
         $osC_CategoryTree = new osC_CategoryTree_Admin();
         $osC_CategoryTree->setBreadcrumbUsage(false);
         $in_categories = array($current_category_id);
         foreach ($osC_CategoryTree->getTree($current_category_id) as $category) {
             $in_categories[] = $category['id'];
         }
         $Qproducts = $osC_Database->query('select distinct p.products_id, p.products_type, pd.products_name, p.products_quantity, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status from :table_products p, :table_products_description pd, :table_products_to_categories p2c where p.products_id = pd.products_id and pd.language_id = :language_id and p.products_id = p2c.products_id and p2c.categories_id in (:categories_id)');
         $Qproducts->bindTable(':table_products_to_categories', TABLE_PRODUCTS_TO_CATEGORIES);
         $Qproducts->bindRaw(':categories_id', implode(',', $in_categories));
     } else {
         $Qproducts = $osC_Database->query('select p.products_id, p.products_type, pd.products_name, p.products_quantity, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status from :table_products p, :table_products_description pd where p.products_id = pd.products_id and pd.language_id = :language_id');
     }
     if (!empty($_REQUEST['search'])) {
         $Qproducts->appendQuery('and pd.products_name like :products_name');
         $Qproducts->bindValue(':products_name', '%' . $_REQUEST['search'] . '%');
     }
     if (!empty($_REQUEST['sort']) && !empty($_REQUEST['dir'])) {
         $Qproducts->appendQuery('order by :sort :dir');
         $Qproducts->bindRaw(':sort', $_REQUEST['sort']);
         $Qproducts->bindRaw(':dir', $_REQUEST['dir']);
     } else {
         $Qproducts->appendQuery(' order by pd.products_id desc');
     }
     $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();
     $records = array();
     while ($Qproducts->next()) {
         $products_price = $osC_Currencies->format($Qproducts->value('products_price'));
         if ($Qproducts->valueInt('products_type') == PRODUCT_TYPE_GIFT_CERTIFICATE) {
             $Qcertificate = $osC_Database->query('select open_amount_min_value, open_amount_max_value from :table_products_gift_certificates where gift_certificates_amount_type = :gift_certificates_amount_type and products_id = :products_id');
             $Qcertificate->bindTable(':table_products_gift_certificates', TABLE_PRODUCTS_GIFT_CERTIFICATES);
             $Qcertificate->bindInt(':gift_certificates_amount_type', GIFT_CERTIFICATE_TYPE_OPEN_AMOUNT);
             $Qcertificate->bindInt(':products_id', $Qproducts->value('products_id'));
             $Qcertificate->execute();
             if ($Qcertificate->numberOfRows() > 0) {
                 $products_price = $osC_Currencies->format($Qcertificate->value('open_amount_min_value')) . ' ~ ' . $osC_Currencies->format($Qcertificate->value('open_amount_max_value'));
             }
         }
         $Qstatus = $osC_Database->query('select products_id from :table_products_frontpage where products_id = :products_id');
         $Qstatus->bindInt(':products_id', $Qproducts->value('products_id'));
         $Qstatus->bindTable(':table_products_frontpage', TABLE_PRODUCTS_FRONTPAGE);
         $Qstatus->execute();
         if ($Qstatus->numberOfRows() > 0) {
             $products_frontpage = 1;
         } else {
             $products_frontpage = 0;
         }
         $records[] = array('products_id' => $Qproducts->value('products_id'), 'products_name' => $Qproducts->value('products_name'), 'products_frontpage' => $products_frontpage, 'products_status' => $Qproducts->value('products_status'), 'products_price' => $products_price, 'products_quantity' => $Qproducts->value('products_quantity'));
     }
     $response = array(EXT_JSON_READER_TOTAL => $Qproducts->getBatchSize(), EXT_JSON_READER_ROOT => $records);
     echo $toC_Json->encode($response);
 }
コード例 #4
0
 function loadProducts()
 {
     global $toC_Json, $osC_Database, $osC_Language;
     $osC_CategoryTree = new osC_CategoryTree_Admin();
     //Get the current category - Fix the bug#78
     $cPath = isset($_POST['categories_id']) && !empty($_POST['categories_id']) ? $_POST['categories_id'] : 0;
     $cPath_array = array_unique(array_filter(explode('_', $cPath), 'is_numeric'));
     $current_category_id = end($cPath_array);
     if ($current_category_id > 0) {
         $osC_CategoryTree->setBreadcrumbUsage(false);
         $in_categories = array($current_category_id);
         foreach ($osC_CategoryTree->getTree($current_category_id) as $category) {
             $in_categories[] = $category['id'];
         }
         $Qproducts = $osC_Database->query('select p.products_id, pd.products_name, p.products_price from :table_products p, :table_products_description pd, :table_products_to_categories p2c where p.products_id = pd.products_id and pd.language_id = :language_id and p.products_id = p2c.products_id and p2c.categories_id in (:categories_id)');
         $Qproducts->bindTable(':table_products_to_categories', TABLE_PRODUCTS_TO_CATEGORIES);
         $Qproducts->bindRaw(':categories_id', implode(',', $in_categories));
     } else {
         $Qproducts = $osC_Database->query('select p.products_id, pd.products_name, p.products_price from :table_products p, :table_products_description pd where p.products_id = pd.products_id and pd.language_id = :language_id');
     }
     if (!empty($_REQUEST['cManufacturer'])) {
         $Qproducts->appendQuery('and p.manufacturers_id = :manufacturers_id');
         $Qproducts->bindValue(':manufacturers_id', $_REQUEST['cManufacturer']);
     }
     if (!empty($_REQUEST['products_sku'])) {
         $Qproducts->appendQuery('and p.products_sku like :products_sku');
         $Qproducts->bindValue(':products_sku', '%' . $_REQUEST['products_sku'] . '%');
     }
     if (!empty($_REQUEST['products_name'])) {
         $Qproducts->appendQuery('and pd.products_name like :products_name');
         $Qproducts->bindValue(':products_name', '%' . $_REQUEST['products_name'] . '%');
     }
     $Qproducts->appendQuery(' and p.products_type <> :products_type');
     $Qproducts->appendQuery('order by pd.products_name');
     $Qproducts->bindTable(':table_specials', TABLE_SPECIALS);
     $Qproducts->bindTable(':table_products', TABLE_PRODUCTS);
     $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
     $Qproducts->bindInt(':language_id', $osC_Language->getID());
     $Qproducts->bindInt(':products_type', PRODUCT_TYPE_GIFT_CERTIFICATE);
     $Qproducts->execute();
     $products = array();
     while ($Qproducts->next()) {
         $products[] = array('products_id' => $Qproducts->value('products_id'), 'products_name' => $Qproducts->value('products_name'), 'products_price' => $Qproducts->value('products_price'), 'special_price' => 0);
     }
     $response = array(EXT_JSON_READER_TOTAL => $Qproducts->getBatchSize(), EXT_JSON_READER_ROOT => $products);
     echo $toC_Json->encode($response);
 }
コード例 #5
0
ファイル: specials.php プロジェクト: ellipsonic/tomato_app
 function loadVariantsProducts()
 {
     global $toC_Json;
     //get the filters
     $manufacturer = !empty($_POST['cManufacturer']) ? $_POST['cManufacturer'] : null;
     $products_sku = !empty($_POST['products_sku']) ? $_POST['products_sku'] : null;
     $products_name = !empty($_POST['products_name']) ? $_POST['products_name'] : null;
     //Get the current category - Fix the bug#78
     $osC_CategoryTree = new osC_CategoryTree_Admin();
     $cPath = isset($_POST['categories_id']) && !empty($_POST['categories_id']) ? $_POST['categories_id'] : 0;
     $cPath_array = array_unique(array_filter(explode('_', $cPath), 'is_numeric'));
     $current_category_id = end($cPath_array);
     //get the categories
     $in_categories = array();
     if ($current_category_id > 0) {
         $osC_CategoryTree->setBreadcrumbUsage(false);
         $in_categories = array($current_category_id);
         foreach ($osC_CategoryTree->getTree($current_category_id) as $category) {
             $in_categories[] = $category['id'];
         }
     }
     //load the variants products
     $result = osC_Specials_Admin::loadVariantsProducts($in_categories, $manufacturer, $products_sku, $products_name);
     $response = array(EXT_JSON_READER_TOTAL => count($result), EXT_JSON_READER_ROOT => $result);
     echo $toC_Json->encode($response);
 }