hmmmmmmm, this one was not that simple to convert. but done ;)
authorx2000habouzit <x2000habouzit>
Mon, 19 Jul 2004 22:38:07 +0000 (22:38 +0000)
committerx2000habouzit <x2000habouzit>
Mon, 19 Jul 2004 22:38:07 +0000 (22:38 +0000)
THERE IS ONLY 10 PAGES LEFT !!!!!!!!!!!!!!!!!!!!!!!!!
so take 1h and convert 1 or 2 !!! please

etat_migration
htdocs/marketing/utilisateurs_marketing.php [new file with mode: 0644]
templates/mails/marketing.utilisateur.tpl [new file with mode: 0644]
templates/marketing/utilisateurs_form.tpl [new file with mode: 0644]
templates/marketing/utilisateurs_marketing.tpl [new file with mode: 0644]
templates/marketing/utilisateurs_recherche.tpl [new file with mode: 0644]
templates/marketing/utilisateurs_select.tpl [new file with mode: 0644]

index f4a5aa6..871353d 100644 (file)
@@ -17,7 +17,6 @@
 Etat  | Ancien nom                                                               | Nouveau nom
 ------+-[ marketing ]-----------------------------+----------------
 ;        | admin/utilisateurs_identification.php         | marketing/
-;        | admin/utilisateurs_marketing.php              | marketing/
 ------+-[ docs ]----------------------------------+----------------
 ;        | docs/FROM.php                                                         | docs/from.php
 ------+-[ emails ... ]----------------------------+----------------
@@ -115,6 +114,7 @@ xx    | admin/postfix_perm.php                                        | -
 xx       | admin/postfix_retardes.php                            | -
 xx       | admin/relance.php                                             | marketing/ 
 xx       | admin/stats_promo.php                                         | stats/stats_promo.php
+xx       | admin/utilisateurs_marketing.php              | marketing/
 xx       | admin/valider.php                                             | -
 xx       | alias.php                                                             | -
 xx       | antispam.php                                                          | -
diff --git a/htdocs/marketing/utilisateurs_marketing.php b/htdocs/marketing/utilisateurs_marketing.php
new file mode 100644 (file)
index 0000000..a990bf5
--- /dev/null
@@ -0,0 +1,158 @@
+<?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();
+}
+
+//actions possible une fois un X désigné par son matricule
+switch ($_REQUEST["submit"]) {
+    case "Mailer":
+       $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule=".$_REQUEST["xmat"]);
+       if ($myrow = mysql_fetch_assoc($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_form.tpl');
+
+        $page->assign('row', $myrow);
+
+       $prenom=$myrow["prenom"];
+       $nom=$myrow["nom"];
+       $promo=$myrow["promo"];
+       $from=$_SESSION['username']."@polytechnique.org";
+
+        $page->run();
+       break;
+
+    case "Envoyer le mail":
+        require('xorg.misc.inc.php');
+       $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule=".$_REQUEST["xmat"]);
+       if ($myrow = mysql_fetch_assoc($result))
+            exit_error("Le matricule existe d&eacute;j&agrave; dans la table auth_user_md5.");
+                       
+       if (!isvalid_email_redirection(stripslashes($_REQUEST["mail"])))
+            exit_error("L'email n'est pas valide.");
+               
+       $result=$globals->db->query("SELECT prenom,nom,promo,FIND_IN_SET('femme', flags)
+                                     FROM identification 
+                                     WHERE matricule=".$_REQUEST['xmat']);
+       if (!list($prenom,$nom,$promo,$femme) = mysql_fetch_row($result))
+            exit_error("Le matricule n'a pas été trouvé dans table identification.");
+                       
+       // calcul de l'envoyeur
+        list($envoyeur) = explode('@', $_REQUEST["from"]);
+
+       $prenom_envoyeur=strtok($envoyeur,".");
+       $prenom_envoyeur=ucfirst($prenom_envoyeur);
+       $nom_envoyeur=strtok(" ");
+       $nom_env1=strtok($nom_envoyeur,"-");
+       $nom_env2=strtok(" ");
+       if($nom_env2) {
+            $envoyeur=$prenom_envoyeur." ".$nom_env1." ".ucfirst($nom_env2);
+       } else {
+            $envoyeur=$prenom_envoyeur." ".ucfirst($nom_env1);
+       }
+
+       $nom_envoyeur=ucfirst($nom_envoyeur);
+                       
+       // tirage aléatoire de UID et mot de passe
+       $user_id=rand_url_id(12);
+       $date=date("Y-m-j");
+
+       // decompte du nombre d'utilisateurs;
+       $result=$globals->db->query("SELECT COUNT(*) FROM auth_user_md5");
+       $num_users=mysql_result($result,0,"count(*)");
+                       
+       // calcul du login
+       $mailorg = make_username($prenom,$nom);
+                       
+       $globals->db->query("UPDATE  identification
+                                SET  last_known_email='{$_REQUEST['mail']}'
+                              WHERE  matricule='{$_REQUEST['xmat']}'");
+       $requete="INSERT INTO  envoidirect
+                          SET  matricule='{$_REQUEST['xmat']}',uid='$user_id',promo='$promo',
+                               prenom='".addslashes($prenom)."',nom='".addslashes($nom)."',
+                               email='{$_REQUEST['mail']}',sender='{$_REQUEST['sender']}',date_envoi='$date'";
+       $result = mysql_query($requete);
+       if (mysql_errno() == 0  || mysql_affected_rows() == 1) {
+            // pas d'erreur pour l'insert
+
+            // envoi du mail à l'utilisateur
+            require('tpl.mailer.inc.php');
+            $mymail = new TplMailer('marketing.utilisateur.tpl');
+
+            $mymail->assign('from', $_REQUEST["from"]);
+            $mymail->assign('to', stripslashes($_REQUEST["mail"]));
+            $mymail->assign('femme', $femme);
+            $mymail->assign('baseurl', $baseurl);
+            $mymail->assign('user_id', $user_id);
+            $mymail->assign('num_users', $num_users);
+            $mymail->assign('mailorg', $mailorg);
+            $mymail->assign('envoyeur', $envoyeur);
+            $mymail->send();
+            
+            new_admin_page('marketing/utilisateurs_marketing.tpl');
+            $page->run();
+       } else {
+            exit_error("Une erreur s'est produite lors de la tentative d'insertion de la pré-inscription.");
+       }
+       break;
+}
+
+?>
diff --git a/templates/mails/marketing.utilisateur.tpl b/templates/mails/marketing.utilisateur.tpl
new file mode 100644 (file)
index 0000000..359aa35
--- /dev/null
@@ -0,0 +1,36 @@
+{* $Id: marketing.utilisateur.tpl,v 1.1 2004-07-19 22:38:08 x2000habouzit Exp $ *}
+{subject text="Annuaire en ligne des Polytechniciens"}
+{from full=$from}
+{to addr=$to}
+{if $femme}
+Chère camarade,
+{else}
+Chèr camarade,
+{/if}
+
+a fiche n'est pas à jour dans l'annuaire des Polytechniciens sur Internet. Pour la mettre à jour, il te suffit de visiter cette page ou de copier cette adresse dans la barre de ton navigateur :
+
+==========================================================
+{$baseurl}/maj.php?n={$user_id}
+==========================================================
+
+Il ne te faut que 5 minutes sur http://www.polytechnique.org/ pour rejoindre les {$num_users} camarades branchés grâce au système de reroutage de l'X et qui permet de joindre un camarade en connaissant seulement son nom et son prénom... et de bénéficier pour la vie d'une adresse prestigieuse {$mailorg}@polytechnique.org et son alias discret {$mailorg}@m4x.org (m4x = mail for X).
+Pas de nouvelle boîte aux lettres à relever, il suffit de la rerouter vers ton adresse personnelle et/ou professionnelle que tu indiques et que tu peux changer tous les jours si tu veux sans imposer à tes correspondants de modifier leur carnet d'adresses...
+
+De plus, le site web offre les services d'annuaire (recherche multi-critères), de forums, de mailing-lists. Ce portail est géré par une dizaine de jeunes camarades, avec le soutien et les conseils de nombreux X de toutes promotions, incluant notamment des camarades de la Kès des élèves de l'X et d'autres de l'AX. Les serveurs sont hébergés au sein même de l'Ecole polytechnique, sur une connexion rapide, et les services évoluent en fonction des besoins exprimés par la communauté sur Internet.
+
+N'hésite pas à transmettre ce message à tes camarades ou à nous écrire, nous proposer toute amélioration ou suggestion pour les versions prochaines du site.
+
+
+A bientôt sur http://www.polytechnique.org !
+
+Bien à toi,
+
+{$envoyeur}
+--
+Polytechnique.org
+"Le portail des élèves & anciens élèves de l'X"
+http://www.polytechnique.org/
+http://www.polytechnique.net/
+
+{* vim:set nocindent noautoindent textwidth=0: *}
diff --git a/templates/marketing/utilisateurs_form.tpl b/templates/marketing/utilisateurs_form.tpl
new file mode 100644 (file)
index 0000000..62c44f4
--- /dev/null
@@ -0,0 +1,75 @@
+{* $Id: utilisateurs_form.tpl,v 1.1 2004-07-19 22:38:08 x2000habouzit Exp $ *}
+
+{dynamic}
+
+<div class="rubrique">
+  Envoyer un mail de pr&eacute;-inscription
+</div>
+
+<p class="normal">
+Le nom, pr&eacute;nom et promotion sont pris dans la table d'identification.  Le login sera automatiquement
+calcul&eacute; &agrave; partir de ces données.
+</p>
+
+<form action="{$smarty.server.PHP_SELF}" method="get">
+  <table cellpadding="3" class="bicol" summary="Envoyer un mail">
+    <tr>
+      <th colspan="2">
+        Envoyer un mail
+      </th>
+    </tr>
+    <tr>
+      <td class="titre">
+        Prénom :
+      </td>
+      <td>
+        {$row.prenom}
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        Nom :
+      </td>
+      <td>
+        {$row.nom}
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        Promo :
+      </td>
+      <td>
+        {$row.promo}
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        From du mail :
+      </td>
+      <td>
+        <input type="text" size="40" maxlength="60" name="from"
+        value="{$smarty.request.from|default:"`$smarty.session.username`@polytechnique.org"}" />
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        Adresse e-mail devinée :
+      </td>
+      <td>
+        <input type="text" size="40" maxlength="60" name="mail"
+        value="{$smarty.request.mail}" />
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2" class="bouton">
+        <input type=hidden name="xmat" value="{$smarty.request.xmat}" />
+        <input type=hidden name="sender" value="{$smarty.request.sender|default:$smarty.session.uid}" />
+        <input type="submit" name=submit value="Envoyer le mail" />
+      </td>
+    </tr>
+  </table>
+</form>
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
diff --git a/templates/marketing/utilisateurs_marketing.tpl b/templates/marketing/utilisateurs_marketing.tpl
new file mode 100644 (file)
index 0000000..af8a7d8
--- /dev/null
@@ -0,0 +1,15 @@
+{* $Id: utilisateurs_marketing.tpl,v 1.1 2004-07-19 22:38:08 x2000habouzit Exp $ *}
+
+{dynamic}
+
+<div class="rubrique">
+  E-mail de pr&eacute;inscription
+</div>
+<p class="normal">
+L'e-mail a &eacute;t&eacute; envoy&eacute; et la pr&eacute;-inscription a
+&eacute;t&eacute; ins&eacute;r&eacute;e en attente de confirmation.
+</p>
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
diff --git a/templates/marketing/utilisateurs_recherche.tpl b/templates/marketing/utilisateurs_recherche.tpl
new file mode 100644 (file)
index 0000000..95518c9
--- /dev/null
@@ -0,0 +1,62 @@
+{* $Id: utilisateurs_recherche.tpl,v 1.1 2004-07-19 22:38:08 x2000habouzit Exp $ *}
+
+{dynamic}
+<div class="rubrique">
+  Chercher un X non inscrit
+</div>
+
+{if $err}
+<p class="erreur">{$err}</p>
+{/if}
+
+<p class="normal">
+Bien remplir tous les champs pour passer à la page suivante.
+</p>
+
+<p class="normal">
+Si un champ est <strong>inconnu ou incertain</strong>, le remplir quand m&ecirc;me avec
+<strong>le caract&egrave;re % (pourcent). La promo peut rester vide.</strong>
+</p>
+
+<form action="{$smarty.server.PHP_SELF}" method="get">
+  <table class="bicol" cellpadding="3" summary="Recherche marketing">
+    <tr>
+      <th colspan="2">
+        Recherche marketing
+      </th>
+    </tr>
+    <tr>
+      <td class="titre">
+        Prénom :
+      </td>
+      <td>
+        <input type=text size=40 maxlength=60 value="{$smarty.request.prenomR}" name="prenomR" />
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        Nom :
+      </td>
+      <td>
+        <input type=text size=40 maxlength=60 value="{$smarty.request.nomR}" name="nomR" />
+      </td>
+    </tr>
+    <tr>
+      <td class="titre">
+        Promo :
+      </td>
+      <td>
+        <input type="text" size="4" maxlength="4" value="{$smarty.request.promoR}" name="promoR" />
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2" class="center">
+        <input type="submit" value="Chercher" />
+      </td>
+    </tr>
+  </table>
+</form>
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
diff --git a/templates/marketing/utilisateurs_select.tpl b/templates/marketing/utilisateurs_select.tpl
new file mode 100644 (file)
index 0000000..ed2c083
--- /dev/null
@@ -0,0 +1,41 @@
+{* $Id: utilisateurs_select.tpl,v 1.1 2004-07-19 22:38:08 x2000habouzit Exp $ *}
+
+{dynamic}
+
+<div class="rubrique">
+  Selectionner un X non inscrit
+</div>
+
+<p class="normal">
+Sélectionne l'X que tu veux inscrire ou &agrave; qui tu veux envoyer le mail de pré-inscription.
+</p>
+
+<form action="{$smarty.server.PHP_SELF}" method="get">
+  <table class="bicol" cellpadding="3" summary="Sélection de l'X non inscrit">
+    <tr>
+      <th>
+        Sélection de l'X non inscrit
+      </th>
+    </tr>
+    <tr>
+      <td>
+        <select name="xmat">
+          {foreach from=$nonins item=x}
+          <option value="{$x.matricule}">{$x.matricule} {$x.prenom} {$x.nom} (X{$x.promo})</option>
+          {/foreach}
+        </select>
+      </td>
+    </tr>
+    <tr>
+      <td class="center">
+        {foreach from=$id_actions item=id_action}
+        <input type="submit" name="submit" value="{$id_action}" />&nbsp;&nbsp;
+        {/foreach}
+      </td>
+    </tr>
+  </table>
+</form>
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}