From dc89e1d489a67bff844391962498486990df93ec Mon Sep 17 00:00:00 2001 From: x2000habouzit Date: Sat, 6 Nov 2004 18:29:58 +0000 Subject: [PATCH] wouahhhouuuuuuuh UNION works on mysql 4.0 !!! sooo goood --- include/notifs.inc.php | 67 +++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 36 deletions(-) diff --git a/include/notifs.inc.php b/include/notifs.inc.php index 8b2615b..8eb2080 100644 --- a/include/notifs.inc.php +++ b/include/notifs.inc.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: notifs.inc.php,v 1.9 2004-11-06 18:18:44 x2000habouzit Exp $ + $Id: notifs.inc.php,v 1.10 2004-11-06 18:29:58 x2000habouzit Exp $ ***************************************************************************/ define("WATCH_FICHE", 1); @@ -47,41 +47,36 @@ class Notifs { while($tmp = mysql_fetch_assoc($res)) $this->_cats[$tmp['id']] = $tmp; mysql_free_result($res); - $res = $globals->db->query("SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* - FROM auth_user_quick AS q - INNER JOIN contacts AS c ON(q.user_id = c.uid) - INNER JOIN watch_ops AS wo ON(wo.uid=c.contact) - INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid AND ws.uid=c.uid) - INNER JOIN auth_user_md5 AS u ON(u.user_id = wo.uid) - LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') - WHERE q.user_id = '$uid' AND q.watch_contacts=1 - ORDER BY wo.cid,promo,nom"); - while($tmp = mysql_fetch_assoc($res)) { - $this->_data[$tmp['cid']][$tmp['promo']][$tmp['uid']] = $tmp; - } - - $res = $globals->db->query("SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* - FROM watch_promo AS w - INNER JOIN auth_user_md5 AS u USING(promo) - INNER JOIN watch_ops AS wo ON(wo.uid=u.user_id) - INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid) - INNER JOIN watch_cat AS wc ON(wc.id=wo.cid AND wc.frequent=0) - LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') - WHERE w.uid = '$uid' - ORDER BY wo.cid,promo,nom"); - while($tmp = mysql_fetch_assoc($res)) { - $this->_data[$tmp['cid']][$tmp['promo']][$tmp['uid']] = $tmp; - } - - $res = $globals->db->query("SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* - FROM watch_nonins AS w - INNER JOIN auth_user_md5 AS u ON(w.ni_id=u.user_id) - INNER JOIN watch_ops AS wo ON(wo.uid=u.user_id) - INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid) - INNER JOIN watch_cat AS wc ON(wc.id=wo.cid) - LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') - WHERE w.uid = '$uid' - ORDER BY wo.cid,promo,nom"); + $res = $globals->db->query(" + ( + SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* + FROM auth_user_quick AS q + INNER JOIN contacts AS c ON(q.user_id = c.uid) + INNER JOIN watch_ops AS wo ON(wo.uid=c.contact) + INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid AND ws.uid=c.uid) + INNER JOIN auth_user_md5 AS u ON(u.user_id = wo.uid) + LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') + WHERE q.user_id = '$uid' AND q.watch_contacts=1 + ) UNION DISTINCT ( + SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* + FROM watch_promo AS w + INNER JOIN auth_user_md5 AS u USING(promo) + INNER JOIN watch_ops AS wo ON(wo.uid=u.user_id) + INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid) + INNER JOIN watch_cat AS wc ON(wc.id=wo.cid AND wc.frequent=0) + LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') + WHERE w.uid = '$uid' + ) UNION DISTINCT ( + SELECT u.promo, u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, wo.* + FROM watch_nonins AS w + INNER JOIN auth_user_md5 AS u ON(w.ni_id=u.user_id) + INNER JOIN watch_ops AS wo ON(wo.uid=u.user_id) + INNER JOIN watch_sub AS ws ON(wo.cid=ws.cid) + INNER JOIN watch_cat AS wc ON(wc.id=wo.cid) + LEFT JOIN aliases AS a ON(u.user_id = a.id AND a.type='a_vie') + WHERE w.uid = '$uid' + ) + ORDER BY wo.cid,promo,nom"); while($tmp = mysql_fetch_assoc($res)) { $this->_data[$tmp['cid']][$tmp['promo']][$tmp['uid']] = $tmp; } -- 2.1.4