<?
/***************************************************************************
                          AnnuRepertoire.php - Classe Annu Repertoire
                             -------------------
    begin                : Septembre  UTC 2002
    copyright            : (C) 2002 by NADAL Jean-Baptiste
    email                : jbnadal@ifrance.com
 ***************************************************************************
 *
 *  Cette classe permet de gerer le répertoire de morceaux pour
 *  le site de l'Harmonie de Montpellier-Jacou
 *
 ***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************
 * $Id: AnnuRepertoire.php,v 1.3 2002/12/15 20:22:29 jb Exp $
 ***************************************************************************/

if (file_exists ("conf.php") )
    require ("conf.php");
else
    require ("./Scripts/conf.php");


class    AnnuRepertoire
{
    // =============================================================
    // Les Variables
    var $szNomBase;       /* nom de la base de travail. */
    var $szPage;          /* Nom de la page courante dans le site. */

    var $szNom;
    var $szCompositeur;
    var $nStyle;
    var $nNumero;
    var $nID;

    // =============================================================
    // Constructeur
    function  AnnuRepertoire ($nomB, $page)
    {
       $this->szNomBase = $nomB;
       $this->szPage = $page;
    }

    // =================================================
    // Cette fonction supprime l'élement de base passé en paramètre
    function Supprimer ($num_elem)
    {
       global $racine, $page_index, $sql_bdd;
       
       /* On se connecte sur la base. */
       $connect_db = jb_sql_connect (false);
       $resultat = mysql_db_query ($sql_bdd,
                                   "delete from $this->szNomBase where ".
                                   "id=$num_elem",$connect_db);
       if ($resultat == 1)
          echo "<br><br><center><font size=4 color=red>
                <b>L' élement message $num_elem a été effacé</b>
                </font></center><br/><br/>\n";
       else
          echo "<br><br><center><font size=6 color=red>
                <b>BUG !!! suppression Impossible</b></font></center>
                <br/><br/>\n";

       MYSQL_CLOSE;
       echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration des Morceaux</a></center>\n";
    }

    // =================================================
    // Cette fonction Creer un formulaire pour la création d'un nouvel élément
    function debutFormulaire ($valide)
    {
       global $racine, $page_index;

       echo "<form method=post action=$racine/$page_index?page=$this->szPage".
          "&action=$valide>";
       echo "<input type=hidden name=elem size=32 value=\"$this->nID\" />";
       echo "Numéro : <input type=text name=num style='width:50px;' 
                             maxlength=3  value=\"$this->nNumero\" /><br/>\n";
       echo "Style  : <select name=style>\n";

       if ($this->nStyle == 1) 
          echo "<option value = 1 selected> Middle Jazz\n";
       else
          echo "<option value = 1> Middle Jazz\n";
       if ($this->nStyle == 2)
          echo "<option value = 2 selected> Variétés Françaises et ".
             "Internationales\n";
       else 
          echo "<option value = 2> Variétés Françaises et Internationales\n";
       if ($this->nStyle == 20)
          echo "<option value = 20  selected> Danses et Musiques ".
             "Traditionnelles-Pasos-dobles et Tangos\n";
       else 
          echo "<option value = 20> Danses et Musiques Traditionnelles-".
             "Pasos-dobles et Tangos\n";
       if ($this->nStyle == 21) 
          echo "<option value = 21  selected> Danses et Musiques ".
             "Traditionnelles-Rythmes Latins\n";
       else 
          echo "<option value = 21> Danses et Musiques Traditionnelles-".
             "Rythmes Latins\n";
       if ($this->nStyle == 22) 
          echo "<option value = 22  selected> Danses et Musiques ".
             "Traditionnelles-Chansons du monde\n";
       else 
          echo "<option value = 22> Danses et Musiques Traditionnelles-".
             "Chansons du monde\n";
       if ($this->nStyle == 4) 
          echo "<option value = 4 selected>  Musique de Film, Comédie ".
             "Musicale et Rock Opera\n";
       else 
          echo "<option value = 4>  Musique de Film, Comédie Musicale ".
             "et Rock Opera\n";
       if ($this->nStyle == 5) 
          echo "<option value = 5 selected> Musique Classique\n";
       else 
          echo "<option value = 5> Musique Classique\n";
       if ($this->nStyle == 10)
          echo "<option value = 10 selected> Musique originale pour ".
             "Orchestre d'Harmonie - Suites\n";
       else 
          echo "<option value = 10> Musique originale pour Orchestre ".
             "d'Harmonie - Suites\n";
       if ($this->nStyle == 11)
          echo "<option value = 11 selected> Musique originale pour ".
             "Orchestre d'Harmonie - Marches et Polkas\n";
       else 
          echo "<option value = 11> Musique originale pour Orchestre ".
             "d'Harmonie - Marches et Polkas\n";
       if ($this->nStyle == 12) 
          echo "<option value = 12 selected> Musique originale pour ".
             "Orchestre d\'Harmonie - Pièces calmes\n";
       else 
          echo "<option value = 12> Musique originale pour Orchestre ".
             "d'Harmonie - Pièces calmes\n";
       echo "</select><br>\n";

       echo "Nom du morceau : <input type=text name=nom size=32 value=\"".
          $this->szNom."\" /><br>\n";
       echo "Compositeur : <input type=text name=compositeur size=32 value=\"".
          $this->szCompositeur."\" /><br>\n";
    }
    
    // =================================================
    // Cette fonction Ferme le Formulaire
    function FinFormulaire ()
    {
       echo "<center><input type=submit value=valider /></center><br></form>";
    }

    // =================================================
    // Cette fonction supprime l'élement de base passé en paramètre
    function AjouterMorceau ()
    {
       echo " <center><h1> Ajoute d'un nouveau morceau</h1></center><br/>\n";
       $this->debutFormulaire ("ValideAjouter");
       $this->FinFormulaire ();
    }
    // =================================================
    // Cette fonction permet de lister tous les downloads présent dans la base
    function ListerMorceaux ()
    {
       global $racine, $page_index, $sql_serveur;
       global $sql_bdd, $sql_user, $sql_passwd;

       /* on affiche l"entete du tablo. */
       echo "<center>
               <table border=0 width=\"95%\">
                 <tr>
                   <th bgcolor=\"#d5dee6\"> num </th>
                   <th bgcolor=\"#d5dee6\">Nom</th>
                   <th bgcolor=\"#d5dee6\" colspan=2>Action</th>
                 </tr>\n";

       /* On se connecte sur la base de Morceaux. */
       $connect_db = jb_sql_connect (false);
       $resultat = mysql_db_query ($sql_bdd,
                                   "select * from $this->szNomBase ".
                                   "order by numero", $connect_db);
       $i = 0;
       while ($row = mysql_fetch_row ($resultat)) {

          if (($i%2) == 0)
             echo"<tr bgcolor=\"#DDDDDD\">\n";
          else
             echo "<tr bgcolor=\"#CCCCCC\">\n";
          
          echo "<td>$row[1] </td>\n";
          echo "<td>$row[2] </td>\n";
          echo "<td><a href=$racine/$page_index?page=$this->szPage&".
             "action=modifier&elem=$row[0]>Modifier</a></td>\n";
          echo " <td><a href=$racine/$page_index?page=$this->szPage&".
             "action=supprimer&elem=$row[0]>Supprimer</a></td> </tr>\n";
          $i++;
       }
       
       mysql_free_result ($resultat);
       MYSQL_CLOSE;
       echo "</table> </center><br><br>";
    }
    // =================================================
    // Cette fonction Rajoute une entree dans la base de données
    function InsertMorceau ($elem, $num, $nom, $compositeur, $Style)
    {
       global $racine, $page_index, $sql_bdd;
       
       if (($nom == '') || ($compositeur == "") || 
           ($Style == "") || ($num == ""))
          echo "<br/><br/><center> <font size=6 color=red>
                <b>BUG !!! Le morceau $nom  n'a pas été ajouté</b></font><br/>
                   certains champs sont vides</center><br><br>\n";
       else {
          // On se connecte sur la base de Download
          $connect_db = jb_sql_connect (false);
          $requete = "insert into $this->szNomBase (numero,nom,compo,style)".
             " values ('$num','$nom','$compositeur','$Style' )";
          $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);

          if ($resultat == 1)
             echo "<br><br><center><font size=4 color=red>
                   <b>Le morceau $nom  a été Ajouté</b></font>
                   </center><br/><br/>\n";
          else
             echo "<br><br><center><font size=6 color=red>
                   <b>BUG !!! Le morceau $nom  n'a pas été ajouté</b>
                   </font></center><br/><br/>\n";

          MYSQL_CLOSE;
       }
       echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration des Morceaux</a></center>\n";
    }

    // =================================================
    // Cette fonction permet de modifier un download présent dans la base
    function ModifierRepertoire ($elem)
    {
       global $sql_bdd;

       // On se connecte sur la base de Download
       $connect_db = jb_sql_connect (false);
       $requete = "select * from $this->szNomBase where id='$elem'";
       $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);

       $this->nID = mysql_result ($resultat, 0, "id");
       $this->nNumero = mysql_result ($resultat, 0, "numero");
       $this->szNom = mysql_result ($resultat, 0, "nom");
       $this->szCompositeur = mysql_result ($resultat, 0, "compo");
       $this->nStyle = mysql_result ($resultat, 0, "style");

       echo "<center><h1> Modification du morceau : $this->szNom </h1>
             </center><br/>\n";
       $this->debutFormulaire ("ValideModifier");
       $this->FinFormulaire ();
       mysql_free_result ($resultat);
       MYSQL_CLOSE;
    }

    // =================================================
    // Cette fonction Rajoute une entree dans la base de données
    function ValideModifierMorceau ($elem, $num, $nom, $compositeur, $Style)
    {
       global $racine, $page_index, $sql_bdd;
      
       /* On se connecte sur la base de REpertoire. */
       $connect_db = jb_sql_connect (false);
       $requete = "update $this->szNomBase  set nom='$nom' ,compo=".
          "'$compositeur',style='$Style',numero='$num' where id='$elem'";
       $resultat = mysql_db_query($sql_bdd, $requete, $connect_db);
       if ($resultat == 1)
          echo "<br/><br/><center><font size=4 color=red>
                <b>L' élement $nom  a été Modifié</b></font>
                </center><br/><br/>\n";
       else
          echo "<br/><br/><center><font size=6 color=red>
                <b>BUG !!! L' élement $nom  n'a pas été Modifié</b></font>
                </center><br/><br/>\n";


       MYSQL_CLOSE;
       echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration des Morceaux</a></center>\n";
    }
}
?>
