diff --git a/htdocs/includes/boxes/box_produits.php b/htdocs/includes/boxes/box_produits.php index 1a9957b070b7890cea9de2c1555478c72aef014f..d73e7537de85c19f5b0337d2583250bfefb844a5 100644 --- a/htdocs/includes/boxes/box_produits.php +++ b/htdocs/includes/boxes/box_produits.php @@ -69,10 +69,9 @@ class box_produits extends ModeleBoxes { $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { - $sql .= ", ".MAIN_DB_PREFIX."categorie_product as cp"; - $sql .= ", ".MAIN_DB_PREFIX."categorie as c"; - $sql .= " WHERE cp.fk_product = p.rowid"; - $sql .= " AND cp.fk_categorie = c.rowid AND c.visible = 1"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid"; + $sql.= " WHERE IFNULL(c.visible,1)=1"; } $sql .= " ORDER BY p.datec DESC"; $sql .= $db->plimit($max, 0); diff --git a/htdocs/product.class.php b/htdocs/product.class.php index 21dfaf7deb7db914f072cfd697b38150694f7dfa..3754b94e2d06392c7a45fe187abf8bdf2282c5f3 100644 --- a/htdocs/product.class.php +++ b/htdocs/product.class.php @@ -1955,14 +1955,13 @@ function get_each_prod() $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { - $sql .= ", ".MAIN_DB_PREFIX."categorie_product as cp"; - $sql .= ", ".MAIN_DB_PREFIX."categorie as ca"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid"; } $sql.= " WHERE p.fk_product_type = 0"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { - $sql .= " AND cp.fk_product = p.rowid"; - $sql .= " AND cp.fk_categorie = ca.rowid AND ca.visible = 1"; + $sql.= " AND IFNULL(c.visible,1)=1"; } $resql=$this->db->query($sql); if ($resql) diff --git a/htdocs/service.class.php b/htdocs/service.class.php index fb28eabcf368fd83aed51b5adcfbaac2fd0943a2..29b0d8bf7d5da37ddefdf6c922301699cc43f392 100644 --- a/htdocs/service.class.php +++ b/htdocs/service.class.php @@ -208,14 +208,13 @@ class Service $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { - $sql .= ", ".MAIN_DB_PREFIX."categorie_product as cp"; - $sql .= ", ".MAIN_DB_PREFIX."categorie as ca"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid"; } $sql.= " WHERE p.fk_product_type = 1"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { - $sql .= " AND cp.fk_product = p.rowid"; - $sql .= " AND cp.fk_categorie = ca.rowid AND ca.visible = 1"; + $sql.= " AND IFNULL(c.visible,1)=1"; } $resql=$this->db->query($sql); if ($resql)