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;
}
}
WHERE eid = {?} AND asso_id = {?}",
$eid, $globals->asso('id'));
}
-
+
$page->assign('archive', $archive);
$page->assign('admin', may_update());
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)
$e['paid'] += trim($p);
}
+ if (Env::has('updated') && $e['eid'] == Env::i('updated')) {
+ $page->assign('updated', $e);
+ }
$evts[] = $e;
}
-
+
$page->assign('evenements', $evts);
$page->assign('is_member', is_member());
}
}
// 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, $nb, $evt['paid']);
- $page->assign('updated', true);
+ $updated = $eid;
} else {
XDB::execute(
"DELETE FROM groupex.evenements_participants
WHERE eid = {?} AND uid = {?} AND item_id = {?}",
$eid, S::v("uid"), $j);
- $page->assign('updated', true);
+ $updated = $eid;
}
+ $total += $nb;
+ }
+ 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']);
{
global $globals;
+ // get eid if the the given one is a short name
+ if (!is_null($eid) && !is_numeric($eid)) {
+ $res = XDB::query("SELECT eid
+ FROM groupex.evenements
+ WHERE asso_id = {?} AND short_name = {?}",
+ $globals->asso('id'), $eid);
+ if ($res->numRows()) {
+ $eid = (int)$res->fetchOneCell();
+ }
+ }
+
// check the event is in our group
if (!is_null($eid)) {
- $res = XDB::query("SELECT short_name, asso_id
- FROM groupex.evenements
- WHERE eid = {?}", $eid);
- $infos = $res->fetchOneAssoc();
- if ($infos['asso_id'] != $globals->asso('id')) {
- return PL_NOT_ALLOWED;
+ $res = XDB::query("SELECT short_name
+ FROM groupex.evenements
+ WHERE eid = {?} AND asso_id = {?}",
+ $eid, $globals->asso('id'));
+ if ($res->numRows()) {
+ $infos = $res->fetchOneAssoc();
+ } else {
+ return PL_FORBIDDEN;
}
}
VALUES ({?}, {?}, '', '', 0)", $eid, 1);
}
- if (is_null($evt['eid'])) {
- pl_redirect('events');
- }
+ pl_redirect('events');
}
// get a list of all the payment for this asso
$res = XDB::iterator("SELECT id, text
- FROM {$globals->money->mpay_tprefix}paiements
- WHERE asso_id = {?}", $globals->asso('id'));
+ FROM {$globals->money->mpay_tprefix}paiements
+ WHERE asso_id = {?}", $globals->asso('id'));
$paiements = array();
while ($a = $res->next()) $paiements[$a['id']] = $a['text']; {
$page->assign('paiements', $paiements);
// find out if there is already a request for a payment for this event
require_once 'validations.inc.php';
$res = XDB::query("SELECT stamp FROM requests
- WHERE type = 'paiements' AND data LIKE {?}",
- PayReq::same_event($eid, $globals->asso('id')));
+ WHERE type = 'paiements' AND data LIKE {?}",
+ PayReq::same_event($eid, $globals->asso('id')));
$stamp = $res->fetchOneCell();
if ($stamp) {
$evt['paiement_id'] = -2;
}
$page->assign('items', $items);
}
+ $page->assign('url_ref', $eid);
}
function handler_admin(&$page, $eid = null, $item_id = null)
// change the price paid by a participant
if (Env::v('adm') == 'prix' && $member) {
XDB::execute("UPDATE groupex.evenements_participants
- SET paid = IF(paid + {?} > 0, paid + {?}, 0)
- WHERE uid = {?} AND eid = {?}",
+ SET paid = IF(paid + {?} > 0, paid + {?}, 0)
+ WHERE uid = {?} AND eid = {?}",
strtr(Env::v('montant'), ',', '.'),
strtr(Env::v('montant'), ',', '.'),
- $member['uid'], $eid);
+ $member['uid'], $evt['eid']);
}
// change the number of personns coming with a participant
if (Env::v('adm') == 'nbs' && $member) {
$res = XDB::query("SELECT paid
- FROM groupex.evenements_participants
- WHERE uid = {?} AND eid = {?}",
- $member['uid'], $eid);
+ FROM groupex.evenements_participants
+ WHERE uid = {?} AND eid = {?}",
+ $member['uid'], $evt['eid']);
$paid = intval($res->fetchOneCell());
$nbs = Post::v('nb', array());
if ($nb) {
XDB::execute("REPLACE INTO groupex.evenements_participants
- VALUES ({?}, {?}, {?}, {?}, {?})",
- $eid, $member['uid'], $id, $nb, $paid);
- } else {
- XDB::execute("DELETE FROM groupex.evenements_participants
- WHERE uid = {?} AND eid = {?} AND item_id = {?}",
- $member['uid'], $eid, $id);
+ VALUES ({?}, {?}, {?}, {?}, {?})",
+ $evt['eid'], $member['uid'], $id, $nb, $paid);
}
}
- $res = XDB::query("SELECT uid FROM groupex.evenements_participants
- WHERE uid = {?} AND eid = {?}",
- $member['uid'], $eid);
- $u = $res->fetchOneCell();
+ $res = XDB::query("SELECT COUNT(uid) AS cnt, SUM(nb) AS nb
+ FROM groupex.evenements_participants
+ WHERE uid = {?} AND eid = {?}
+ GROUP BY uid",
+ $member['uid'], $evt['eid']);
+ $u = $res->fetchOneAssoc();
+ $u = $u['cnt'] ? null : $u['nb'];
subscribe_lists_event($u, $member['uid'], $evt);
}
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 )
WHERE ep.eid = {?} '.$whereitemid.'
- GROUP BY UPPER(SUBSTRING(IF(u.nom IS NULL,m.nom,u.nom), 1, 1))', $eid);
+ GROUP BY UPPER(SUBSTRING(IF(u.nom IS NULL,m.nom,u.nom), 1, 1))', $evt['eid']);
$alphabet = array();
$nb_tot = 0;
"SELECT IF(u.nom_usage<>'', u.nom_usage, u.nom) AS nom, u.prenom,
u.promo, a.alias AS email, t.montant
FROM {$globals->money->mpay_tprefix}transactions AS t
- INNER JOIN auth_user_md5 AS u ON(t.uid = u.user_id)
- INNER JOIN aliases AS a ON (a.id = t.uid AND a.type='a_vie' )
- LEFT JOIN groupex.evenements_participants AS ep ON(ep.uid = t.uid AND ep.eid = {?})
+ INNER JOIN auth_user_md5 AS u ON(t.uid = u.user_id)
+ INNER JOIN aliases AS a ON (a.id = t.uid AND a.type='a_vie' )
+ LEFT JOIN groupex.evenements_participants AS ep ON(ep.uid = t.uid AND ep.eid = {?})
WHERE t.ref = {?} AND ep.uid IS NULL",
$evt['eid'], $evt['paiement_id']);
$page->assign('oublis', $res->total());