detail
[platal.git] / htdocs.net / groupe / evt-detail.php
1 <?php
2
3 require_once 'xnet.inc.php';
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'));
50 if (Env::has('ins')) {
51 subscribe_lists_event($participate, Session::get("uid"), $evt['participant_list'], $evt['absent_list']);
52 header("Location: evenements.php?backfrom=".Env::get('eid'));
53 }
54
55 $page->assign('participate', $participate);
56 $page->assign('evt', $evt);
57
58 $moments = $globals->xdb->iterator(
59 "SELECT titre, i.item_id, details, montant, nb
60 FROM groupex.evenements_items AS i
61 LEFT JOIN groupex.evenements_participants AS p
62 ON(i.eid = p.eid AND i.item_id = p.item_id AND uid = {?})
63 WHERE i.eid = {?}",
64 Session::get('uid'), Env::get('eid'));
65
66 $page->assign('moments', $moments);
67
68 if (!$paid) {
69 $res = $globals->xdb->query("SELECT paid FROM groupex.evenements_participants WHERE eid = {?} AND uid = {?}", Env::get("eid"), Session::get("uid"));
70 $paid = $res->fetchOneCell();
71 $page->assign('paid_manual', $paid);
72 }
73 if ($evt['paiement_id']) {
74 $res = $globals->xdb->query(
75 "SELECT montant
76 FROM {$globals->money->mpay_tprefix}transactions AS t
77 WHERE ref = {?} AND uid = {?}",
78 $evt['paiement_id'], Session::getInt('uid', -1));
79 $montants = $res->fetchColumn();
80 foreach ($montants as $m) {
81 $p = strtr(substr($m, 0, strpos($m, "EUR")), ",", ".");
82 $paid += trim($p);
83 }
84 }
85 $page->assign('paid', $paid);
86
87 $page->run();
88
89 ?>