epnadmin-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Epnadmin-fr] CVS: epnadmin config.php,1.3,1.4 constantes.inc.php,1.23,


From: Loïc Dayot
Subject: [Epnadmin-fr] CVS: epnadmin config.php,1.3,1.4 constantes.inc.php,1.23,1.24 dateheure.inc.php,1.10,1.11 fr.lang.inc.php,1.7,1.8 index.php,1.7,1.8 inscription_session.php,1.16,1.17 parcours.inc.php,1.5,1.6 parcours.php,1.6,1.7 reservations.php,1.10,1.11 session.php,1.10,1.11 sessions.inc.php,1.5,1.6 siteweb.inc.php,1.8,1.9 structures.inc.php,1.7,1.8 table_horaire.php,1.12,1.13 table_horaire_session.php,1.17,1.18 tableaux.inc.php,1.4,1.5
Date: Sun, 16 Feb 2003 16:49:59 -0500

Update of /cvsroot/epnadmin/epnadmin
In directory subversions:/tmp/cvs-serv5665/epnadmin

Modified Files:
        config.php constantes.inc.php dateheure.inc.php 
        fr.lang.inc.php index.php inscription_session.php 
        parcours.inc.php parcours.php reservations.php session.php 
        sessions.inc.php siteweb.inc.php structures.inc.php 
        table_horaire.php table_horaire_session.php tableaux.inc.php 
Log Message:
Simplification du code dans la prise d'inscription à des sessions.
Ajout dans la procédure d'installation assistée. (Par terminée.)
Modification de l'accès aux sessions auxquelles on peut s'inscrire. Changment 
de code pour savoir si une initiation est accessible ou indispensable, en 
permettant des OU dans les dépendances entre les initiations.
Envoi de courriels automatiques lors des changements sur les sessions, 
notamment lors des pré-réservations.
Quelques bricoles par-ci par-là pour corriger des punaises.



Index: config.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/config.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** config.php  15 Feb 2003 23:41:28 -0000      1.3
--- config.php  16 Feb 2003 21:49:55 -0000      1.4
***************
*** 77,82 ****
  { // Tente de modifier le contenu du fichier constantes.inc.php
    // et met à jour la variable avec la nouvelle valeur.
  
!   if (! $fic = @fopen ("constantes.inc.php", "r"))
    {
      echo "<p>Impossible d'ouvrir le fichier constantes.inc.php en lecture.</p>
--- 77,83 ----
  { // Tente de modifier le contenu du fichier constantes.inc.php
    // et met à jour la variable avec la nouvelle valeur.
+ global $pasdroitsecritureconstantes;
  
!   if (! $fic = fopen ("constantes.inc.php", "r"))
    {
      echo "<p>Impossible d'ouvrir le fichier constantes.inc.php en lecture.</p>
***************
*** 90,93 ****
--- 91,95 ----
    {
      $ligne = fgets($fic, 4096);
+     echo ".";
      if ($posvariable = strpos($ligne, "$"))
      {
***************
*** 115,119 ****
              if (($poscomment=strpos($ligne, "//"))<$posvariable)
               // La ligne est bien commentée, on supprime le commentaire
!               $ligne=str_replace("//","", 
substr($ligne,0,$posvariable)).substr($ligne,$posvariable);
            }
          }
--- 117,121 ----
              if (($poscomment=strpos($ligne, "//"))<$posvariable)
               // La ligne est bien commentée, on supprime le commentaire
!               $ligne=str_replace("//","", $ligne);
            }
          }
***************
*** 137,141 ****
    //echo nl2br($contenu);
    return TRUE; // fini
! }
  
  // Vérifie que toutes les tables sont bien présentes dans la base
--- 139,143 ----
    //echo nl2br($contenu);
    return TRUE; // fini
! } // function enregistreconfig
  
  // Vérifie que toutes les tables sont bien présentes dans la base
***************
*** 193,248 ****
  
  // Début de la page
- /*
- switch ($operation)
- {
- 
- case 500 : // Accord des droits primordiaux pour la première structure 
identifiée
-   if ($is_ident=="structure")
-   {
-     echo "<p>C'est apparemment la toute première utilisation.</p>";
-     echo "<p>La fonctionnalité pour gérer les fonctionnalités et 
autorisations et créee.</p>";
-     $req="INSERT INTO droits (id_fonction, id_structure, actif)
-                       VALUES (1, 0, 'y')";
-     executeRequete($req);
-     $req="INSERT INTO droits (id_fonction, id_structure, actif)
-                       VALUES (2, 0, 'y')";
-     executeRequete($req);
-     echo "<p>Vous avez tous les droits pour effectuer des modifications.</p>";
-     $req="INSERT INTO droits (id_fonction, id_structure, moi, autres)
-                       VALUES (1, $id_structure, 'w', 'w')";
-     executeRequete($req);
-     echo "<p>Il faut maintenant se connecter en tant que structure</p>";
-     echo "<a href=\"$PHP_SELF?operation=501&logoff=1\">Reprendre</a>";
-   }
-   else
-   {
-     echo "<p>Il faut se connecter en tant que structure.</p>";
-     echo "<a href=\"$PHP_SELF?operation=500&logoff=1\">Reprendre</a>";
-   }
-   break;
- 
- case 600 : // Verrouiller cet assistant de configuration.
-   echo $avertissementverrouillage;
-   echo "<form action=\"$PHP_SELF\" method=\"POST\" 
enctype=\"multipart/form-data\">
-         <input type=\"hidden\" name=\"operation\" value=\"601\">
-         <input type=\"submit\" value=\"$verrouiller\">
-         </form>\n";
-   break;
- 
- case 601 : // Verrouillage effectif.
-   enregistreconfig("verrou_config", TRUE);
-   echo $verrouilleok;
-   break;
- 
- default : // Afficher toutes les étapes possibles
-   //echo "<h2 align=center>$titreconfig</h2>\n";
- 
- } // Switch $operation
- 
- */
- 
- 
- 
- // Le vrai assistant est cette première partie...
  
  $ietape=0;
--- 195,198 ----
***************
*** 302,307 ****
    if (($operation==$ietape) && ($saisie))
    { // on vient de choisir la langue, il suffit de l'enregistrer
!     echo "<p>$enregistrementlangue</p>\n";
!     enregistreconfig("langage", $langage);
    }
    echo "</td></tr>\n";
--- 252,257 ----
    if (($operation==$ietape) && ($saisie))
    { // on vient de choisir la langue, il suffit de l'enregistrer
!     if (enregistreconfig("langage", $langage))
!       echo "<p>$enregistrementlangue</p>\n";
    }
    echo "</td></tr>\n";
***************
*** 484,488 ****
          $mysql_motdepasse=$mp->mp;
          // Malheuresement, ça ne fonctionne pas et je ne comprends pas 
pourquoi...
!         */
          enregistreconfig("mysql_serveur", $mysql_serveur);
          enregistreconfig("mysql_identifiant", $mysql_identifiant);
--- 434,438 ----
          $mysql_motdepasse=$mp->mp;
          // Malheuresement, ça ne fonctionne pas et je ne comprends pas 
pourquoi...
!         */              
          enregistreconfig("mysql_serveur", $mysql_serveur);
          enregistreconfig("mysql_identifiant", $mysql_identifiant);
***************
*** 820,824 ****
          </th>";
  
!   if (($ltables=toutestables()) !="")
      $stop=TRUE;
  
--- 770,774 ----
          </th>";
  
!   if (($ltables=toutestables())!="")
      $stop=TRUE;
  
***************
*** 830,835 ****
      echo "<td bgcolor=\"$couleurok\">";
    echo "$creerlestables</b></h3>";
! 
!   if ($saisie==$ietape || $stop)
    {
      if ($ltables!="")
--- 780,785 ----
      echo "<td bgcolor=\"$couleurok\">";
    echo "$creerlestables</b></h3>";
!     
!   if ($operation==$ietape || $stop)
    {
      if ($ltables!="")
***************
*** 1272,1275 ****
--- 1222,1287 ----
      break;
  
+   $ietape++; // 
------------------------------------------------------------------------------
+   // Quelques données supplémentaires de constantes.inc.php
+   echo "<tr><th bgcolor=\"$couleurfond\">
+           <form action=\"$PHP_SELF\"  method=\"POST\" 
enctype=\"multipart/form-data\">
+             <input type=\"hidden\" name=\"operation\" value=\"$ietape\">
+             <input type=\"hidden\" name=\"is_ident\" value=\"$is_ident\">
+             <input type=\"hidden\" name=\"id_structure\" 
value=\"$id_structure\">
+             <input type=\"hidden\" name=\"mysql_identifiant_root\" 
value=\"$mysql_identifiant_root\">
+             <input type=\"hidden\" name=\"mysql_motdepasse_root\" 
value=\"$mysql_motdepasse_root\">
+             <input type=\"submit\" value=\"&nbsp;$ietape&nbsp;\">
+           </form>
+         </th>";
+ 
+   if ($operation==$ietape)
+     echo "<td bgcolor=\"$couleurselectionne\"><h3>";
+   else
+     echo "<td bgcolor=\"$couleurok\">";
+   echo "$autresparametres</b></h3>";
+ 
+   if ($operation==$ietape)
+   {
+     if ($saisie==1)
+     { // Traitement des données du formulaire
+ 
+ 
+     }
+     else
+     { // Présentation du formulaire
+       echo "<table align=center border=1>
+             <form name=\"autes\" method=\"post\" action=\"$PHP_SELF\">\n";
+       echo "<input type=\"hidden\" name=\"operation\" value=\"$ietape\">
+             <input type=\"hidden\" name=\"saisie\" value=\"1\">
+             <input type=\"hidden\" name=\"is_ident\" value=\"$is_ident\">
+             <input type=\"hidden\" name=\"id_structure\" 
value=\"$id_structure\">
+             <input type=\"hidden\" name=\"mysql_identifiant_root\" 
value=\"$mysql_identifiant_root\">
+             <input type=\"hidden\" name=\"mysql_motdepasse_root\" 
value=\"$mysql_motdepasse_root\">
+             
+             <tr><td>$sdir_fontes_ttf</td><td><input type=\"text\" 
name=\"dir_fontes_ttf\" value=\"$dir_fontes_ttf\" size=\"40\"></td></tr>
+             <tr><td>$sdir_tmp_images</td><td><input type=\"text\" 
name=\"dir_tmp_images\" value=\"$dir_tmp_images\" size=\"40\"></td></tr>
+             <tr><td>$surl_epnadmin</td><td><input type=\"text\" 
name=\"url_epnadmin\" value=\"$url_epnadmin\" size=\"40\"></td></tr>
+             <tr><td>$sEXECUTION_COMMANDES_BASH</td><td>
+               <input type=\"radio\"";
+       if (!$EXECUTION_COMMANDES_BASH) echo " checked";
+       echo " name=\"EXECUTION_COMMANDES_BASH\" value=\"FAUX\">FAUX<br>
+               <input type=\"radio\"";
+       if ($EXECUTION_COMMANDES_BASH) echo " checked";
+       echo " name=\"EXECUTION_COMMANDES_BASH\" value=\"VRAI\">VRAI 
(uniquement sur système GNU/Linux)<br>
+             </td></tr>
+             <tr><td>$sfichier_temporaire</td><td><input type=\"text\" 
name=\"fichier_temporaire\" value=\"$fichier_temporaire\" size=\"40\"></td></tr>
+             <tr><td>$simagepourcarte</td><td><input type=\"text\" 
name=\"imagepourcarte\" value=\"$imagepourcarte\" size=\"40\"></td></tr>
+             <tr><td>$sdirvpopmail</td><td><input type=\"text\" 
name=\"dirvpopmail\" value=\"$dirvpopmail\" size=\"40\"></td></tr>
+             <tr><td>$sfichier_temporaire</td><td><input type=\"text\" 
name=\"fichier_temporaire\" value=\"$fichier_temporaire\" size=\"40\"></td></tr>
+             ";
+       echo "<tr><td align=center colspan=2>
+             <input type=\"submit\" name=\"Envoyer\" value=\"$envoyer\">
+             </td></tr></table></form>\n";
+     }
+   }
+   echo "</td></tr>\n";
+   if ($stop)
+     break;
+ 
    break; // Pour sortir du while.
  }
***************
*** 1295,1299 ****
  echo "$verrouiller</b></h3>";
  
! if ($operation==$ietape || !$stop)
  {
    echo $avertissementverrouillage;
--- 1307,1316 ----
  echo "$verrouiller</b></h3>";
  
! if ($operation==$ietape && $saisie==1)
! {
!   if (enregistreconfig("verrou_config", "TRUE"))
!     echo $verrouilleok;
! }
! elseif ($operation==$ietape || !$stop)
  {
    echo $avertissementverrouillage;
***************
*** 1307,1316 ****
          <input type=\"submit\" value=\"$verrouiller\">
          </form>\n";
- }
- 
- if ($operation==$ietape && $saisie==1)
- {
-   enregistreconfig("verrou_config", TRUE);
-   echo $verrouilleok;
  }
  
--- 1324,1327 ----

Index: constantes.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/constantes.inc.php,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -r1.23 -r1.24
*** constantes.inc.php  15 Feb 2003 23:41:28 -0000      1.23
--- constantes.inc.php  16 Feb 2003 21:49:55 -0000      1.24
***************
*** 26,30 ****
  // ATTENTION : Une fois la configuration achevée, la ligne suivante doit être
  // dé-commentée (. Cela peut se faire à partir du script config.php.
! //$verrou_config=1;
  
  // Langage, language, idioma
--- 26,30 ----
  // ATTENTION : Une fois la configuration achevée, la ligne suivante doit être
  // dé-commentée (. Cela peut se faire à partir du script config.php.
! //$verrou_config=TRUE;
  
  // Langage, language, idioma
***************
*** 57,61 ****
  
  // Gestion des usagers
! $fichier_temporaire="/tmp/php_temp"; // N'est normalement plus utilisé dans 
usagers.php
  $imagepourcarte="images/indiqued_2.png"; // Est utilisé dans print.php, c'est 
ce qui figure sur la carte d'usager
  
--- 57,61 ----
  
  // Gestion des usagers
! $fichier_temporaire="/tmp/php_temp"; // utilisé dans usagers.php
  $imagepourcarte="images/indiqued_2.png"; // Est utilisé dans print.php, c'est 
ce qui figure sur la carte d'usager
  

Index: dateheure.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/dateheure.inc.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** dateheure.inc.php   9 Feb 2003 22:42:08 -0000       1.10
--- dateheure.inc.php   16 Feb 2003 21:49:55 -0000      1.11
***************
*** 81,85 ****
  function datetodate($date)
  {
!   return date("d", strtotime($date))." ".nomMois(date("m", 
strtotime($date)))." ".date("Y", strtotime($date));
  }
  
--- 81,85 ----
  function datetodate($date)
  {
!   return jourSemaine(date("w", strtotime($date)))." ".date("d", 
strtotime($date))." ".nomMois(date("m", strtotime($date)))." ".date("Y", 
strtotime($date));
  }
  

Index: fr.lang.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/fr.lang.inc.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** fr.lang.inc.php     15 Feb 2003 23:41:28 -0000      1.7
--- fr.lang.inc.php     16 Feb 2003 21:49:55 -0000      1.8
***************
*** 30,34 ****
  $choixlangue="Choix de la langue";
  $choisirlangue="Choisir la langue";
! $enregistrementlangue="La langue préférée a été enregistrée";
  $pasdroitsecritureconstantes="<p>Impossible d'ouvrir le fichier 
constantes.inc.php en écriture.</p>
            <p>Vérifier les permissions pour l'utilisateur dont se sert le 
serveur apache.</p>
--- 30,34 ----
  $choixlangue="Choix de la langue";
  $choisirlangue="Choisir la langue";
! $enregistrementlangue="La langue préférée a été enregistrée";  
  $pasdroitsecritureconstantes="<p>Impossible d'ouvrir le fichier 
constantes.inc.php en écriture.</p>
            <p>Vérifier les permissions pour l'utilisateur dont se sert le 
serveur apache.</p>
***************
*** 98,101 ****
--- 98,127 ----
  $vousavezlesdroits="Vous avez tous les droits pour effectuer des 
modifications.";
  $ilfautconnecterstru="Il faut se connecter en tant que structure.";
+ $autresparametres="Confguration des autres paramètres importants";
+ $sdir_fontes_ttf="Dossier dans lequel se trouvent les fichiers des polices 
[true type].<br>
+       En principe, il s'agit du même dossier que celui des scripts de 
l'application.<br>
+       Sur certains serveurs, le dossier doit être absolu, à partir de la 
racine du serveur, et se termine par [/].<br>
+       Par exemple : [/var/www/html/epnadmin/] ou [c:\apache\epnadmin\].";
+ $sdir_tmp_images="Dossier temporaire dans lequel l'utilisateur du serveur 
apache doit avoir les droits d'écriture, et se termine par [/].<br>
+       C'est utilisé pour créer des fichiers temporaires utiles en particulier 
lors de la création de fichiers graphiques.<br>
+       Par exemple : [/tmp/] ou [c:\\windows\\temp\\].";
+ $surl_epnadmin="Adresse internet (URL) de base de l'application EPNadmin, 
telle qu'elle pourrait être saisie dans un navigateur.<br>
+       Commençant par [http://] et terminant par [/].<br>
+       Par exemple : [http://localhost/epnadmin/] ou 
[http://serveur.domaine.pays/epnadmin].";;
+ $sEXECUTION_COMMANDES_BASH="Autorise l'exécution des commandes 'bash' sur le 
serveur qui héberge le site.
+       Ce n'est valable que si le serveur fonctionne avec un système 
GNU/Linux.<br>
+       Cela sert pour créer les comptes des usagers, des comptes FTP pour 
l'hébergement des sites internet,
+       pour la gestion des sous-domaines de courriels et les comptes de 
courriel.<br>
+       Si la variable est fixée à [VRAI], il faut s'assurer d'autre part que 
l'utilisateur apache ait les droits d'exécution, via la commande [sudo],
+       de certaines commandes. En général, cela est fait grâce au fichier 
[/etc/sudoers]. Seul l'administrateur du serveur peut accorder ces 
autorisations.<br>
+       En cas de doute, indiquer [FAUX].<br>
+       <i>En attendant une configuration utilisant openLDAP...</i>";
+ $sfichier_temporaire="Chemin et fichier temporaire accessible en lecture et 
en écriture par l'utilisateur apache.<br>
+       Par exemple : [/tmp/temp_epnadmin] ou 
[c:\\windows\\temp\\epnadmin.tmp].<br>
+       Sert lors des changements de mots de passe des usagers et des comptes 
FTP.";
+ $simagepourcarte="Fichier image au format PNG, relatif à l'URL qui figurera 
sur la carte d'usagers produite.<br>
+       Par exemple : [images/mascotte.png].";
+ $sdirvpopmail="Chemin absolu dans lequel se trouvent les commandes de gestion 
des courriels vpopmail (le cas échéant).<br>
+       Par exemple : [/usr/sbin].";
  
  // configuration.php

Index: index.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/index.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** index.php   5 Jan 2003 20:34:01 -0000       1.7
--- index.php   16 Feb 2003 21:49:55 -0000      1.8
***************
*** 45,49 ****
  else
    $titr = "Mon compte personnel";
! $datemaj="05 janvier 2003";
  require("entete.inc.php");
  echo "\n";
--- 45,49 ----
  else
    $titr = "Mon compte personnel";
! $datemaj="16 février 2003";
  require("entete.inc.php");
  echo "\n";
***************
*** 61,70 ****
  
  // Affichage des prochaines sessions accessibles
! /*echo "<hr>
        <table align=center bgcolor=\"".COULEUR_PARCOURS."\">
        <tr><td align=center><font size=\"+2\">Les initiations auxquelles je 
peux m'inscrire</font></td></tr>
            <tr><td align=center>\n";
! afficheParcours($id_usager, "accessible");
! echo "</td></tr></table>\n";*/
  
  // Affichage des prochaines réservations en accès individuel
--- 61,70 ----
  
  // Affichage des prochaines sessions accessibles
! echo "<hr>
        <table align=center bgcolor=\"".COULEUR_PARCOURS."\">
        <tr><td align=center><font size=\"+2\">Les initiations auxquelles je 
peux m'inscrire</font></td></tr>
            <tr><td align=center>\n";
! afficheSessionsAccessibles($id_usager, "accessible");
! echo "</td></tr></table>\n";
  
  // Affichage des prochaines réservations en accès individuel

Index: inscription_session.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/inscription_session.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** inscription_session.php     15 Feb 2003 23:41:28 -0000      1.16
--- inscription_session.php     16 Feb 2003 21:49:55 -0000      1.17
***************
*** 113,117 ****
           </form>
           </table>\n";
! }
  
  switch($operation)
--- 113,119 ----
           </form>
           </table>\n";
! } // function formInscriptionSession
! 
! // Début de la page
  
  switch($operation)
***************
*** 129,141 ****
          <input type=\"hidden\" name=\"id_session\" value=\"$id_session\">
          <input type=\"hidden\" name=\"id_usagerv\" value=\"$id_usager\">
!         <b><font color=\"#FF0000\">Suis-je certain(e) de vouloir m'inscrire à 
la session d'initiation du ";
    $res = recherche("sessions", "id", $id_session);
    $session = mysql_fetch_object($res);
!   echo datetodate($session->date);
!   echo " ?</font></b></td></tr>
          <tr><td align=center><input type=\"submit\" name=\"Ajouter\" 
value=\"Oui, je m'inscris\">
          </form></td></tr></table>\n"; // '
    break;
! 
  case 33 :
    if ($is_ident=="structure" && PARCOURS_AUTRES>="w")
--- 131,155 ----
          <input type=\"hidden\" name=\"id_session\" value=\"$id_session\">
          <input type=\"hidden\" name=\"id_usagerv\" value=\"$id_usager\">
!         <b>Suis-je certain(e) de vouloir m'inscrire à la session d'initiation 
?</b>";
    $res = recherche("sessions", "id", $id_session);
    $session = mysql_fetch_object($res);
!   if ($session->id_initiation)
!   {
!     $res2 = recherche("initiations", "id", $session->id_initiation);
!     $initiation=mysql_fetch_object($res2);
!     echo "<br><b>$initiation->initiation</b>";
!   }
!   else
!     echo "<br><b>$session->nom_session</b>";
!   echo "<br>du ".datetodate($session->date);
!   echo " de ".datetoheure($session->debut);
!   echo " à ".datetoheure($session->fin);
!   echo "<br> à ".localisation($session->id_localisation);
!   echo " avec ".$session->animateur;
!   echo "</td></tr>
          <tr><td align=center><input type=\"submit\" name=\"Ajouter\" 
value=\"Oui, je m'inscris\">
          </form></td></tr></table>\n"; // '
    break;
! /* LD : Normalement, il n'y en a plus besoin, grâce à la réécriture de case 
31...
  case 33 :
    if ($is_ident=="structure" && PARCOURS_AUTRES>="w")
***************
*** 153,158 ****
    }
    ajouteInitiation($id_usagerv, $id_initiation);
! 
  case 31 : // Ajout final
    if (PARCOURS_AUTRES<"w" && (PARCOURS_MOI<"w" || $id_usager!=$id_usagerv))
    {
--- 167,175 ----
    }
    ajouteInitiation($id_usagerv, $id_initiation);
! */
  case 31 : // Ajout final
+ // C'est tellement brouillon, cette programmation, que je recommence tout.  
LD 16/02/2003
+ 
+   // Est-ce qu'on a le droit d'être ici
    if (PARCOURS_AUTRES<"w" && (PARCOURS_MOI<"w" || $id_usager!=$id_usagerv))
    {
***************
*** 161,312 ****
    }
  
!    $res = recherche("sessions", "id", $id_session);
!    $session = mysql_fetch_object($res);
!    
!    if ($session->inscriptionauto!='oui')
!    {
!      echo "<p>Les inscriptions à cette session ne sont pas 
automatiques</p>\n";
!      break;
!    }
!    if ($session->id_initiation>0)
!    {
!      $res2=recherche("initiations", "id", $session->id_initiation);
!      $initiation=mysql_fetch_object($res2);
!      $dansparcours=($initiation->dans_parcours=='oui');
!    }
!    else
!      $dansparcours=FALSE;
! 
!    if ($dansparcours)
!    {
!       $req = "SELECT * FROM parcours
!                       WHERE id_initiation=$session->id_initiation AND 
id_usager=$id_usagerv";
!       $res = executeRequete($req);
  
!       if (!$parcours=mysql_fetch_object($res))
!       if ($is_ident!="structure")
!       {  // l'initiation ne fait pas partie du parcours pédagogique
!           echo "<form name=\"form\" method=\"post\" action=\"parcours.php\">
!                 <input type=\"hidden\" name=\"operation\" value=\"32\">
!                 <input type=\"hidden\" name=\"id_session\" 
value=\"$id_session\">
!                 <input type=\"hidden\" name=\"id_initiation\" 
value=\"$session->id_initiation\">
!                 <input type=\"hidden\" name=\"id_usagerv\" 
value=\"$id_usagerv\">
!                 <table align=center border=1><tr><td>
!                 Cette initiation ne fait pas partie de mon parcours 
pédagogique</td></tr>
!                 <tr><td><b>Veux-je ajouter l'initiation à mon parcours 
pédagogique ?</b></td></tr>
!                 <tr><td align=center><input type=\"submit\" name=\"Ajouter\" 
value=\"Oui, je veux l'y ajouter\"></td></tr>
!                 </table></form>\n";       //'
!           break;
!       }
!       else
!           echo "<p>Cette initiation ne fait pas partie du parcours 
pédagogique de l'usager.</p>\n";
!    }
! /*   if (accessible($id_usager, $session->id_initiation))
!      debug("Accessible");
!    else
!      debug("Pas accessible"); */
! 
!    if ($parcours)
!    if (!$confirmeInscription && !accessible($id_usagerv, 
$session->id_initiation))
!    {
!       echo "<p>Vous ne pouvez pas vous inscrire à cette initiation</p>";
!       if ($parcours->id_session>0)
!       {
!          $session2 = trouveSession($parcours->id_session);
!          if ($parcours->etat=="effectué")
!             echo "<p>Vous avez déjà suivi cette initiation ";
!          elseif ($parcours->etat=="conseillé" || 
$parcours->etat=="indispensable")
!             echo "<p>Vous êtes déjà inscrit(e) à une session ";
!          echo "le ".datetodate($session2->date).".";
!       }
!       else
!       {
!          echo "<p>Vous devrez auparavent effectuer d'autres initiations pour 
tout comprendre.</p>\n";
!          echo "<p>Je veux voir ou modifier <a href=\"parcours.php\">mon 
parcours pédagogique personnel</a></p>\n";
!          echo "<p>Je veux voir ou mettre à jour <a 
href=\"positionnement.php\">mes compétences</a></p>\n";
!          echo "<p>Voir le <a href=\"table_horaire_session.php\">planning des 
sessions d'initiations</a></p>\n";
!       }
!       if ($is_ident=="structure")       // à revoir sans doute.
!       {
!          echo "<form name=\"form\" method=\"post\" action=\"$PHP_SELF\">
!                <input type=\"hidden\" name=\"operation\" value=\"33\">
!                <input type=\"hidden\" name=\"id_session\" 
value=\"$id_session\">
!                <input type=\"hidden\" name=\"id_initiation\" 
value=\"$session->id_initiation\">
!                <input type=\"hidden\" name=\"id_usagerv\" 
value=\"$id_usagerv\">
!                <table align=center>
!                <tr><td>L'usager ne peut normalement pas s'inscrire à cette 
session d'initiation.</td></tr>
!                <tr><td><b>L'inscrire quand même ?</b></td></tr>
!                <tr><td align=center><input type=\"submit\" name=\"Ajouter\" 
value=\"Oui, l'inscrire quand même.\"></td></tr>
!                </table>
!                </form>\n";          //'
!       }
!       break;
!    }
  
!    // TODO : il faudrait peut-être regarder si l'usager n'a pas dépassé son 
quota d'heures réservables.
  
!    // on regarde si la session n'est pas pleine
!    $req = "SELECT count(*) AS compte FROM parcours WHERE 
id_session=$id_session";
!    if ($res = executeRequete($req))
!    {
!       $nbparcours = mysql_fetch_object($res);
!       if ($nbparcours->compte >= nbmaxparticipants($id_session))
!       {
!         if ($is_ident!="structure")
          {
!           echo "<p>Désolé, il n'y a plus de place.</p>\n";
            break;
          }
!         else
!           echo "<p><b>Attention, la session est déjà pleine, il n'y a plus de 
place.</b></p>\n";
!       }
!    }
  
!    // la session est vraiment accessible ou alors on est administrateur
!    if (!$parcours)
!    {  // si jamais ce n'est toujours pas dans le parcours, on l'ajoute
!       $req = "INSERT INTO parcours (id_usager, id_initiation, id_session, 
etat) "
!            . "VALUES ($id_usagerv, $session->id_initiation, $id_session, 
\"conseillé\")";
!       executeRequete($req);
!       debug($req);
!    }
!    else  // inscription normale
!    {
!       // Si l'usager a déjà essayé d'effectuer la même initiation, on en crée 
une nouvelle
!       // comme ça on garde l'historique des retards, absences, etc.
!       if ($parcours)
!       {
!         $req = "INSERT INTO parcours (id_usager, id_initiation, id_session, 
etat) "
!              . "VALUES ($id_usagerv, $session->id_initiation, $id_session, 
\"conseillé\")";
!         if (!executeRequete($req))
!           debug("inscription_session.php : $req");
!       }
!       else // sinon, on adapte juste son parcours
        {
!         $req = "UPDATE parcours SET id_session=$id_session
!                     WHERE id_usager=$id_usager AND 
id_initiation=$session->id_initiation";
!         if (!executeRequete($req))
!           debug("inscription_session.php : $req");
        }
!    }
  
!    echo "<p>R&eacute;servation enregistr&eacute;e.</p>\n";
  
!    // Mise à jour du crédit de la personne
!    if ($session->id_initiation!='1')
!    {
!      $dureeSession = differenceHeure($session->debut, $session->fin);
!      $credit = resteCredit($id_usager, "activites_collectives", 
$dureeSession);
!      if ($credit<0)
!        echo "<p>Attention, pensez à vous munir d'un ticket lors de la 
session.</p>\n";
!      else
!        echo "<p>Votre crédit d'heures d'activités collectives a été réduit de 
".datetoheure($dureeSession)."</p>\n";
!    }
! 
!    if (!$isadmin)
!      echo "<hr><p>Je veux voir ou modifier <a href=\"parcours.php?$idu\">mon 
parcours pédagogique personnel</a></p>\n";
!    break;
  
  case 8: // annulation à confirmer
      $session=trouveSession($id_session);
  
--- 178,370 ----
    }
  
!   // Est-ce que la session existe
!   $req1="SELECT * FROM sessions WHERE id=\"$id_session\"";
!   $res1=executeRequete($req1);
!   if (!$session=mysql_fetch_object($res1))
!   {
!     echo "<p>Session pas retrouvée.</p>";
!     break;
!   }
  
!   // Est-ce que l'usager existe
!   $req2="SELECT * FROM usagers WHERE id=\"$id_usagerv\"";
!   $res2=executeRequete($req2);
!   if (!$usager=mysql_fetch_object($res2))
!   {
!     echo "<p>Usager pas retrouvé.</p>";
!     break;
!   }
  
!   // Est-ce que la session est ouverte aux inscriptions automatiques
!   if ($session->inscriptionauto!="oui")
!   {
!     echo "<p>La session n'est pas ouverte aux inscriptions automatiques.</p>";
!     break;
!   }
  
!   // Est-ce que la session fait partie d'un parcours ?
!   if ($session->id_initiation>0)
!   {
!     $req3="SELECT * FROM initiations WHERE id=$session->id_initiation";
!     $res3=executeRequete($req3);
!     $initiation=mysql_fetch_object($res3);
!     if ($initiation->dans_parcours=="oui")
!     {
!       // Est-ce que l'initiation fait partie du parcours de l'usager
!       $req4 = "SELECT * FROM parcours
!                       WHERE id_initiation=$session->id_initiation AND 
id_usager=$id_usagerv";
!       $res4 = executeRequete($req4);
!       if (!$parcours=mysql_fetch_object($res4))
!       {  // l'initiation ne fait pas partie du parcours pédagogique
!         echo "<p>Cette initiation ne fait pas partie de mon parcours 
pédagogique.<br>
!               Elle va y être ajoutée</p>\n";
!         if (PARCOURS_AUTRES<"w" && (PARCOURS_MOI<"w" || 
$id_usager!=$id_usagerv))
          {
!           echo $pasledroit;
            break;
          }
!         ajouteInitiation($id_usagerv, $id_initiation);
!       } // !$parcours
  
!       // Est-ce que la session est accessible,
!       if (! accessible($id_usagerv, $session->id_initiation))
!       { // non :
!          echo "<p>Vous devrez auparavent effectuer d'autres initiations pour 
tout comprendre.</p>\n";
!          echo "<p>Je veux voir la <a href=\"parcours.php?operation=6\">liste 
des initiations</a> auxquelles je peux m'inscrire.</p>\n";
!          echo "<p>Je veux voir ou modifier <a href=\"parcours.php\">mon 
parcours pédagogique</a> personnel.</p>\n";
!          echo "<p>Je veux voir ou mettre à jour <a 
href=\"positionnement.php\">mes compétences</a>.</p>\n";
!          break;
!       } // ! accessible
!     }  // $dans_parcours
!   }  // $id_initiation
! 
!   // Est-ce qu'il reste de la place
!   // on regarde si la session n'est pas pleine
!   // Combien sont inscrits ?
!   $req5 = "SELECT count(*) AS compte FROM parcours
!            WHERE id_session=$id_session";
!   if ($res5 = executeRequete($req5))
!   {
!     $nbparcours = mysql_fetch_object($res5);
!     if (($inscrirs=$nbparcours->compte) >= 
($nbmax=nbmaxparticipants($id_session)))
!     {
!       if ($is_ident!="structure" && $is_ident!="animateur")
        {
!         echo "<p>Désolé, il n'y a plus de place.</p>\n";
!         break;
        }
!       else
!         echo "<p><b>Attention, la session est déjà pleine ($inscrits/$nbmax),
!               il n'y a plus de place.</b></p>\n";
!     }
!   } // $res
  
!   // Est-ce que l'usager n'a pas dépassé son quota d'heures réservables
!   /* Pour le moment, le quota d'heures n'est pas valable pour les initiations.
!   $req1 = "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(fin)-TIME_TO_SEC(debut))) AS nb 
FROM utilisation_postes
!           WHERE id_usager='$id_usager' AND (date>CURRENT_DATE OR 
(date=CURRENT_DATE AND debut>=CURRENT_TIME))
!             AND etat<>'annulée' AND etat<>'non tenue'";
!   $res1 = executeRequete($req1);
!   if ($nbresa = mysql_fetch_object($res1)) // nombre d'heures déjà réservées
!     $nbresa = $nbresa->nb;
!   else
!     $nbresa = 0;
!   if ($nbresa=="") $nbresa=0;
!   // Nombre d'heures reservables
!   $nbhr=resteCredit($id_usager, "reservable");
!   if ($nbresa >= $nbhr)
!   {
!     echo "<p><b>Désolé, mais vous avez épuisé le nombre d'heures 
réservables.</b>
!           Veuillez contacter le personnel de l'espace.</p>\n";
!     break;
!   } */
  
!   // Est-ce que l'usager n'est pas déjà inscrit à cette session
!   $req8="SELECT * FROM parcours
!                 WHERE id_usager=$id_usagerv
!                   AND id_session=$session->id";
!   $res8=executeRequete($req8);
!   if (mysql_num_rows($res8))
!   {
!     echo "<p>Vous êtes déjà insrit(e) à cette session.</p>";
!     break;
!   }
! 
!   // Est-ce que l'usager n'est pas inscrit à une autre session en même temps
!   $req6="SELECT * FROM parcours
!                   LEFT JOIN sessions ON sessions.id=parcours.id_session
!                   WHERE id_usager=$id_usagerv
!                     AND date='$session->date'
!                     AND fin>'$session->debut' AND debut<'$session->fin'";
!   $res6=executeRequete($req6);
!   if (mysql_num_rows($res6))
!   {
!     echo "<p>Désolé, mais vous êtes déjà insrit(e) à une autre session au 
même moment.</p>";
!     break;
!   }
! 
!   // vérification que l'usager n'a pas déjà réservé à la même heure sur un 
poste
!   $req7 = "SELECT * FROM utilisation_postes
!             WHERE (etat<>'annulée')
!               AND (date='$session->date')
!               AND (debut<='$session->debut' AND '$session->debut'<fin)
!               AND id_usager=$id_usagerv";
!   $res7 = executeRequete($req7);
!   if (mysql_fetch_object($res7))
!   {
!     $mes.="<p>Désolé, mais vous avez déjà réservé un poste au même moment 
!</p>\n";
!     break;
!   }
! 
!   // Est-ce que l'usager n'est pas déjà inscrit à cette même initiation
!   if ($initiation)
!   {
!     $req11="SELECT * FROM parcours 
!                 LEFT JOIN sessions ON sessions.id=parcours.id_session
!                     WHERE id_usager=$id_usagerv AND date>=NOW()
!                       AND parcours.id_initiation=$session->id_initiation";
!     $res11=executeRequete($req11);
!     if (mysql_num_rows($res11))
!     {
!       echo "<p>Désolé, mais vous êtes déjà insrit(e) à la même initiation un 
autre jour.</p>";
!       break;
!     }
!   }
! 
!   // Est-ce que la session fait partie de la table parcours
!   // C'est juste pour savoir si'il faut créer l'enregistrement ou le modifier.
!   $req9 = "SELECT * FROM parcours
!                    WHERE id_initiation=$session->id_initiation
!                      AND id_usager=$id_usagerv
!                      AND (id_session=0 OR id_session IS NULL)";
!   $res9 = executeRequete($req9);
!   if (mysql_fetch_object($res9))
!   {
!     $req10="UPDATE parcours SET id_session=$id_session
!              WHERE id_usager=$id_usagerv
!                AND id_initiation=$session->id_initiation
!                AND (id_session=0 OR id_session IS NULL)";
!   }
!   else  // Ca ne fait pas partie du parcours
!   {     // Il faut alors créer l'enregistrement
!     $req10="INSERT INTO parcours (id_usager, id_initiation, id_session, etat)
!                     VALUES ($id_usagerv, $session->id_initiation, 
$id_session, 'conseillé')";
!   }
! 
!   if (executeRequete($req10))
!     echo "<p>Je suis inscrit(e) à la session.</p>\n";
!   else
!     echo "<p>L'inscription n'a pas fonctionné.</p>\n";
! 
!   if ($is_ident=="usager" || $is_ident=="animateur")
!     echo "<hr><p>Je veux voir ou modifier <a href=\"parcours.php?$idu\">mon 
parcours pédagogique personnel</a></p>\n";
!   break;
  
  case 8: // annulation à confirmer
+   if (PARCOURS_AUTRES<"w" && PARCOURS_MOI<"w")
+   {
+     echo $pasledroit;
+     break;
+   }
      $session=trouveSession($id_session);
  
***************
*** 320,330 ****
      else
      { // Il s'agit d'une session programmée plus tard
!       
        echo "<form name=\"form\" method=\"post\" action=\"$PHP_SELF\">
              <table align=center border=1>
!             <tr><td><b><font color=\"#FF0000\">Suis-je sûr(e) de vouloir 
annuler
!                      mon inscription à l'initiation du ";
!       echo datetodate($session->date);
!       echo " ?</font></b></td></tr>
            <tr><td align=center>
               <input type=\"submit\" name=\"Annuler\" value=\"Oui, j'annule 
mon inscription\">
--- 378,402 ----
      else
      { // Il s'agit d'une session programmée plus tard
! 
        echo "<form name=\"form\" method=\"post\" action=\"$PHP_SELF\">
              <table align=center border=1>
!             <tr><td align=center><b>Suis-je sûr(e) de vouloir annuler
!                      mon inscription à l'initiation ?</b>";
!       $res = recherche("sessions", "id", $id_session);
!       $session = mysql_fetch_object($res);
!       if ($session->id_initiation)
!       {
!         $res2 = recherche("initiations", "id", $session->id_initiation);
!         $initiation=mysql_fetch_object($res2);
!         echo "<br><b>$initiation->initiation</b>";
!       }
!       else
!         echo "<br><b>$session->nom_session</b>";
!       echo "<br>du ".datetodate($session->date);
!       echo " de ".datetoheure($session->debut);
!       echo " à ".datetoheure($session->fin);
!       echo "<br> à ".localisation($session->id_localisation);
!       echo " avec ".$session->animateur;
!       echo "</td></tr>
            <tr><td align=center>
               <input type=\"submit\" name=\"Annuler\" value=\"Oui, j'annule 
mon inscription\">
***************
*** 338,376 ****
  
  case 81: // annulation confirmée
!     $res=recherche("usagers", "id", $id_usager);
!     if ($usager = mysql_fetch_object($res))
!     {
!         // on retrouve la session pour calculer la durée
!         $res = recherche("sessions", "id", $id_session);
!         $session = mysql_fetch_object($res);
!         // on efface l'inscription du parcours
!         $req = "UPDATE parcours SET id_session=NULL 
!               WHERE id_session=$id_session AND id_usager=$id_usager";
!         if ($res3 = executeRequete($req))
!         {  // la modification s'est bien passée
!            echo "<p>L'inscription à la session d'initiation est 
annulée.</p>\n";
!            // calcul de la durée de la session pour remettre le crédit d'heure
!            $dureeSession = differenceHeure($session->debut, $session->fin);
!          // On regarde s'il s'agit d'une session de découverte
!          if ($session->id_initiation!='1')
!          {
!              $credit = resteCredit($id_usager, "activites_collectives", 
$dureeSession);
!              if ($credit>0)
!              {
!                echo "<p>Il vous reste $credit heures dans votre crédit 
d'heures d'activités collectives</p>\n";
!              }
!          }
!         }
!         else
!            echo "<p>Impossible d'annuler</p>\n";
  
!         if ($isadmin)
!           echo "<p><a href=\"table_horaire_session.php\">Voir le planning des 
sessions d'initiation</a>.</p>\n";
!         else
!           echo "<p><a href=\"parcours.php\">Voir mon parcours pédagogique 
personnel</a>.</p>\n";
      }
      else
!       echo "<p>Usager introuvable, impossible d'annuler l'inscription à la 
session</p>\n";
!     break;
  
  case 11 : // Traitement de la mise à jour de la liste des participants
--- 410,468 ----
  
  case 81: // annulation confirmée
!   if (PARCOURS_AUTRES<"w" && PARCOURS_MOI<"w")
!   {
!     echo $pasledroit;
!     break;
!   }
!   $res=recherche("usagers", "id", $id_usager);
!   if ($usager = mysql_fetch_object($res))
!   {
!     // on retrouve la session pour calculer la durée
!     $res = recherche("sessions", "id", $id_session);
!     $session = mysql_fetch_object($res);
! 
!     if ($session->id_initiation!=0)
!     { // Il faut regarder si ça fait partie du parcours.
!       $res2=recherche("initiations", "id", $session->id_initiation);
!       $initiation=mysql_fetch_object($res2);
!       if ($initiation->dans_parcours)
!       {
!         // on retire l'inscription en laissant l'initiation dans le parcours
!         $reqsuppr = "UPDATE parcours SET id_session=NULL
!                  WHERE id_session=$id_session AND id_usager=$id_usager";
!       }
!     }
!     if (! $reqsuppr)
!     { // Ca ne faisait pas partie du parcours, il faut supprimer la ligne
!       $reqsuppr = "DELETE FROM parcours
!                WHERE id_session=$id_session AND id_usager=$id_usager";
!     }
  
!     if ($res3 = executeRequete($reqsuppr))
!     {  // la modification s'est bien passée
!       echo "<p>L'inscription à la session d'initiation est annulée.</p>\n";
!       // calcul de la durée de la session pour remettre le crédit d'heure
!       $dureeSession = differenceHeure($session->debut, $session->fin);
!       // On regarde s'il s'agit d'une session de découverte
!       if ($session->id_initiation!='1')
!       {
!           $credit = resteCredit($id_usager, "activites_collectives", 
$dureeSession);
!           if ($credit>0)
!           {
!             echo "<p>Il vous reste $credit heures dans votre crédit d'heures 
d'activités collectives</p>\n";
!           }
!       }
      }
      else
!       echo "<p>Impossible d'annuler</p>\n";
! 
!     if ($is_ident!="usager")
!       echo "<p><a href=\"table_horaire_session.php\">Voir le planning des 
sessions d'initiation</a>.</p>\n";
!     else
!       echo "<p><a href=\"parcours.php\">Voir mon parcours pédagogique 
personnel</a>.</p>\n";
!   }
!   else
!     echo "<p>Usager introuvable, impossible d'annuler l'inscription à la 
session</p>\n";
!   break;
  
  case 11 : // Traitement de la mise à jour de la liste des participants
***************
*** 472,476 ****
  
  default :  // autre cas, affichage de la liste des inscrits
!   if ($is_ident=="structure")
    {
      echo "<table align=center bgColor=\"".COULEUR_SESSION."\">";
--- 564,568 ----
  
  default :  // autre cas, affichage de la liste des inscrits
!   if (SESSIONS_AUTRES>="r")
    {
      echo "<table align=center bgColor=\"".COULEUR_SESSION."\">";
***************
*** 496,507 ****
    } //if $id_structure
    else
!     echo "<p>Mais, qu'est-ce que vous faites là ? Vous ne devriez pas vous y 
trouver, on n'est pas au pays de merveilles...</p>\n";
    break;
  
  }  // switch
  
! if ($id_session && PARCOURS_AUTRES>"r")
    echo "<p><a href=\"?id_session=$id_session\">Afficher la liste des 
<b>inscrits</b></a></p>\n";
! if (SESSIONS>"~")
  {
    echo "<p><a href=\"table_horaire_session.php?date=$date\">Afficher le 
<b>planning</b></a><br>\n";
--- 588,599 ----
    } //if $id_structure
    else
!     echo $pasledroit;
    break;
  
  }  // switch
  
! if ($id_session && PARCOURS_AUTRES>="r")
    echo "<p><a href=\"?id_session=$id_session\">Afficher la liste des 
<b>inscrits</b></a></p>\n";
! if (SESSIONS>"~" && ($is_ident=="structure" || $is_ident=="animateur"))
  {
    echo "<p><a href=\"table_horaire_session.php?date=$date\">Afficher le 
<b>planning</b></a><br>\n";

Index: parcours.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/parcours.inc.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** parcours.inc.php    15 Feb 2003 23:41:28 -0000      1.5
--- parcours.inc.php    16 Feb 2003 21:49:55 -0000      1.6
***************
*** 31,36 ****
  //require_once("tableaux.inc.php");             // Concernant l'affichage 
transposé d'un tableau
  //require_once("siteweb.inc.php");              // concernant les pages perso 
des usagers et les sites web des structures
! //require_once("dateheure.inc.php");            // concernant la manipulation 
des heures et des dates, formulaire, conversion...
! //require_once("structures.inc.php");           // concernant les structures
  require_once("initiations.inc.php");          // concernant les initiations 
et les thèmes
  //require_once("parcours.inc.php");             // concernant les parcours 
des usagers et leur positionnement
--- 31,36 ----
  //require_once("tableaux.inc.php");             // Concernant l'affichage 
transposé d'un tableau
  //require_once("siteweb.inc.php");              // concernant les pages perso 
des usagers et les sites web des structures
! require_once("dateheure.inc.php");            // concernant la manipulation 
des heures et des dates, formulaire, conversion...
! require_once("structures.inc.php");           // concernant les structures
  require_once("initiations.inc.php");          // concernant les initiations 
et les thèmes
  //require_once("parcours.inc.php");             // concernant les parcours 
des usagers et leur positionnement
***************
*** 39,46 ****
  function recherchePositionnement($id_usager, $id_initiation="")
  {
!         $req = "SELECT * FROM positionnement WHERE id_usager=$id_usager";
!         if ($id_initiation!="") $req.=" AND id_initiation=$id_initiation";
!         $res = executeRequete($req);
!         return $res;
  }
  
--- 39,46 ----
  function recherchePositionnement($id_usager, $id_initiation="")
  {
!   $req = "SELECT * FROM positionnement WHERE id_usager=$id_usager";
!   if ($id_initiation!="") $req.=" AND id_initiation=$id_initiation";
!   $res = executeRequete($req);
!   return $res;
  }
  
***************
*** 50,106 ****
  function rechercheParcours($id_usager)
  {
!         $req = "SELECT * FROM parcours
!                 LEFT JOIN initiations ON initiations.id=parcours.id_initiation
!                 WHERE id_usager=$id_usager ORDER BY id_theme, niveau";
!         return executeRequete($req);
  }
  
  function trouveParcours($id_usager, $id_initiation)
  {
!         $req = "SELECT * FROM parcours WHERE id_usager=$id_usager AND 
id_initiation=$id_initiation";
!         return mysql_fetch_object(executeRequete($req));
  }
  
  function accessible($id_usager, $id_initiation)
  {
!    // On recherche les initiations dépendantes.
!    $initiation = trouveInitiation($id_initiation);
!    $prerequis = $initiation->prerequis;
!    if ($prerequis)
!    {
!       $req = "SELECT * FROM initiations WHERE id IN ($prerequis)";
!       $res1 = executeRequete($req);
!       while ($requis = mysql_fetch_object($res1))
!       {
!          if ($parcours = trouveParcours($id_usager, $requis->id))
!             if (($parcours->etat!="effectué")  & 
($parcours->etat!="conseillé")) return false;
        }
!    }
!    $parcours = trouveParcours($id_usager, $id_initiation);
!    if ($parcours->etat=="effectué") return false;
!    return true;
  }
  
  function indispensable($id_usager, $id_initiation)
  {
!         if ($id_initiation==1) return true;
!         $req="SELECT * FROM parcours LEFT JOIN initiations ON 
parcours.id_initiation=initiations.id WHERE id_usager=$id_usager";
!         $res=executeRequete($req);
!         while ($enr = mysql_fetch_object($res))
!         {
!                 if ($enr->prerequis!="")
!                 {
!                         $tableau = explode(",", $enr->prerequis);
!                         for ($i=0; $i<count($tableau); $i++)
!                         {
!                                 if ($tableau[$i]==$id_initiation)
!                                         return true;
!                         }
!                 }
!         }
! 
!         $parc=trouveParcours($id_usager, $id_initiation);
!         if ($parc->etat=="effectué") return true;
!         return false;
  }
  
--- 50,142 ----
  function rechercheParcours($id_usager)
  {
!   $req = "SELECT * FROM parcours
!           LEFT JOIN initiations ON initiations.id=parcours.id_initiation
!           WHERE id_usager=$id_usager ORDER BY id_theme, niveau";
!   return executeRequete($req);
  }
  
  function trouveParcours($id_usager, $id_initiation)
  {
!   $req = "SELECT * FROM parcours WHERE id_usager=$id_usager AND 
id_initiation=$id_initiation";
!   return mysql_fetch_object(executeRequete($req));
  }
  
  function accessible($id_usager, $id_initiation)
  {
!   // On recherche les initiations dépendantes.
!   $resinit=recherche("initiations", "id", $id_initiation);
!   $initiation = mysql_fetch_object($resinit);
! 
!   // Est-ce que l'initiation a déjà été faire ?
!   $parcours = trouveParcours($id_usager, $id_initiation);
!   if ($parcours->etat=="effectué")
!     return FALSE; // car c'est bizarre de faire deux fois la même 
initiation...
! 
!   if ($initiation->prerequis)
!   {  // Il y a des dépendances.
!     $prerequis = explode(",",$initiation->prerequis);
!     $npr=0;
!     while (($prou=str_replace("|", ",", $prerequis[$npr]))>"")
!     {  
!       $req1 = "SELECT * FROM initiations WHERE id IN ($prou)";
!       $res1 = executeRequete($req1);
!       $fait=FALSE;
!       // On va chercher pour chaque initiation requis, si on l'a faite ou 
alors qu'on a le niveau
!       // TODO : On peut se demander s'il ne faudrait pas ne tenir compte que 
du niveau...
!       while (!$fait && $requis=mysql_fetch_object($res1))
!       {  // S'il y en a au moins un (parmis les OU), c'est suffisant
!         if ($parcours = trouveParcours($id_usager, $requis->id))
!           if ($parcours->etat=="effectué" || $parcours->etat=="conseillé")
!             $fait=TRUE;
!         if (!$fait)
!         { // l'usager a les connaissances ?
!           $reqpos="SELECT * FROM positionnement
!                         WHERE id_usager=$id_usager
!                           AND id_initiation=$requis->id";
!           $respos=executeRequete($reqpos);
!           if ($posit=mysql_fetch_object($respos))
!             if ($posit->niveau!="débutant(e)")
!               $fait=TRUE;    // oui
!         }
        }
!       if (!$fait) // S'il n'y en a aucun, c'est pas suffisant
!         return FALSE;
!       $npr++;
!     } // while $prou
!   }
!   return TRUE;
  }
  
  function indispensable($id_usager, $id_initiation)
  {
!   $parc=trouveParcours($id_usager, $id_initiation);
!   if ($parc->etat=="effectué")
!     return TRUE;
!   //if ($id_initiation==1)
!   //  return true;
!   
!   // On scrute tout le parcours pour voir si l'initiation y figure comme 
indispensable.
!   $req="SELECT * FROM parcours
!                  LEFT JOIN initiations ON 
parcours.id_initiation=initiations.id
!                 WHERE id_usager=$id_usager";
!   $res=executeRequete($req);
!   while ($enr = mysql_fetch_object($res))
!   {
!     if ($enr->prerequis!="")
!     {
!       $tableauET = explode(",", $enr->prerequis);
!       for ($iET=0; $iET<count($tableauET); $iET++)
!       {
!         $tableauOU = explode("|", $tableauET[$iET]);
!         $resultat=FALSE;
!         for ($iOU=0; $iOU<count($tableauOU); $iOU++)
!           if ($tableauOU[$iOU]==$id_initiation)
!             $resultat=TRUE;
!       }
!       if ($resultat)
!         return TRUE;
!     }
!   }
!   return FALSE;
  }
  
***************
*** 108,112 ****
  {
      // On regarde si l'initiation n'est pas déjà dans le parcours 
pédagogique...
!     $req = "SELECT id_usager FROM parcours 
              WHERE id_usager=$id_usager AND id_initiation=$id_initiation";
      $res2 = executeRequete($req);
--- 144,148 ----
  {
      // On regarde si l'initiation n'est pas déjà dans le parcours 
pédagogique...
!     $req = "SELECT id_usager FROM parcours
              WHERE id_usager=$id_usager AND id_initiation=$id_initiation";
      $res2 = executeRequete($req);
***************
*** 189,359 ****
  {
  global $info, $programmer, $deprogrammer, $rien, $retirer;
!    switch ($mode)
!    {
!    case "programmé" :
!      $req1 = "SELECT * FROM parcours
!                LEFT JOIN initiations ON initiations.id=parcours.id_initiation
!                LEFT JOIN sessions ON sessions.id=parcours.id_session
!               WHERE id_usager=$id_usager
!                 AND parcours.id_session>0
!                 AND sessions.date>=NOW()
!               ORDER BY id_theme, niveau";
!      $res1 = executeRequete($req1);
!      break;
!    case "accessible" :
!      $req1 = "SELECT * FROM parcours
!                LEFT JOIN initiations ON initiations.id=parcours.id_initiation
!                LEFT JOIN sessions ON 
sessions.id_initiation=parcours.id_initiation
                WHERE id_usager=$id_usager
!                 AND parcours.id_session=0
                  AND sessions.date>=NOW()
                ORDER BY id_theme, niveau";
!      $res1 = executeRequete($req1);
!    default :
!      $res1 = rechercheParcours($id_usager);
!      break;
!    }
!    echo "<table border=1 align=center>\n";
!    while ($parcours=mysql_fetch_object($res1))
!    if (accessible($id_usager, $parcours->id_initiation) || 
$mode!="accessible")
!    {
!      if ($mode=="accessible")
!      {
!        $req5="SELECT * FROM sessions WHERE date>=NOW() AND 
id_initiation=$parcours->id_initiation";
!        $res5=executeRequete($req5);
!        $affiche=(mysql_num_rows($res5));
!      }
!      else
!        $affiche=TRUE;
!      if ($affiche)
!      {
!         echo "<tr>\n";
!         $res = recherche("themes", "id", $parcours->id_theme);
!         $theme = mysql_fetch_object($res);
!         if ($parcours->id_initiation>0)
!         {
!           echo "<td><img src=\"$theme->url_image\" alt=\"$theme->theme\" 
border=0 height=20></td>\n";
!           echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">
!                     $parcours->initiation</a></td>\n";
!         }
!         else
!         {
!           if ($parcours->id_session!=0)
!             $session=trouveSession($parcours->id_session);
!           echo "<td>Hors parcours</td>\n";
!           echo "<td>$session->nom_session</td>\n";
!         }
!         //echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">
!         //          $info</a></td>\n";
!         if ($mode!="accessible")
!         {
!           echo "<td>";
!           if ($parcours->id_session!=0)
!             $session=trouveSession($parcours->id_session);
!           switch ($parcours->etat)
!           {
!           case "indispensable" :
!           case "conseillé" :
!             echo " <b>$parcours->etat</b>";
!             if ($parcours->id_session!=0)
!             {
!                 $usager = trouveUsager($id_usager);
!                 echo " prévue le ".datetodate($session->date)." à 
".datetoheure($session->debut)." avec $session->animateur";
!                 echo "</td><td><a 
href=\"inscription_session.php?operation=8&id_session=$parcours->id_session&id_usager=$id_usager\">$deprogrammer</a>\n";
!             }
!             else
!             {
!                 echo " mais pas encore programmée";
!                 if (accessible($id_usager, $parcours->id_initiation))
!                     echo "</td><td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>\n";
!                 else
!                   echo "</td><td>$rien</td>\n";
!             }
!             break;
!           case "effectué" :
!             echo " <b>effectuée</b> le ".datetodate($session->date)." à 
".datetoheure($session->debut)." avec $session->animateur\n";
!             break;
!           case "absent" :
!             echo " programmée le ".datetodate($session->date)." à 
".datetoheure($session->debut)." avec $session->animateur <b>mais vous n'êtes 
pas venu(e)</b>";
!             if (accessible($id_usager, $parcours->id_initiation))
!                     echo "</td><td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!             break;
!           case "probleme" :
!             echo " programmée le ".datetodate($session->date)." à 
".datetoheure($session->debut)." avec $session->animateur <b>mais tout n'a pas 
marché cela aurait</b>";
!             if (accessible($id_usager, $parcours->id_initiation))
!                     echo "</td><td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!             break;
!           case "en retard" :
!             echo " programmée le ".datetodate($session->date)." à 
".datetoheure($session->debut)." avec $session->animateur <b>mais je suis 
arrivé(e) en retard et n'ai pas pu tout suivre</b>";
!             if (accessible($id_usager, $parcours->id_initiation))
!                 echo "</td><td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!             break;
!           }  // fin du switch état
!           if (!indispensable($id_usager, $parcours->id_initiation))
!             echo "<td><a 
href=\"parcours.php?operation=2&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$retirer</td>\n";
            else
!             echo "<td>$rien</td>\n";
!         }
!         else
!         { // On recherche les sessions accessibles
!           echo "<td><table>";
!           while ($session=mysql_fetch_object($res5))
!           {
!             echo "<tr><td>";
!             echo datetodate($session->date)." à 
".localisation($session->id_localisation)." avec ".$session->animateur;
!             echo "</td><td>";
!             echo " <a 
href=\"inscription_session.php?operation=3&id_session=$session->id&id_usager=$id_usager\">$programmer</a>";
!             echo "</td></tr>\n";
!           }
!           echo "</table>\n";
!         }
  
!         echo "</tr>\n";
!      }
!    }
!     
!   if ($mode=="accessible")
    {
!     // Affichage maintenant des sessions qui ne font pas partie du parcours, 
mais à inscription automatique
!     $req="SELECT * FROM sessions
!                   WHERE date>=NOW() AND inscriptionauto='oui'";
!     $res=executeRequete($req);
!     while ($session=mysql_fetch_object($res))
      {
!       if ($session->id_initiation!=0)
        {
!         $res2=recherche("initiations", "id", $session->id_iniation);
!         $initiation=mysql_fetch_object($res2);
!         $affiche=($initiation->dans_parcours=='non');
        }
        else
!         $affiche=TRUE;
!       if ($affiche)
!       {
!         echo "<tr>";
!         if ($initiation->id_theme)
!         {
!           $res = recherche("themes", "id", $session->id_theme);
!           $theme = mysql_fetch_object($res);
!           echo "<td><img src=\"$theme->url_image\" alt=\"$theme->theme\" 
border=0 height=20></td>\n";
!         }
!         else
!           echo "<td>Hors parcours</td>\n";
  
!         if ($session->id_initiation!=0)
!           echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$session->id_initiation&id_usager=$id_usager\">
!                   $initiation->initiation</a></td>\n";
!         else
!           echo "<td>$session->nom_session</td>";
! 
!         echo "<td><table width=\"100%\"><tr><td>";
!         echo datetodate($session->date)." à 
".localisation($session->id_localisation)." avec ".$session->animateur;
!         echo "</td><td>";
!         echo " <a 
href=\"inscription_session.php?operation=3&id_session=$session->id&id_usager=$id_usager\">$programmer</a>";
!         echo "</tr></table></td></tr>\n";
!       } // if affiche
!     } // while session
!   } // mode accessible
  
    echo "</table>\n";
  }
--- 225,408 ----
  {
  global $info, $programmer, $deprogrammer, $rien, $retirer;
!   switch ($mode)
!   {
!   case "programmé" :
!     $req1 = "SELECT *, parcours.etat AS etat FROM parcours
!               LEFT JOIN initiations ON initiations.id=parcours.id_initiation
!               LEFT JOIN sessions ON sessions.id=parcours.id_session
                WHERE id_usager=$id_usager
!                 AND parcours.id_session IS NOT NULL
                  AND sessions.date>=NOW()
                ORDER BY id_theme, niveau";
!     $res1 = executeRequete($req1);
!     break;
!   default :
!     $res1 = rechercheParcours($id_usager);
!     break;
!   }               
! 
!   $yena=FALSE;
!   echo "<table border=1 align=center>\n";
!   while ($parcours=mysql_fetch_object($res1))
!   {               
!     $yena=TRUE;
!     echo "<tr>\n";
!     $res = recherche("themes", "id", $parcours->id_theme);
!     $theme = mysql_fetch_object($res);
!     if ($parcours->id_initiation>0)
!     {
!       echo "<td><img src=\"$theme->url_image\" alt=\"$theme->theme\" border=0 
height=20></td>\n";
!       echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">
!                 $parcours->initiation</a></td>\n";
!     }
!     else
!     {
!       if ($parcours->id_session!=0)
!       {
!         $resc=recherche("sessions", "id", $parcours->id_session);
!         $session=mysql_fetch_object($resc);
!       }
!       echo "<td>Hors parcours</td>\n";
!       echo "<td>$session->nom_session</td>\n";
!     }
!     //echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">
!     //          $info</a></td>\n";
!     echo "<td>";
!     if ($parcours->id_session!=0)
!     {
!       $resb=recherche("sessions", "id", $parcours->id_session);
!       $session=mysql_fetch_object($resb);
!     }
!     $information=" le <b>".datetodate($session->date)." à 
".datetoheure($session->debut)."</b> avec $session->animateur à 
".localisation($session->id_localisation);
!     
!     switch ($parcours->etat)
!     {
!     case "indispensable" :
!     case "conseillé" :
!       echo " <b>$parcours->etat</b>";
!       if ($parcours->id_session!=0)
!       {
!           $usager = trouveUsager($id_usager);
!           echo " prévue $information";
!           echo "</td>\n<td><a 
href=\"inscription_session.php?operation=8&id_session=$parcours->id_session&id_usager=$id_usager\">$deprogrammer</a>\n";
!       }
!       else
!       {
!           echo " mais pas encore programmée";
!           if (accessible($id_usager, $parcours->id_initiation))
!               echo "</td>\n<td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>\n";
            else
!             echo "</td><td>$rien</td>\n";
!       }
!       break;
!     case "effectué" :
!       echo " <b>effectuée</b> $information\n";
!       echo "<td>$rien</td>\n";
!       break;
!     case "absent" :
!       echo " programmée $information <b>mais je ne suis pas venu(e)</b>";
!       if (accessible($id_usager, $parcours->id_initiation))
!         echo "</td>\n<td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!       else
!         echo "<td>$rien</td>\n";
!       break;
!     case "probleme" :
!       echo " programmée $information <b>mais tout n'a pas marché cela 
aurait</b>";
!       if (accessible($id_usager, $parcours->id_initiation))
!         echo "</td>\n<td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!       else
!         echo "<td>$rien</td>\n";
!       break;
!     case "en retard" :
!       echo " programmée $information <b>mais je suis arrivé(e) en retard et 
n'ai pas pu tout suivre</b>";
!       if (accessible($id_usager, $parcours->id_initiation))
!         echo "</td><td><a 
href=\"parcours.php?operation=6&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$programmer</a>";
!       else
!         echo "<td>$rien</td>\n";
!       break;
!     }  // fin du switch état
!     if (!indispensable($id_usager, $parcours->id_initiation))
!       echo "<td><a 
href=\"parcours.php?operation=2&id_initiation=$parcours->id_initiation&id_usager=$id_usager\">$retirer</td>\n";
!     else
!       echo "<td>$rien</td>\n";
! 
!     echo "</tr>\n";
!   } // while
! 
!   if (!$yena)
!     echo "<tr><td>Je ne suis inscrit(e) à aucune session pour le 
moment.</td></tr>\n";
!   echo "</table>\n";
! }
  
! function afficheSessionsAccessibles($id_usager)
! {
! global $info, $programmer, $deprogrammer, $rien, $retirer;
!    echo "<table border=1 align=center>\n";
!   // Affichage maintenant des sessions qui ne font pas partie du parcours, 
mais à inscription automatique
!   $req="SELECT * FROM sessions
!                 WHERE date>=NOW() AND inscriptionauto='oui'";
!   $res=executeRequete($req);
! 
!   $yena=FALSE;
!   while ($session=mysql_fetch_object($res))
    {
!     $affiche=TRUE;
! 
!     // Est-ce que c'est prévu pour être dans le parcours
!     if ($session->id_initiation!=0)
      {
!       $res2=recherche("initiations", "id", $session->id_initiation);
!       $initiation=mysql_fetch_object($res2);
!       $affiche&=($initiation->dans_parcours!='non');
! 
!       // Est-ce que l'usager n'est pas déjà inscrit dans cette initiation ?
!       $req3="SELECT * FROM parcours
!                      WHERE id_usager=$id_usager
!                        AND id_initiation=$session->id_initiation
!                        AND id_session IS NOT NULL
!                        AND (etat='conseillé' OR etat='indispensable' OR 
etat='effectué')";
!       $res3=executeRequete($req3);
!       $affiche&=(! mysql_fetch_object($res3));
!       
!       // Est-ce que la session est accessible, compte-tenu de son parcours et 
son niveau
!       $affiche&=(accessible($id_usager, $session->id_initiation));
!     }
! 
!     // Est-ce que l'usager n'est pas déjà inscrit à cette session ?
!     $req4="SELECT * FROM parcours
!                    WHERE id_usager=$id_usager
!                      AND id_session=$session->id";
!     $res4=executeRequete($req4);
!     $affiche&=(! mysql_fetch_object($res4));
! 
!     if ($affiche)
!     {
!       $yena=TRUE;
!       echo "<tr>";
!       if ($initiation->id_theme)
        {
!         $res5 = recherche("themes", "id", $initiation->id_theme);
!         $theme = mysql_fetch_object($res5);
!         echo "<td><img src=\"$theme->url_image\" alt=\"$theme->theme\" 
border=0 height=20></td>\n";
        }
        else
!         echo "<td>Hors parcours</td>\n";
! 
!       if ($session->id_initiation!=0)
!         echo "<td><a 
href=\"parcours.php?operation=1&id_initiation=$session->id_initiation&id_usager=$id_usager\">
!                 $initiation->initiation</a></td>\n";
!       else
!         echo "<td>$session->nom_session</td>";
  
!       echo "<td><table width=\"100%\"><tr><td>";
!       echo datetodate($session->date)." à 
".localisation($session->id_localisation)." avec ".$session->animateur;
!       echo "</td><td>";
!       echo " <a 
href=\"inscription_session.php?operation=3&id_session=$session->id&id_usager=$id_usager\">$programmer</a>";
!       echo "</tr></table></td></tr>\n";
!     } // if affiche
!   } // while session
  
+   if (!$yena)
+     echo "<tr><td>Désolé, il n'y a aucune session programmée qui pourrait 
vous convenir pour le moment.</td></tr>\n";
    echo "</table>\n";
  }

Index: parcours.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/parcours.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** parcours.php        15 Feb 2003 23:41:28 -0000      1.6
--- parcours.php        16 Feb 2003 21:49:55 -0000      1.7
***************
*** 23,26 ****
--- 23,32 ----
  
  require_once("header.inc.php");
+ if (!defined("FCT_PARCOURS"))
+ {
+   echo $fctnonactive;
+   exit;
+ }
+ 
  require_once("constantes.inc.php");             // définition des constantes
  //require_once("fonctions.inc.php");              // concernant des fonctions 
transversales inclassables
***************
*** 105,112 ****
  
  case 7 : // Afficher toutes les sessions accessibles par l'usager à venir
!     // TODO 
!     afficheParcours($id_usager, $mode="accessible");
!     echo "<hr>";
!     break;
  }
        //<hr>
--- 111,122 ----
  
  case 7 : // Afficher toutes les sessions accessibles par l'usager à venir
! // Affichage des prochaines sessions accessibles
!   echo "<table align=center bgcolor=\"".COULEUR_PARCOURS."\">
!         <tr><td align=center><font size=\"+2\">Les initiations auxquelles je 
peux m'inscrire</font></td></tr>
!             <tr><td align=center>\n";
!   afficheSessionsAccessibles($id_usager, "accessible");
!   echo "</td></tr></table>\n";
!   echo "<hr>";
!   break;
  }
        //<hr>

Index: reservations.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/reservations.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** reservations.php    5 Jan 2003 20:34:01 -0000       1.10
--- reservations.php    16 Feb 2003 21:49:55 -0000      1.11
***************
*** 126,130 ****
          $result = executeRequete($query);
          echo "<p>Le lapin a été posé.</p>\n";
!         $res = recherche("utilisations_postes", "id", $id_utilisation);
          $resa = mysql_fetch_object($res);
  
--- 126,130 ----
          $result = executeRequete($query);
          echo "<p>Le lapin a été posé.</p>\n";
!         $res = recherche("utilisation_postes", "id", $id_utilisation);
          $resa = mysql_fetch_object($res);
  
***************
*** 576,578 ****
  echo "</body></html>\n";
  require("footer.inc.php");
! ?>
\ No newline at end of file
--- 576,578 ----
  echo "</body></html>\n";
  require("footer.inc.php");
! ?>

Index: session.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/session.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** session.php 11 Feb 2003 22:21:01 -0000      1.10
--- session.php 16 Feb 2003 21:49:55 -0000      1.11
***************
*** 35,39 ****
  //require_once("reservations.inc.php");         // concernant les 
réservations des postes en accès individuel par des usagers
  //require_once("tableaux.inc.php");             // Concernant l'affichage 
transposé d'un tableau
! //require_once("siteweb.inc.php");              // concernant les pages perso 
des usagers et les sites web des structures
  require_once("dateheure.inc.php");            // concernant la manipulation 
des heures et des dates, formulaire, conversion...
  require_once("structures.inc.php");           // concernant les structures
--- 35,39 ----
  //require_once("reservations.inc.php");         // concernant les 
réservations des postes en accès individuel par des usagers
  //require_once("tableaux.inc.php");             // Concernant l'affichage 
transposé d'un tableau
! require_once("siteweb.inc.php");              // concernant les pages perso 
des usagers et les sites web des structures
  require_once("dateheure.inc.php");            // concernant la manipulation 
des heures et des dates, formulaire, conversion...
  require_once("structures.inc.php");           // concernant les structures
***************
*** 48,52 ****
  <?
  $titr = "Gestion des sessions";
! $datemaj="10 février 2003";
  require("entete.inc.php");
  
--- 48,52 ----
  <?
  $titr = "Gestion des sessions";
! $datemaj="16 février 2003";
  require("entete.inc.php");
  
***************
*** 217,220 ****
--- 217,242 ----
  }
  
+ function descriptionSession($id_session, $lien=FALSE)
+ {
+ global $PHP_SELF, $url_epnadmin;
+   $res=recherche("sessions", "id", $id_session);
+   $session=mysql_fetch_object($res);
+   if ($session->id_initiation)
+   {
+     $res=recherche("initiations", "id", $session->id_initiation);
+     $initiation=mysql_fetch_object($res);
+   }
+   $description="\nIntitulé : ".$session->nom_session.$initiation->initiation;
+   $description.="\nEtat : ".$session->etat;
+   $description.="\nLieu : ".localisation($session->id_localisation);
+   $description.="\nDate : ".datetodate($session->date)." de 
".datetoheure($session->debut)." à ".datetoheure($session->fin);
+   $description.="\nAnimateur : ".$session->animateur;
+   $description.="\nOrganisé par : ".structure($session->id_structure);
+   if ($session->commentaires>"")
+     $description.="\nCommentaires : ".nl2br($session->commentaires);
+   if ($lien)
+     $description.="\nLien : 
".$url_epnadmin."session.php?operation=2&id_session=$session->id\n";
+   return $description;
+ } // function descriptionSession
  
  // Début du contenu de la page
***************
*** 250,262 ****
    else
    {
!     echo "<table align=center bgColor=\"".COULEUR_SESSION."\"><tr><td 
align=center>
            <form name=\"form\" method=\"post\" action=\"$PHP_SELF\">
              <input type=\"hidden\" name=\"id_session\" value=\"$id_session\">
              <input type=\"hidden\" name=\"operation\" value=\"32\">
!           <b>Suis-je sûr(e) de vouloir annuler la session";
!     echo " du ".datetodate($session->date);
!     echo " à ".localisation($session->id_localisation);
! 
!     echo " ?</b></td></tr>
            <tr><td align=center><input type=\"submit\" name=\"Annuler\" 
value=\"Oui, j'annule la session.\">
          </form></td></tr></table>\n";   //'
--- 272,282 ----
    else
    {
!     echo "<table align=center bgColor=\"".COULEUR_SESSION."\"><tr><td>
            <form name=\"form\" method=\"post\" action=\"$PHP_SELF\">
              <input type=\"hidden\" name=\"id_session\" value=\"$id_session\">
              <input type=\"hidden\" name=\"operation\" value=\"32\">
!           <b>Suis-je sûr(e) de vouloir annuler la session ?</b>";
!     echo nl2br(descriptionSession($id_session));
!     echo "</td></tr>
            <tr><td align=center><input type=\"submit\" name=\"Annuler\" 
value=\"Oui, j'annule la session.\">
          </form></td></tr></table>\n";   //'
***************
*** 266,270 ****
  case 32:  // Efface final
    $res=recherche("sessions", "id", $id_session);
!   $session=mysql_fetch_object($res);
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
--- 286,294 ----
  case 32:  // Efface final
    $res=recherche("sessions", "id", $id_session);
!   if (!$session=mysql_fetch_object($res))
!   {
!     echo "session introuvable";
!     break;
!   }
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
***************
*** 278,284 ****
      break;
    }
    $query = "DELETE FROM sessions WHERE id='$id_session'";
!   $result = mysql_query($query);
!   echo "Session effacée.";
    break;
  
--- 302,332 ----
      break;
    }
+ 
+   // On enregistre la description
+   $corps = "La session ci-dessous a été supprimée.\n"
+           .descriptionSession($id_session, FALSE);
+ 
+   // On efface l'enregistrement
    $query = "DELETE FROM sessions WHERE id='$id_session'";
!   if (mysql_query($query))
!   {
!     echo "Session effacée.";
!     // On prépare l'envoi d'un courriel
!     $objet = "Suppression d'une session.\n";
!     $a = courriel("structures", $session->id_structure);
!     if ($session->id_structure != $localisation->id_structure)
!       $a.=", ".courriel("structures", $localisation->id_structure);
!     if ($session->id_animateur>0)
!       $a.=", ".courriel("animateurs", $session->id_animateur);
!     $de = courriel("structures", $id_structure);
! 
!     if (mail($a, $objet, $corps, "From: ".$de))
!     {
!       echo "<p>Le courriel ci dessous a été envoyé aux structures impliquées 
et à l'animateur.</p>\n";
!       echo nl2br($corps);
!     }
!   }
!   else
!     echo "<p>Impossible d'effacer la session.</p>\n";
    break;
  
***************
*** 300,304 ****
    }
    $res=recherche("sessions", "id", $id_session);
!   $session=mysql_fetch_object($res);
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
--- 348,359 ----
    }
    $res=recherche("sessions", "id", $id_session);
!   if (!$session=mysql_fetch_object($res))
!   {
!     echo "session introuvable";
!     break;
!   }
!   // On enregistre la description
!   $origine = descriptionSession($id_session, FALSE);
! 
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
***************
*** 327,336 ****
              WHERE id='$id_session'";
    if (executeRequete($query))
      echo "Session modifiée.";
    break;
  
  case 2:   // Formulaire modification
    $res=recherche("sessions", "id", $id_session);
!   $session=mysql_fetch_object($res);
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
--- 382,417 ----
              WHERE id='$id_session'";
    if (executeRequete($query))
+   {
      echo "Session modifiée.";
+     // On prépare l'envoi d'un courriel
+     if ($session->etat!=$etat)
+       $objet="Changement d'état d'une session en ".$etat;
+     else
+       $objet = "Modification d'une session.\n";
+     $a = courriel("structures", $session->id_structure);
+     if ($session->id_structure != $localisation->id_structure)
+       $a.=", ".courriel("structures", $localisation->id_structure);
+     if ($session->id_animateur>0)
+       $a.=", ".courriel("animateurs", $session->id_animateur);
+     $de = courriel("structures", $id_structure);
+     $corps = "La session suivante :\n".descriptionSession($id_session, TRUE).
+              "\nRemplace celle ci-dessous :\n".$origine;
+     if (mail($a, $objet, $corps, "From: ".$de))
+     {
+       echo "<p>Le courriel ci dessous a été envoyé aux structures impliquées 
et à l'animateur.</p>\n";
+       echo nl2br($corps);
+     }
+   }
+   else
+     echo "Impossible de modifier la session";
    break;
  
  case 2:   // Formulaire modification
    $res=recherche("sessions", "id", $id_session);
!   if (!$session=mysql_fetch_object($res))
!   {
!     echo "session introuvable";
!     break;
!   }
    $res=recherche("localisations", "id", $session->id_localisation);
    $localisation=mysql_fetch_object($res);
***************
*** 388,393 ****
                        '$nom_session','$nbparticipants','$etat',
                        '$animateur', '$id_animateurv', 
'$id_structurev','$commentaires' , '$inscriptionauto')";
!   if ($result = executeRequete($query))
      echo "Session ajoutée.";
    break;
  
--- 469,497 ----
                        '$nom_session','$nbparticipants','$etat',
                        '$animateur', '$id_animateurv', 
'$id_structurev','$commentaires' , '$inscriptionauto')";
!   if (executeRequete($query))
!   {                  
!     $id_session=mysql_insert_id();
!     $res=recherche("sessions", "id", $id_session);
!     if (!$session=mysql_fetch_object($res))
!       echo "pas retrouvée";
      echo "Session ajoutée.";
+     // On prépare l'envoi d'un courriel
+     if ($etat=="pré-réservation")
+       $objet="Pré-réservation pour une session";
+     else
+       $objet = "Ajout d'une session.\n";
+     $a = courriel("structures", $session->id_structure);
+     if ($session->id_structure != $localisation->id_structure)
+       $a.=", ".courriel("structures", $localisation->id_structure);
+     if ($session->id_animateur>0)
+       $a.=", ".courriel("animateurs", $session->id_animateur);
+     $de = courriel("structures", $id_structure);
+     $corps = "Création de la session suivante 
:\n".descriptionSession($id_session, TRUE)."\n";
+     if (mail($a, $objet, $corps, "From: ".$de))
+     {
+       echo "<p>Le courriel ci dessous a été envoyé aux structures impliquées 
et à l'animateur.</p>\n";
+       echo nl2br($corps);
+     }
+   }
    break;
  
***************
*** 512,519 ****
  
  echo "<hr>\n";
!   echo "<p><a href=\"table_horaire_session.php?$idu\">Afficher le 
<b>planning</b></a></p>\n";
!   echo "<p><a href=\"$PHP_SELF?operation=4&$idu\">Liste des sessions à venir 
(pour <b>inscrire</b> du monde)</a></p>\n";
!   echo "<p><a href=\"$PHP_SELF?operation=5&$idu\">liste des sessions passées 
(pour en <b>faire le bilan</b> de participation et le bilan 
pédagogique)</a></p>\n";
!   echo "<p><a href=\"$PHP_SELF?operation=1&$idu\">Ajouter une <b>nouvelle</b> 
session</a></p>\n";
  
  include("basdepage.inc.php");
--- 616,627 ----
  
  echo "<hr>\n";
! if (SESSIONS_AUTRES>="r" || SESSIONS_MOI>="r")
! {
!   echo "<p><a href=\"table_horaire_session.php\">Afficher le 
<b>planning</b></a></p>\n";
!   echo "<p><a href=\"$PHP_SELF?operation=4\">Liste des sessions à venir (pour 
<b>inscrire</b> du monde)</a></p>\n";
!   echo "<p><a href=\"$PHP_SELF?operation=5\">liste des sessions passées (pour 
en <b>faire le bilan</b> de participation et le bilan pédagogique)</a></p>\n";
! }
! if (SESSIONS_AUTRES>="w" || SESSIONS_MOI>="w")
!   echo "<p><a href=\"$PHP_SELF?operation=1\">Ajouter une <b>nouvelle</b> 
session</a></p>\n";
  
  include("basdepage.inc.php");

Index: sessions.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/sessions.inc.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** sessions.inc.php    15 Feb 2003 23:41:28 -0000      1.5
--- sessions.inc.php    16 Feb 2003 21:49:56 -0000      1.6
***************
*** 93,96 ****
--- 93,98 ----
        echo " de ".datetoheure($session->debut);
        echo " à ".datetoheure($session->fin);
+       echo " à ".localisation($session->id_localisation);
+       echo " avec ".$session->animateur;
        echo "</td><td><a 
href=\"inscription_session.php?operation=3&id_session=$session->id&id_usager=$id_usager\">
              $programmer</a></td></tr>\n";

Index: siteweb.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/siteweb.inc.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** siteweb.inc.php     28 Jan 2003 23:13:45 -0000      1.8
--- siteweb.inc.php     16 Feb 2003 21:49:56 -0000      1.9
***************
*** 23,26 ****
--- 23,47 ----
  
  //                                                                            
 -
+ //  Courriels                                                                 
 -
+ //                                                                            
 -
+ 
+ // La fonction ci-dessous envoie un courriel à quelqu'un, s'il existe
+ // à partir de la table demandée et de l'id
+ // Par exemple courriel("structures", 5) rendra l'adresse courriel
+ // du correspondant de la structure 5.
+ // Valable pour usager, structure, animateur
+ function courriel($table, $id)
+ {
+   $res=recherche($table, "id", $d);
+   $entite=mysql_fetch_object($res);
+   if ($entite->courriel>"")
+     $courriel=$entite->courriel;
+   else
+     $courriel=FALSE;
+   return $courriel;
+ }
+ 
+ 
+ //                                                                            
 -
  //  Sites web et pages perso                                                  
 -
  //                                                                            
 -

Index: structures.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/structures.inc.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** structures.inc.php  11 Feb 2003 22:21:01 -0000      1.7
--- structures.inc.php  16 Feb 2003 21:49:56 -0000      1.8
***************
*** 47,51 ****
  }
  
! function localisation($id_localisation, $image=false)
  {
    $res=recherche("localisations", "id", $id_localisation);
--- 47,51 ----
  }
  
! function localisation($id_localisation, $image=FALSE)
  {
    $res=recherche("localisations", "id", $id_localisation);
***************
*** 58,62 ****
    if ($image && $local->description!="")
      $retour.="<br><font size=\"-1\">$local->description</font>";
!   return $retour."\n";
  }
  
--- 58,62 ----
    if ($image && $local->description!="")
      $retour.="<br><font size=\"-1\">$local->description</font>";
!   return $retour;
  }
  

Index: table_horaire.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/table_horaire.php,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** table_horaire.php   15 Feb 2003 23:41:28 -0000      1.12
--- table_horaire.php   16 Feb 2003 21:49:56 -0000      1.13
***************
*** 49,53 ****
  <?
  $titr = "Gestion du planning de l'utilisation des postes";
! $datemaj="27 janvier 2003";
  require("entete.inc.php");
  
--- 49,53 ----
  <?
  $titr = "Gestion du planning de l'utilisation des postes";
! $datemaj="16 février 2003";
  require("entete.inc.php");
  
***************
*** 183,187 ****
             {     // pas de réservation
               // On regarde s'il est encore temps
!              if (strtotime($datev." ".$heure) >= strtotime("+ 1 hour")  || 
($id_ident="structure" && UTILISATIONS>"~"))
               {
                 if (UTILISATIONS_AUTRES>="w" || UTILISATIONS_MOI>="w")
--- 183,187 ----
             {     // pas de réservation
               // On regarde s'il est encore temps
!              if (strtotime($datev." ".$heure) >= strtotime("+ 1 hour")  || 
($id_ident=="structure" && UTILISATIONS>"~"))
               {
                 if (UTILISATIONS_AUTRES>="w" || UTILISATIONS_MOI>="w")
***************
*** 193,197 ****
               }
               else
!              $tableau[$i][$j]["param"]=" bgcolor=\"#B3B3B3\"";
               $j++;
               $heure=date("H:i:00", strtotime("+".$unitehoraire." minutes", 
strtotime($heure)));
--- 193,197 ----
               }
               else
!                $tableau[$i][$j]["param"]=" bgcolor=\"#B3B3B3\"";
               $j++;
               $heure=date("H:i:00", strtotime("+".$unitehoraire." minutes", 
strtotime($heure)));
***************
*** 267,271 ****
       mysql_free_result($res2);
  
!      //$sens="transposé"; //normal ou transposé";
       Affiche_tableau($tableau, $sens);
       unset($tableau);
--- 267,274 ----
       mysql_free_result($res2);
  
!      /*if ($sens=="normal")
!        $sens="transposé"; //normal ou transposé";
!      else
!        $sens="normal"; */
       Affiche_tableau($tableau, $sens);
       unset($tableau);

Index: table_horaire_session.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/table_horaire_session.php,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** table_horaire_session.php   11 Feb 2003 22:21:01 -0000      1.17
--- table_horaire_session.php   16 Feb 2003 21:49:56 -0000      1.18
***************
*** 234,238 ****
       {
         $tableau[$i][$j]["param"]=""; // width=\"110\"";
!        $tableau[$i][$j]["contenu"]="<b>".jourSemaine(date("w", 
strtotime($datecur)))." ".datetodate($datecur)."</b>";
         $j++;
  
--- 234,238 ----
       {
         $tableau[$i][$j]["param"]=""; // width=\"110\"";
!        $tableau[$i][$j]["contenu"]="<b>".datetodate($datecur)."</b>";
         $j++;
  

Index: tableaux.inc.php
===================================================================
RCS file: /cvsroot/epnadmin/epnadmin/tableaux.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** tableaux.inc.php    15 Feb 2003 23:41:28 -0000      1.4
--- tableaux.inc.php    16 Feb 2003 21:49:56 -0000      1.5
***************
*** 136,143 ****
    echo "<input type=\"radio\" name=\"sens\" value=\"normal\"";
     if ($sens=="normal") echo " checked";
!    echo ">postes/heures<br>
          <input type=\"radio\" name=\"sens\" value=\"transposé\"";
     if ($sens=="transposé") echo " checked";
!    echo ">heures/postes\n";
  /*   echo "<td><table><tr><td><input type=\"radio\" name=\"sens\" 
value=\"normal\"";
     if ($sens=="normal") echo " checked";
--- 136,143 ----
    echo "<input type=\"radio\" name=\"sens\" value=\"normal\"";
     if ($sens=="normal") echo " checked";
!    echo ">heures en colonnes<br>
          <input type=\"radio\" name=\"sens\" value=\"transposé\"";
     if ($sens=="transposé") echo " checked";
!    echo ">heures en lignes\n";
  /*   echo "<td><table><tr><td><input type=\"radio\" name=\"sens\" 
value=\"normal\"";
     if ($sens=="normal") echo " checked";





reply via email to

[Prev in Thread] Current Thread [Next in Thread]