INNER JOIN `' . _DB_PREFIX_ . 'attribute` a ON a.`id_attribute` = pac.`id_attribute` INNER JOIN `' . _DB_PREFIX_ . 'attribute_lang` al ON al.`id_attribute` = pac.`id_attribute` AND al.`id_lang` = ' . (int) $id_lang . ' LEFT JOIN ' . ($is_one_five ? '`' . _DB_PREFIX_ . 'stock_available`' : '`' . _DB_PREFIX_ . 'product_attribute`') . ' sa ON sa.`id_product_attribute` = pa.`id_product_attribute` LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product` ep ON ep.`id_product` = pa.`id_product` AND ep.`id_attribute` = pac.`id_product_attribute` AND ep.`id_ebay_profile` = ' . $id_ebay_profile . ' WHERE pa.`id_product` = ' . $id_product . $ebay->addSqlRestrictionOnLang('sa') . ' ORDER BY a.`position` ASC'; $res = Db::getInstance()->ExecuteS($sql); $final_res = array(); foreach ($res as $row) { if (isset($final_res[$row['id_product_attribute']])) { $final_res[$row['id_product_attribute']]['name'] .= ' ' . Tools::safeOutput($row['name']); } else { $row['name'] = Tools::safeOutput($row['name']); $row['stock'] = Tools::safeOutput($row['stock']); $row['id_product_ref'] = Tools::safeOutput($row['id_product_ref']); if ($row['id_product_ref']) { $row['link'] = EbayProduct::getEbayUrl($row['id_product_ref'], $ebay_request->getDev()); } $final_res[$row['id_product_attribute']] = $row;
ON ec.`id_ebay_category` = ecc.`id_ebay_category` LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product_configuration` epc ON epc.`id_product` = p.`id_product` AND epc.`id_ebay_profile` = ' . $ebay_profile->id . ' LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product` ep ON ep.`id_product` = p.`id_product` AND ep.`id_ebay_profile` = ' . $ebay_profile->id . ' AND ep.`id_ebay_product` = ( SELECT MIN(ep2.`id_ebay_product`) FROM `' . _DB_PREFIX_ . 'ebay_product` ep2 WHERE ep2.`id_product` = ep.`id_product` AND ep2.`id_ebay_profile` = ep.`id_ebay_profile` )' . ' WHERE 1' . $ebay->addSqlRestrictionOnLang('pl') . $ebay->addSqlRestrictionOnLang('cl') . $ebay->addSqlRestrictionOnLang('s'); if ($search) { $query .= ' AND pl.`name` LIKE \'%' . $search . '%\''; } //$query .= ' GROUP BY s.`id_product`'; $queryCount = preg_replace('/SELECT ([a-zA-Z.,` ]+) FROM /', 'SELECT COUNT(*) FROM ', $query); $nbProducts = Db::getInstance()->getValue($queryCount); $res = Db::getInstance()->executeS($query . ' ORDER BY p.`id_product` ASC LIMIT ' . $offset . ', ' . $limit); // categories $category_list = $ebay->getChildCategories(Category::getCategories($ebay_profile->id_lang, false), version_compare(_PS_VERSION_, '1.5', '>') ? 1 : 0); // eBay categories $ebay_categories = EbayCategoryConfiguration::getEbayCategories($ebay_profile->id); $content = Context::getContext(); $employee = new Employee((int) Tools::getValue('id_employee')); $context->employee = $employee; foreach ($res as &$row) {
if (version_compare(_PS_VERSION_, '1.5', '>')) { $rq_products = ' SELECT COUNT(DISTINCT(p.`id_product`)) AS nbProducts, COUNT(DISTINCT(epc.`id_product`)) AS nbNotSyncProducts, p.`id_category_default` FROM `' . _DB_PREFIX_ . 'product` AS p INNER JOIN `' . _DB_PREFIX_ . 'product_shop` AS ps ON p.`id_product` = ps.`id_product` LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product_configuration` AS epc ON p.`id_product` = epc.`id_product` AND epc.`id_ebay_profile` = ' . (int) $ebay_profile->id . ' AND epc.blacklisted = 1 WHERE 1 ' . $ebay->addSqlRestrictionOnLang('ps') . ' AND ps.`id_shop` = 1 GROUP BY p.`id_category_default`'; } else { $rq_products = 'SELECT COUNT(DISTINCT(p.`id_product`)) AS nbProducts, COUNT(DISTINCT(epc.`id_product`)) AS nbNotSyncProducts, `id_category_default` FROM `' . _DB_PREFIX_ . 'product` p LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product_configuration` epc ON p.`id_product` = epc.`id_product` AND epc.`id_ebay_profile` = ' . (int) $ebay_profile->id . ' AND epc.blacklisted = 1 GROUP BY `id_category_default`'; } $get_products = Db::getInstance()->ExecuteS($rq_products); $get_cat_nb_products = array();
FROM `' . _DB_PREFIX_ . 'product` p'; $sql .= Shop::addSqlAssociation('product', 'p'); $sql .= ' LEFT JOIN `' . _DB_PREFIX_ . 'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = ' . (int) $id_lang; $sql .= Shop::addSqlRestrictionOnLang('pl'); $sql .= ') LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product_configuration` epc ON p.`id_product` = epc.`id_product` AND epc.id_ebay_profile = ' . $id_ebay_profile . ' LEFT JOIN `' . _DB_PREFIX_ . 'stock_available` sa ON p.`id_product` = sa.`id_product` AND sa.`id_product_attribute` = 0 WHERE '; $sql .= ' product_shop.`id_shop` = 1 AND '; $sql .= ' p.`id_category_default` = ' . (int) Tools::getValue('category'); $sql .= $ebay->addSqlRestrictionOnLang('sa'); } else { $sql = 'SELECT p.`id_product` as id, pl.`name`, epc.`blacklisted`, epc.`extra_images`, p.`quantity` as stock FROM `' . _DB_PREFIX_ . 'product` p'; $sql .= ' LEFT JOIN `' . _DB_PREFIX_ . 'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = ' . (int) $id_lang; $sql .= ') LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product_configuration` epc ON p.`id_product` = epc.`id_product` AND epc.id_ebay_profile = ' . $id_ebay_profile . ' WHERE '; $sql .= ' p.`id_category_default` = ' . (int) Tools::getValue('category'); } $res = Db::getInstance()->ExecuteS($sql); foreach ($res as &$row) {