------+-------------------------------------------+----------------
Etat | Ancien nom | Nouveau nom
------+-[ marketing ]-----------------------------+----------------
-; | admin/utilisateurs_identification.php | marketing/
+x | admin/utilisateurs_identification.php | marketing/
------+-[ inscription + mdp ]---------------------+----------------
xx | tmpPWD.php |
------+-[ listes ]--------------------------------+----------------
--- /dev/null
+<?php
+require("auto.prepend.inc.php");
+$id_actions = array('Editer','Inscrire');
+require("select_user.inc.php");
+require("inscription_listes_base.inc.php");
+
+//actions possible une fois un X désigné par son matricule
+switch ($_REQUEST["submit"]) {
+case "Editer":
+ $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule=".$_REQUEST["xmat"]);
+ if ($myrow = mysql_fetch_array($result))
+ exit_error(">Le matricule existe déjà dans la table auth_user_md5, refus d'édition.");
+ $result = $globals->db->query("select * from identification where matricule=".$_REQUEST["xmat"]);
+ $myrow = mysql_fetch_array($result);
+ new_admin_page('marketing/utilisateurs_edit.tpl');
+ $page->assign('row', $myrow);
+ $page->run();
+ break;
+
+case "Modifier la base":
+ // gestion des flags
+ $flags = (empty($_REQUEST['flag_femmeN']))?"":"femme";
+ // on fait la requete
+ $sql="update identification set prenom='".$_REQUEST["prenomN"]."',nom='".$_REQUEST["nomN"]."',promo=".$_REQUEST["promoN"].",deces='".$_REQUEST["decesN"]."',flags='".$flags."' where matricule=".$_REQUEST["xmat"];
+ $globals->db->query($sql);
+ new_admin_page('marketing/utilisateurs_edit.tpl');
+ $page->assign('success',1);
+ $page->run();
+ break;
+
+case "Inscrire":
+ $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule=".$_REQUEST["xmat"]);
+ if ($myrow = mysql_fetch_array($result))
+ exit_error("Le matricule existe déjà dans la table auth_user_md5.");
+
+ $result = $globals->db->query("select * from identification where matricule=".$_REQUEST["xmat"]);
+ $myrow = mysql_fetch_array($result);
+ new_admin_page('marketing/utilisateurs_inscrire.tpl');
+ $page->assign('row', $myrow);
+ //calcul du login de l'inscrit
+ $page->assign('mailorg',make_username($myrow['prenom'],$myrow['nom']));
+ $page->run();
+ break;
+
+case "Creer le login":
+ //on commence par vérifier:
+ // - que le matricule n'existe pas parmi les inscrits
+ // - que le login n'existe pas déjà
+ // - que la date de naissance est bien remplie
+
+ $result=mysql_query("SELECT user_id FROM auth_user_md5 where matricule='".$_REQUEST["xmat"]."'");
+ if ($myrow = mysql_fetch_array($result))
+ exit_error("Le matricule existe déjà dans la table auth_user_md5.");
+
+ $result=mysql_query("SELECT user_id FROM auth_user_md5 where username='".$_REQUEST["mailorg"]."'");
+ if ($myrow = mysql_fetch_array($result))
+ exit_error("Le login existe déjà dans la table auth_user_md5.");
+
+ $naissance=(isset($_REQUEST['naissance']))?$naissance:0;
+
+ // tirage aléatoire de UID et mot de passe
+ $pass_clair=rand_pass();
+ $password=md5($pass_clair);
+ $date=date("Y-m-j");
+
+ $sql = "INSERT INTO auth_user_md5 SET username='".$_REQUEST['mailorg']."',matricule='".$_REQUEST['xmat']."',promo='".$_REQUEST['promoN']."',password='$password',nom='".$_REQUEST['nomN']."',prenom='".$_REQUEST['prenomN']."',date='$date',naissance='$naissance', date_ins = NULL";
+ $result=$globals->db->query($sql);
+
+ if (!$globals->db->err()) {
+ $newuid = mysql_insert_id();
+ /** inscription à la liste promo ****************/
+ $inspromo = inscription_liste_promo($newuid,$_REQUEST['promoN']);
+ /** inscription à la newsletter ***************/
+ $insnewsletter = inscription_newsletter($newuid);
+
+ // pas d'erreur pour l'insert
+ new_admin_page('marketing/utilisateurs_inscrire.tpl');
+ $page->assign('mailorg',$_REQUEST['mailorg']);
+ $page->assign('pass_clair',$pass_clair);
+ $page->assign('success',1);
+ $page->run();
+ } else {
+ exit_error("Une erreur s'est produite lors de la tentative d'insertion.");
+ }
+ break;
+}
+?>
<?php
require("auto.prepend.inc.php");
-
-if(empty($_REQUEST["xmat"]) || empty($_REQUEST["submit"])) {
- if (empty($_REQUEST["xmat"]) && (empty($_REQUEST["prenomR"]) || empty($_REQUEST["nomR"]))) {
- new_admin_page('marketing/utilisateurs_recherche.tpl');
- $page->run();
- }
-
- if (!empty($_REQUEST["xmat"])) {
- // on a un matricule, on affiche juste l'entrée correspondante
- $where = "id.matricule={$_REQUEST['xmat']}";
- } else {
- // on n'a pas le matricule, essayer de le trouver moi-meme, de le proposer
- // et de reafficher le formulaire avec les propositions de matricules
-
- // suppression accents et passage en majuscules des champs entrés
- $nomUS=replace_accent($_REQUEST["nomR"]);
- $nomup=strtoupper($nomUS);
- $nomup=str_replace("\'","'",$nomup);
- $prenomUS=replace_accent($_REQUEST["prenomR"]);
- $prenomup=strtoupper($prenomUS);
- $prenomup=str_replace("\'","'",$prenomup);
-
- // calcul de la plus longue chaine servant à l'identification
- $chaine1=strtok($nomup," -'");
- $chaine2=strtok(" -'");
- if ( strlen($chaine2) > strlen($chaine1) ) {
- $chaine = $chaine2;
- } else {
- $chaine = $chaine1;
- }
-
- if(strlen($_REQUEST["promoR"])==4) {
- $rq="AND id.promo=".$_REQUEST["promoR"];
- } else {
- $rq="";
- }
-
- $where = "id.prenom LIKE '%{$_REQUEST['prenomR']}%' AND id.nom LIKE '%$chaine%' $rq ORDER BY id.promo,id.nom";
- } // a-t-on xmat
-
- $sql = "SELECT id.*,user_id
- FROM identification AS id
- LEFT JOIN auth_user_md5 USING(matricule)
- WHERE user_id IS NULL AND $where";
-
- new_admin_page('marketing/utilisateurs_select.tpl');
- $page->mysql_assign($sql, 'nonins');
- $page->assign('id_actions', array('Mailer'));
- $page->run();
-}
-
-function exit_error($err) {
- global $page;
- new_admin_page('marketing/utilisateurs_recherche.tpl');
- $page->assign('err', $err);
- $page->run();
-}
+$id_actions = array('Mailer');
+require("select_user.inc.php");
//actions possible une fois un X désigné par son matricule
switch ($_REQUEST["submit"]) {
--- /dev/null
+<?php
+if(empty($_REQUEST["xmat"]) || empty($_REQUEST["submit"])) {
+ if (empty($_REQUEST["xmat"]) && (empty($_REQUEST["prenomR"]) || empty($_REQUEST["nomR"]))) {
+ new_admin_page('marketing/utilisateurs_recherche.tpl');
+ $page->run();
+ }
+
+ if (!empty($_REQUEST["xmat"])) {
+ // on a un matricule, on affiche juste l'entrée correspondante
+ $where = "id.matricule={$_REQUEST['xmat']}";
+ } else {
+ // on n'a pas le matricule, essayer de le trouver moi-meme, de le proposer
+ // et de reafficher le formulaire avec les propositions de matricules
+
+ // suppression accents et passage en majuscules des champs entrés
+ $nomUS=replace_accent($_REQUEST["nomR"]);
+ $nomup=strtoupper($nomUS);
+ $nomup=str_replace("\'","'",$nomup);
+ $prenomUS=replace_accent($_REQUEST["prenomR"]);
+ $prenomup=strtoupper($prenomUS);
+ $prenomup=str_replace("\'","'",$prenomup);
+
+ // calcul de la plus longue chaine servant à l'identification
+ $chaine1=strtok($nomup," -'");
+ $chaine2=strtok(" -'");
+ if ( strlen($chaine2) > strlen($chaine1) ) {
+ $chaine = $chaine2;
+ } else {
+ $chaine = $chaine1;
+ }
+
+ if(strlen($_REQUEST["promoR"])==4) {
+ $rq="AND id.promo=".$_REQUEST["promoR"];
+ } else {
+ $rq="";
+ }
+
+ $where = "id.prenom LIKE '%{$_REQUEST['prenomR']}%' AND id.nom LIKE '%$chaine%' $rq ORDER BY id.promo,id.nom";
+ } // a-t-on xmat
+
+ $sql = "SELECT id.*,user_id
+ FROM identification AS id
+ LEFT JOIN auth_user_md5 USING(matricule)
+ WHERE user_id IS NULL AND $where";
+
+ new_admin_page('marketing/utilisateurs_select.tpl');
+ $page->mysql_assign($sql, 'nonins');
+ $page->assign('id_actions', $id_actions);
+ $page->run();
+}
+
+function exit_error($err) {
+ global $page;
+ new_admin_page('marketing/utilisateurs_recherche.tpl');
+ $page->assign('err', $err);
+ $page->run();
+}
+?>
--- /dev/null
+<div class="rubrique">
+ Editer la base de tous les X
+</div>
+{dynamic}
+{if $success eq "1"}
+ <p class="normal">
+ La modification de la table identification a été effectuée.
+ </p>
+ <p>
+ <a href="{$smarty.server.PHP_SELF}">Retour</a>
+ </p>
+{else}
+ <p class="normal">
+ <strong>Attention</strong> la table d'identification contenant la liste des polytechniciens sera
+modifiée !! (aucune vérification n'est faite)
+ </p>
+ <div class="center">
+ <form action="{$smarty.server.PHP_SELF}" method="get">
+ <table class="bicol" summary="Edition de fiche">
+ <tr>
+ <th colspan="2">
+ Editer
+ </th>
+ </tr>
+ <tr>
+ <td class="titre">Prénom :</td>
+ <td>
+ <input type="text" size="40" maxlength="60" value="{$row.prenom}" name="prenomN">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Nom :</td>
+ <td>
+ <input type="text" size="40" maxlength="60" value="{$row.nom}" name="nomN">
+ </td>
+ </tr >
+ <tr>
+ <td class="titre">Femme :</td>
+ <td>
+ <input type="checkbox" name="flag_femmeN" value="1"{if in_array("femme",explode(",",$row.flags))}checked{/if}>
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Promo :</td>
+ <td>
+ <input type="text" size="4" maxlength="4" value="{$row.promo}" name="promoN">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Décés :</td>
+ <td>
+ <input type="text" size="10" value="{$row.deces}" name="decesN">
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <a href="http://www.polytechniciens.com/index.php?page=AX_FICHE_ANCIEN&anc_id={$row.matricule_ax}" target="new">Voir sa fiche sur le site de l'AX</a>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type="hidden" name="xmat" value="{$smarty.request.xmat}">
+ <input type="submit" value="Modifier la base" name="submit">
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+{/if}
+{/dynamic}
--- /dev/null
+<div class="rubrique">
+ Inscrire manuellement un X
+</div>
+{dynamic}
+{if $success eq "1"}
+ <p class="normal">
+ Paramètres à transmettre:<br />
+ Login=<strong>{$mailorg}</strong><br />
+ Password=<strong>{$pass_clair}</strong>
+ </p>
+ <p class="normal">
+ Pour éditer le profil,
+ <a href="../admin/utilisateurs.php?login={$mailorg}">clique sur ce lien.</a>
+ </p>
+{else}
+<p class="normal">
+ Les prénom, nom, promo sont pré-remplis suivant la table d'identification.
+ Modifie-les comme tu le souhaites. Une autre solution consiste à éditer
+ d'abord la table d'identification (écran précédent) avant d'inscrire cet X.
+</p>
+<div class="center">
+<form action="{$smarty.server.PHP_SELF}" method="get">
+ <table class="bicol" summary="Créer un login">
+ <tr>
+ <th colspan="2">
+ Créer un login
+ </th>
+ </tr>
+ <tr>
+ <td class="titre">Prénom d'inscription</td>
+ <td>
+ <input type="text" size="40" maxlength="60" value="{$row.prenom}" name="prenomN">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Nom d'inscription</td>
+ <td>
+ <input type="text" size="40" maxlength="60" value="{$row.nom}" name="nomN">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Promotion</td>
+ <td>
+ <input type="text" size="4" maxlength="4" value="{$row.promo}" name="promoN">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Login</td>
+ <td>
+ <input type="text" size="40" maxlength="60" value="{$mailorg}" name="mailorg">
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">Date de naissance</td>
+ <td>
+ <input type="text" size="8" maxlength="8" value="" name="naissanceN">
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input type=hidden name="xmat" value="{$smarty.request.xmat}">
+ <input type="submit" name="submit" value="Creer le login">
+ </td>
+ </tr>
+ </table>
+</form>
+</div>
+{/if}
+{/dynamic}