epnadmin-fr
[Top][All Lists]
Advanced

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

[Epnadmin-fr] CVS: epnadmin animateur.php,NONE,1.1 animateurs-horaires.p


From: Loïc Dayot
Subject: [Epnadmin-fr] CVS: epnadmin animateur.php,NONE,1.1 animateurs-horaires.php,NONE,1.1 animateurs.inc.php,NONE,1.1
Date: Wed, 07 May 2003 13:30:56 -0400

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

Added Files:
        animateur.php animateurs-horaires.php animateurs.inc.php 
Log Message:
Ajout des fichiers pour la gestion des animateurs (proposition).



--- NEW FILE ---
<?php
/*
    Copyright (C) 2001, 2002 Bertand Pallie, Loïc Dayot - Mairie de Pierrefitte 
(93)

    EPNadmin - Version 0.6

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    http://epnadmin.pierrefitte93.fr/
*/

require_once("header.inc.php");   
require_once("constantes.inc.php");             // définition des constantes
if (! defined("FCT_ANIMATEURS"))
{
  echo $fctnonactive;
  exit;
}
require_once("fonctions.inc.php");              // concernant des fonctions 
transversales inclassables
require_once("mysql.inc.php");                  // concernant mysql
require_once("sessions.inc.php");             // concernant les sessions et 
initiations
require_once("animateurs.inc.php");              // concernant la gestion des 
animateurs
require_once("reservations.inc.php");         // concernant les réservations 
des postes en accès individuel par des animateurs
//require_once("tableaux.inc.php");             // Concernant l'affichage 
transposé d'un tableau
//require_once("siteweb.inc.php");              // concernant les pages perso 
des animateurs 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 
animateurs et leur positionnement

echo "<html><head><title>$sanimateurs - epnadmin</title>
  <meta http-equiv=\"Content-Type\" content=\"text/html; 
charset=iso-8859-1\"><body>";

$titr = $is_ident=="animateur" ? $sanimateurtitre1 : $sanimateurtitre2;
define("COULEUR", COULEUR_ANIMATEURS);
$datemaj="2 mars 2003";
require("entete.inc.php");

// Formulaire d'édition d'un animateur
function form_nouvel_animateur($operation=0)
{
global $sanimateurnouv1,$sNom,$sPrenom,$sconfirmer;  
   echo "<form name=\"form_nouvel_animateur\" method=\"post\" 
action=\"animateurs.php\">";
   echo "<input type=\"hidden\" name=\"operation\" value=\"$operation\">
         <table border=\"1\" align=\"center\">
         <tr><td>$sPrenom : </td>
             <td><input type=\"text\" name=\"prenom\" value=\"\" 
tabindex=1></td>
             <td>$sNom :</td>
             <td><input type=\"text\" name=\"nom\" value=\"\" 
tabindex=2></td></tr>";

   echo "<tr><td colspan=4 align=center>
            <input type=\"submit\" name=\"Modifier\" 
value=\"$sconfirmer\"></td></tr>
         </table>
         </form>\n";
}

// Formulaire d'édition d'un animateur
function form_animateur($id_animateur, $operation=0, $nom="", $prenom="", 
$login="")
{
        global $tarifs, $PHP_SELF, $id_structure,
                
$sNom,$sPrenom,$sconfirmer,$sinchangeable,$sMotdepasse,$slemodifier,
                $sAdresse,$sTelephones,$sIdentifiant,$sCourrieldefaut, 
$sVille,$smasculin,$sfeminin,
                
$sDatedenaissance,$sSexe,$sStructuredeprovenance,$scommentaireanimateur,
                
$starif,$sanimateurcarteimprimee,$sanimateurcarteprete,$sanimateurcarteattente,$sanimateurcarte,
                $sheurereservable,$saccesindividuel,$sactivcollectives,
                
$sheurecredit,$sdepartabonnement,$sfinabonnement,$scommentairecredit,
                $sconfirmer;
        // on retrouve les informations personnelles
        $res=recherche("animateurs", "id", $id_animateur);
        $animateur=$res->fetchrow(DB_FETCHMODE_OBJECT);    // si l'animateur 
est inconnu, ce sera un formulaire vide
        // on retrouve les information de crédits d'heures et abonnements
/*      $res=recherche("credits", "id_animateur", $id_animateur);
        $credit=$res->fetchrow(DB_FETCHMODE_OBJECT);    // si l'animateur est 
inconnu, ce sera un formulaire vide*/

        echo "<form name=\"form_animateur\" method=\"post\" 
action=\"animateurs.php\">";
        if ($animateur)
                echo "<input type=\"hidden\" name=\"id_animateur\" 
value=\"$id_animateur\">";
        echo "<input type=\"hidden\" name=\"operation\" value=\"$operation\">
                <table border=\"1\" align=\"center\">
                <tr><td>$sPrenom : </td>
                <td><input tabindex=1 type=\"text\" name=\"prenom\" 
value=\"$animateur->prenom$prenom\"></td>
                <td>$sNom :</td>
                <td><input tabindex=2 type=\"text\" name=\"nom\" 
value=\"$animateur->nom$nom\"></td></tr>
                <tr><td>$sIdentifiant :<br></td>
                <td>";
        
        if ($animateur)
                echo "$animateur->login ($sinchangeable)";
        else
                echo "<input tabindex=3 type=\"text\" name=\"login\" 
value=\"$login\">";
        echo "</td>";
        if (!$animateur)
                echo "<td>$sMotdepasse :
                        <br>$sMotdepasse (2) :</td>
                        <td><input tabindex=4 type=\"password\" 
name=\"motdepasse\" value=\"$animateur->motdepasse\" tabindex=1>
                        <br><input tabindex=5 type=\"password\" 
name=\"motdepasse2\" value=\"$animateur->motdepasse\">
                        </td>";
        else
                echo "<td>$sMotdepasse :</td>
                        <td><a 
href=\"$PHP_SELF?id_animateur=$id_animateur&operation=6\">$slemodifier</a></td>\n";
        echo "</tr>
                <tr><td>$sAdresse :</td>
                <td><textarea tabindex=6 name=\"adresse\" cols=\"30\" 
rows=\"2\">$animateur->adresse</textarea></td>
                <td>$sTelephones : </td>
                <td><input tabindex=8 type=\"text\" name=\"telephone\" 
value=\"$animateur->telephone\"></td></tr>
                <tr><td>$sVille</td>
                <td><input tabindex=7 type=\"text\" name=\"ville\" 
value=\"$animateur->ville\"></td>
                <td>$sCourrieldefaut</b></td>
                <td><input tabindex=9 type=\"text\" name=\"courriel\" 
value=\"$animateur->courriel\"></td>
                </tr><tr>
                <td>$sDatedenaissance : </td>
                <td>";
        choixDate($animateur->naissance, "naissance", TRUE);
        echo "<td>$sSexe :</td><td>
                <select name='sexe'>
                <option></option>
                <option value='f'";
        if ($animateur->sexe=='f') echo " selected";
                echo ">$sfeminin</option>
                        <option value='m'";
        if ($animateur->sexe=='m') echo " selected";
                echo ">$smasculin</option>
                        </select>";
        echo "    </td></tr><tr>
                <td>$sStructuredeprovenance :</td>
                <td>";
        choix_structure($animateur->id_structure_provenance, 
"id_structure_provenance", "");
        echo "</td></tr>";

        echo "<tr><td>$scommentaireanimateur :</td>
                <td colspan=3><textarea name=\"commentaire\" rows=\"5\" 
cols=\"60\">$animateur->commentaire</textarea></td></tr>\n";

   // Ici commence les informations sur les crédits
   // Nota : version 0.5 - Les crédits sont dans une autre table

        echo "<tr>";
/*      if (defined("FCT_TARIFS"))
        {
                // code tarif
                echo "          <td>$starif :</td>
                        <td><select tabindex=10 name=\"tarif\"><option 
value=\"-1\"></option>\n";
                $t=0;
                while ($tarifs[$t])
                {
                        echo "<option value=\"$t\"";
                        if ($credit)
                                if ($credit->id_tarif==$t)
                                        echo " SELECTED";
                        echo ">".$tarifs[$t]."\n";
                        $t++;
                }
                echo "</select></td>\n";
        }

        // état de la carte d'animateur
        echo "<td rowspan=2>$sanimateurcarte :</td>
                <td rowspan=2><input tabindex=11 type=\"radio\" name=\"carte\" 
value=\"attente\"";
        if ($credit->carte=="attente" | !$credit->carte) echo " checked";
        echo ">$sanimateurcarteattente<br>
                <input type=\"radio\" name=\"carte\" value=\"prête\"";
        if ($credit->carte=="prête") echo "checked";
        echo ">$sanimateurcarteprete<br>
                <input type=\"radio\" name=\"carte\" value=\"imprimée\"";
        if ($credit->carte=="imprimée") echo " checked";
        echo ">$sanimateurcarteimprimee</select></td>
                </tr>\n";
        if (defined("FCT_UTILISATIONS"))
                echo "<tr><td>$sheurereservable :</td>
                        <td><input tabindex=12 type=\"text\" 
name=\"credit_reservable\" 
value=\"".min2h($credit->credit_reservable)."\"></td>";
        echo "</tr>";

        // Accès individuels (colonne de gauche) - Activités collectives 
(colonne de droite)

        // Valeurs par défaut pour l'Arobase EPM. Sans doute à mettre dans le 
fichier de configuration.
        if (defined("FCT_CREDITS"))
        {
                if ($credit->credit_reservable=="") 
$credit->credit_reservable="03:00";
                if ($credit->credit_acces_individuel=="") 
$credit->credit_acces_individuel="10:00";
                if ($credit->credit_activites_collectives=="") 
$credit->credit_activites_collectives="05:00";
                if (defined("FCT_UTILISATIONS") || defined("FCT_PARCOURS"))
                {
                        echo "<tr>";
                        if (defined("FCT_UTILISATIONS"))
                                echo "<th colspan=2 align=center 
bgcolor='".COULEUR_UTILISATIONS."'>$saccesindividuel</th>";
                        if (defined("FCT_PARCOURS"))
                                echo "<th colspan=2 align=center 
bgcolor='".COULEUR_PARCOURS."'>$sactivcollectives</th>";
                        echo "</tr>";
                        echo "<tr>";
                        if (defined("FCT_UTILISATIONS"))
                                echo "<td>$sheurecredit :</td>
                                        <td><input tabindex=13 type=\"text\" 
name=\"credit_acces_individuel\"
                                        
value=\"".min2h($credit->credit_acces_individuel)."\">
                                        </td>";
                                        
//value=\"".datetoheurecourt($credit->credit_acces_individuel)."\">
                        if (defined("FCT_PARCOURS"))
                                echo "<td>$sheurecredit :</td>
                                        <td><input tabindex=14 type=\"text\" 
name=\"credit_activites_collectives\"
                                        
value=\"".min2h($credit->credit_activites_collectives)."\">
                                        </td>";
                                        
//value=\"".datetoheurecourt($credit->credit_activites_collectives)."\">
                        echo "</tr>";

                        echo "<tr>";
                        if (defined("FCT_UTILISATIONS"))
                        {
                                echo "<td>$sdepartabonnement :</td>
                                        <td>";
                                
choixDate($credit->debut_abonnement_acces_individuel, 
"debut_abonnement_acces_individuel");
                                echo "</td>";
                        }
                        if (defined("FCT_PARCOURS"))
                        {
                                echo "<td>$sdepartabonnement :</td>
                                        <td>";
                                
choixDate($credit->debut_abonnement_activites_collectives, 
"debut_abonnement_activites_collectives");
                                echo "</td>";
                        }
                        echo "</tr>";
                        echo "<tr>";
                        if (defined("FCT_UTILISATIONS"))
                        {
                                echo "<td>$sfinabonnement :</td>
                                        <td>";
                                
choixDate($credit->fin_abonnement_acces_individuel, 
"fin_abonnement_acces_individuel");
                                echo "</td>";
                        }
                        if (defined("FCT_PARCOURS"))
                        {
                                echo "<td>$sfinabonnement :</td>
                                        <td>";
                                
choixDate($credit->fin_abonnement_activites_collectives, 
"fin_abonnement_activites_collectives");
                                echo "</td>\n";
                        }
                        echo "</tr>";
                } // if fct_utilisation ou fct_parcours
                echo "<tr><td>$scommentairecredit :</td>
                        <td colspan=3><textarea tabindex=15 
name=\"commentaires\" rows=\"3\" 
cols=\"60\">$credit->commentaires</textarea></td></tr>\n";
        } // if fct_credits
        echo "<tr><td colspan=4 align=center><input tabindex=16 type=\"submit\" 
name=\"Modifier\" value=\"$sconfirmer\"></td>*/
        echo "  </tr>
                </table>
                </form>\n";
} // function form_animateur

function liste_animateurs()
{
global $code_barre, $id, $login, $nom, $prenom, $PHP_SELF, $operation;
  // Recherche et visualisation de la liste des animateurs
        if ($code_barre!="" & $id=="") $id=substr($code_barre,0,4);
        affiche_liste_animateurs($id, $login, $nom, $prenom, "nom");
        echo "<hr><a href=\"$PHP_SELF?operation=5\">Retour &agrave; la 
liste</a>";
}

switch($operation)
{
case 61 : // Enregistrement du changement de mot de passe de l'animateur
  echo cadre_debut($sanimateurchgmtmdp);
        if (ANIMATEURS_AUTRES<"w" && ANIMATEURS_MOI<"r")
        {
                echo $pasledroit;
                echo cadre_fin();
                break;
        }
        $mes="";
        if ($motdepasse=="" && ANIMATEURS_AUTRES<"w")
          $mes .= $smanquemotdepasseactuel."<br>";
        if ($id_animateur=="")
          $mes.=$sanimateurintrouvable."<br>";
        else
        {
                $res=recherche("animateurs", "id", $id_animateur);
                if (! $animateur=$res->fetchrow(DB_FETCHMODE_OBJECT))
                        $mes.=$sanimateurintrouvable."<br>";
        }
        if (ANIMATEURS_AUTRES<"w" && $motdepasse!=$animateur->motdepasse)
          $mes.=$smauvaismotdepasse."<br>";
        if ($motdepasse1=="") $mes .=$manquemotdepasse. "<br>";
        if ($motdepasse1!=$motdepasse2) $mes .= $motdepassedifferents."<br>";
        if ($mes!="")
                echo "<p>$mes</p>";
        else
        {
                // retrouver les informations de l'animateur

                // TODO : Vérification que l'administrateur est
                // d'une structure hébergeant les compte sur le serveur local

                // 1 : modification du compte utilisateur NIS sur la machine 
locale

                // création du fichier contenant le mot de passe, nécessaire 
avec chpasswd
                $motdepasse = $motdepasse1;
                $fp = fopen("$fichier_temporaire", "w");
                $motdepassec = crypt($motdepasse, "Sa");
                $r = fwrite ($fp, "$animateur->login:$motdepassec\n");
                $r = fclose($fp);
                // préparation des commandes à exécuter
                echo "<p>$sanimateurchangementmdplinux</p>";
                $cmd = "sudo chpasswd -e < $fichier_temporaire";
                executecommande($cmd);
                // Mise à jour provoquée pour que l'utilisateur puisse se 
connecter immédiatement
                echo "<p>$sanimateurmajnis</p>";
                $cmd = "cd /var/yp; sudo make";
                executecommande($cmd);

                // 2 : modification du compte utilisateur Samba sur la machine 
locale
                echo "<p>$sanimateurchangementmdpsamba</p>";
                $cmd = "sudo smbpasswd -s $animateur->login $motdepasse";
                executecommande($cmd);

                // 3 : modification du compte de courriel sur la machine locale
                // Actuellement, utilise une commande vpopmail

                // TODO : voir si l'adresse est parmis les domaines supportés 
(dans la base domaines)
                $req="select * from domaines";
                $res=executeRequete($req);
                while ($domaine=$res->fetchrow(DB_FETCHMODE_OBJECT))
                        if (strpos($courriel, $domaine->domaine))
                        {
                                echo "<p>$sanimateurchangementmdpcourriel</p>";
                                $cmd="$dirvpopmail/vpasswd $animateur->courriel 
$motdepasse";
                                executecommande($cmd);
                        }

                // 4 : modification du compte d'animateur dans la base locale 
epnadmin
                echo "<p>$sanimateurchangementmdpepnadmin</p>";
                $motdepassec=md5($motdepasse);
                $query = "UPDATE animateurs SET motdepasse='$motdepassec' WHERE 
id='$id_animateur'";
                $result = executeRequete($query);

                echo cadre_fin();
                break;
        }
        echo cadre_fin();

case 6 : // formulaire de changement de mot de passe
  echo cadre_debut($sanimateurchgmtmdp);
        if (ANIMATEURS_AUTRES<"w" && ANIMATEURS_MOI<"r")
        {
                echo $pasledroit;
                echo cadre_fin();
                break;
        }
        $res=recherche("animateurs", "id", $id_animateur);
        if ($animateur=$res->fetchrow(DB_FETCHMODE_OBJECT))
        {
                echo "<form name=\"form_mp_animateur\" method=\"post\" 
action=\"animateurs.php\">
                                <input type=\"hidden\" name=\"id_animateur\" 
value=\"$id_animateur\">
                                <input type=\"hidden\" name=\"operation\" 
value=\"61\">
                                <table border=\"1\" align=\"center\">
                                <tr><th align=center 
colspan=2>$animateurchgmtmdp $animateur->prenom $animateur->nom 
($animateur->login)</th></tr>";
        // Si on est administrateur, on ne demande pas le mot de passe en cours
        if (ANIMATEURS_AUTRES>"w")
                echo "<tr><td>$smotdepasseactuel</td><td><input 
type=\"password\" name=\"motdepasse\"></td></tr>";
        echo "<tr><td>$smotdepassenouveau</td><td><input type=\"password\" 
name=\"motdepasse1\"></td></tr>
                                <tr><td>$smotdepassenouveau (2)</td><td><input 
type=\"password\" name=\"motdepasse2\"></td></tr>
                                <tr><td align=center colspan=2><input 
type=\"submit\" value=\"$sconfirmer\"></td></tr>
                                <tr><td 
colspan=2>$sanimateuravertissementcngmdp</td></tr>
                                </table></form>\n";
        }
        else
                echo "<p>$sanimateurintrouvable</p>\n";
        echo cadre_fin();
        break;

case 1:  // Edition des informations personnelles
  echo cadre_debut($sanimateurnouv1);
        if (ANIMATEURS_MOI>="w" || ANIMATEURS_AUTRES>="w")
        {
                //debug("id_animateur : $id_animateur");
                form_animateur($id_animateur, 11); // 11 = operation au sortir 
du formulaire pour le traiter
                echo "<p><a href=\"$PHP_SELF?operation=5\">Retour &agrave; la 
liste</a></p>\n";
        }
        else
                echo $pasledroit;
        echo cadre_fin();
        break;

case 11:  // Mise à jour suite à une édition des informations personnelles
        echo cadre_debut($sanimateurnouv1);
        if (ANIMATEURS_MOI<"w" && ANIMATEURS_AUTRES<"w")
        {
          echo $pasledroit;
                echo cadre_fin();
                break;
        }
        // Attention, les informations de courriels n'affectent pas le compte 
de courriel local
        $mes="";
        if ($nom=="") $mes .= "$smanquenom<br>";
        if ($prenom=="") $mes .= "$manqueprenom<br>";
        if (defined("FCT_TARIFS"))
                if ($tarif==-1) $mes .= "$smanquetarif<br>";
        // Mise en condition des heures et des dates
        $naissance="";
        if ($naissanceannee>"" || $naissancemois>""
                        || $naissancejour>"")
        {
                if (!checkdate($naissancemois,
                                                                $naissancejour,
                                                                
$naissanceannee))
                        $mes.="$smanquenaissance<br>";
                else
                        $naissance=$naissanceannee."-".
                                                                
$naissancemois."-".
                                                                $naissancejour;
        }
        if (defined("FCT_CREDITS"))
        {
                if (defined("FCT_UTILISATIONS"))
                {
                        $debut_abonnement_acces_individuel="";
                        if ($debut_abonnement_acces_individuelannee>"" || 
$debut_abonnement_acces_individuelmois>""
                                        || 
$debut_abonnement_acces_individueljour>"")
                        {
                                if 
(!checkdate($debut_abonnement_acces_individuelmois,
                                                                                
$debut_abonnement_acces_individueljour,
                                                                                
$debut_abonnement_acces_individuelannee))
                                        
$mes.="$smanquedatedebabonnementindiv<br>";
                                else
                                        
$debut_abonnement_acces_individuel=$debut_abonnement_acces_individuelannee."-".
                                                                                
$debut_abonnement_acces_individuelmois."-".
                                                                                
$debut_abonnement_acces_individueljour;
                        }
                        $fin_abonnement_acces_individuel="";
                        if ($fin_abonnement_acces_individuelannee>"" || 
$fin_abonnement_acces_individuelmois>""
                                        || 
$fin_abonnement_acces_individueljour>"")
                        {
                                if 
(!checkdate($fin_abonnement_acces_individuelmois,
                                                                                
$fin_abonnement_acces_individueljour,
                                                                                
$fin_abonnement_acces_individuelannee))
                                        
$mes.="$smanquedatefinabonnementindiv<br>";
                                else
                                        
$fin_abonnement_acces_individuel=$fin_abonnement_acces_individuelannee."-".
                                                                                
$fin_abonnement_acces_individuelmois."-".
                                                                                
$fin_abonnement_acces_individueljour;
                        }
                } // if defined fct_utilisations
                if (defined("FCT_PARCOURS"))
                {
                        $debut_abonnement_activites_collectives="";
                        if ($debut_abonnement_activites_collectivesannee>"" || 
$debut_abonnement_activites_collectivesmois>""
                                        || 
$debut_abonnement_activites_collectivesjour>"")
                        {
                                if 
(!checkdate($debut_abonnement_activites_collectivesmois,
                                                                                
$debut_abonnement_activites_collectivesjour,
                                                                                
$debut_abonnement_activites_collectivesannee))
                                        
$mes.="$smanquedatedebabonnementcolle<br>";
                                else
                                        
$debut_abonnement_activites_collectives=$debut_abonnement_activites_collectivesannee."-".
                                                                                
$debut_abonnement_activites_collectivesmois."-".
                                                                                
$debut_abonnement_activites_collectivesjour;
                        }
                        $fin_abonnement_activites_collectives="";
                        if ($fin_abonnement_activites_collectivesannee>"" || 
$fin_abonnement_activites_collectivesmois>""
                                        || 
$fin_abonnement_activites_collectivesjour>"")
                        {
                                if 
(!checkdate($fin_abonnement_activites_collectivesmois,
                                                                                
$fin_abonnement_activites_collectivesjour,
                                                                                
$fin_abonnement_activites_collectivesannee))
                                        
$mes.="$smanquedatefinabonnementcolle<br>";
                                else
                                        
$fin_abonnement_activites_collectives=$fin_abonnement_activites_collectivesannee."-".
                                                                                
$fin_abonnement_activites_collectivesmois."-".
                                                                                
$fin_abonnement_activites_collectivesjour;
                        }
                } // if defined FCT_PARCOURS
        } // if defined FCT_CREDITS

        if ($mes!="")
        {
                echo "<p>$mes</p>";
                cadre_fin();
                break;
        }
        // Mise à jour de l'enregistrement dans la table animateur
        $query = "UPDATE animateurs SET nom=\"$nom\", prenom=\"$prenom\",
                                                        naissance='$naissance', 
sexe='$sexe', adresse=\"$adresse\", ville='$ville',
                                                        
id_structure_provenance='$id_structure_provenance',
                                                        courriel='$courriel', 
telephone='$telephone',
                                                        
commentaire=\"$commentaire\"
                                                WHERE id='$id_animateur'";
        if (!$result = executeRequete($query))
                echo "<p>$spbmajanimateur</p>\n";

  if (defined("FCT_CREDITS") || defined("FCT_TARIFS"))
  {
    // on regarde dans la table [crédits] si l'animateur existe ou non
    $req="SELECT * FROM credits WHERE id_animateur=\"$id_animateur\"";
    $res=executeRequete($req);
        
        $credit_acces_individuel=h2min($credit_acces_individuel);
        $credit_activites_collectives=h2min($credit_activites_collectives);
        $credit_reservable=h2min($credit_reservable);
    
        if ($res->fetchrow(DB_FETCHMODE_OBJECT))
    {  // L'enregistrement existe, mise à jour de l'enregistrement dans la 
table crédits
                $query = "UPDATE credits SET
                id_tarif='$tarif', 
credit_acces_individuel=$credit_acces_individuel,
                credit_activites_collectives=$credit_activites_collectives,
                credit_reservable=$credit_reservable, 
commentaires=\"$commentaires\",
                
debut_abonnement_acces_individuel='$debut_abonnement_acces_individuel',
                
fin_abonnement_acces_individuel='$fin_abonnement_acces_individuel',
                
debut_abonnement_activites_collectives='$debut_abonnement_activites_collectives',
                
fin_abonnement_activites_collectives='$fin_abonnement_activites_collectives',
                carte=\"$carte\"
              WHERE id_animateur='$id_animateur'";
        }
    else
      // L'enregistrement n'existe pas, insertion dans la table crédits
      $query = "INSERT INTO credits (id_animateur, id_tarif, 
credit_acces_individuel,
              credit_activites_collectives,
              credit_reservable, commentaires, 
debut_abonnement_acces_individuel,
              fin_abonnement_acces_individuel,
              debut_abonnement_activites_collectives,
              fin_abonnement_activites_collectives,
              carte)
            VALUES
              ('$id_animateur', '$tarif', '$credit_acces_individuel',
                '$credit_activites_collectives',
                '$credit_reservable', \"$commentaires\",
                '$debut_abonnement_acces_individuel',
                '$fin_abonnement_acces_individuel',
                '$debut_abonnement_activites_collectives',
                '$fin_abonnement_activites_collectives',
                \"$carte\")";
    if (! executeRequete($query))
      echo "<p>$spbmajcredit</p>\n";
  } // if fctcredit ou tarifs
        echo "<p>Informations mises à jour.</p>";
        echo cadre_fin();
        break;

case 2 : // demande de confirmation de suppression
  echo cadre_debut($sanimateursuppr);
  if (ANIMATEURS_AUTRES<"w")
    echo $pasledroit;
  else
  {
    echo "<table align=center border=1>
        <tr><th align=center>";
    printf ($sanimateursupprdemandeconf, animateur($id_animateur));
    echo "</th></tr>
        <tr><td><form action=\"$PHP_SELF\" method=\"POST\" 
enctype=\"multipart/form-data\">
                <input type=\"checkbox\" name=\"perso\" checked> 
$sanimateursupprepnadmin
            <br><input type=\"checkbox\" name=\"credit\" checked> 
$sanimateursupprcredit
            <br><input type=\"checkbox\" name=\"positionnement\" checked> 
$sanimateursupprpositionnement
            <br><input type=\"checkbox\" name=\"parcours\" checked> 
$sanimateursupprparcours
            <br><input type=\"checkbox\" name=\"utilisation\" checked> 
$sanimateursupprutilisations
            <br><input type=\"checkbox\" name=\"nis\" checked> 
$sanimateursupprident
            <br><input type=\"checkbox\" name=\"samba\" checked> 
$sanimateursupprsamba
            <br><input type=\"checkbox\" name=\"courriel\" checked> 
$sanimateursupprcourriel
        <tr><td align=center><input type=\"submit\" name=\"Supprimer\" 
value=\"$sanimateursupprconf\">
          <input type=\"hidden\" name=\"id_animateur\" value=\"$id_animateur\">
          <input type=\"hidden\" name=\"operation\" 
value=\"21\"></form></td></tr>
        </table>\n";
  }
  echo cadre_fin();
  break;

case 21:  // Suppression réelle
  echo cadre_debut($sanimateursuppr);
  if (ANIMATEURS_AUTRES<"w")
  {
    echo $pasledroit;
    echo cadre_fin();
    break;
  }

  // On retrouve l'enregistrement de l'animateur
  $res = recherche("animateurs", "id", $id_animateur);
  if (!$animateur = $res->fetchrow(DB_FETCHMODE_OBJECT))
  {
    echo $sanimateurintrouvable;
    echo cadre_fin();
    break;
  }

  echo "<p>$sanimateursupprok<br>";
  if ($perso=="on")
  {  // Effacement de l'enregistrement des informations personnelles
      $query = "DELETE FROM animateurs WHERE id=$id_animateur";
      $result = executeRequete($query);
      echo "$sanimateursupprepnadmin<br>";
  }
  if ($credit=="on")
  {  // Effacement de l'enregistrement des informations de crédits
    $query = "DELETE FROM credits WHERE id_animateur=$id_animateur";
    $result = executeRequete($query);
    echo "$sanimateursupprcredit<br>";
  }
  if ($positionnement=="on")
  { // Effacement de l'enregistrement du positionnement
    $query = "DELETE FROM positionnement WHERE id_animateur=$id_animateur";
    $result = executeRequete($query);
    echo "$sanimateursupprpositionnement<br>";
  }
  if ($parcours=="on")
  { // Effacement de l'enregistrement du parcours pédagogique
    $query = "DELETE FROM parcours WHERE id_animateur=$id_animateur";
    $result = executeRequete($query);
    echo "$sanimateursupprparcours<br>";
  }
  if ($utilisation=="on")
  { // Effacement de l'enregistrement des accès en individuel
    $query = "DELETE FROM utilisation_postes WHERE id_animateur=$id_animateur";
    $result = executeRequete($query);
    echo "$sanimateursupprutilisations<br>";
  }
  echo "</p>\n";

  // Effacement du compte sur la machine local
  if ($nis=="on")
  { // Compte NIS et FTP
    $comm="userdel -r $animateur->login";
    executecommande("sudo $comm");
    echo "<p>$sanimateursupprident</p>";
  }
  if ($samba=="on")
  { // compte Samba
    $comm="smbpasswd -x $animateur->login";
    executecommande("sudo $comm");
    echo "<p>$sanimateursupprsamba</p>";
  }
  if ($courriel=="on")
  { // compte de messagerie   
    $req="SELECT * FROM domaines";
    $res=executeRequete($req);
    while ($domaine=$res->fetchrow(DB_FETCHMODE_OBJECT))
      if (strpos($animateur->courriel, $domaine->domaine))
      {
        $comm="$dirvpopmail/vdeluser $animateur->courriel";
        echo "<p>$sanimateursupprcourriel</p>";
        executecommande("sudo $comm");
      }
  }

  echo cadre_fin();
  break;

case 3:  // Ajout formulaire, juste le nom et le prénom
  echo cadre_debut($sanimateurnouv1);
  if (ANIMATEURS_AUTRES<"w")
    echo $pasledroit;
  else
    form_nouvel_animateur(31); // 31 = operation au sortir du formulaire pour 
regarder si c'est un doublon
  echo cadre_fin();
  break;

case 31:  // Ajout formulaire, proposition de login
  echo cadre_debut($sanimateurnouv1);
  if (ANIMATEURS_AUTRES<"w")
  {
    echo $pasledroit;
    echo cadre_fin();
    break;
  }
  // Regarder s'il n'y a pas doublon
  $req="SELECT * FROM animateurs WHERE nom=\"$nom\" AND prenom=\"$prenom\"";
  $res=executeRequete($req);
  if ($res->fetchrow(DB_FETCHMODE_OBJECT))
  {
    echo "<P>Attention, le nom et le prénom existent déjà !</P>\n";
    echo cadre_fin();
    break;
  }
  $login=strtolower(substr($prenom, 0, 1).substr($nom, 0, 7));
  $res=recherche("animateurs", "login", $login);
  $res2=recherche("hebergements", "login", $login);
  if ($res->fetchrow(DB_FETCHMODE_OBJECT) || 
$res2->fetchrow(DB_FETCHMODE_OBJECT))
  {
    $login=strtolower(substr($prenom, 0, 2).substr($nom, 0, 6));
    $res=recherche("animateurs", "login", $login);
    $res2=recherche("hebergements", "login", $login);
    $n=1;
    while ($res->fetchrow(DB_FETCHMODE_OBJECT) || 
$res2->fetchrow(DB_FETCHMODE_OBJECT))
    {
      $login=strtolower(substr($prenom, 0, 1).substr($nom, 0, 6)).$n;
      $res=recherche("animateurs", "login", $login);
      $res2=recherche("hebergements", "login", $login);
      $n++;
    }
  }
  $nom=strtoupper($nom);
  $prenom=ucfirst(strtolower($prenom));
  form_animateur("nouveau", 32, $nom, $prenom, $login); // 32 = operation au 
sortir du formulaire pour le traiter
  echo cadre_fin();
  break;

case 32:  // Ajout confirmé
  echo cadre_debut($sanimateurnouv1);
  if (ANIMATEURS_AUTRES<"w")
  {
    echo $pasledroit;
    echo cadre_fin();
    break;
  }
  // Attention, les informations de courriels n'affectent pas le compte de 
courriel local
  $mes="";
  if ($login=="")
    $mes .= "$manqueidentifiant<br>";
  else
  { // Regarder si le login n'existe pas déjà
    $req="SELECT * FROM animateurs WHERE login=\"$login\"";
    $res=executeRequete($req);
    if ($res->fetchrow(DB_FETCHMODE_OBJECT))
      echo "$ssiteidentexistantanimateur<br>";
    $req="SELECT * FROM hebergements WHERE login=\"$login\"";
    $res=executeRequete($req);
    if ($res->fetchrow(DB_FETCHMODE_OBJECT))
      echo "$ssiteidentexistant<br>";
  }
  if ($motdepasse=="" || $motdepasse2=="") $mes .= "$manquemotdepasse<br>";
  if ($motdepasse!=$motdepasse2) $mes .= "$motdepassedifferents<br>";
        if ($nom=="") $mes .= "$smanquenom<br>";
        if ($prenom=="") $mes .= "$manqueprenom<br>";
        if (defined("FCT_TARIFS"))
                if ($tarif==-1) $mes .= "$smanquetarif<br>";
        // Mise en condition des heures et des dates
        $naissance="";
        if ($naissanceannee>"" || $naissancemois>""
                        || $naissancejour>"")
        {
                if (!checkdate($naissancemois,
                                                                $naissancejour,
                                                                
$naissanceannee))
                        $mes.="$smanquenaissance<br>";
                else
                        $naissance=$naissanceannee."-".
                                                                
$naissancemois."-".
                                                                $naissancejour;
        }
        if (defined("FCT_CREDITS"))
        {
                if (defined("FCT_UTILISATIONS"))
                {
                        $debut_abonnement_acces_individuel="";
                        if ($debut_abonnement_acces_individuelannee>"" || 
$debut_abonnement_acces_individuelmois>""
                                        || 
$debut_abonnement_acces_individueljour>"")
                        {
                                if 
(!checkdate($debut_abonnement_acces_individuelmois,
                                                                                
$debut_abonnement_acces_individueljour,
                                                                                
$debut_abonnement_acces_individuelannee))
                                        
$mes.="$smanquedatedebabonnementindiv<br>";
                                else
                                        
$debut_abonnement_acces_individuel=$debut_abonnement_acces_individuelannee."-".
                                                                                
$debut_abonnement_acces_individuelmois."-".
                                                                                
$debut_abonnement_acces_individueljour;
                        }
                        $fin_abonnement_acces_individuel="";
                        if ($fin_abonnement_acces_individuelannee>"" || 
$fin_abonnement_acces_individuelmois>""
                                        || 
$fin_abonnement_acces_individueljour>"")
                        {
                                if 
(!checkdate($fin_abonnement_acces_individuelmois,
                                                                                
$fin_abonnement_acces_individueljour,
                                                                                
$fin_abonnement_acces_individuelannee))
                                        
$mes.="$smanquedatefinabonnementindiv<br>";
                                else
                                        
$fin_abonnement_acces_individuel=$fin_abonnement_acces_individuelannee."-".
                                                                                
$fin_abonnement_acces_individuelmois."-".
                                                                                
$fin_abonnement_acces_individueljour;
                        }
                } // if defined fct_utilisations
                if (defined("FCT_PARCOURS"))
                {
                        $debut_abonnement_activites_collectives="";
                        if ($debut_abonnement_activites_collectivesannee>"" || 
$debut_abonnement_activites_collectivesmois>""
                                        || 
$debut_abonnement_activites_collectivesjour>"")
                        {
                                if 
(!checkdate($debut_abonnement_activites_collectivesmois,
                                                                                
$debut_abonnement_activites_collectivesjour,
                                                                                
$debut_abonnement_activites_collectivesannee))
                                        
$mes.="$smanquedatedebabonnementcolle<br>";
                                else
                                        
$debut_abonnement_activites_collectives=$debut_abonnement_activites_collectivesannee."-".
                                                                                
$debut_abonnement_activites_collectivesmois."-".
                                                                                
$debut_abonnement_activites_collectivesjour;
                        }
                        $fin_abonnement_activites_collectives="";
                        if ($fin_abonnement_activites_collectivesannee>"" || 
$fin_abonnement_activites_collectivesmois>""
                                        || 
$fin_abonnement_activites_collectivesjour>"")
                        {
                                if 
(!checkdate($fin_abonnement_activites_collectivesmois,
                                                                                
$fin_abonnement_activites_collectivesjour,
                                                                                
$fin_abonnement_activites_collectivesannee))
                                        
$mes.="$smanquedatefinabonnementcolle<br>";
                                else
                                        
$fin_abonnement_activites_collectives=$fin_abonnement_activites_collectivesannee."-".
                                                                                
$fin_abonnement_activites_collectivesmois."-".
                                                                                
$fin_abonnement_activites_collectivesjour;
                        }
                } // if defined FCT_PARCOURS
        } // if defined FCT_CREDITS

        if ($mes!="")
        {
                echo "<p>$mes</p>";
                echo cadre_fin();
                break;
        }

  // on crypte le mot de passe
  // $motdepassec=md5($motdepasse);
  // commenté parce qu'on attend l'impression de la carte d'animateur

  // Insertion dans la table animateurs (informations personnelles)
  $query = "INSERT INTO animateurs (nom,prenom,login,motdepasse,naissance,sexe,
            adresse,ville,telephone, courriel,id_structure_provenance,
            commentaire,date)
          VALUES ('$nom','$prenom','$login','$motdepasse','$naissance','$sexe',
            
'$adresse','$ville','$telephone','$courriel','$id_structure_provenance',
            '$commentaire', NOW())";
  if (!$result = executeRequete($query))
  {
    echo "<p>$spbmajanimateur</p>\n";
    echo cadre_fin();
    break;
  }

  if (defined("FCT_CREDITS"))
  {
    // retrouver l'id pour s'en servir dans la table [crédits]
    $id_animateur= $db->getOne("SELECT LAST_INSERT_ID()");
        $credit_reservable=h2min($credit_reservable);
        $credit_acces_individuel=h2min($credit_acces_individuel);
        $credit_activites_collectives=h2min($credit_activites_collectives);
    // Insertion dans la table crédits
    $query = "INSERT INTO credits (id_animateur, id_tarif, 
credit_acces_individuel,
                  credit_activites_collectives,
                  credit_reservable, commentaires, 
debut_abonnement_acces_individuel,
                  fin_abonnement_acces_individuel,
                  debut_abonnement_activites_collectives,
                  fin_abonnement_activites_collectives,
                  carte)
                VALUES
                  ('$id_animateur', '$tarif', '$credit_acces_individuel',
                    '$credit_activites_collectives',
                    '$credit_reservable', \"$commentaires\",
                    '$debut_abonnement_acces_individuel',
                    '$fin_abonnement_acces_individuel',
                    '$debut_abonnement_activites_collectives',
                    '$fin_abonnement_activites_collectives',
                    \"$carte\")";
    if (!$res=executeRequete($query))
      echo "<p>$spbmajcredit</p>\n";
  } // if defined fct_credit

  // TODO : vérifier que l'admin est dans une structure qui gère les comptes 
locaux sur le serveur
  // On crypte le mot de passe pour créer le compte local sous Linux
  $motdepassec = crypt($motdepasse, "Sa");
  $comm="useradd $login -m -p $motdepassec -c \"$prenom $nom\" -s /bin/bash";
  executecommande("sudo $comm");
  echo "<p>$sanimateurcompteok</p>";

  $comm="smbpasswd -a $login $motdepasse";
  //ajoute_commande($comm);
  executecommande("sudo $comm");
  echo "<p>$sanimateursambaok</p>";

  echo "<p>$sanimateurmajnis</p>";
  $cmd = "cd /var/yp; sudo make";
  executecommande($cmd);

// Dans le cas ou le compte n'est pas créé directement, mais via Webmin :
//       <p><a href="https://soleil:10000/useradmin/edit_user.cgi"; 
target="webadmin">Aller &agrave; Webmin pour cr&eacute;er le compte utilisateur 
sur le serveur.</a></p>
//       <p><a href="http://www.pierrefitte93.fr/cgi-bin/qmailadmin"; 
target="qmailadmin">Aller ` QmailAdmin pour cr&eacute;er le compte de courriel 
de l'animateur.</a></p>
        $date=date('Y-m-d');
  echo "<p><a 
href=\"table_horaire_session.php?date=$date\">$sanimateurversplanning</a></p>
    <p><a href=\"$PHP_SELF?operation=3\">$sanimateurencorecreer</a>.</p>\n";
  cadre_fin();
  break;

case 5 : // Affichage de la liste des animateurs
  echo cadre_debut($sanimateurliste);
  if (ANIMATEURS_AUTRES<"r")
  {
    echo $pasledroit;
    echo cadre_fin();     
    break;
  }
  liste_animateurs();
  echo "<p><a href=\"$PHP_SELF?operation=3\">$sanimateurcreer</a>.</p>\n";
  echo cadre_fin();
  break;

case 7 : // Affichage des informations de crédit de l'animateur
        echo cadre_debut($sanimateuretatcredits, "align=center", 
COULEUR_CREDITS);
        if (ANIMATEURS_AUTRES<"r" && ANIMATEURS_MOI<"r")
        {
                echo $pasledroit;
                echo cadre_fin(COULEUR_CREDITS);
                break;
        }
        $res = recherche("animateurs", "id", $id_animateur);
        $animateur = $res->fetchrow(DB_FETCHMODE_OBJECT);
        affiche_credit($animateur);
        echo cadre_fin(COULEUR_CREDITS);
        break;

case 8 : // Formulaire de signalement d'erreur ou de changement dans les 
informations personnelles
        // TODO
        echo "<p>Pas encore prêt !</p>\n";
        break;

default :  // Affichage des données personnelles
        echo cadre_debut($sanimateurinfoperso);
        if (ANIMATEURS_AUTRES<"r" && ANIMATEURS_MOI<"r")
        {
                echo $pasledroit;
                echo cadre_fin();
                break;
        }
        $res = recherche("animateurs", "id", $id_animateur);
        $animateur = $res->fetchrow(DB_FETCHMODE_OBJECT);
        affiche_animateur($animateur, "COMPLET");

        // TODO : proposer à l'animateur pas administrateur
        //    une demande de modification de
        //    coordonnées (par formulaire mail).
        //    et changement de mot de passe
        if (ANIMATEURS_MOI>="w" || ANIMATEURS_AUTRES>="w")
        {
                echo "<p align=center>
                                <a 
href=\"$PHP_SELF?operation=6&id_animateur=$id_animateur\">$schangermdp</a><br>
                                <a 
href=\"$PHP_SELF?operation=1&id_animateur=$id_animateur\">$modifier 
$sanimateurmodifier</a><br>";
                if (COURRIELS_MOI>="w" || COURRIELS_AUTRES>="w")
                        echo "<a 
href=\"courriel.php?operation=71&id_animateur=$id_animateur\">$ajouter 
$screercourriel</a><br>";
                if (ANIMATEURS_AUTRES>="w" && $is_ident=="structure")
                        echo "<a 
href=\"$PHP_SELF?operation=2&id_animateur=$id_animateur\">$supprimer 
$sanimateursupprimer</a>";
                echo "</p>\n";
        }
  echo cadre_fin();

        /*if (CREDITS_AUTRES>="r" && ($is_ident=="structure" || 
$is_ident=="animateur"))
        {
          echo "<br>";
          echo cadre_debut($sCredits, "align=center", COULEUR_CREDITS);
                affiche_credit($animateur);
                echo cadre_fin(COULEUR_CREDITS);
        }

        if (PARCOURS_AUTRES>="r" && ($is_ident=="structure" || 
$is_ident=="animateur"))
        {
          echo "<br>";
          echo cadre_debut($sParcours, "align=center", COULEUR_PARCOURS);
        if ($id_animateur)
                afficheparcours($id_animateur);
    echo cadre_fin(COULEUR_PARCOURS);

                echo cadre_debut($sinitiationsaccessibles, "align=center", 
COULEUR_SESSIONS);
                afficheSessionsAccessibles($id_animateur, "accessible");
    echo cadre_fin(COULEUR_SESSIONS);
        }

        if (UTILISATIONS_AUTRES>="r" && ($is_ident=="structure" || 
$is_ident=="animateur"))
        {
                echo "<br>";
                echo cadre_debut($saccesindivprevus, "align=center", 
COULEUR_UTILISATIONS);
                affiche_utilisations($id_animateur, FUTUR);
                echo cadre_fin(COULEUR_UTILISATIONS);
    echo cadre_debut($saccesindivpasses, "align=center", COULEUR_UTILISATIONS);
                affiche_utilisations($id_animateur, PASSE);
                echo cadre_fin(COULEUR_UTILISATIONS);
        }
        break;
*/
}   // fin du switch

require("basdepage.inc.php");
echo "</body></html>";
require("footer.inc.php");
?>

--- NEW FILE ---
<?php
/*
    Copyright (C) 2001, 2002 Loïc Dayot Mairie de Pierrefitte(93)

    EPNadmin - Version 0.6

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    http://epnadmin.pierrefitte93.fr/
*/
//phpinfo();
require_once("header.inc.php"); // C'est dans header.inc.php que sont retrouvés 
les droits issus de la table droits
if (!defined("FCT_HORAIRES"))
{
  echo $fctnonactive;
  exit;
}

require_once("constantes.inc.php");             // définition des constantes
//require_once("fonctions.inc.php");              // concernant des fonctions 
transversales inclassables
require_once("mysql.inc.php");                  // concernant mysql
//require_once("sessions.inc.php");             // concernant les sessions et 
initiations
//require_once("usagers.inc.php");              // concernant la gestion des 
usagers
//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("animateurs.inc.php");     // concernant les animateurs
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

echo "<html><head><title>$shorairesani - epnadmin</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";

$titr = $shortitre;
$datemaj="30 avril 2003";
define("COULEUR", COULEUR_HORAIRES);
require("entete.inc.php");


function AfficheCalendrier($id_localisation, $date)
{
        global $unitehoraire, 
$PHP_SELF,$shorlegende,$shoraccesindiv,$shoractivcoll,$shorsemainedu,$id_animateur;
// On retrouve le lundi
        while (date("w", strtotime($date))!=1)        // 1 pour commencer le 
lundi, 0 pour commencer le dimanche
                $date=date("Y-m-d", strtotime("-1 days", strtotime($date)));

// on initialise à faux. Si à la fin du script il est encore faux,
// c'est qu'on n'a trouvé aucune salle.
        $unlieu=false;

// Affichage de la légende total d'heure par animateur par la suite

// On n'a nécessairement qu'une ligne
        
        echo "<hr>\n";
        $fini=true;
        $lheure=MINHORAIRE;
        $indtable=0;
        $indi=0;
        $heuretmp=MINHORAIRE;
        $heure=MINHORAIRE;
        $heure=min2h(h2min($heure) - 4*$unitehoraire);
        while($fini)
        {
        $indtable++;
        echo"<A NAME=\"[$indtable]\"></A>";
        if(h2min($lheure)>=h2min(MAXHORAIRE))
                break;
        echo cadre_debut("<h3>".animateur($id_animateur, TRUE)."</h3>");
        
        $datesemaineprec=date("Y-m-d", strtotime("-7 days", strtotime($date)));
        $datesemainesuiv=date("Y-m-d", strtotime("+7 days", strtotime($date)));
        $datemoisprec=date("Y-m-d", strtotime("-1 month", strtotime($date)));
        $datemoissuiv=date("Y-m-d", strtotime("+1 month", strtotime($date)));

        $lignechoixdate=
    "<p align=center><a 
href=\"$PHP_SELF?id_animateur=$id_animateur&operation=1&date=$datemoisprec\"><<<</a>
 - "
    ."<a 
href=\"$PHP_SELF?id_animateur=$id_animateur&operation=1&date=$datesemaineprec\"><<</a>
 - "
    ."<b>$shorsemainedu ".datetodate($date)."</b> - "
    ."<a 
href=\"$PHP_SELF?id_animateur=$id_animateur&operation=1&date=$datesemainesuiv\">>></a>
 - "
    ."<a 
href=\"$PHP_SELF?id_animateur=$id_animateur&operation=1&date=$datemoissuiv\">>>>></a></p>\n";
        echo $lignechoixdate;

  // on construit le tableau des horaires
        echo "<table align=center border=1 name=$indtable>\n";
        
        // Ligne des horaires
        $lignehoraires="<tr 
bgcolor=\"".COULEUR_HORAIRES."\"><td></td>";//<th>".datetodate($date)."</th>";
        $nbcolparheure = 60/$unitehoraire;
        ////////$heure=$lheure;
        //die($heure. " ". $lheure . " " .h2min($heure) . " " 
.(h2min($lheure)+240));
        
        for 
($heuretmp=$lheure;h2min($heuretmp)<(h2min($lheure)+240);$heuretmp=min2h(h2min($heuretmp)
 + 60))
        {
                $lignehoraires.="<td colspan=\"".$nbcolparheure."\">";
                $lignehoraires.=sprintf("%sh - %sh", date("H", 
strtotime($heuretmp)), date("H", strtotime("+1 hour", strtotime($heuretmp))));
                $lignehoraires.="</td>\n";
        }
        $lignehoraires.="</tr>\n";
        $lheure=$heuretmp;
        echo $lignehoraires;
        $datecur=$date;
        $heureencours=0;
        $heure=min2h(h2min($heure) + 4*$unitehoraire);
        $datecur=date("Y-m-d", strtotime("+0 days", strtotime($datecur)));
        while ($datecur<date("Y-m-d", strtotime("+7 days", strtotime($date))))
        {
                if(!($datecur<date("Y-m-d", strtotime("+7 days", 
strtotime($date)))))
                {
                        $fini=false;
                        break;
                }
                if($heureencours==4)
                {
                        break;
                }
                
                echo "<tr><td 
bgcolor=\"lightgrey\">".datetodate($datecur)."</td>";
                // Il va falloir construire la ligne des horaires en tenant 
compte des horaires et des réservations
                $nbcol=1;
                //while (min2h($heure)<min2h(MAXHORAIRE))
                while ($heureencours!=4)
                {
                        $indi++;
                        $heureencours++;
                        // On regarde si c'est déjà ouvert ou pas.
/*                      $req3 = "SELECT * FROM calendrier WHERE 
date=\"$datecur\" AND calendrier.debut<=\"$heure\" AND \"$heure\"<fin";
                        $res3 = executeRequete($req3);
                        if(DB::iserror($res3))
                                break;
                        $tranchehoraire = 
$res3->fetchrow(DB_FETCHMODE_OBJECT);*/
                        $nbcol++;
                        echo "<td";
                        /*if ($tranchehoraire->id_localisation)
                        {*/
                                echo " bgcolor=\"grey\">\n";
                        /*}
                        else
                        {       
                                echo " bgcolor=\"pink\">\n";
                        }*/
                                echo "<form action=$PHP_SELF#[$indtable] 
name=\"localisateur$indi\">";
                                echo "<select name=\"id_localisation\" 
onchange=\"document.localisateur$indi.submit();\"";
                                $req="select *,localisations.id as 
id_localisation from localisations,structures where 
structures.id=localisations.id_structure";
                                $res=executerequete($req);
                                $reqvv="select * from animateurs_calendrier 
where id_animateur=$id_animateur and date=\"$datecur\" and debut=\"$heure\"";
                                $resvv=executerequete($reqvv);
                                $pardefaut=0;
                                if(!DB::iserror($resvv))
                                        {
                                                
$dejaprevu=$resvv->fetchrow(DB_FETCHMODE_OBJECT);
                                                $pardefaut=1;
                                        }
                                echo "<option value=0></option>";
                                
while($listloc=$res->fetchrow(DB_FETCHMODE_OBJECT))
                                {
                                        $req3 = "SELECT * FROM calendrier WHERE 
date=\"$datecur\" AND debut<=\"$heure\" AND fin>\"$heure\" AND 
id_localisation=\"$listloc->id_localisation\"";
                                        //echo($req3);
                                        $res3 = executeRequete($req3);
                                        if(DB::iserror($res3))
                                        {
                                                $etat="F:";
                                        }
                                        else
                                        {
                                                $rien=$res3->numrows();
                                                if ($rien!=0)
                                                        $etat="O:";
                                                else
                                                        $etat="F:";
                                        }
                                        if ($pardefaut==1)
                                        {
                                                /*while 
($dejaprevu=$resvv->fetchrow(DB_FETCHMODE_OBJECT) || 
($dejaprevu->id_localisation==$listloc->id_localisation))
                                                {}*/
                                                if 
($dejaprevu->id_localisation==$listloc->id_localisation)
                                                        {
                                                                echo "<option 
selected value=\"$listloc->id_localisation\">$etat 
$listloc->structure:$listloc->salle</option>";
                                                                $pardefaut=0;
                                                        }
                                                else
                                                        echo "<option 
value=\"$listloc->id_localisation\">$etat 
$listloc->structure:$listloc->salle</option>";
                                        }
                                        else
                                                echo "<option 
value=\"$listloc->id_localisation\">$etat 
$listloc->structure:$listloc->salle</option>";
                                }
                        echo "</select>";
                        echo "<input type=\"hidden\" name=\"id_animateur\" 
value=\"$id_animateur\"></input>";
                        echo "<input type=\"hidden\" name=\"operation\" 
value=\"11\"></input>";
                        echo "<input type=\"hidden\" name=\"heure\" value=\"" . 
h2min($heure) ."\"></input>";
                        echo "<input type=\"hidden\" name=\"date\" 
value=\"$datecur\"></input>";
                        echo "</form>";
                        echo "</TD>";
                        $res3->free();
                        $heure=min2h(h2min($heure) + $unitehoraire);
                } // while $heure
                $heure=min2h(h2min($heure) - 4*$unitehoraire);
                $heureencours=0;
                
                $datecur=date("Y-m-d", strtotime("+1 days", 
strtotime($datecur)));
        } // while

        echo "</tr>\n";
                
        if (HORAIRES_AUTRES>="w" || (HORAIRES_MOI>="w" && 
id_structure==$tranchehoraire->id_structure))
    echo "<tr><td colspan=\"$nbcol\" align=\"center\">
        <a 
href=\"$PHP_SELF?operation=2&id_animateur=$id_animateur&date=$date\">Appliquer 
le modèle</a>
        - <a 
href=\"$PHP_SELF?operation=3&id_animateur=$id_animateur&date=$date\">Vider</a></td>
        </tr>";

        echo "</table>\n";

        echo $lignechoixdate;

        echo cadre_fin();
}
}

function AfficheModèle($id_localisation)
{
global $unitehoraire, $PHP_SELF;

  // Construction de la requête.
/*  $req = "SELECT DISTINCT structures.ville AS ville,
                          structures.structure AS structure,
                          localisations.salle AS salle,
                          id_structure
          FROM localisations
            LEFT JOIN structures ON structures.id=localisations.id_structure
          WHERE localisations.id=\"$id_localisation\"";
  $res = executeRequete($req);*/

  $unlieu=false;

  // On n'a qu'une ligne
  //$reponse = $res->fetchrow(DB_FETCHMODE_OBJECT);

  echo cadre_debut("<h3>".localisation($id_localisation)."</h3>");

  // Affichage des disponibilités en fonction du calendrier et des réservations
  // Là, il faudrait afficher le planning de la salle concernée.
  // on a id_localisation

  // on construit le tableau des horaires

  echo "<table align=center border=1>\n";

  // Ligne des horaires
  echo "<tr><td></td>";
  $nbcolparheure = 60/$unitehoraire;

  for ($heure=MINHORAIRE;$heure<MAXHORAIRE;$heure=min2h(h2min($heure) + 60)
       ) 
  {
    echo "<td colspan=\"".$nbcolparheure."\">";
    printf("%sh - %sh", date("H", strtotime($heure)), date("H", strtotime("+1 
hour", strtotime($heure))));
    echo "</td>\n";
  }
  echo "</tr>\n";

  for ($jour=1; $jour<8; $jour++)
  {
     $nomjour=jourSemaine($jour!=8 ? $jour : 0);
     echo "<tr><td>".$nomjour."</td>";

     // Il va falloir construire la ligne des horaires en tenant compte des 
horaires et des réservations
     $heure=MINHORAIRE;
     while ($heure<MAXHORAIRE)
     {
       // On regarde si c'est déjà ouvert ou pas.
       $req3 = "SELECT * FROM animateurs_calendrier
                         WHERE jour=\"$nomjour\"
                           AND id_localisation=\"$id_localisation\"
                           AND debut<=\"$heure\" AND \"$heure\"<fin";
       $res3 = executeRequete($req3);
       $tranchehoraire = $res3->fetchrow(DB_FETCHMODE_OBJECT);

       echo "<td";
       switch ($tranchehoraire->ouverture)
       {
       case "accès individuels" :
         echo " bgcolor=\"".COULEUR_UTILISATIONS."\">\n";
         break;
       case "activités collectives" :
         echo " bgcolor=\"".COULEUR_SESSIONS."\">\n";
         break;
       default :
         echo " bgcolor=\"grey\">\n";
         break;
       } // switch

       if (!$tranchehoraire->ouverture)
         echo "F ";
       elseif (HORAIRES_AUTRES>="w" || (HORAIRES_MOI>="w" && 
id_structure==$reponse->id_structure))
         echo "<a 
href=\"$PHP_SELF?operation=51&id_localisation=$id_localisation&nomjour=$nomjour&debut=$heure\">f</a>
 \n";

       if ($tranchehoraire->ouverture=="accès individuels")
         echo "I ";
       elseif (HORAIRES_AUTRES>="w" || (HORAIRES_MOI>="w" && 
id_structure==$reponse->id_structure))
         echo "<a 
href=\"$PHP_SELF?operation=52&id_localisation=$id_localisation&nomjour=$nomjour&debut=$heure\">i</a>
 ";

       if ($tranchehoraire->ouverture=="activités collectives")
         echo "C ";
       elseif (HORAIRES_AUTRES>="w" || (HORAIRES_MOI>="w" && 
id_structure==$reponse->id_structure))
         echo "<a 
href=\"$PHP_SELF?operation=53&id_localisation=$id_localisation&nomjour=$nomjour&debut=$heure\">c</a>";

       echo "</td>\n";

       $heure=min2h(h2min($heure)+$unitehoraire);
       $res3->free();
     } // while $heure

     echo "</tr>";
  } // for jour
  echo "</table>\n";
  echo cadre_fin();
}

function verifiedroits($droit="r")
{
global $id_animateur, $id_structure,
  $manqueinfosalle, $salleintrouvable, $pasledroit;
  // retrouver la localisation
   if (! $id_animateur)
  {
    echo $manqueinfosalle;
    return FALSE;
  }
  $res=recherche("animateurs", "id", $id_animateur);
  if (! $localisation=$res->fetchrow(DB_FETCHMODE_OBJECT))
  {
    echo $salleintrouvable;
    return FALSE;
  }
  // On regarde si on a les droits
  if ( !(ANIMATEURS_AUTRES>=$droit || (ANIMATEURS_MOI>=$droit && 
id_structure==$reponse->id_structure)))
  {
    echo $pasledroit;
    return FALSE;
  }
  return TRUE;
}

// Début du contenu de la page
echo cadre_debut("calendrier de l'animateur");
echo "<form action=\"$PHPSELF?operation=1\" method=\"post\" name=\"choixanim\">
        <select name=\"id_animateur\" 
onchange=\"document.choixanim.submit();\"";
$req="select * from animateurs";
$res=executerequete($req);
echo "<option value=0></option>";
while($listanim=$res->fetchrow(DB_FETCHMODE_OBJECT))
{
        if($listanim->id==$id_animateur)
                echo "<option selected 
value=\"$listanim->id\">$listanim->prenom,$listanim->nom</option>";
        else
                echo "<option 
value=\"$listanim->id\">$listanim->prenom,$listanim->nom</option>";
}
echo "</select>";
echo "</form>";
//fonction de choix d'animateurs                
echo cadre_fin();


if(defined("ANIMATEURS") && ANIMATEURS>="~")
{
  switch($operation)
  {
    case 51 : // fermer un créneau
      $ouverture="";
    case 52 : // ouvrir accès individuel d'un créneau
      if (!$ouverture)
        $ouverture="accès individuels";
    case 53 : // ouvrir activité collective d'un créneau
      if (! verifiedroits("w"))
        break;
      if (!$ouverture)
        $ouverture="activités collectives";

      // calcul de la fin du créneau
//      $heure=$debut;
      $heurefin=date("H:i:00", strtotime("+".$unitehoraire." minutes", 
strtotime($heure)));
      //debug("$heure à $heurefin");

      // On commence par retirer le créneau ancien s'il existe
      $req = "SELECT * FROM animateurs_calendrier
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut<=\"$heure\" AND \"$heurefin\"<=fin
                                  AND id_animateur=\"$id_animateur\"";
      $res = executeRequete($req);
      if ($tranche=$res->fetchrow(DB_FETCHMODE_OBJECT))
      {  // oui, ça fait partie d'une tranche horaire
         if (($heure==$tranche->debut) & ($heurefin==$tranche->fin))
         { // ça correspond exactement à une tranche, alors on la détruit
           $req1 = "DELETE FROM animateurs_calendrier
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut=\"$heure\" AND \"$heurefin\"=fin
                                  AND id_animateur=\"$id_animateur\"";
           $res1 = executeRequete($req1);
           //debug("tranche supprimee");
         }
         elseif ($heure==$tranche->debut)
         { // la tranche débute le créneau, il faut le reculer
           $req1 = "UPDATE animateurs_calendrier SET debut=\"$heurefin\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut=\"$heure\"
                                  AND id_animateur=\"$id_animateur\"";
           $res1 = executeRequete($req1);
           //debug ("tranche réduite par le début");
         }
         elseif ($heurefin==$tranche->fin)
         { // la tranche termine le créneau, il faut la réduire
           $req1 = "UPDATE animateurs_calendrier SET fin=\"$heure\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND fin=\"$heurefin\"
                                  AND id_animateur=\"$id_animateur\"";
           $res1 = executeRequete($req1);
           //debug ("tranche réduite par la fin");
         }
         else
         {  // on se trouve au milieu d'un créneau, il faut le cinder en deux
           // celui du début
           $heurefinorigine=$tranche->fin;
           $req1 = "INSERT INTO animateurs_calendrier 
(id_animateur,id_localisation, jour, debut, fin)
                      VALUES (\"$id_animateur\",\"$id_localisation\", 
\"$nomjour\", \"$heurefin\", \"$tranche->fin\")";
           $res1 = executeRequete($req1);
           $req1 = "UPDATE animateurs_calendrier SET fin=\"$heure\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut<=\"$heure\" AND \"$heure\"<=fin
                                  AND id_animateur=\"$id_animateur\"";
           $res1 = executeRequete($req1);
           //debug ("tranche coupée en deux");
         }
      }
      // ouf, ça y est, on est sur qu'il n'y a plus de créneau qu'on veut 
configurer.

      //debug("$heure à $heurefin");

      // Maintenant, il faut l'ajouter si besoin.
      if ($operation!=51)
      {
        // On regarde si l'horaire précédent est du même genre que celui qu'on 
veut
        $req = "SELECT * FROM animateurs_calendrier
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND fin=\"$heure\"
                  AND ouverture=\"$ouverture\"";
        $res = executeRequete($req);
        $commeprecedent = $res->fetchrow(DB_FETCHMODE_OBJECT);

        // On regarde si l'horaire suivant est du même genre que celui qu'on 
veut
        $req = "SELECT * FROM animateurs_calendrier
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut=\"$heurefin\"
                  AND ouverture=\"$ouverture\"";
        $res = executeRequete($req);
        $commesuivant = $res->fetchrow(DB_FETCHMODE_OBJECT);

        if ($commeprecedent AND $commesuivant)
        { // réunir les deux créneaux
           $req1 = "UPDATE animateurs_calendrier SET fin=\"$commesuivant->fin\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND fin=\"$heure\"";
           $res1 = executeRequete($req1);
           $req1 = "DELETE FROM animateurs_calendrier
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut=\"$heurefin\"";
           $res1 = executeRequete($req1);
           //debug ("deux tranches réunies");
        }
        elseif ($commeprecedent AND !$commesuivant)
        { // allonger le crénau précédent
           $req1 = "UPDATE animateurs_calendrier SET fin=\"$heurefin\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND fin=\"$heure\"";
           $res1 = executeRequete($req1);
           //debug ("créneau allongé");
        }
        elseif (!$commeprecedent AND $commesuivant)
        { // avancer le crénau suivant
           $req1 = "UPDATE animateurs_calendrier SET debut=\"$heure\"
                WHERE jour=\"$nomjour\" AND id_localisation=\"$id_localisation\"
                  AND debut=\"$heurefin\"";
           $res1 = executeRequete($req1);
           //debug ("créneau avancé");
        }
        else // en dehors de tout créneau identique
        { // ajouter le créneau
           $req1 = "INSERT INTO animateurs_calendrier (id_localisation, jour, 
debut, fin, ouverture)
                      VALUES (\"$id_localisation\", \"$nomjour\", \"$heure\", 
\"$heurefin\", \"$ouverture\")";
           $res1 = executeRequete($req1);
           //debug("créneau ajouté");
        }
      } // if $operation!=51

    case 5 :  // Affichage des modèles hebdomadaires
      if (! verifiedroits("r"))
        break;
      afficheModèle($id_localisation);
      break;

    case 11 : // fermer un créneau
      // calcul de la fin du créneau
//        $heure=$debut;
        $heurefin=min2h($heure + $unitehoraire);
        $heure=min2h($heure);
        //$heurefin=date("H:i:00", strtotime("+".$unitehoraire." minutes", 
strtotime($heure)));
    //debug("$heure à $heurefin");
    // On commence par retirer le créneau ancien s'il existe
    $req = "SELECT * FROM animateurs_calendrier
                WHERE date=\"$date\" AND debut=\"$heure\" 
                AND id_animateur=\"$id_animateur\"";
                $res = executeRequete($req);
                if ($tranche=$res->fetchrow(DB_FETCHMODE_OBJECT))
                {  // oui, ça fait partie d'une tranche horaire
                        $req1 = "DELETE FROM animateurs_calendrier
                                WHERE date=\"$date\" AND debut=\"$heure\" 
                                AND id_animateur=\"$id_animateur\"";
                        $res1 = executeRequete($req1);
                }
      // ouf, ça y est, on est sur qu'il n'y a plus de créneau qu'on veut 
configurer.

      //debug("$heure à $heurefin");

      // Maintenant, il faut l'ajouter si besoin.
                if ($id_localisation!=0)
                {
                        $req1 = "INSERT INTO animateurs_calendrier 
(id_animateur,id_localisation, date, debut, fin)
                        VALUES (\"$id_animateur\",\"$id_localisation\", 
\"$date\", \"$heure\", \"$heurefin\")";
                        $res1 = executeRequete($req1);
                        //debug("créneau ajouté");
                } // if $operation!=11

    case 1 :  // Affichage du animateurs_calendrier d'une salle pour un moi 
correpondant à une date (courante)
      if (! verifiedroits("r"))
        break;
      afficheCalendrier($id_animateur, $date);
      break;

    case 2 :  // Appliquer le modèle de calendrier pour une semaine donnée
      if (! verifiedroits("w"))
        break;
      // On commence par vider complètement le calendrier pour la semaine 
donnée.
      echo "<p>Vider le calendrier pour la semaine concernée...";
      $datefin=date("Y-m-d", strtotime("+6 days", strtotime($date)));
      $req="DELETE FROM animateurs_calendrier WHERE date>=\"$date\" AND 
date<=\"$datefin\"
                    AND id_localisation=\"$id_localisation\"";
      $res = executeRequete($req);
      echo " fait !</p>";
      // Ensuite, on applique le modèle sur la semain concernée
      echo "<p>Appliquer le modèle au calendrier pour la semaine concernée...";
      $req="SELECT * FROM animateurs_calendrier
             WHERE id_localisation=\"$id_localisation\"
             ORDER BY jour, debut";
      $res=executeRequete($req);
      while ($horaire=$res->fetchrow(DB_FETCHMODE_OBJECT))
      {
        $datejour = $date;
        while (jourSemaine(date("w", strtotime($datejour))) != $horaire->jour)
          $datejour = date("Y-m-d", strtotime("+1 days", strtotime($datejour)));
        $req2="INSERT INTO animateurs_calendrier (id_localisation, date, debut, 
fin, ouverture)
               VALUES (\"$id_localisation\", \"$datejour\", 
\"$horaire->debut\", \"$horaire->fin\", \"$horaire->ouverture\")";
        $res2=executeRequete($req2);
      }
      $res3->free();
      echo " fait !</p>";
      // enfin, on affiche le résultat
      afficheCalendrier($id_localisation, $date);
      break;

    case 3 :  // Vider le calendrier pour une semaine donnée
      if (! verifiedroits("w"))
        break;
      // On commence par vider complètement le calendrier pour la semaine 
donnée.
      echo "<p>Vider le calendrier pour la semaine concernée...";
      $datefin=date("Y-m-d", strtotime("+6 days", strtotime($date)));
      $req="DELETE FROM animateurs_calendrier WHERE date>=\"$date\" AND 
date<=\"$datefin\"
                    AND id_localisation=\"$id_localisation\"";
      $res = executeRequete($req);
      // et on affiche le résultat
      afficheCalendrier($id_localisation, $date);
      break;

    default : // liste des localisations
      echo cadre_debut($slistelocalisations);
      if (ANIMATEURS<="~")
      {
        echo $pasledroit;   
        echo cadre_fin();
        break;
      }
    }  // switch
} // if
else
  echo $pasledroit;

include("basdepage.inc.php");
echo "</body></html>\n";
require("footer.inc.php");
?>

--- NEW FILE ---
<?php
/*
    Copyright (C) 2001, 2002 Bertand Pallie, Loïc Dayot - Mairie Pierrefitte 
(93)

    EPNadmin - Version 0.6

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    http://epnadmin.pierrefitte93.fr/
*/

//require_once("header.inc.php");
require_once("constantes.inc.php");             // définition des constantes
//require_once("fonctions.inc.php");              // concernant des fonctions 
transversales inclassables
require_once("mysql.inc.php");                  // concernant mysql
//require_once("sessions.inc.php");             // concernant les sessions et 
initiations
//require_once("usagers.inc.php");              // concernant la gestion des 
usagers
//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
//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

//                                                                             -
//  Structures, lieux, salles                                                  -
//                                                                             -

function animateur($id_structure)
{
  $res=recherche("animateurs", "id", $id_structure);
  $stru=$res->fetchrow(DB_FETCHMODE_OBJECT);
  return "$stru->nom $stru->prenom à $stru->ville";
}

// Partie d'un formulaire proposant la liste déroulante des structures
function choix_animateur($id_stru, $champ="id_structure", $vide="n'importe 
lequel")
{
  echo "<select name=\"$champ\"><option value=\"\">$vide</option>\n";
  $req="SELECT * FROM animateurs ORDER BY nom";
  $res=executeRequete($req);
  while ($structure=$res->fetchrow(DB_FETCHMODE_OBJECT))
  {
    echo "<option value=\"$structure->id\"";
    if ($structure->id==$id_stru)
      echo " selected";
    echo ">".substr($structure->ville,0,10)." : 
".substr($structure->structure,0,20)."\n";
  }
  echo "</select>\n";
}

?>





reply via email to

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