S'il n'y a pas d'actions défini
 */
 case '':
     //Redirection
     header("Location: index.php");
     break;
 case 'etape1':
     //Une palettisation à été selectionnée
     $id_selection;
     //Modèle de palettisation sélectionnée et à utiliser
     $id_fta_sauvegarde = $id_fta;
     //Sauvegarde de l'id_fta car il va être supprimé
     $id_fta_conditionnement = $id_selection;
     //Préparation pour chargement des valeurs
     //Chargement des valeurs du modèle
     mysql_table_load("fta_conditionnement");
     $id_fta = $id_fta_sauvegarde;
     //Affectation de l'id_fta
     $id_fta_conditionnement = "";
     //Suppression de l'id_fta_conditionnement pour création d'un nouvel enregistrement
     //Suppression de la palettisation précédement sélectionnée
     $req = "SELECT id_fta_conditionnement " . "FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage " . "WHERE fta_annexe_emballage_groupe=3 " . "AND id_fta={$id_fta} " . "AND fta_conditionnement.id_annexe_emballage=annexe_emballage.id_annexe_emballage " . "AND annexe_emballage.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . "ORDER BY reference_fournisseur_annexe_emballage ";
     $result = DatabaseOperation::query($req);
     while ($rows = mysql_fetch_array($result)) {
         $id_fta_conditionnement = $rows["id_fta_conditionnement"];
         mysql_table_operation("fta_conditionnement", "delete");
     }
     //Enregsitrement de la palettisation pour la FTA en cours
     mysql_table_operation("fta_conditionnement", "insert");
     //Renvoi sur la page d'ajout avec cette nouvelle information de groupe d'emballage sélectionné
     header("Location: modification_fiche.php?id_fta={$id_fta}&id_fta_chapitre_encours={$id_fta_chapitre_encours}");
             if ($duree_vie_production_fta_derogation_duree_vie > $duree_vie_technique_fta_composition) {
                 $lot_fta_derogation_duree_vie = strtoupper($lot_fta_derogation_duree_vie);
                 $type_fta_derogation_duree_vie = 1;
                 mysql_table_operation("fta_derogation_duree_vie", "insert");
             } else {
                 $titre = "Ce que vous demandez et contradictoire";
                 $message = "Vous avez demandé une dérogation pour augmenter la durée de vie de votre composant.<br>" . "Pourtant vous venez de saisir une durée de vie inférieure.";
                 afficher_message($titre, $message, $redirection);
                 $error = 1;
             }
             break;
     }
 }
 //Dérogation au niveau Article
 //echo $id_access_arti2."<br>";
 mysql_table_load("access_arti2");
 switch ($type_derogation) {
     case 1:
         if ($duree_vie_production_fta_derogation_duree_vie < $Durée_de_vie_technique) {
             //Si la durée de vie du composant passe en dessous de celle de l'Article
             //Ou qu'on se situe dans le cadre d'une augmentation de la Durée de Vie
             //Génération d'une dérogation pour le Colis
             //$id_fta_composition="";
             $id_fta_composant = "";
             $id_access_arti2;
             $type_fta_derogation_duree_vie = 0;
             mysql_table_operation("fta_derogation_duree_vie", "insert");
         } else {
             $titre = "Ce que vous demandez et contradictoire";
             $message = "Vous avez demandé une dérogation pour diminuer la durée de vie de votre composant.<br>" . "Pourtant vous venez de saisir une durée de vie supérieure.";
             afficher_message($titre, $message, $redirection);
    Initialisation des variables
*/
$page_default = substr(strrchr($_SERVER["PHP_SELF"], '/'), '1', '-4');
$page_action = $page_default . "_post.php";
$page_pdf = $page_default . "_pdf.php";
$action = "valider";
//L'action sera de sélectionner un groupe d'emballage
$method = 'POST';
//Pour une url > 2000 caractères, ne pas utiliser utiliser GET
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
/*
    Récupération des données MySQL
*/
//Chargement de la recette si existante
if ($id_access_recette_recette) {
    mysql_table_load("access_recettes_recette");
}
$bloc = "";
//Bloc de saisie
switch ($mode_selection) {
    case 1:
        //Sélection par liste
        //On reviendra sur cette même page, mais avec le N°dossier pré-saisie
        $page_action = $page_default . ".php";
        $mode_selection = 0;
        //Création de la liste déroulante des recette
        //Qui sont recettes racines et qui sont les dernières versions
        $liste_recette = "Liste des recettes racines</td><td><select name=id_access_recette_recette>";
        $req = "SELECT * " . "FROM access_recettes_recette " . "ORDER BY INTITULE_RECETTE, INDICE DESC ";
        $result = DatabaseOperation::query($req);
        while ($rows1 = mysql_fetch_array($result)) {
//Pour une url > 2000 caractères, ne pas utiliser utiliser GET
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
/*
    Récupération des données MySQL
*/
$bloc = "";
//Bloc de saisie
//Tableau récapitulatif des Durées de vie validées
$recap_duree = "<tr><td>\n                        <{$html_table}>\n                        <tr class=titre>\n                            <td>\n\n                            </td>\n                            <td>\n                            " . mysql_field_desc("fta_duree_vie", "designation_fta_duree_vie") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("fta_duree_vie", "client_fta_duree_vie") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("fta_duree_vie", "technique_fta_duree_vie") . "\n                            </td>\n                        ";
$recap_duree .= "</tr>";
//Récupération des Durée de vie déjà saisies
$req = "SELECT id_fta_duree_vie " . "FROM fta_duree_vie " . "ORDER BY client_fta_duree_vie, technique_fta_duree_vie, designation_fta_duree_vie ";
$result = DatabaseOperation::query($req);
while ($rows = mysql_fetch_array($result)) {
    $id_fta_duree_vie = $rows["id_fta_duree_vie"];
    mysql_table_load("fta_duree_vie");
    //Case à cocher pour sélection
    $champ = "id_fta_duree_vie";
    $recap_duree .= "<tr align=right bgcolor={$bgcolor}><td>" . "<input type=radio name={$champ} value={$id_fta_duree_vie} />" . "</td>";
    //Commentaire
    $champ = "designation_fta_duree_vie";
    $recap_duree .= "<td align=left>" . html_view_txt(${$champ}) . "</td>";
    //Durée de Vie Garantie au Client
    $champ = "client_fta_duree_vie";
    $recap_duree .= "<td>{${$champ}}</td>";
    //Durée de Vie Garantie Technique
    $champ = "technique_fta_duree_vie";
    $recap_duree .= "<td>{${$champ}}</td>";
}
$recap_duree .= "</tr></table>";
$bloc .= $recap_duree;
$method = 'method=post';
//Pour une url > 2000 caractères, utiliser POST
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
$NIV = 0;
//Niveau du mot de passe necessaire pour exécuter ce script
$password;
//Mot de passe donné par l'utilisateur
/*
    Récupération des données MySQL
*/
//Récupération de nom de table
$liste_table = file('table_data.list');
//Récupération de mot de passe de vérification
$nom_table = 'intranet_password';
$id_intranet_password = $NIV;
mysql_table_load($nom_table);
$real_password = $valeur_intranet_password;
//Vérification du mot de passe
if ($password == $real_password) {
    foreach ($liste_table as $value) {
        if (substr($value, 0, 1) != '#') {
            DatabaseOperation::query("DELETE FROM {$value}");
        }
    }
    $message = "le module {$module} a été initialisé.<br>";
} else {
    $message = "Mot de passe incorrect !<br>" . "Syntaxe: nom_de_la_page.php?password=<i>votre_mot_de_passe</i><br>";
}
/*
    Création des objets HTML (listes déroulante, cases à cocher ...etc.)
*/
 //echo $etat_fta_nomenclature;
 /*
          //Règle de gestion des données
          if ($etat_access_recettes_recette=2) //Cas du Surgelé
          {
             $quantite_piece_par_carton="";
          }
 */
 //Insertion d'une nomenclature orpheline
 //ou mise à jour d'une recette associée à une nomenclature
 //echo $creation;
 if ($creation) {
     //Création de la nomenclature orpheline
     //mysql_table_operation("fta_nomenclature", "insert");
     mysql_table_operation("fta_composant", "insert");
     mysql_table_load("annexe_agrologic_article_codification");
     if ($prefixe_annexe_agrologic_article_codification == "02") {
         //Valeur par défaut
         $_SESSION["ingredient_fta_composition"] = $_SESSION["liste_ingredient_defaut"];
         $_SESSION["nom_fta_composition"] = $_SESSION["nom_fta_nomenclature"];
         $_SESSION["id_geo"] = $_SESSION["site_production_fta_nomenclature"];
         $_SESSION["poids_fta_composition"] = $_SESSION["poids_fta_nomenclature"];
         $_SESSION["quantite_fta_composition"] = "1";
         //Ajout
         //mysql_table_operation("fta_composition", "insert");
         mysql_table_operation("fta_composant", "insert");
     }
 } else {
     //Mise à jour de la recette associée à sa nomenclature
     $N_INFOLOGIC = $code_produit_agrologic_fta_nomenclature;
     $id_fta_nomenclature;
    DatabaseOperation::query($req);
    $delete_id_fta_composition = "";
}
//Initialisation des associations
if ($clean) {
    $req = "UPDATE fta_composition SET id_fta_nomenclature=0 WHERE id_fta={$id_fta}";
    DatabaseOperation::query($req);
}
//Lien de réinitialisation des associations des nomenclatures dans les composants
$initialiser_asssociation = "<a href={$page_action}?clean=1&id_fta={$id_fta}>Initialiser les associations</a>";
//Lien de retour
$comeback = "<a href=http://intranet.agis.fr/fta/composant_orphelin.php>Retour</a>";
$id_fta;
//Fourni en URL
mysql_table_load('fta');
mysql_table_load('access_arti2');
//Récupération des Composants Orphelins
$HTML_composant = "<{$html_table}>";
$req = "SELECT * FROM fta_composition WHERE id_fta={$id_fta} and id_fta_nomenclature=0";
$result = DatabaseOperation::query($req);
while ($rows = mysql_fetch_array($result)) {
    $HTML_composant .= "<tr>" . "<td><input type=\"radio\" name=\"id_fta_composition\" value=\"" . $rows["id_fta_composition"] . "\" /></td>" . "<td>" . $rows["nom_fta_composition"] . "</td>" . "<td>" . $rows["quantite_fta_composition"] . " par colis</td>" . "<td>" . $rows["poids_fta_composition"] . "g</td>" . "</tr>";
}
$HTML_composant .= "</table>";
//Récupération des Produits Orphelins
//Attention, seuls les semi-fini (code en 02) sont concernés
$HTML_produits = "<{$html_table}>";
$is_current = 0;
$req = "SELECT * FROM fta_nomenclature, annexe_agrologic_article_codification, access_arti2 " . "WHERE fta_nomenclature.id_fta={$id_fta} " . "AND access_arti2.id_fta=fta_nomenclature.id_fta " . "AND ( " . "( Site_de_production<>'3' " . "AND " . "( " . "(prefixe_annexe_agrologic_article_codification='02' AND site_production_fta_nomenclature<>'3' )" . ") " . ") " . " OR " . "( Site_de_production='3' " . "AND " . "( " . "(prefixe_annexe_agrologic_article_codification='01' AND site_production_fta_nomenclature='3' )" . ") " . ") " . ") " . "AND annexe_agrologic_article_codification.id_annexe_agrologic_article_codification=fta_nomenclature.id_annexe_agrologic_article_codification ";
$result = DatabaseOperation::query($req);
while ($rows = mysql_fetch_array($result)) {
function afficher_navigation($id_fta, $id_fta_chapitre_encours, $synthese_action, $comeback)
{
    //Action: "consultation" ou "modification"
    //Barre de navigation de la Fiche Tehnique Article
    //Variables
    $html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
    $id_fta_chapitre_encours;
    $comeback;
    //1=l'url précédente à à enregistrer comme url de retour
    $t_processus_encours = array();
    $t_processus_visible = array();
    //Récupère la page en cours
    //$page_default=substr(strrchr($_SERVER["PHP_SELF"], '/'), '1', '-4');
    $page_default = "modification_fiche";
    //Récupération des informations préalables
    $_SESSION["id_fta"] = $id_fta;
    $objectFta = new ObjectFta($id_fta);
    mysql_table_load("fta");
    mysql_table_load("fta_etat");
    mysql_table_load("access_arti2");
    //echo     $_SESSION["code_article_ldc"];
    //Nom de l'assistante de projet responsable:
    $req = "SELECT prenom, nom FROM salaries WHERE id_user='******' ";
    $result = DatabaseOperation::query($req);
    if (mysql_num_rows($result)) {
        $createur = mysql_result($result, 0, "prenom") . " " . mysql_result($result, 0, "nom");
    }
    //Construction du Menu
    if ($_SESSION["id_article_agrologic"]) {
        $identifiant = $_SESSION["id_article_agrologic"];
    } else {
        $identifiant = $_SESSION["id_dossier_fta"] . "v" . $_SESSION["id_version_dossier_fta"];
    }
    if ($_SESSION["LIBELLE"]) {
        $nom = $_SESSION["LIBELLE"];
    } else {
        $nom = $_SESSION["designation_commerciale_fta"];
    }
    $menu_navigation = "\r\n                     <{$html_table}>\r\n                     <tr><td class=titre_principal> <div align=\"left\">\r\n                           {$identifiant} (LDC: <b><font size=\"2\" color=\"#0000FF\">" . $_SESSION["code_article_ldc"] . "</font></b>) - {$nom} &nbsp;&nbsp;&nbsp;&nbsp;<i>(gérée par {$createur})</i>\r\n                           </div>\r\n                     </td></tr>\r\n                     <tr class=titre><td>\r\n                     ";
    //Si une action est donnée, alors construction du menu des chapitres
    if ($synthese_action) {
        //Etat d'avancement de la FTA et Recherche des processus validés (et donc en lecture-seule)
        $liste_processus_visible = "";
        //Liste des processus en lecture-seule (séparés par une virgule)
        //$req = "SELECT * FROM fta_processus ";
        $req = "SELECT DISTINCT fta_processus.* FROM fta_processus, fta_processus_cycle " . "WHERE fta_processus_cycle.id_init_fta_processus=fta_processus.id_fta_processus " . "AND id_etat_fta_processus_cycle='I' " . "AND id_fta_categorie = '" . $objectFta->getFieldValue(ObjectFta::TABLE_FTA_NAME, "id_fta_categorie") . "' ";
        $result = DatabaseOperation::query($req);
        if (mysql_num_rows($result)) {
            //Balayage de tous les processus
            while ($rows = mysql_fetch_array($result)) {
                $id_fta;
                //Déjà déclaré
                $id_fta_processus = $rows["id_fta_processus"];
                $taux_validation_processus = fta_processus_validation($id_fta, $id_fta_processus);
                //echo $rows["nom_fta_processus"].": ".$taux_validation_processus."<br>";
                //Liste des processus visible(lecture-seule)
                if ($taux_validation_processus == 1) {
                    $t_processus_visible[] = $rows["id_fta_processus"];
                }
            }
            //Fin du balayage
            //print_r($t_processus_visible);
        } else {
            //La table des processus est vide
            $titre = "Erreur de configuration du module FTA";
            $message = "Cette FTA n'a pas de cycle \"Initialisation\" défini pour la catégorie " . $objectFta->getFieldValue(ObjectFta::TABLE_WORKFLOW_NAME, "nom_fta_categorie") . " <i>(Voir la table fta_processus_cycle)</i> ";
            afficher_message($titre, $message, $redirection);
        }
        //Fin de suivi de projet
        //Recherche des processus en cours
        //Balayage des cycles des processus (en exclant les processus déjà validés)
        $req = "SELECT DISTINCT id_next_fta_processus " . "FROM fta_processus_cycle, fta_processus, intranet_actions, intranet_droits_acces, intranet_modules " . "WHERE 1 AND ( 1 ";
        $separator = "AND";
        //Suppression des processus déjà validé
        if ($t_processus_visible) {
            foreach ($t_processus_visible as $value) {
                $req .= $separator . " id_next_fta_processus<>" . $value . " ";
                $separator = "AND";
            }
        }
        //Vérification des droits d'accès de l'utilisateur en cours
        $req .= ") " . "AND fta_processus_cycle.id_next_fta_processus=fta_processus.id_fta_processus " . "AND fta_processus.id_intranet_actions=intranet_actions.id_intranet_actions " . "AND intranet_actions.id_intranet_actions=intranet_droits_acces.id_intranet_actions " . "AND intranet_droits_acces.id_intranet_modules=intranet_modules.id_intranet_modules " . "AND id_user="******"id_user"] . " " . "AND nom_intranet_modules='fta' " . "AND niveau_intranet_droits_acces=1 " . "AND id_etat_fta_processus_cycle='" . $objectFta->getFieldValue(ObjectFta::TABLE_ETAT_NAME, "abreviation_fta_etat") . "' " . "AND id_fta_categorie = '" . $objectFta->getFieldValue(ObjectFta::TABLE_FTA_NAME, "id_fta_categorie") . "' ";
        //Finalisation de la requête
        $req .= "";
        //echo "<br>".$req;
        $result = DatabaseOperation::query($req);
        while ($rows = mysql_fetch_array($result)) {
            //Pour chaque processus, on vérifie que tous ces précédents sont validés
            $req = "SELECT * FROM fta_processus_cycle " . "WHERE id_next_fta_processus=" . $rows["id_next_fta_processus"] . " AND ( 1 ";
            $separator = "AND";
            //Ajout de la restriction des processus validé
            if ($t_processus_visible) {
                foreach ($t_processus_visible as $value) {
                    $req .= $separator . " id_init_fta_processus<>" . $value . " ";
                    $separator = "AND";
                }
            }
            //Recherche dans le cycle correspondant à l'état en cours de la fiche
            $req_etat = "SELECT `fta_etat`.`abreviation_fta_etat` " . "FROM `fta_etat`, `fta` " . "WHERE ( `fta_etat`.`id_fta_etat` = `fta`.`id_fta_etat` )" . "AND ( ( `fta`.`id_fta` = '" . $id_fta . "' ) )";
            $abreviation_fta_etat = mysql_result(DatabaseOperation::query($req_etat), 0, "abreviation_fta_etat");
            $req .= "AND id_etat_fta_processus_cycle='" . $abreviation_fta_etat . "' ";
            //Filtrage par catégorie
            //$req .= "AND id_fta_categorie='".$_SESSION["id_fta_categorie"]."' ";
            //Finalisation de la requête
            $req .= ")";
            //echo "<br>".$req;
            //Si la requête est vide, c'est que tous les processus précédents sont validés
            //Il est donc un Processus en cours
            $result_temp = DatabaseOperation::query($req);
            if (!mysql_num_rows($result_temp)) {
                //echo " Y";
                //Ce processus en cours, est-il du type repartie ou centralisé ?
                $req = "SELECT multisite_fta_processus FROM fta_processus " . "WHERE id_fta_processus=" . $rows["id_next_fta_processus"];
                $result_temp = DatabaseOperation::query($req);
                $multisite_fta_processus = mysql_result($result_temp, 0, "multisite_fta_processus");
                //Oui, il s'agit d'un Processus répartie sur les sites d'assemblage
                if ($multisite_fta_processus) {
                    //Existe-il une configuration de gestion forcée pour ce processus et ce site d'assemblage ?
                    $req = "SELECT id_site_processus_fta_processus_multisite FROM fta_processus_multisite, access_arti2 " . "WHERE id_site_assemblage_fta_processus_multisite=Site_de_production " . "AND id_processus_fta_processus_multisite='" . $rows["id_next_fta_processus"] . "' " . "AND id_fta=" . $id_fta . " ";
                    $result_temp = DatabaseOperation::query($req);
                    if (mysql_num_rows($result_temp)) {
                        $id_geo = mysql_result($result_temp, 0, "id_site_processus_fta_processus_multisite");
                    } else {
                        //Sinon, Vérification de l'égalité entre le site d'assemblage de la FTA et le site de Localisation de l'utilisateur
                        $req = "SELECT id_geo FROM access_arti2, geo " . "WHERE id_fta=" . $id_fta . " " . "AND Site_de_production=id_site ";
                        $result_temp = DatabaseOperation::query($req);
                        if (mysql_num_rows($result_temp)) {
                            $id_geo = mysql_result($result_temp, 0, "id_geo");
                        }
                    }
                    if ($id_geo == $_SESSION["lieu_geo"]) {
                        //L'égalité est respecté, donc ce processus est bien en cours
                        $t_processus_encours[] = $rows["id_next_fta_processus"];
                    } else {
                        //                   echo "TEST";
                    }
                } else {
                    //Enregistrement du processus en tant que processus en cours
                    $t_processus_encours[] = $rows["id_next_fta_processus"];
                }
            }
        }
        //Fin du balayage des processus non-validés
        //print_r($t_processus_encours);
        //Recherche des processus Publics
        //Création de la liste des processus dans la barre de navigation
        $t_processus_encours;
        $t_processus_visible;
        /*     switch ($synthese_action)//Suivant l'action effectuée sur la navigation:
                  {
                  case "modification":
                  $t_liste_processus = array_merge($t_processus_encours,$t_processus_visible);
                  break;
        
                  case "consultation":
                  $t_liste_processus = $t_processus_visible;
                  break;
                  } */
        $t_liste_processus = array_merge($t_processus_encours, $t_processus_visible);
        //$t_liste_processus = $t_processus_encours;
        //Ajout des processus n'ayant pas de précédents et donc obligatoirement présent dans le menu de navigation
        $req = "SELECT fta_processus.* FROM fta_processus " . "LEFT JOIN fta_processus_cycle " . "ON fta_processus.id_fta_processus=fta_processus_cycle.id_next_fta_processus " . "WHERE fta_processus_cycle.id_next_fta_processus IS NULL;";
        $result = DatabaseOperation::query($req);
        while ($rows = mysql_fetch_array($result)) {
            $t_liste_processus[] = $rows["id_fta_processus"];
        }
        //Récupération des Chapitres accessible dans le menu de naviguation
        if ($t_liste_processus) {
            $req = "SELECT * FROM fta_chapitre LEFT JOIN fta_processus " . "ON fta_processus.id_fta_processus=fta_chapitre.id_fta_processus " . "WHERE  ( " . "fta_chapitre.id_fta_processus=0 ";
            $separator = "OR";
            foreach ($t_liste_processus as $value) {
                $req .= $separator . " fta_processus.id_fta_processus=" . $value . " ";
                $separator = "OR";
            }
            $req .= " ) ORDER BY fta_chapitre.id_fta_chapitre";
            $result = DatabaseOperation::query($req);
            //Balyage des chapitres trouvés
            while ($rows = mysql_fetch_array($result)) {
                $id_fta_chapitre = $rows['id_fta_chapitre'];
                $nom_fta_chapitre = $rows['nom_fta_chapitre'];
                $nom_usuel_fta_chapitre = $rows['nom_usuel_fta_chapitre'];
                //Dans le cas où il n'y a pas de chapitre sélectionné, sélection du premier
                if (!$id_fta_chapitre_encours) {
                    $id_fta_chapitre_encours = $id_fta_chapitre;
                }
                if ($id_fta_chapitre_encours == $id_fta_chapitre) {
                    $b = "<font size=3 color=#5494EE><b>";
                    $image1 = "[>";
                    $image2 = "<]";
                    $num = 1;
                    //$image1="[<img src=../lib/images/etoile_clignotante.gif width=15 height=15 border=0 />]";
                    //$image2=$image1;
                } else {
                    $image1 = "[>";
                    $image2 = "<]";
                    //Ce chapitre est-il public?
                    if ($rows['id_fta_processus'] == 0) {
                        $b = "<font color=\"#8977A9\">";
                    } else {
                        //Le chapitre est-il validé ?
                        $req1 = "SELECT id_fta_suivi_projet " . "FROM fta_suivi_projet " . "WHERE id_fta={$id_fta} " . "AND id_fta_chapitre={$id_fta_chapitre} " . "AND signature_validation_suivi_projet<>0 ";
                        $result1 = DatabaseOperation::query($req1);
                        $num = mysql_num_rows($result1);
                        switch ($num) {
                            case 0:
                                //Chapiter pas encore validé
                                $b = "<font color=\"#FF0000\">";
                                break;
                            case 1:
                                //Chapitre validé
                                $b = "<font color=\"#00B300\">";
                                break;
                            default:
                                //Anomalie
                                $titre = "Erreur Grave !";
                                $message = "La fonction afficher_navigation() vient de trouver des doublons de validation des chapitres dans la table fta_suivi_projet";
                                afficher_message($titre, $message, $redirection);
                                break;
                        }
                    }
                    //Fin du test public
                }
                //Fin de la colorisation
                //$menu_navigation.="<a href=$page_default.php?id_fta=$id_fta&id_fta_chapitre_encours=$id_fta_chapitre><img src=images/bouton_menu-$nom_fta_chapitre.png border=$border></a> ";
                //echo $num." ".$_SESSION["synthese_action"]."<br>";
                if ($num == 0 and $_SESSION["synthese_action"] == "attente") {
                } else {
                    $menu_navigation .= "<a href={$page_default}.php?id_fta={$id_fta}&id_fta_chapitre_encours={$id_fta_chapitre}&synthese_action={$synthese_action}>{$b}" . $image1 . $nom_usuel_fta_chapitre . $image2 . "</a>" . "</b></font> ";
                }
                //$menu_navigation.="<input type=submit value=`".$nom_usuel_fta_chapitre."` border=$border> ";
            }
        }
        //Fin de la création des chapitres
    }
    //Fin du controle de $synthese_action
    //Lien de retour rapide
    /* $menu_navigation.= "</td></tr><tr><td>
       <a href=index.php?id_fta_etat=".$_SESSION["id_fta_etat"]."&nom_fta_etat=".$_SESSION["abreviation_fta_etat"]."&synthese_action=$synthese_action>Retour vers la synthèse</a>
       "; */
    if ($comeback == 1) {
        $_SESSION["comeback_url"] = $_SERVER["HTTP_REFERER"];
        $_GLOBALS["comeback_url"] = $_SESSION["comeback_url"];
    }
    $menu_navigation .= "</td></tr><tr><td>\r\n    <a href=" . $_SESSION["comeback_url"] . "><img src=../lib/images/bouton_retour.png alt=\"\" title=\"Retour à la synthèse\" width=\"18\" height=\"15\" border=\"0\" /> Retour vers la synthèse</a> |\r\n    ";
    //echo "<pre>".print_r($_SERVER["QUERY_STRING"])."</pre>";
    //Corps du menu
    $menu_navigation .= "\r\n                    <a href=historique.php?id_fta={$id_fta}><img src=./images/graphique.png alt=\"\" title=\"" . UserInterfaceLabel::FR_AVANCEMENT_FTA . "\" width=\"18\" height=\"15\" border=\"0\" />" . UserInterfaceLabel::FR_AVANCEMENT_FTA . "</a>\r\n                       </td></tr>\r\n                       </table>\r\n                       ";
    return $menu_navigation;
}
        if (!${$champ}) {
            //Valeur par défaut
            ${$champ} = 1;
        }
        $label = mysql_field_desc("fta_conditionnement", $champ);
        $bloc .= "<tr><td>{$label}</td><td><input type=text name={$champ} value=`" . ${$champ} . "` size=20/></td></tr>";
        break;
    case "etape2":
        //L'étape 2 a été validé
        $action = "etape3";
        //L'action sera d'enregistrer les dernières informations
        //Sauvegarde des valeurs
        $id_fta_sauvegarde = $id_fta;
        //Sauvegarde de l'id_fta en cours
        mysql_table_load("fta_conditionnement");
        mysql_table_load("annexe_emballage");
        //Hauteur
        $champ = "hauteur_emballage_fta_conditionnement";
        ${"NOM_" . $champ} = mysql_field_desc("fta_conditionnement", $champ);
        $bloc .= "<tr><td>{${'NOM_' . $champ}}:</td><td>" . "<input type=radio name=" . $champ . " value=1 disabled>{$longueur_annexe_emballage} mm<hr>" . "<input type=radio name=" . $champ . " value=2 disabled>{$largeur_annexe_emballage} mm<hr>" . "<input type=radio name=" . $champ . " value=3 checked >{$hauteur_annexe_emballage} mm";
        //Sauvegarde des valeurs
        $id_fta = $id_fta_sauvegarde;
        //Sauvegarde de l'id_fta en cours
        break;
}
//Fin de la création du bloc de saisie
/*
     Sélection du mode d'affichage
*/
switch ($output) {
    /*************
/*************
Début Code PHP
*************/
/*
    Initialisation des variables
*/
$action = '';
//Action proposée à la page action.php
$method = 'method=post';
//Pour une url > 2000 caractères, utiliser POST
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
/*
    Récupération des données MySQL
*/
$id_classification_arborescence_article;
mysql_table_load("classification_arborescence_article");
/*
    Création des objets HTML (listes déroulante, cases à cocher ...etc.)
*/
//Liste des ascendants
$req = "SELECT * FROM classification_arborescence_article " . "WHERE id_classification_arborescence_article<>{$id_classification_arborescence_article} " . "ORDER BY nom_classification_arborescence_article";
$result = mysql_result($req);
//while($rows
/***********
Fin Code PHP
***********/
/**************
Début Code HTML
**************/
/*
echo "
*************/
/*
    Initialisation des variables
*/
$page_default = substr(strrchr($_SERVER["PHP_SELF"], '/'), '1', '-4');
$page_action = $page_default . "_post.php";
$page_pdf = $page_default . "_pdf.php";
$action = 'valider';
//Action proposée à la page _post.php
$method = 'POST';
//Pour une url > 2000 caractères, ne pas utiliser utiliser GET
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu ";
/*
    Récupération des données MySQL
*/
mysql_table_load('intranet_modules');
//Lister les actions possibles sur le module
$req = "SELECT * FROM intranet_actions " . "WHERE module_intranet_actions = '0' " . "OR module_intranet_actions = '" . $id_intranet_modules . "' " . "ORDER BY module_intranet_actions, nom_intranet_actions ";
$result_action = DatabaseOperation::query($req);
$bloc = "";
while ($rows_action = mysql_fetch_array($result_action)) {
    $bloc .= "<{$html_table}><tr class=titre_principal><td>" . $rows_action["description_intranet_actions"] . "</td></tr>";
    //Pour chaque niveaux, lister les utilisateur concernés
    $req = "SELECT DISTINCT * FROM intranet_droits_acces, salaries, intranet_modules , intranet_actions " . "WHERE ( `intranet_droits_acces`.`id_user` = `salaries`.`id_user` " . "AND `intranet_droits_acces`.`id_intranet_modules` = `intranet_modules`.`id_intranet_modules` " . "AND `intranet_droits_acces`.`id_intranet_actions` = `intranet_actions`.`id_intranet_actions` " . "AND `intranet_actions`.`id_intranet_actions` = '" . $rows_action["id_intranet_actions"] . "' " . "AND `intranet_modules`.`id_intranet_modules` = '" . $id_intranet_modules . "' " . "AND `intranet_droits_acces`.`niveau_intranet_droits_acces` <> 0 " . ")" . "ORDER BY niveau_intranet_droits_acces, login ";
    $result_user = DatabaseOperation::query($req);
    while ($rows_user = mysql_fetch_array($result_user)) {
        $bloc .= "<tr><td>" . $rows_user["login"] . "</td>";
        if ($rows_user["niveau_intranet_droits_acces"] != 1) {
            $bloc .= "<td>Niveau = " . $rows_user["niveau_intranet_droits_acces"] . "</<td></tr>";
        }
    }
 */
 case '':
     //Redirection
     header("Location: index.php");
     break;
 case 'valider':
     //Une palettisation à été selectionnée
     //Chargement des valeurs du modèle
     $id_fta_duree_vie;
     mysql_table_load("fta_duree_vie");
     //Mise à jour des valeurs
     $Durée_de_vie = $client_fta_duree_vie;
     $Durée_de_vie_technique = $technique_fta_duree_vie;
     //Mise à jour de la FTA
     $id_fta;
     mysql_table_load("fta");
     $id_access_arti2;
     mysql_table_operation("access_arti2", "update");
     //Renvoi sur la page d'ajout avec cette nouvelle information de groupe d'emballage sélectionné
     header("Location: modification_fiche.php?id_fta={$id_fta}&id_fta_chapitre_encours={$id_fta_chapitre_encours}&synthese_action={$synthese_action}");
     break;
 case 'suppression_modele_palettisation':
     //Variables passées en URL
     $id_fta;
     $id_fta_conditionnement;
     mysql_table_operation("fta_conditionnement", "delete");
     header("Location: selection_palettisation.php?id_fta={$id_fta}&id_fta_chapitre_encours=6");
     break;
     /************
     Fin de switch
     ************/
 $action = "etape1";
 //L'action sera de sélectionner un modèle de palettisation
 //Sélection d'une autre palettisation
 $bloc .= "\n            <tr><td>\n            <a href=ajout_palettisation.php?id_fta={$id_fta}&palettisation_emballage_groupe=1&id_fta_chapitre_encours={$id_fta_chapitre_encours}>\n            Ajouter la palettisation\n            </a>\n            </td></tr>\n            ";
 //Tableau récapitulatif des palettisations utilisées
 $recap_palettisation = "<tr><td>\n                        <{$html_table}>\n                        <tr class=titre>\n                            <td>\n\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "id_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage_groupe", "nom_annexe_emballage_groupe") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "reference_fournisseur_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "poids_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "longueur_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "largeur_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("annexe_emballage", "hauteur_annexe_emballage") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("fta_conditionnement", "nombre_couche_fta_conditionnement") . "\n                            </td>\n                            <td>\n                            " . mysql_field_desc("fta_conditionnement", "quantite_par_couche_fta_conditionnement") . "\n                            </td>\n                        ";
 $recap_palettisation .= "<td>Suppr.</td>";
 $recap_palettisation .= "</tr>";
 //Récupération des palettisations déjà saisies
 $req = "SELECT id_fta_conditionnement " . "FROM fta_conditionnement, annexe_emballage, annexe_emballage_groupe " . "WHERE fta_annexe_emballage_groupe=3 " . "AND id_fta=0 " . "AND fta_conditionnement.id_annexe_emballage=annexe_emballage.id_annexe_emballage " . "AND annexe_emballage.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . "ORDER BY annexe_emballage_groupe.id_annexe_emballage_groupe, reference_fournisseur_annexe_emballage ";
 $result = DatabaseOperation::query($req);
 while ($rows = mysql_fetch_array($result)) {
     $id_fta_conditionnement = $rows["id_fta_conditionnement"];
     mysql_table_load("fta_conditionnement");
     mysql_table_load("annexe_emballage");
     mysql_table_load("annexe_emballage_groupe");
     //Case à cocher pour sélection
     $champ = "nom_annexe_emballage_groupe";
     $recap_palettisation .= "<tr align=right bgcolor={$bgcolor}><td>" . "<input type=radio name=id_selection value={$id_fta_conditionnement} />" . "</td>";
     //Identifiant de la palettisation
     $champ = "id_annexe_emballage";
     $recap_palettisation .= "<td>{${$champ}}</td>";
     //Groupe d'emballage
     $champ = "nom_annexe_emballage_groupe";
     $recap_palettisation .= "<td>{${$champ}}</td>";
     //Emballage
     $champ = "reference_fournisseur_annexe_emballage";
     $recap_palettisation .= "<td>{${$champ}}</td>";
     //Poids
     $champ = "poids_annexe_emballage";
     $recap_palettisation .= "<td>{${$champ}}</td>";