if (!is_null($action)) {
if (!may_update()) {
- return PL_NOT_ALLOWED;
+ return PL_FORBIDDEN;
}
$res = XDB::query("SELECT asso_id, short_name FROM groupex.evenements
$tmp = $res->fetchOneRow();
if (!$tmp) {
- return PL_NOT_ALLOWED;
+ return PL_FORBIDDEN;
}
}
IF(e.deadline_inscription, e.deadline_inscription >= LEFT(NOW(), 10),
1) AS inscr_open, e.deadline_inscription,
u.nom, u.prenom, u.promo, a.alias,
- MAX(ep.nb) AS inscrit, MAX(ep.paid) AS paid
+ MAX(ep.nb) IS NOT NULL AS inscrit, MAX(ep.paid) AS paid
FROM groupex.evenements AS e
INNER JOIN x4dat.auth_user_md5 AS u ON u.user_id = e.organisateur_uid
INNER JOIN x4dat.aliases AS a ON (a.type = 'a_vie' AND a.id = u.user_id)
// update actual inscriptions
$updated = false;
+ $total = 0;
foreach ($subs as $j => $nb) {
- if ($nb > 0) {
+ if ($nb >= 0) {
XDB::execute(
"REPLACE INTO groupex.evenements_participants
VALUES ({?}, {?}, {?}, {?}, {?})",
$eid, S::v("uid"), $j);
$updated = $eid;
}
+ $total += $nb;
}
- if ($updated !== false) {
- pl_redirect('events?updated='.$updated);
+ if ($updated !== false) {
+ subscribe_lists_event($total, S::i('uid'), $evt);
}
$page->assign('event', get_event_detail($eid));
}
require_once dirname(__FILE__).'/xnetevents/xnetevents.inc.php';
$evt = get_event_detail($eid);
if (!$evt) {
- return PL_NOT_FOUND;
+ return PL_FORBIDDEN;
}
$evt['debut'] = preg_replace('/(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/', "\\1\\2\\3T\\4\\5\\6", $evt['debut']);
$evt['fin'] = preg_replace('/(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/', "\\1\\2\\3T\\4\\5\\6", $evt['fin']);
// check the event is in our group
if (!is_null($eid)) {
- $res = XDB::query("SELECT short_name, asso_id
+ $res = XDB::query("SELECT short_name
FROM groupex.evenements
- WHERE eid = {?}", $eid);
- $infos = $res->fetchOneAssoc();
- if ($infos['asso_id'] != $globals->asso('id')) {
- return PL_NOT_ALLOWED;
+ WHERE eid = {?} AND asso_id = {?}",
+ $eid, $globals->asso('id'));
+ if ($res->numRows()) {
+ $infos = $res->fetchOneAssoc();
+ } else {
+ return PL_FORBIDDEN;
}
}
// if new event, get its id
if (!$eid) {
- $eid = mysql_insert_id();
+ $eid = XDB::insertId();
}
$nb_moments = 0;
if ($nb) {
XDB::execute("REPLACE INTO groupex.evenements_participants
VALUES ({?}, {?}, {?}, {?}, {?})",
- $evt['eid'], $member['uid'], $id, $nb, $paid);
- } else {
- XDB::execute("DELETE FROM groupex.evenements_participants
- WHERE uid = {?} AND eid = {?} AND item_id = {?}",
- $member['uid'], $evt['eid'], $id);
+ $evt['eid'], $member['uid'], $id, $nb, $paid);
}
}
- $res = XDB::query("SELECT uid
+ $res = XDB::query("SELECT COUNT(uid) AS cnt, SUM(nb) AS nb
FROM groupex.evenements_participants
- WHERE uid = {?} AND eid = {?}",
+ WHERE uid = {?} AND eid = {?}
+ GROUP BY uid",
$member['uid'], $evt['eid']);
- $u = $res->fetchOneCell();
+ $u = $res->fetchOneAssoc();
+ $u = $u['cnt'] ? null : $u['nb'];
subscribe_lists_event($u, $member['uid'], $evt);
}