From 3092eea7b21ac2a3ce18277a1a26af4027e96941 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Sun, 10 Jun 2012 23:49:14 +0200 Subject: [PATCH] Properly computes event participants for the whole event. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- modules/xnetevents/xnetevents.inc.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/xnetevents/xnetevents.inc.php b/modules/xnetevents/xnetevents.inc.php index fd92d22..608bf42 100644 --- a/modules/xnetevents/xnetevents.inc.php +++ b/modules/xnetevents/xnetevents.inc.php @@ -27,6 +27,13 @@ function get_event_detail($eid, $item_id = false, $asso_id = null) if (is_null($asso_id)) { $asso_id = $globals->asso('id'); } + if (!$item_id) { + $where = ''; + $group_by = 'e.eid'; + } else { + $where = XDB::format(' AND ei.item_id = {?}', $item_id); + $group_by = 'ei.item_id'; + } $evt = XDB::fetchOneAssoc('SELECT SUM(nb) AS nb_tot, COUNT(DISTINCT ep.uid) AS nb, e.*, SUM(IF(nb > 0, 1, 0)) AS user_count, IF(e.deadline_inscription, e.deadline_inscription >= LEFT(NOW(), 10), @@ -37,9 +44,9 @@ function get_event_detail($eid, $item_id = false, $asso_id = null) FROM group_events AS e INNER JOIN group_event_items AS ei ON (e.eid = ei.eid) LEFT JOIN group_event_participants AS ep ON(e.eid = ep.eid AND ei.item_id = ep.item_id) - WHERE (e.eid = {?} OR e.short_name = {?}) AND ei.item_id = {?} AND e.asso_id = {?} - GROUP BY ei.item_id', - $eid, $eid, $item_id ? $item_id : 1, $asso_id); + WHERE (e.eid = {?} OR e.short_name = {?}) AND e.asso_id = {?}' . $where . ' + GROUP BY ' . $group_by, + $eid, $eid, $asso_id); if (!$evt) { return null; -- 2.1.4