- XDB::execute("INSERT INTO virtual SET type = 'evt', alias = {?}",
- $new.'-participants@'.$globals->xnet->evts_domain);
-
- $lastid = XDB::insertId();
- XDB::execute(
- "INSERT IGNORE INTO virtual_redirect (
- SELECT {?} AS vid, IF(u.nom IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
- FROM groupex.evenements_participants AS ep
- LEFT JOIN groupex.membres AS m ON (ep.uid = m.uid)
- LEFT JOIN auth_user_md5 AS u ON (u.user_id = ep.uid)
- LEFT JOIN aliases AS a ON (a.id = ep.uid AND a.type = 'a_vie')
- WHERE ep.eid = {?} AND ep.nb > 0
- GROUP BY ep.uid)",
- $lastid, '@'.$globals->mail->domain, $eid);
-
- XDB::execute("INSERT INTO virtual SET type = 'evt', alias = {?}",
- $new.'-absents@'.$globals->xnet->evts_domain);
-
- $lastid = XDB::insertId();
- XDB::execute("INSERT INTO virtual_redirect (
- SELECT {?} AS vid, IF(a.alias IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
- FROM groupex.membres AS m
- LEFT JOIN groupex.evenements_participants AS ep ON (ep.uid = m.uid AND ep.eid = {?})
- LEFT JOIN auth_user_md5 AS u ON (u.user_id = m.uid)
- LEFT JOIN aliases AS a ON (a.id = m.uid AND a.type = 'a_vie')
- WHERE m.asso_id = {?} AND ep.uid IS NULL
- GROUP BY m.uid)",
- $lastid, "@".$globals->mail->domain, $eid, $globals->asso('id'));
+ foreach (array('-participants@', '-paye@', '-participants-non-paye@') as $v) {
+ XDB::execute("INSERT IGNORE INTO virtual_redirect (
+ SELECT {?} AS vid, IF(al.alias IS NULL, a.email, CONCAT(al.alias, {?})) AS redirect
+ FROM group_event_participants AS ep
+ LEFT JOIN #x4dat#.accounts AS a ON (ep.uid = a.uid)
+ LEFT JOIN #x4dat#.aliases AS al ON (al.id = a.uid AND al.type = 'a_vie')
+ WHERE ep.eid = {?} AND " . $where[$v] . "
+ GROUP BY ep.uid)",
+ $lastid[$v], '@' . $globals->mail->domain, $eid);
+ }
+ XDB::execute("INSERT IGNORE INTO virtual_redirect (
+ SELECT {?} AS vid, IF(al.alias IS NULL, a.email, CONCAT(al.alias, {?})) AS redirect
+ FROM group_members AS m
+ LEFT JOIN #x4dat#.accounts AS a ON (a.uid = m.uid)
+ LEFT JOIN #x4dat#.aliases AS al ON (al.id = a.uid AND al.type = 'a_vie')
+ LEFT JOIN group_event_participants AS ep ON (ep.uid = m.uid AND ep.eid = {?})
+ WHERE m.asso_id = {?} AND ep.uid IS NULL
+ GROUP BY m.uid)",
+ $lastid['-absents@'], '@' . $globals->mail->domain, $eid, $globals->asso('id'));