From 33098783c8aa38fed368c822d852828cdeff281f Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis@dolibarr.fr> Date: Mon, 3 Apr 2006 08:06:35 +0000 Subject: [PATCH] =?UTF-8?q?Modification:=20les=20produits=20ne=20faisant?= =?UTF-8?q?=20pas=20partie=20d'une=20cat=E9gorie=20seront=20visible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/includes/boxes/box_produits.php | 7 +++---- htdocs/product.class.php | 7 +++---- htdocs/service.class.php | 7 +++---- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/htdocs/includes/boxes/box_produits.php b/htdocs/includes/boxes/box_produits.php index 1a9957b070b..d73e7537de8 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 21dfaf7deb7..3754b94e2d0 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 fb28eabcf36..29b0d8bf7d5 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) -- GitLab