Migration utilisateurs_identification.php
authorx2000bedo <x2000bedo>
Tue, 24 Aug 2004 00:14:11 +0000 (00:14 +0000)
committerx2000bedo <x2000bedo>
Tue, 24 Aug 2004 00:14:11 +0000 (00:14 +0000)
admin -> marketing

etat_migration
htdocs/marketing/utilisateurs_identification.php [new file with mode: 0644]
htdocs/marketing/utilisateurs_marketing.php
include/select_user.inc.php [new file with mode: 0644]
templates/marketing/utilisateurs_edit.tpl [new file with mode: 0644]
templates/marketing/utilisateurs_inscrire.tpl [new file with mode: 0644]

index cc223b6..6cb81cd 100644 (file)
@@ -16,7 +16,7 @@
 ------+-------------------------------------------+----------------
 Etat  | Ancien nom                                                               | Nouveau nom
 ------+-[ marketing ]-----------------------------+----------------
-;        | admin/utilisateurs_identification.php         | marketing/
+x        | admin/utilisateurs_identification.php         | marketing/
 ------+-[ inscription + mdp ]---------------------+----------------
 xx       | tmpPWD.php                                                            | 
 ------+-[ listes ]--------------------------------+----------------
diff --git a/htdocs/marketing/utilisateurs_identification.php b/htdocs/marketing/utilisateurs_identification.php
new file mode 100644 (file)
index 0000000..e3304cb
--- /dev/null
@@ -0,0 +1,87 @@
+<?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&eacute;j&agrave; dans la table auth_user_md5, refus d'&eacute;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&eacute;j&agrave; 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&eacute;j&agrave; 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&eacute;j&agrave; 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;
+}
+?>
index a990bf5..73cb9b9 100644 (file)
@@ -1,62 +1,7 @@
 <?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"]) {
diff --git a/include/select_user.inc.php b/include/select_user.inc.php
new file mode 100644 (file)
index 0000000..506dadb
--- /dev/null
@@ -0,0 +1,58 @@
+<?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();
+}
+?>
diff --git a/templates/marketing/utilisateurs_edit.tpl b/templates/marketing/utilisateurs_edit.tpl
new file mode 100644 (file)
index 0000000..fbeb74d
--- /dev/null
@@ -0,0 +1,70 @@
+<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&amp;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}
diff --git a/templates/marketing/utilisateurs_inscrire.tpl b/templates/marketing/utilisateurs_inscrire.tpl
new file mode 100644 (file)
index 0000000..94e3022
--- /dev/null
@@ -0,0 +1,69 @@
+<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}