migrate annuaire-admin
[platal.git] / htdocs.net / groupe / inscrire.php
CommitLineData
0337d704 1<?php
2require 'xnet.inc.php';
3
2bd5b7f8 4new_page('xnet/groupe/inscrire.tpl');
5$page->doAuth(true);
0337d704 6$page->useMenu();
7$page->setType($globals->asso('cat'));
8$page->assign('asso', $globals->asso());
9$page->assign('admin', may_update());
10
19465af7 11if (!$globals->asso('inscriptible'))
12 $page->kill("Il n'est pas possible de s'inscire en ligne à ce groupe. Essaie de joindre le contact indiqué sur la page de présentation.");
0337d704 13
14if (Env::has('u') && may_update()) {
15 $u = Env::get('u');
16 $res = $globals->xdb->query("SELECT nom, prenom, promo, user_id FROM auth_user_md5 AS u INNER JOIN aliases AS al ON (al.id = u.user_id AND al.type != 'liste') WHERE al.alias = {?}", $u);
17
18 if (list($nom, $prenom, $promo, $uid) = $res->fetchOneRow())
19 {
20 $res = $globals->xdb->query("SELECT count(*) FROM groupex.membres AS m
21 INNER JOIN aliases AS a ON ( m.uid = a.id AND a.type != 'homonyme' ) WHERE a.alias = {?} AND m.asso_id = {?}", $u, $globals->asso('id'));
22 $n = $res->fetchOneCell();
23 if ($n)
24 {
25 $page->trig_run("$prenom $nom est déjà membre du groupe !");
26 }
27 elseif (Env::has('accept'))
28 {
29 $globals->xdb->execute("INSERT INTO groupex.membres VALUES ({?}, {?}, 'membre', 'X', NULL, NULL, NULL, NULL)", $globals->asso('id'), $uid);
30 require_once 'diogenes/diogenes.hermes.inc.php';
31 $mailer = new HermesMailer();
32 $mailer->addTo("$u@polytechnique.org");
33 $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>');
34 $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription');
35 $message = "Cher Camarade,\n"
36 . "\n"
37 . " Suite à ta demande d'adhésion à ".$globals->asso('nom').",\n"
38 . "j'ai le plaisir de t'annoncer que ton inscription a bien été validée !\n"
39 . "\n"
40 . "Bien cordialement,\n"
41 . "{$_SESSION["prenom"]} {$_SESSION["nom"]}.";
42 $mailer->setTxtBody($message);
43 $mailer->send();
44 $page->kill("$prenom $nom a bien été inscrit");
45 }
46 elseif (Env::has('refuse'))
47 {
48 require_once 'diogenes/diogenes.hermes.inc.php';
49 $mailer = new HermesMailer();
50 $mailer->addTo("$u@polytechnique.org");
51 $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>');
52 $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée');
53 $mailer->setTxtBody(Env::get('motif'));
54 $mailer->send();
55 $page->kill("la demande $prenom $nom a bien été refusée");
56 }
57 else
58 {
59 $page->assign('show_form', true);
60 $page->gassign('prenom');
61 $page->gassign('nom');
62 $page->gassign('promo');
63 $page->gassign('uid');
64 }
65 }
66 else
67 {
68 $page->kill("utilisateur invalide");
69 }
70} elseif (is_member()) {
71 $page->kill("tu es déjà membre !");
72} elseif (Post::has('inscrire')) {
73
74 $res = $globals->xdb->query('SELECT IF(m.email IS NULL, CONCAT(al.alias,"@polytechnique.org"), m.email)
75 FROM groupex.membres AS m
76 INNER JOIN aliases AS al ON (al.type = "a_vie" AND al.id = m.uid)
77 WHERE perms="admin" AND m.asso_id = {?}', $globals->asso('id'));
78 $emails = $res->fetchColumn();
79 $to = implode(',', $emails);
80
81 $append = "\n"
82 . "-- \n"
83 . "Ce message a été envoyé suite à la demande d'inscription de\n"
84 . Session::get('prenom').' '.Session::get('nom').' (X'.Session::get('promo').")\n"
85 . "Via le site www.polytechnique.net. Tu peux choisir de valider ou\n"
86 . "de refuser sa demande d'inscription depuis la page :\n"
87 . "http://www.polytechnique.net/".$globals->asso("diminutif")."/inscrire.php?u=".Session::get('forlife')."\n"
88 . "\n"
89 . "En cas de problème, contacter l'équipe de Polytechnique.org\n"
90 . "à l'adresse : support@polytechnique.org\n";
91
92 if (!$to) {
93 $to = $globals->asso("mail").", support@polytechnique.org";
94 $append = "\n-- \nLe groupe ".$globals->asso("nom")." n'a pas d'administrateur, l'équipe de Polytechnique.org a été prévenue et va rapidement résoudre ce problème.\n";
95 }
96
97 require_once 'diogenes/diogenes.hermes.inc.php';
98 $mailer = new HermesMailer();
99 $mailer->addTo($to);
100 $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>');
101 $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription');
102 $mailer->setTxtBody(Post::get('message').$append);
103 $mailer->send();
104}
105
106
107$page->run();
108
109?>