GROS COMMIT
authorx2000habouzit <x2000habouzit>
Mon, 26 Jan 2004 12:36:31 +0000 (12:36 +0000)
committerx2000habouzit <x2000habouzit>
Mon, 26 Jan 2004 12:36:31 +0000 (12:36 +0000)
dans le désordre :
 * modif skin
 * codage complet de login.php/tpl
 * fixes dans la procédure de gestion de l'auth
 * ...

21 files changed:
htdocs/css/default.css
htdocs/index.php
htdocs/login.php
include/auto.prepend.inc.php
include/xorg.page.inc.php
include/xorg.session.inc.php
templates/deconnexion.tpl
templates/form_naissance.tpl [new file with mode: 0644]
templates/index.head.tpl
templates/index.tpl
templates/login.head.tpl [new file with mode: 0644]
templates/login.tpl [new file with mode: 0644]
templates/password_prompt.head.tpl
templates/password_prompt.tpl
templates/password_prompt_logged.head.tpl
templates/password_prompt_logged.tpl
templates/skin/common.bandeau.head.tpl
templates/skin/common.bandeau.tpl
templates/skin/common.footer.tpl
templates/skin/common.header.tpl
templates/skin/default.tpl

index c95417c..a85e8d2 100644 (file)
@@ -56,6 +56,7 @@ table.bicol {
     color: inherit;
     border: 1px solid #336699;
     border-collapse: collapse;
+    width: 98%;
 }
 table.bicol tr.impair {}
 table.bicol tr.pair {
@@ -103,6 +104,7 @@ table.bicol td.bouton { text-align: right; }
         border-right: 1px solid gray;
         text-align: center;
         font-family: "MS Sans Serif", sans-serif;
+        padding-top: 4px;
     }
 
     #body-top {
@@ -153,6 +155,6 @@ table.bicol td.bouton { text-align: right; }
     
     #content {
         width: 600px;
-        padding: 4px 10px 4px 10px;
+        padding: 4px 0px 4px 16px;
         font-size: 95%;
     }
index def3da0..41fe38e 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 require("auto.prepend.inc.php");
+if(logged())
+    header("Location: login.php");
 new_skinned_page('index.tpl', AUTH_PUBLIC);
 
 $page->display();
index 8a054fd..aa0327c 100644 (file)
@@ -1,6 +1,81 @@
 <?php
 require("auto.prepend.inc.php");
-new_skinned_page('index.tpl', AUTH_COOKIE);
+new_skinned_page('login.tpl', AUTH_COOKIE, 'login.head.tpl');
 
+$param=mysql_query("SELECT date,naissance FROM auth_user_md5 WHERE user_id={$_SESSION['uid']};");
+list($date,$naissance) = mysql_fetch_row($param);
+mysql_free_result($param);
+
+if ($date=="1999-12-31")  {
+    $page->assign('date', $date);
+    $page->display('non-inscrit');
+    exit;
+}
+
+if ($naissance==0)  {
+    $page->assign('ask_naissance', true);
+    $page->display('ask-naissance');
+    exit;
+}
+
+// incitation à mettre à jour la fiche
+
+$res = mysql_query("SELECT date FROM auth_user_md5 WHERE user_id=".$_SESSION["uid"]);
+list($d) = mysql_fetch_row($res);
+$date_maj = mktime(0, 0, 0, substr($d, 5, 2), substr($d, 8, 2), substr($d, 0, 4));
+if(( (time() - $date_maj) > 60 * 60 * 24 * 400)) { // si fiche date de + de 400j;
+    $page->assign('fiche_incitation', $d);
+}
+
+// incitation à mettre une photo
+
+$res = mysql_query("SELECT 1 FROM photo WHERE uid=".$_SESSION["uid"]);
+if (mysql_num_rows($res) == 0)
+    $page->assign('photo_incitation', true);
+mysql_free_result($res);
+
+// affichage de la boîte avec quelques liens
+$res = mysql_query("SELECT id FROM newsletter ORDER BY date DESC");
+list($nb) = mysql_fetch_row($res);
+mysql_free_result($res);
+
+$publicite = Array(Array(), Array());
+$publicite[0]["motdepassemd5.php"] = "Changer mon mot de passe";
+$i = rand(0, 1);
+switch ($i) {
+    case 0 :
+        $publicite[0]["newsletter.php?nl_id=$nb"]="Afficher la dernière newsletter"; break;
+    case 1 :
+        $publicite[0]["http://asso.polytechnique.org\" target=\"new"]="Vers les autres sites polytechniciens"; break;
+}
+$i = rand(0, 1);
+switch ($i) {
+    case 0 :
+        $publicite[1]["trombipromo.php?xpromo={$_SESSION["promo"]}"]="Voir le trombi de ma promo"; break;
+    case 1 :
+        $publicite[1]["banana/"]="Un petit tour du côté des forums !!"; break;
+}
+$publicite[1]["dons.php"] = "Faire un don à l'association Polytechnique.org";
+$page->assign_by_ref('publicite', $publicite);
+
+
+//affichage des evenements
+// annonces promos triées par présence d'une limite sur les promos
+// puis par dates croissantes d'expiration
+$res = mysql_query(
+        "SELECT e.id,e.titre,e.texte,a.username,a.nom,a.prenom,a.promo
+        FROM evenements AS e INNER JOIN auth_user_md5 AS a
+        ON e.user_id=a.user_id
+        WHERE FIND_IN_SET(flags, 'valide') AND peremption >= NOW()
+        AND (e.promo_min = 0 || e.promo_min <= {$_SESSION['promo']})
+        AND (e.promo_max = 0 || e.promo_max >= {$_SESSION['promo']})
+        ORDER BY (e.promo_min != 0 AND  e.promo_max != 0) DESC,  e.peremption");
+$evenement = Array();
+while($evenement[] = mysql_fetch_assoc($res));
+@array_pop($evenement);
+mysql_free_result($res);
+$page->assign_by_ref('evenement', $evenement);
+
+setlocale(LC_TIME, "fr_FR");
 $page->display();
 ?>
index a6a1805..6db6136 100644 (file)
@@ -13,6 +13,7 @@ function _new_page($type, $tpl_name, $tpl_head, $min_auth, $admin=false) {
             break;
         case AUTH_COOKIE:
             $page = new XorgCookie($tpl_name, $type);
+            break;
         case AUTH_MDP:
             $page = new XorgAuth($tpl_name, $type);
     }
index 08e24dd..8be25fe 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 require("diogenes.core.page.inc.php");
 
-function dynamic($param, $content, &$smarty) {
-    return $content;
-}
+function block_dynamic($param, $content, &$smarty) { return $content; }
+
+function function_dyn($params) { return implode(' ',$params); }
 
 class XorgPage extends DiogenesCorePage {
   var $_page_type;
@@ -16,7 +16,8 @@ class XorgPage extends DiogenesCorePage {
     $this->_tpl = $tpl;
 
     $this->DiogenesCorePage();
-    $this->register_block('dynamic', 'dynamic', false);
+    $this->register_block('dynamic', 'block_dynamic', false);
+    $this->register_function('dyn', 'function_dyn', false);
 
     // if necessary, construct new session
     if (!session_is_registered('session')) {
@@ -32,11 +33,12 @@ class XorgPage extends DiogenesCorePage {
     $this->set_skin();
   }
 
-  function display() {
+  function display($append_to_id="") {
+      $id = $this->make_id() . ($append_to_id ? "-$append_to_id" : "");
       if($this->_page_type == POPUP)
-          parent::display('skin/'.$_SESSION['skin_popup'], $this->make_id());
+          parent::display('skin/'.$_SESSION['skin_popup'], $id);
       else
-          parent::display('skin/'.$_SESSION['skin'], $this->make_id());
+          parent::display('skin/'.$_SESSION['skin'], $id);
   }
 
   function make_id() {
index 782418a..feb8525 100644 (file)
@@ -111,23 +111,12 @@ class XorgSession extends DiogenesCoreSession {
     global $failed_ORGaccess,$site_dev;
 
     if(isset($_COOKIE['ORGaccess']) and isset($_COOKIE['ORGlogin']) and !isset($failed_ORGaccess)) {
+      $page->_tpl = "password_prompt_logged.tpl";
       $page->assign("xorg_head", "password_prompt_logged.head.tpl");
       $page->assign("xorg_tpl", "password_prompt_logged.tpl");
       $page->display();
     } else {
-      if (isset($_COOKIE['ORGlogin'])) {
-        $pre = strtok($_COOKIE['ORGlogin'],".");
-        $pre1=strtok($pre,"-");
-        $pre2=strtok(" ");
-        $pre1=ucfirst($pre1);
-        $pre2=ucfirst($pre2);
-        if ($pre2) {
-          $prenom = $pre1."-".$pre2;
-        } else {
-          $prenom = $pre1;
-        }
-        $page->assign('prenom',$prenom);
-      }
+      $page->_tpl = "password_prompt.tpl";
       $page->assign("xorg_head", "password_prompt.head.tpl");
       $page->assign("xorg_tpl", "password_prompt.tpl");
       $page->display();
index a2e58f0..a50c094 100644 (file)
@@ -1,3 +1,5 @@
+{* $Id: deconnexion.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 <div class="rubrique">
   Déconnexion effectuée
 </div>
@@ -12,3 +14,5 @@ ton navigateur, et en particulier les formulaires post
 <p class="normal">
 <b>Merci et à bientôt !</b>
 </p>
+
+{* vim:set et sw=2 sts=2 sws=2: *}
diff --git a/templates/form_naissance.tpl b/templates/form_naissance.tpl
new file mode 100644 (file)
index 0000000..ed52b6a
--- /dev/null
@@ -0,0 +1,40 @@
+{* $Id: form_naissance.tpl,v 1.1 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+<div class="rubrique">
+  Date de naissance
+</div>
+
+<form action="profil2.php" method="post">
+  <p class="normal">
+  Avant d'accéder à ton profil pour la première fois, tu dois donner 
+  ta date de naissance au format JJMMAAAA. Elle ne sera plus demandée
+  par la suite et ne pourra être changée. Elle servira en cas de
+  perte du mot de passe comme sécurité supplémentaire, et uniquement 
+  à cela. Elle n'est jamais visible ou lisible.
+  </p>
+  <br />
+  <div align="center">
+    <table class="bicol" border="0" cellpadding="4" cellspacing="0"
+      summary="Formulaire de naissance" width="60%">
+      <tr>
+        <th colspan="2">
+          Date de naissance
+        </th>
+      </tr>
+      <tr>
+        <td>
+          <b>Date</b> (JJMMAAAA)
+        </td>
+        <td>
+          <input type="text" size="8" maxlength="8" name="birth">
+        </td>
+      </tr>
+      <tr>
+        <td align="center" colspan="2">
+          <input type="submit" value="Enregistrer" name="submit">
+        </td>
+      </tr>
+    </table>
+  </div>
+</form>
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index d615690..d67f53f 100644 (file)
@@ -1,4 +1,4 @@
-{* index.head.tpl *}
+{* $Id: index.head.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
 {literal}
     <style type="text/css" media="screen,print">
       <!--
@@ -14,4 +14,3 @@
     </style>
 {/literal}
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: index.head.tpl,v 1.1 2004-01-25 17:19:21 x2000habouzit Exp $ *}
index aef1870..31efd98 100644 (file)
@@ -1,4 +1,5 @@
-{* index.tpl *}
+{* $Id: index.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 <div class="rubrique">
   Bienvenue sur le portail des élèves et anciens élèves de l'X !
 </div>
@@ -28,5 +29,5 @@
   <strong>Bonne visite !</strong>
   <br /><cite>L'équipe Polytechnique.org</cite>
 </p>
+
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: index.tpl,v 1.1 2004-01-25 17:19:21 x2000habouzit Exp $ *}
diff --git a/templates/login.head.tpl b/templates/login.head.tpl
new file mode 100644 (file)
index 0000000..70c1c69
--- /dev/null
@@ -0,0 +1,14 @@
+{* $Id: login.head.tpl,v 1.1 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
+{literal}
+    <style type="text/css" media="screen">
+      <!--
+      div.dernierlogin {font-size: smaller;}
+      p.loinenbas {margin-top: 3em;}
+      p.warning { font-size: 80%; font-style: italic; }
+      table.bicol td.info { padding: 0.5em 0.5em 0.5em 0.5em; width: 50%; }
+      -->
+    </style>
+{/literal}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
diff --git a/templates/login.tpl b/templates/login.tpl
new file mode 100644 (file)
index 0000000..fdc8b5d
--- /dev/null
@@ -0,0 +1,101 @@
+{* $Id: login.tpl,v 1.1 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
+{if $date}
+  <div class="rubrique">
+    Assistant première connexion
+  </div>
+  <p class="normal">
+  Le programme a détecté que tu te connectes pour la première fois
+  sur ce site. Un certain nombre de paramètres ne sont donc pas à
+  jour pour fonctionner correctement. La plupart se mettront eux-mêmes
+  à jour sans que tu t'en aperçoives, mais d'autres nécessitent
+  ton intervention.
+  </p>
+  <p class="loinenbas">
+    <a href="profil.php">Clique ici pour continuer.</a>
+  </p>
+{elseif $naissance}
+{include file=form_naissance.tpl}
+{else}
+
+<div class="rubrique">Bienvenue {dyn s=$smarty.session.prenom} :o)
+  </div>
+  <div class="dernierlogin">
+    Ta connexion précédente date du
+    <strong>{dyn s=$smarty.session.lastlogin|date_format:"%x, %T"}</strong>
+    depuis la machine <strong>{dyn s=$smarty.session.host}</strong>
+  </div>
+  
+{if $fiche_incitation}
+{dynamic}
+  <p class="normal">La dernière mise à jour de ta
+  <a href="javascript:x()" onclick="popWin('x.php?x={$smarty.session.username}">fiche</a>
+  date du {$fiche_incitation|date_format:"%x"}.
+  Il est possible qu'elle ne soit pas à jour.
+  Si tu souhaites la modifier, <a href=\"profil.php\">clique ici !</a>
+  </p>
+{/dynamic}
+{/if}
+
+{if $photo_incitation}
+{dynamic}
+  <p class="normal">
+    Tu n'as pas mis de photo de toi sur ta fiche, c'est dommage.
+    Clique <a href="javascript:x()" onclick="popWin('trombino.php','trmb','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=750,height=480')">ici</a>
+    si tu souhaites en ajouter une.
+  </p>
+{/dynamic}
+{/if}
+
+<br />
+
+{dynamic}
+  <table class="bicol">
+    <tr class="pair">
+{foreach item=links from=$publicite}
+      <td class="info">
+{foreach key=url item=text from=$links}
+        <a href="{$url}">{$text}</a><br />
+{/foreach}
+      </td>
+{/foreach}
+    </tr>
+  </table>
+
+  {foreach item=ev from=$evenement}
+  <br />
+
+  <table class="bicol">
+    <tr>
+      <th><a name="newsid{$ev.id}">{$ev.titre|nl2br}</a></th>
+    </tr>
+    <tr class="{cycle values="impair,pair"}">
+      <td class="info">
+        {$ev.texte|nl2br}
+        <br />
+        <p class="warning">Annonce proposée par
+        <a href="javascript:x()" onclick="popWin('x.php?x={$ev.username}')">
+          {$ev.prenom} {$ev.nom} X{$ev.promo}
+        </a>
+        </p>
+      </td>
+    </tr>
+  </table>
+  {/foreach}
+{/dynamic}
+
+  <p class="warning">
+  Nota Bene : les informations présentées ici n'engagent que leurs auteurs
+  respectifs et sont publiées à leur initiative. L'association Polytechnique.org
+  ne pourrait en aucun cas être tenue responsable de la nature des propos relatés
+  sur cet espace d'expression et d'information. Elle se réserve le droit de
+  refuser ou de retirer toute information de nature diffamante ou pouvant être
+  interprétée comme polémique par un membre de la communauté polytechnicienne.
+  <p>
+
+  <p class="normal">
+  <a href="evenements.php">Proposer une information événementielle</a>
+  </p>
+{/if}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index 4062361..60d4001 100644 (file)
@@ -1,3 +1,5 @@
+{* $Id: password_prompt.head.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 {literal}
     <style type="text/css" media="screen">
       <!--
@@ -9,3 +11,5 @@
 {/literal}
     <script language="javascript" src="{"javascript/md5.js"|url}" type="text/javascript"></script>
     <script language="javascript" src="{"javascript/do_challenge_response.js"|url}" type="text/javascript"></script>
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index b9aca81..ec0a3cc 100644 (file)
@@ -1,3 +1,4 @@
+{* $Id: password_prompt.tpl,v 1.3 2004-01-26 12:36:32 x2000habouzit Exp $ *}
 <noscript>
   <span class="erreur">
     Ton navigateur n'accepte pas le javaScript !!
@@ -107,3 +108,5 @@ Probl
   // -->
 </script>
 {/literal}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index 4062361..10c80a1 100644 (file)
@@ -1,3 +1,5 @@
+{* $Id: password_prompt_logged.head.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 {literal}
     <style type="text/css" media="screen">
       <!--
@@ -9,3 +11,5 @@
 {/literal}
     <script language="javascript" src="{"javascript/md5.js"|url}" type="text/javascript"></script>
     <script language="javascript" src="{"javascript/do_challenge_response.js"|url}" type="text/javascript"></script>
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index acb256d..395929f 100644 (file)
@@ -1,3 +1,5 @@
+{* $Id: password_prompt_logged.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 <div style="text-align:center">
   <table width="90%" summary="Accès sécurisé">
     <tr>
@@ -14,7 +16,7 @@
   </table>
 </div>
 <br /><br />
-<form action="{$smarty.server.REQUEST_URI}" method="post" name="login" onSubmit='doChallengeResponse(); return false;'>
+<form action="{$smarty.server.REQUEST_URI}" method="post" id="login" name="login" onSubmit='doChallengeResponse(); return false;'>
   <table class="bicol" align="center" cellpadding="4" summary="Formulaire de login">
     <tr>
       <td>
 <!-- Set up the form with the challenge value and an empty reply value -->
 <form action="{$smarty.server.REQUEST_URI}" method=post name="loginsub">
   <input type="hidden" name="challenge" value="{$smarty.session.challenge}">
-  <input type="hidden" name="username" value="{$smarty.cookie.ORGlogin}">
+  <input type="hidden" name="username" value="{$smarty.cookies.ORGlogin}">
   <input type="hidden" name="response"  value="">
 </form>
-{/dynamic}
 
 {literal}
 <script language="JavaScript" type="text/javascript">
@@ -59,3 +60,6 @@
   // -->
 </script>
 {/literal}
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}
index cc2a74d..9c9f87e 100644 (file)
@@ -1,4 +1,5 @@
-{* Bandeau fédérateur : style *}
+{* $Id: common.bandeau.head.tpl,v 1.3 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 {literal}
     <!-- BANDEAU DEBUT -->
     <style type="text/css">
@@ -18,5 +19,5 @@
     <meta name="MSSmartTagsPreventParsing" content="true">
     <!-- BANDEAU FIN -->
 {/literal}
+
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: common.bandeau.head.tpl,v 1.2 2004-01-25 20:42:46 x2000habouzit Exp $ *}
index fea481e..6c352e7 100644 (file)
@@ -1,4 +1,5 @@
-{* Bandeau : body *}
+{* $Id: common.bandeau.tpl,v 1.3 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
     <!-- BANDEAU DEBUT -->
 
     <!-- ligne grise de 1px -->
@@ -9,5 +10,5 @@
     <table class="ligne" cellspacing="0" cellpadding="0" width="100%" border="0" summary=""><tr><td class="ligne"></td></tr></table>
 
     <!-- BANDEAU FIN -->
+
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: common.bandeau.tpl,v 1.2 2004-01-25 20:42:46 x2000habouzit Exp $ *}
index 0b00350..eaa47cc 100644 (file)
@@ -1,4 +1,5 @@
-{* foot par defaut *}
+{* $Id: common.footer.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
 <p>
   Copyright © 1999-2003 Association <a href="http://x-org.polytechnique.org/">Polytechnique.org</a>
   &nbsp;-&nbsp;
@@ -14,4 +15,3 @@
 </p>
 
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: common.footer.tpl,v 1.1 2004-01-25 17:19:21 x2000habouzit Exp $ *}
index 75f2615..d5ed3a9 100644 (file)
@@ -1,4 +1,5 @@
-{* head par defaut *}
+{* $Id: common.header.tpl,v 1.2 2004-01-26 12:36:32 x2000habouzit Exp $ *}
+
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     <meta name="description" content="Le Portail des Polytechniciens" />
     <meta name="keywords" content="Ecole polytechnique, anciens eleves, portail, alumni, AX, X, routage, reroutage, e-mail, email, mail" />
@@ -19,5 +20,5 @@
       Anciens eleves Polytechnique, annuaire email, Alumni
     </title>
     <script language="JavaScript" type="text/javascript" src="javascript/getnow.js"></script>
+
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: common.header.tpl,v 1.1 2004-01-25 17:19:21 x2000habouzit Exp $ *}
index e4d7f10..a4336e3 100644 (file)
@@ -1,4 +1,4 @@
-{* Skin par défaut *}
+{* $Id: default.tpl,v 1.3 2004-01-26 12:36:32 x2000habouzit Exp $ *}
 <?xml version="1.0" encoding="iso-8859-1"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -36,7 +36,7 @@
         <div class="menu_item"><a href="{$menu_url|url}">{$menu_item}</a></div>
 {/foreach}
 {/foreach}
-{min_perms level=admin}{insert name="mkStats"}{/min_perms}
+{perms level=admin}{insert name="mkStats"}{/perms}
       </td>
       <td id="body-top">
         <img src="images/sk_default_ban.jpg" alt="[ Polytechnique.org ]" />
@@ -70,4 +70,3 @@
   </body>
 </html>
 {* vim:set et sw=2 sts=2 sws=2: *}
-{* $Id: default.tpl,v 1.2 2004-01-25 20:35:46 x2000habouzit Exp $ *}