if (is_null($asso_id)) {
$asso_id = $globals->asso('id');
}
- $evt = XDB::fetchOneAssoc('SELECT SUM(nb) AS nb_tot, COUNT(DISTINCT ep.uid) AS nb, e.*,
+ $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),
1) AS inscr_open,
make_event_date($evt);
- $evt['show_participants'] = ($evt['show_participants'] && (is_member() || may_update()));
+ $evt['show_participants'] = ($evt['show_participants'] && $GLOBALS['IS_XNET_SITE'] && (is_member() || may_update()));
return $evt;
}
// }}}
// {{{ function get_event_participants()
-function get_event_participants(&$evt, $item_id, array $tri = array(), $limit = null)
+function get_event_participants(&$evt, $item_id, array $tri = array(), $limit = null, $offset = 0)
{
global $globals;
WHERE ep.eid = {?} AND nb > 0 ' . $append . '
GROUP BY ep.uid', $eid);
$uf = new UserFilter(new PFC_True(), $tri);
- $users = User::getBulkUsersWithUIDs($uf->filter(array_keys($query), new PlLimit($count, $offset)));
+ $users = User::getBulkUsersWithUIDs($uf->filter(array_keys($query), new PlLimit($limit, $offset)));
$tab = array();
foreach ($users as $user) {
$uid = $user->id();
// if we have a first new short_name create the lists
$lastid = array();
$where = array(
- $globals->xnet->participant_list => 'nb > 0',
- $globals->xnet->payed_list => 'paid > 0',
- $globals->xnet->unpayed_list => 'nb > 0 AND paid = 0'
+ $globals->xnet->participant_list => 'g.nb > 0',
+ $globals->xnet->payed_list => '(g.paid > 0 OR p.amount > 0)',
+ $globals->xnet->unpayed_list => 'g.nb > 0 AND g.paid = 0 AND p.amount IS NULL'
);
foreach (array($globals->xnet->participant_list, $globals->xnet->payed_list, $globals->xnet->unpayed_list) as $suffix) {
- $uids = XDB::fetchColumn('SELECT uid
- FROM group_event_participants
- WHERE eid = {?} AND ' . $where[$suffix],
+ $uids = XDB::fetchColumn('SELECT g.uid
+ FROM group_event_participants AS g
+ INNER JOIN group_events AS e ON (g.eid = e.eid)
+ LEFT JOIN payment_transactions AS p ON (e.paiement_id = p.ref AND g.uid = p.uid)
+ WHERE g.eid = {?} AND ' . $where[$suffix],
$eid);
foreach ($uids as $uid) {
add_to_list_alias($uid, $new . $suffix, $globals->xnet->evts_domain, 'event');
}
}
+
$uids = XDB::fetchColumn('SELECT m.uid
FROM group_members AS m
LEFT JOIN group_event_participants AS e ON (e.uid = m.uid AND e.eid = {?})