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