From: x2000habouzit Date: Fri, 14 Jul 2006 21:01:43 +0000 (+0000) Subject: migrate inscrire.php X-Git-Tag: xorg/0.9.11~413 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=fdf0200a737c98df59902fd7d377de693fcd3e68;hp=4e310c610ea61675a850a76a315aa7bb0878f04a;p=platal.git migrate inscrire.php git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@488 839d8a87-29fc-0310-9880-83ba4fa771e5 --- diff --git a/htdocs.net/groupe/inscrire.php b/htdocs.net/groupe/inscrire.php deleted file mode 100644 index abd5294..0000000 --- a/htdocs.net/groupe/inscrire.php +++ /dev/null @@ -1,109 +0,0 @@ -doAuth(true); -$page->useMenu(); -$page->setType($globals->asso('cat')); -$page->assign('asso', $globals->asso()); -$page->assign('admin', may_update()); - -if (!$globals->asso('inscriptible')) - $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."); - -if (Env::has('u') && may_update()) { - $u = Env::get('u'); - $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); - - if (list($nom, $prenom, $promo, $uid) = $res->fetchOneRow()) - { - $res = $globals->xdb->query("SELECT count(*) FROM groupex.membres AS m - 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')); - $n = $res->fetchOneCell(); - if ($n) - { - $page->trig_run("$prenom $nom est déjà membre du groupe !"); - } - elseif (Env::has('accept')) - { - $globals->xdb->execute("INSERT INTO groupex.membres VALUES ({?}, {?}, 'membre', 'X', NULL, NULL, NULL, NULL)", $globals->asso('id'), $uid); - require_once 'diogenes/diogenes.hermes.inc.php'; - $mailer = new HermesMailer(); - $mailer->addTo("$u@polytechnique.org"); - $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>'); - $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription'); - $message = "Cher Camarade,\n" - . "\n" - . " Suite à ta demande d'adhésion à ".$globals->asso('nom').",\n" - . "j'ai le plaisir de t'annoncer que ton inscription a bien été validée !\n" - . "\n" - . "Bien cordialement,\n" - . "{$_SESSION["prenom"]} {$_SESSION["nom"]}."; - $mailer->setTxtBody($message); - $mailer->send(); - $page->kill("$prenom $nom a bien été inscrit"); - } - elseif (Env::has('refuse')) - { - require_once 'diogenes/diogenes.hermes.inc.php'; - $mailer = new HermesMailer(); - $mailer->addTo("$u@polytechnique.org"); - $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>'); - $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée'); - $mailer->setTxtBody(Env::get('motif')); - $mailer->send(); - $page->kill("la demande $prenom $nom a bien été refusée"); - } - else - { - $page->assign('show_form', true); - $page->gassign('prenom'); - $page->gassign('nom'); - $page->gassign('promo'); - $page->gassign('uid'); - } - } - else - { - $page->kill("utilisateur invalide"); - } -} elseif (is_member()) { - $page->kill("tu es déjà membre !"); -} elseif (Post::has('inscrire')) { - - $res = $globals->xdb->query('SELECT IF(m.email IS NULL, CONCAT(al.alias,"@polytechnique.org"), m.email) - FROM groupex.membres AS m - INNER JOIN aliases AS al ON (al.type = "a_vie" AND al.id = m.uid) - WHERE perms="admin" AND m.asso_id = {?}', $globals->asso('id')); - $emails = $res->fetchColumn(); - $to = implode(',', $emails); - - $append = "\n" - . "-- \n" - . "Ce message a été envoyé suite à la demande d'inscription de\n" - . Session::get('prenom').' '.Session::get('nom').' (X'.Session::get('promo').")\n" - . "Via le site www.polytechnique.net. Tu peux choisir de valider ou\n" - . "de refuser sa demande d'inscription depuis la page :\n" - . "http://www.polytechnique.net/".$globals->asso("diminutif")."/inscrire.php?u=".Session::get('forlife')."\n" - . "\n" - . "En cas de problème, contacter l'équipe de Polytechnique.org\n" - . "à l'adresse : support@polytechnique.org\n"; - - if (!$to) { - $to = $globals->asso("mail").", support@polytechnique.org"; - $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"; - } - - require_once 'diogenes/diogenes.hermes.inc.php'; - $mailer = new HermesMailer(); - $mailer->addTo($to); - $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom').'" <'.Session::get('forlife').'@polytechnique.org>'); - $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription'); - $mailer->setTxtBody(Post::get('message').$append); - $mailer->send(); -} - - -$page->run(); - -?> diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 8fc8628..9e9ddb3 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -24,12 +24,13 @@ class XnetGrpModule extends PLModule function handlers() { return array( - 'grp' => $this->make_hook('index', AUTH_PUBLIC), - 'grp/asso.php' => $this->make_hook('index', AUTH_PUBLIC), - 'grp/logo' => $this->make_hook('logo', AUTH_PUBLIC), - 'grp/edit' => $this->make_hook('edit', AUTH_MDP), - 'grp/mail' => $this->make_hook('mail', AUTH_MDP), - 'grp/annuaire' => $this->make_hook('annuaire', AUTH_MDP), + 'grp' => $this->make_hook('index', AUTH_PUBLIC), + 'grp/asso.php' => $this->make_hook('index', AUTH_PUBLIC), + 'grp/logo' => $this->make_hook('logo', AUTH_PUBLIC), + 'grp/edit' => $this->make_hook('edit', AUTH_MDP), + 'grp/mail' => $this->make_hook('mail', AUTH_MDP), + 'grp/annuaire' => $this->make_hook('annuaire', AUTH_MDP), + 'grp/subscribe' => $this->make_hook('subscribe', AUTH_MDP), 'grp/admin/annuaire' => $this->make_hook('admin_annuaire', AUTH_MDP), @@ -272,6 +273,133 @@ class XnetGrpModule extends PLModule $page->assign('ann', $ann); } + function handler_subscribe(&$page, $u = null) + { + $page->changeTpl('xnet/groupe/inscrire.tpl'); + + $page->useMenu(); + $page->setType($globals->asso('cat')); + $page->assign('asso', $globals->asso()); + $page->assign('admin', may_update()); + + if (!$globals->asso('inscriptible')) + $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."); + + if (!is_null($u) && may_update()) { + $page->assign('u', $u); + $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); + + if (list($nom, $prenom, $promo, $uid) = $res->fetchOneRow()) { + $res = $globals->xdb->query("SELECT COUNT(*) + FROM groupex.membres AS m + 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')); + $n = $res->fetchOneCell(); + if ($n) { + $page->trig_run("$prenom $nom est déjà membre du groupe !"); + } + elseif (Env::has('accept')) + { + $globals->xdb->execute("INSERT INTO groupex.membres + VALUES ({?}, {?}, 'membre', 'X', NULL, NULL, NULL, NULL)", + $globals->asso('id'), $uid); + require_once 'diogenes/diogenes.hermes.inc.php'; + $mailer = new HermesMailer(); + $mailer->addTo("$u@polytechnique.org"); + $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom') + .'" <'.Session::get('forlife').'@polytechnique.org>'); + $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription'); + $message = "Cher Camarade,\n" + . "\n" + . " Suite à ta demande d'adhésion à ".$globals->asso('nom').",\n" + . "j'ai le plaisir de t'annoncer que ton inscription a été validée !\n" + . "\n" + . "Bien cordialement,\n" + . "{$_SESSION["prenom"]} {$_SESSION["nom"]}."; + $mailer->setTxtBody($message); + $mailer->send(); + $page->kill("$prenom $nom a bien été inscrit"); + } + elseif (Env::has('refuse')) + { + require_once 'diogenes/diogenes.hermes.inc.php'; + $mailer = new HermesMailer(); + $mailer->addTo("$u@polytechnique.org"); + $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom') + .'" <'.Session::get('forlife').'@polytechnique.org>'); + $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée'); + $mailer->setTxtBody(Env::get('motif')); + $mailer->send(); + $page->kill("la demande $prenom $nom a bien été refusée"); + } else { + $page->assign('show_form', true); + $page->assign('prenom', $prenom); + $page->assign('nom', $nom); + $page->assign('promo', $promo); + $page->assign('uid', $uid); + } + return; + } + return PL_NOT_FOUND; + } + + if (is_member()) { + $page->kill("tu es déjà membre !"); + return; + } + + if (Post::has('inscrire')) { + $res = $globals->xdb->query('SELECT IF(m.email IS NULL, + CONCAT(al.alias,"@polytechnique.org"), + m.email) + FROM groupex.membres AS m + INNER JOIN aliases AS al ON (al.type = "a_vie" + AND al.id = m.uid) + WHERE perms="admin" AND m.asso_id = {?}', + $globals->asso('id')); + $emails = $res->fetchColumn(); + $to = implode(',', $emails); + + $append = "\n" + . "-- \n" + . "Ce message a été envoyé suite à la demande d'inscription de\n" + . Session::get('prenom').' '.Session::get('nom').' (X'.Session::get('promo').")\n" + . "Via le site www.polytechnique.net. Tu peux choisir de valider ou\n" + . "de refuser sa demande d'inscription depuis la page :\n" + . + "http://www.polytechnique.net/".$globals->asso("diminutif")."/subscribe/" + .Session::get('forlife')."\n" + . "\n" + . "En cas de problème, contacter l'équipe de Polytechnique.org\n" + . "à l'adresse : support@polytechnique.org\n"; + + if (!$to) { + $to = $globals->asso("mail").", support@polytechnique.org"; + $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"; + } + + require_once 'diogenes/diogenes.hermes.inc.php'; + $mailer = new HermesMailer(); + $mailer->addTo($to); + $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom') + .'" <'.Session::get('forlife').'@polytechnique.org>'); + $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription'); + $mailer->setTxtBody(Post::get('message').$append); + $mailer->send(); + } + } + function handler_admin_annuaire(&$page) { global $globals; diff --git a/templates/xnet/groupe/inscrire.tpl b/templates/xnet/groupe/inscrire.tpl index 45a31af..414d329 100644 --- a/templates/xnet/groupe/inscrire.tpl +++ b/templates/xnet/groupe/inscrire.tpl @@ -22,14 +22,13 @@

Demande d'inscription à {$asso.nom}

-{if $smarty.request.u && $admin && $show_form} +{if $u && $admin && $show_form}

Demande de la part de : {$prenom} {$nom} (X{$promo}) - Voir sa fiche + Voir sa fiche

-
- +
ou bien @@ -53,7 +52,7 @@ Pour t'inscrire formulaire ci-dessous. Vérifie et corrige au besoin les différents champs, puis clique sur [ m'inscrire ]

- +

OUI, je souhaite être inscrit au groupe {$asso.nom}