0337d704 |
1 | <?php |
2 | |
b479e26b |
3 | require_once 'xnet.inc.php'; |
0337d704 |
4 | |
5 | new_group_page('xnet/groupe/evt-detail.tpl'); |
6 | |
7 | if (!Env::get("eid")) |
8 | header("Location: evenements.php"); |
9 | |
10 | $may_participate = !$members_only || is_member() || may_update(); |
11 | $page->assign('may_participate', $may_participate); |
12 | |
13 | if (Env::get('ins')) { |
14 | $total = 0; |
15 | for ($i=1; Env::has('item_id'.$i); $i++) |
16 | $total += (Env::get('item_'.Env::get('item_id'.$i)) > 0)?Env::get('item_'.Env::get('item_id'.$i)):0; |
17 | |
18 | $participate = $total > 0; |
19 | $res = $globals->xdb->query("SELECT paid FROM groupex.evenements_participants WHERE eid = {?} AND uid = {?}", Env::get("eid"), Session::get("uid")); |
20 | $paid = $res->fetchOneCell(); |
21 | if (!$paid) $paid = 0; |
22 | |
23 | // prevent desinscription if there is a manual paiement |
24 | if (!$participate && $paid) { |
25 | $page->trig("Impossible de te désinscrire complètement parce que tu as fait un paiement par chèque ou par liquide. Contacte un administrateur du groupe si tu es sûr de ne pas venir"); |
26 | $participate = true; |
27 | $page->assign('no_ins', true); |
28 | } else |
29 | for ($i=1; Env::has('item_id'.$i); $i++) |
30 | { |
31 | $j = Env::get('item_id'.$i); |
32 | $nb = Env::get('item_'.$j); |
33 | if ($nb == '+') $nb = Env::get('itemnb_'.$j)+1; |
34 | if ($nb > 0) { |
35 | $globals->xdb->execute( |
36 | "REPLACE INTO groupex.evenements_participants |
37 | VALUES ({?}, {?}, {?}, {?}, {?})", |
38 | Env::get("eid"), Session::get("uid"), $j, $nb, $paid); |
39 | } else { |
40 | $globals->xdb->execute( |
41 | "DELETE FROM groupex.evenements_participants |
42 | WHERE eid = {?} AND uid = {?} AND item_id = {?}", |
43 | Env::get("eid"), Session::get("uid"), $j); |
44 | } |
45 | } |
46 | } |
47 | |
48 | require_once('xnet/evenements.php'); |
49 | $evt = get_event_detail(Env::get('eid')); |
3b3e9d15 |
50 | |
51 | if (!$evt) |
52 | header("Location: evenements.php"); |
53 | |
0337d704 |
54 | if (Env::has('ins')) { |
55 | subscribe_lists_event($participate, Session::get("uid"), $evt['participant_list'], $evt['absent_list']); |
b479e26b |
56 | header("Location: evenements.php?backfrom=".Env::get('eid')); |
0337d704 |
57 | } |
58 | |
59 | $page->assign('participate', $participate); |
60 | $page->assign('evt', $evt); |
61 | |
62 | $moments = $globals->xdb->iterator( |
63 | "SELECT titre, i.item_id, details, montant, nb |
64 | FROM groupex.evenements_items AS i |
65 | LEFT JOIN groupex.evenements_participants AS p |
66 | ON(i.eid = p.eid AND i.item_id = p.item_id AND uid = {?}) |
67 | WHERE i.eid = {?}", |
68 | Session::get('uid'), Env::get('eid')); |
69 | |
70 | $page->assign('moments', $moments); |
71 | |
72 | if (!$paid) { |
73 | $res = $globals->xdb->query("SELECT paid FROM groupex.evenements_participants WHERE eid = {?} AND uid = {?}", Env::get("eid"), Session::get("uid")); |
74 | $paid = $res->fetchOneCell(); |
75 | $page->assign('paid_manual', $paid); |
76 | } |
77 | if ($evt['paiement_id']) { |
78 | $res = $globals->xdb->query( |
79 | "SELECT montant |
80 | FROM {$globals->money->mpay_tprefix}transactions AS t |
81 | WHERE ref = {?} AND uid = {?}", |
82 | $evt['paiement_id'], Session::getInt('uid', -1)); |
83 | $montants = $res->fetchColumn(); |
84 | foreach ($montants as $m) { |
85 | $p = strtr(substr($m, 0, strpos($m, "EUR")), ",", "."); |
86 | $paid += trim($p); |
87 | } |
88 | } |
89 | $page->assign('paid', $paid); |
90 | |
91 | $page->run(); |
92 | |
93 | ?> |