* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PsxMarketingWithGoogle\Repository; use Db; use DbQuery; class ProductRepository { public function getProductsTotal($shopId, array $options = []) { $sql = new DbQuery(); $sql->select('COUNT(1) as total'); $sql->from('product', 'p'); $sql->innerJoin('product_shop', 'ps', 'ps.id_product = p.id_product'); if (isset($options['splitPerLangAndCombination'])) { $sql->innerJoin('product_lang', 'pl', 'pl.id_product = ps.id_product AND pl.id_shop = ps.id_shop'); $sql->leftJoin('product_attribute_shop', 'pas', 'pas.id_product = ps.id_product AND pas.id_shop = ps.id_shop'); } $sql->where('ps.id_shop = ' . (int) $shopId); if (isset($options['onlyActive'])) { $sql->where('ps.active = 1'); } $res = Db::getInstance()->executeS($sql); return $res[0]['total']; } }