LEFT JOIN groupex.evenements_participants AS ep
ON (e.eid = ep.eid AND ei.item_id = ep.item_id)
WHERE e.eid = {?}
- GROUP BY ep.uid", $eid);
+ GROUP BY ep.uid", $evt['eid']);
$evt['nb_tot'] = array_sum($res->fetchColumn());
$evt['titre'] = '';
$evt['item_id'] = 0;
}
$res = XDB::query(
- "SELECT titre, details, montant, ei.item_id, nb
+ "SELECT titre, details, montant, ei.item_id, nb, ep.paid
FROM groupex.evenements_items AS ei
LEFT JOIN groupex.evenements_participants AS ep
ON (ep.eid = ei.eid AND ep.item_id = ei.item_id AND uid = {?})
$evt['moments'] = $res->fetchAllAssoc();
$evt['topay'] = 0;
+ $evt['paid'] = 0;
foreach ($evt['moments'] as $m) {
$evt['topay'] += $m['nb'] * $m['montant'];
- if ($m['montant'])
+ if ($m['montant']) {
$evt['money'] = true;
+ }
+ $evt['paid'] = $m['paid'];
}
$req = XDB::query(
WHERE ref = {?} AND uid = {?}", $evt['paiement_id'], S::v('uid'));
$montants = $req->fetchColumn();
- $evt['paid'] = 0;
foreach ($montants as $m) {
$p = strtr(substr($m, 0, strpos($m, 'EUR')), ',', '.');
$evt['paid'] += trim($p);
$pay_id = $evt['paiement_id'];
$query =
- "SELECT IF(u.nom IS NULL,m.nom,IF(u.nom_usage<>'', u.nom_usage, u.nom)) AS nom,
- IF(u.nom IS NULL,m.prenom,u.prenom) AS prenom,
- IF(u.nom IS NULL,'extérieur',u.promo) AS promo,
- IF(u.nom IS NULL,m.email,a.alias) AS email,
- IF(u.nom IS NULL,0,FIND_IN_SET('femme', u.flags)) AS femme,
+ "SELECT IF(m.origine != 'X',m.nom,IF(u.nom_usage<>'', u.nom_usage, u.nom)) AS nom,
+ IF(m.origine != 'X',m.prenom,u.prenom) AS prenom,
+ IF(m.origine != 'X','extérieur',u.promo) AS promo,
+ IF(m.origine != 'X' OR u.perms = 'pending',m.email,a.alias) AS email,
+ IF(m.origine != 'X',m.sexe,FIND_IN_SET('femme', u.flags)) AS femme,
m.perms='admin' AS admin,
- NOT(u.nom IS NULL) AS x,
- ep.uid, ep.paid, SUM(nb) AS nb
- FROM groupex.evenements_participants AS ep
- INNER JOIN groupex.evenements AS e ON (ep.eid = e.eid)
- LEFT JOIN groupex.membres AS m ON ( ep.uid = m.uid AND e.asso_id = m.asso_id)
- 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 = {?}
+ (m.origine = 'X') AS x,
+ ep.uid, ep.paid, SUM(nb) AS nb
+ FROM groupex.evenements_participants AS ep
+ INNER JOIN groupex.evenements AS e ON (ep.eid = e.eid)
+ LEFT JOIN groupex.membres AS m ON ( ep.uid = m.uid AND e.asso_id = m.asso_id)
+ 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 = {?}
".(($item_id)?" AND item_id = $item_id":"")."
$where
- GROUP BY ep.uid
- ORDER BY $tri $limit";
+ GROUP BY ep.uid
+ ORDER BY $tri $limit";
if ($item_id) {
$res = XDB::query($query, $eid);
// }}}
// {{{ function subscribe_lists_event()
-function subscribe_lists_event($participate, $uid, $evt) {
+function subscribe_lists_event($participate, $uid, $evt)
+{
+ require_once('user.func.inc.php');
global $globals,$page;
$participant_list = $evt['participant_list'];
$absent_list = $evt['absent_list'];
- $email = S::v('forlife');
+ $email = get_user_forlife($uid);
if ($email) {
$email .= '@'.$globals->mail->domain;
} else {
- $res = XDB::query("SELECT email FROM groupex.membres WHERE uid = {?} AND asso_id = {?}", S::v('uid'), $globals->asso('id'));
+ $res = XDB::query("SELECT email
+ FROM groupex.membres
+ WHERE uid = {?} AND asso_id = {?}",
+ S::v('uid'), $globals->asso('id'));
$email = $res->fetchOneCell();
}
- $subscribe = $participate ? $participant_list : (is_member()?$absent_list:0);
- $unsubscri = $participate ? $absent_list : $participant_list;
-
- if ($subscribe) {
- XDB::execute(
- "REPLACE INTO virtual_redirect VALUES({?},{?})",
- $subscribe, $email);
+ function subscribe($list, $email)
+ {
+ if ($list && $email) {
+ XDB::execute("REPLACE INTO virtual_redirect
+ VALUES ({?},{?})",
+ $list, $email);
+ }
}
- if ($unsubscri) {
- XDB::execute(
- "DELETE FROM virtual_redirect WHERE vid = {?} AND redirect = {?}",
- $unsubscri, $email);
+ function unsubscribe($list, $email)
+ {
+ if ($list && $email) {
+ XDB::execute("DELETE FROM virtual_redirect
+ WHERE vid = {?} AND redirect = {?}",
+ $list, $email);
+ }
}
+ if (is_null($participate)) {
+ unsubscribe($participant_list, $email);
+ subscribe($absent_list, $email);
+ } elseif ($participate) {
+ subscribe($participant_list, $email);
+ unsubscribe($absent_list, $email);
+ } else {
+ unsubscribe($participant_list, $email);
+ unsubscribe($absent_list, $email);
+ }
}
// }}}
//vérifier que l'alias n'est pas déja pris
if ($new && $old != $new) {
- $res = XDB::query('SELECT COUNT(*) FROM virtual
- WHERE alias LIKE {?}',
- $new.'-absents@%');
+ $res = XDB::query('SELECT COUNT(*)
+ FROM groupex.evenements
+ WHERE short_name = {?}',
+ $new);
if ($res->fetchOneCell() > 0) {
$page->trig("Le raccourci demandé est déjà utilisé. Choisis en un autre.");
return $old;
foreach (array('-absents@', '-participants@') as $v) {
$v .= $globals->xnet->evts_domain;
XDB::execute("UPDATE virtual SET alias = {?}
- WHERE type = 'evt' AND alias = {?}",
- $new.$v, $old.$v);
+ WHERE type = 'evt' AND alias = {?}",
+ $new.$v, $old.$v);
}
-
return $new;
}
XDB::execute("INSERT INTO virtual SET type = 'evt', alias = {?}",
$new.'-participants@'.$globals->xnet->evts_domain);
- $lastid = mysql_insert_id();
+ $lastid = XDB::insertId();
XDB::execute(
"INSERT INTO virtual_redirect (
SELECT {?} AS vid, IF(u.nom IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
XDB::execute("INSERT INTO virtual SET type = 'evt', alias = {?}",
$new.'-absents@'.$globals->xnet->evts_domain);
- $lastid = mysql_insert_id();
+ $lastid = XDB::insertId();
XDB::execute("INSERT INTO virtual_redirect (
SELECT {?} AS vid, IF(u.nom IS NULL, m.email, CONCAT(a.alias, {?})) AS redirect
FROM groupex.membres AS m