<?php
if (!isset($_SESSION['idUtil'])) header("Location:index.php");
if (!isset($_SESSION['statut'])) header("Location:index.php");
if (($_SESSION['statut']!=2) && ($_SESSION['statut']!=4)) header("Location:index.php");
if (!isset($_REQUEST['action']))
	$action = "" ;
else
	$action = $_REQUEST['action'] ;
	
switch ($action)
{
	case "afficher" : { 
            //affiche les commandes du jour
            
            $ladateAMJ = date("Y-m-d") ;
            $ladateJMA = date("d/m/Y") ;
            $_SESSION['laDateCde'] = $ladateAMJ ;
            $lesCommandes = getLesCommandesJour($ladateAMJ) ;
            require "vues/v_commande_liste.php" ; 
            break ;             
        }
        
        case "plus" : { 
            //affiche les commandes d'une date choisie
            $lesDates = getLesDatesMenus() ;
            require "vues/v_dates_commande.php" ; 
            break ;             
        }
        
        case "consulter" : { 
            //affiche les commandes d'une date choisie
            $ladateURL = $_REQUEST['date'] ;
            $ladateAMJ = substr($ladateURL,0,4)."-".substr($ladateURL,4,2)."-".substr($ladateURL,6,2) ;
            $ladateJMA = getDateJMA($ladateAMJ) ;
            $_SESSION['laDateCde'] = $ladateAMJ ;
            $lesCommandes = getLesCommandesJour($ladateAMJ) ;
            require "vues/v_commande_liste.php" ;  
            break ;             
        }
        
        case "compte" : { 
            //affiche les comptes des élèves
            $lesComptes = getLesComptesEleves() ;
            require "vues/v_comptes_eleves.php" ;  
            break ;             
        }
        
        case "menu" : { 
            //affiche la vue de saisie des menus
            $lesDates = getLesDatesMenus() ;
            require "vues/v_dates_menu.php" ; 
            break ;               
            break ;             
        }
        
        case "menusaisir" : { 
            //affiche la vue de saisie des menus
            $ladateURL = $_REQUEST['date'] ;
            $ladateAMJ = substr($ladateURL,0,4)."-".substr($ladateURL,4,2)."-".substr($ladateURL,6,2) ;
            $ladateJMA = getDateJMA($ladateAMJ) ;
            $lesMenus = getLesMenusJour($ladateAMJ) ;
            $lesFormules = getLesFormules();
            require "vues/v_saisir_menu.php" ; 
            break ;               
            break ;             
        }
        
        case "menuenregistrer" : { 
    $ladateAMJ = $_REQUEST['dateMenu'];
    $ladateJMA = getDateJMA($ladateAMJ);
    $numMenu = $_REQUEST['numMenu'];
    $descMenu = $_REQUEST['descMenu'.$numMenu];
    $menuidformule = $_REQUEST['menuidformule'];
    
    majMenu($ladateAMJ, $numMenu, $descMenu, $menuidformule);

    $lesMenus = getLesMenusJour($ladateAMJ);
    $lesFormules = getLesFormules();
    require "vues/v_saisir_menu.php";
    break;
}
        
        case "menusupprimer" : { 
            //affiche la vue de saisie des menus
            $ladateURL = $_REQUEST['dateMenu'] ;
            $ladateAMJ = substr($ladateURL,0,4)."-".substr($ladateURL,4,2)."-".substr($ladateURL,6,2) ;
            $ladateJMA = getDateJMA($ladateAMJ) ;
            $numMenu = $_REQUEST['numMenu'] ;
            supMenu($ladateAMJ, $numMenu) ;
            $lesMenus = getLesMenusJour($ladateAMJ) ;
            $lesFormules = getLesFormules();
            require "vues/v_saisir_menu.php" ; 
            break ;               
            break ;             
        }
        
        case "menuajouter" : { 
    $ladateAMJ = $_REQUEST['dateMenu'];
    $ladateJMA = getDateJMA($ladateAMJ);
    $numMenu = $_REQUEST['numMenu'];
    $descMenu = $_REQUEST['descMenu'.$numMenu];
    $menuidformule = $_REQUEST['menuidformule'];

    ajoutMenu($ladateAMJ, $numMenu, $descMenu, $menuidformule);

    $lesMenus = getLesMenusJour($ladateAMJ);
    $lesFormules = getLesFormules();
    require "vues/v_saisir_menu.php";
    break;
}
        
        case "param" : { 
            //affiche la vue de saisie des menus
            $params = getParams() ;
            require "vues/v_params_affich.php" ; 
            break ;                        
        }
        
        case "paramenregistrer" : { 

            $heureDebutCde = $_REQUEST['heureDebutCde'] ;
            $nbRepasDecouvert = $_REQUEST['nbRepasDecouvert'] ;

                if ($heureDebutCde!="")
                {
                    majParams($heureDebutCde, $nbRepasDecouvert) ;

                    $params = getParams() ;
                    require "vues/v_params_affich.php" ; 
                }
                else 
                { 
                    $message = "Veuillez renseigner les paramètres" ;
                    require "vues/v_erreur.php" ; 
                    require "vues/v_params_affich.php" ; 
                }

    break ;                        
}
        
        case "crediter" : { 
            if (!isset($_REQUEST['role']))
                $role = "choixEleve" ;
            else
                $role = $_REQUEST['role'] ;
            switch($role)
            {
                case "choixEleve" : {
                    
                    //affiche la vue de saisie des crédits des comptes élèves : liste déroulante choix de l'élève
                    $lesEleves = getLesEleves();
                    $messageValid = '' ;
                    $_SESSION['enregistrer'] = false ;
                    require "vues/v_crediter_compte.php" ;
                    break ;                        
                }
        
                case "eleve" : {
                    //affiche le crédit actuel de l'élève et formulaire de saisie du règlement
                    $idEleve = $_REQUEST['id'] ;
                    $leEleve = getUnEtudiant($idEleve) ;
                    $_SESSION['enregistrer'] = false ;
                    require "vues/v_crediter_eleve.php" ;
                    break ;
                }
                
                case "enregistrer" : {
                    $idEleve = $_REQUEST['id'] ;
                    if (isset($_SESSION['enregistrer']) && $_SESSION['enregistrer'] == false)
                    {
                    //affiche le crédit actuel de l'élève et formulaire de saisie du règlement
                        
                        $datePaiement = $_REQUEST['datePaiement'] ;
                        $montant = $_REQUEST['montant'] ;
                        $typeReglement = $_REQUEST['typeReglement'] ;
                        $remarques = $_REQUEST['remarques'] ;
                        $_SESSION['enregistrer'] = true ;
                        //enregistrement du paiement
                        enregistrerPaiement($idEleve, $datePaiement, $montant, $typeReglement, $remarques) ;
                    }
                    
                    $leEleve = getUnEtudiant($idEleve) ;
                    $messageValid = 'Le solde de '.$leEleve['nom'].' '.$leEleve['prenom'].' est maintenant de '.$leEleve['creditRepas'].' €' ;
                    $lesEleves = getLesEleves();
                    require "vues/v_crediter_compte.php" ;
                    break ;
                }
            }
            break ;
        }
        
        case "paiement" : { 
            if (!isset($_REQUEST['role']))
                $role = "afficher" ;
            else
                $role = $_REQUEST['role'] ;
            switch($role)
            {
                case "afficher" : {
                    
                    //affiche la vue de consultation des paiements avec filtres
                    $lesEleves = getLesEleves();
                    $messageValid = '' ;
                    require "vues/v_paiement_filtres.php" ;
                    break ;                        
                }
                case "traiter" : {
                    
                    //récupération des données du filtre d'affichage
                    $dateDebut = $_REQUEST['dateDebut'] ;
                    $dateFin = $_REQUEST['dateFin'] ;
                    $typeReglement = $_REQUEST['typeReglement'] ;
                    $idEleve = $_REQUEST['idEleve'] ;
                    
                    //mise en session des paramètres pour l'export Excel
                    $_SESSION['dateDebut'] = $_REQUEST['dateDebut'] ;
                    $_SESSION['dateFin'] = $_REQUEST['dateFin'] ;
                    $_SESSION['typeReglement']= $_REQUEST['typeReglement'] ;
                    $_SESSION['idEleve'] = $_REQUEST['idEleve'] ;
                    
                    $lesEleves = getLesEleves();
                    $lesPaiements = getLesPaiements($dateDebut, $dateFin, $typeReglement, $idEleve) ;
                    $excel = false ;
                    require "vues/v_paiement_liste.php" ;
                    break ;                        
                }
                
                case "export" : {
                    
                    //récupération des données du filtre d'affichage
                    $dateDebut = $_SESSION['dateDebut'];
                    $dateFin = $_SESSION['dateFin'] ;
                    $typeReglement = $_SESSION['typeReglement'] ;
                    $idEleve = $_SESSION['idEleve'] ;

                    $lesEleves = getLesEleves();
                    $lesPaiements = getLesPaiements($dateDebut, $dateFin, $typeReglement, $idEleve) ;
                    exportPaiements($dateDebut, $dateFin, $typeReglement, $idEleve) ;
                    $excel = true ;
                    require "vues/v_paiement_liste.php" ;
                    break ;                        
                }
                
                case "maj" : {
                    
                    //récupération des données du filtre d'affichage
                    $id = $_REQUEST['id'] ;
                    $lePaiement = getLePaiement($id) ;
                    $lesEleves = getLesEleves();
                    $_SESSION['enregistrer'] = false ;
                    require "vues/v_paiement_maj.php" ;
                    break ;                        
                }
                
                case "modifier" : {
                    
                    if ($_SESSION['enregistrer'] == false)
                    {
                        //récupération des données du filtre d'affichage
                        $id = $_REQUEST['id'] ;
                        $datePaiement = $_REQUEST['datePaiement'] ;
                        $montant = $_REQUEST['montant'] ;
                        $typeReglement = $_REQUEST['typeReglement'] ;
                        $remarques = $_REQUEST['remarques'] ;
                        $idEleve = $_REQUEST['idEleve'] ;

                        //enregistrement du paiement
                        modifierPaiement($idEleve, $datePaiement, $montant, $typeReglement, $remarques, $id) ;
                        $_SESSION['enregistrer'] = true ;
                        $leEleve = getUnEtudiant($idEleve) ;
                    }
                    
                    
                    $lesEleves = getLesEleves();
                    $messageValid = 'Le paiement a bien été modifié' ;
                    require "vues/v_paiement_filtres.php" ;
                    break ;                        
                }
                
                case "suppr" : {
                    
                    //récupération des données du filtre d'affichage
                    $id = $_REQUEST['id'] ;
                    //suppression du paiement
                    supprimerPaiement( $id) ;

                    $lesEleves = getLesEleves();
                    $messageValid = 'Le paiement a bien été supprimé' ;
                    require "vues/v_paiement_filtres.php" ;
                    break ;                        
                }
            }
            break ;
        }
        
        case "listerepas" : { 
            if (!isset($_REQUEST['role']))
                $role = "afficher" ;
            else
                $role = $_REQUEST['role'] ;
            switch($role)
            {
                case "afficher" : {
                    
                    //affiche la vue avec filtres
                    $messageValid = '' ;
                    require "vues/v_listerepas_filtres.php" ;
                    break ;                        
                }
                case "traiter" : {
                    
                    //récupération des données du filtre d'affichage
                    $dateDebut = $_REQUEST['dateDebut'] ;
                    $dateFin = $_REQUEST['dateFin'] ;
                    $typeRepas = $_REQUEST['typeRepas'] ;
                    //mise en session des paramètres pour l'export Excel
                    $_SESSION['dateDebut'] = $_REQUEST['dateDebut'] ;
                    $_SESSION['dateFin'] = $_REQUEST['dateFin'] ;
                    $_SESSION['typeRepas'] = $_REQUEST['typeRepas'] ;
                    
                    if ($typeRepas==2)
                        $lesRepasPris = getLesRepasDetail($dateDebut, $dateFin) ;
                    else if ($typeRepas==3)
                        $lesRepasPris = getLesRepasFormule($dateDebut, $dateFin) ;
                    else 
                        $lesRepasPris = getLesRepasCumul($dateDebut, $dateFin) ;
                    $excel = false ;
                    require "vues/v_listerepas_liste.php" ;
                    break ;                        
                }                
                case "export" : {
                    
                    //récupération des données du filtre d'affichage
                    $dateDebut = $_SESSION['dateDebut'];
                    $dateFin = $_SESSION['dateFin'] ;
                    $typeRepas = $_SESSION['typeRepas'] ;
                    //mise en session des paramètres pour l'e
                    if ($typeRepas==2)
                        $lesRepasPris = getLesRepasDetail($dateDebut, $dateFin) ;
                    else if ($typeRepas==3)
                        $lesRepasPris = getLesRepasFormule($dateDebut, $dateFin) ;
                    else 
                        $lesRepasPris = getLesRepasCumul($dateDebut, $dateFin) ;
                    exportRepas($dateDebut, $dateFin, $typeRepas, $lesRepasPris) ;
                    $excel = true ;
                    require "vues/v_listerepas_liste.php" ;
                    break ;                        
                }               
            }
            break ;
        }
        
        case "mdp" : { 
            //affiche la vue de saisie des menus
            require "vues/v_mdp_saisir.php" ;
            break ;                        
        }
        
        case "mdpenregistrer" : { 
            //affiche la vue de saisie des menus
            $mdp = $_REQUEST['mdp1'] ;
            enrmdp($mdp, $_SESSION['idUtil']);
            $message = "Votre mot de passe a été modifié" ;
            require "vues/v_ok.php" ; 
            break ;                        
        }

        case "formule" : {
            if (!isset($_REQUEST['role']))
                $role = "afficher" ;
            else
                $role = $_REQUEST['role'] ;

            switch($role)
            {
                case "afficher" : {
                    $lesFormules = getToutesLesFormules();
                    require "vues/v_formules_liste.php" ;
                    break ;
                }

                case "ajouter" : {
                    $libelleformule = $_REQUEST['libelleformule'] ;
                    $tarifformule = $_REQUEST['tarifformule'] ;

                    if ($libelleformule != "" && $tarifformule != "")
                    {
                        if (existeLibelleFormule($libelleformule) == 0)
                        {
                            ajoutFormule($libelleformule, $tarifformule) ;
                            $message = "La formule a bien été ajoutée" ;
                            require "vues/v_ok.php" ;
                        }
                        else
                        {
                            $message = "Une formule avec ce libellé existe déjà" ;
                            require "vues/v_erreur.php" ;
                        }
                    }
                    else
                    {
                        $message = "Veuillez renseigner le libellé et le tarif" ;
                        require "vues/v_erreur.php" ;
                    }

                    $lesFormules = getToutesLesFormules();
                    require "vues/v_formules_liste.php" ;
                    break ;
                }

                case "maj" : {
                    $idformule = $_REQUEST['idformule'] ;
                    $laFormule = getLaFormule($idformule) ;
                    require "vues/v_formule_maj.php" ;
                    break ;
                }

                case "modifier" : {
                    $idformule = $_REQUEST['idformule'] ;
                    $libelleformule = $_REQUEST['libelleformule'] ;
                    $tarifformule = $_REQUEST['tarifformule'] ;

                    if ($libelleformule != "" && $tarifformule != "")
                    {
                        if (existeLibelleFormuleAutre($idformule, $libelleformule) == 0)
                        {
                            majFormule($idformule, $libelleformule, $tarifformule) ;
                            $message = "La formule a bien été modifiée" ;
                            require "vues/v_ok.php" ;
                        }
                        else
                        {
                            $message = "Une formule avec ce libellé existe déjà" ;
                            require "vues/v_erreur.php" ;
                        }
                    }
                    else
                    {
                        $message = "Veuillez renseigner le libellé et le tarif" ;
                        require "vues/v_erreur.php" ;
                    }

                    $lesFormules = getToutesLesFormules();
                    require "vues/v_formules_liste.php" ;
                    break ;
                }

                case "supprimer" : {
                    $idformule = $_REQUEST['idformule'] ;
                    $nbMenus = getNbMenusFormule($idformule) ;

                    if ($nbMenus == 0)
                    {
                        supprFormule($idformule) ;
                        $message = "La formule a bien été supprimée" ;
                        require "vues/v_ok.php" ;
                    }
                    else
                    {
                        $message = "Suppression impossible : cette formule est déjà utilisée par un ou plusieurs menus" ;
                        require "vues/v_erreur.php" ;
                    }

                    $lesFormules = getToutesLesFormules();
                    require "vues/v_formules_liste.php" ;
                    break ;
                }
            }
            break ;
        }

        case "utilisateur" : {
            if (!isset($_REQUEST['role']))
                $role = "afficher" ;
            else
                $role = $_REQUEST['role'] ;

            switch($role)
            {
                case "afficher" : {
                    $lesUtilisateurs = getLesUtilisateurs() ;
                    $messageValid = '' ;
                    require "vues/v_utilisateurs.php" ;
                    break ;
                }

                case "ajouter" : {
                    $messageValid = '' ;
                    require "vues/v_ajouter_utilisateur.php" ;
                    break ;
                }

                case "enregistrer" : {
                    $nom      = $_REQUEST['nom'] ;
                    $prenom   = $_REQUEST['prenom'] ;
                    $idClasse = $_REQUEST['idClasse'] ;
                    $login    = $_REQUEST['login'] ;
                    $statut   = $_REQUEST['statut'] ;

                    if (loginExiste($login))
                    {
                        $message = "Ce login existe déjà, veuillez en choisir un autre" ;
                        require "vues/v_erreur.php" ;
                        require "vues/v_ajouter_utilisateur.php" ;
                    }
                    else
                    {
                        ajouterUtilisateur($nom, $prenom, $idClasse, $login, $statut) ;
                        $lesUtilisateurs = getLesUtilisateurs() ;
                        $messageValid = "L'utilisateur ".$nom." ".$prenom." a bien été créé (mot de passe par défaut : pass)" ;
                        require "vues/v_utilisateurs.php" ;
                    }
                    break ;
                }

                case "modifier" : {
                    $id = $_REQUEST['id'] ;
                    $leUtilisateur = getUnUtilisateur($id) ;
                    $messageValid = '' ;
                    require "vues/v_modifier_utilisateur.php" ;
                    break ;
                }

                case "maj" : {
                    $id       = $_REQUEST['id'] ;
                    $nom      = $_REQUEST['nom'] ;
                    $prenom   = $_REQUEST['prenom'] ;
                    $idClasse = $_REQUEST['idClasse'] ;
                    $login    = $_REQUEST['login'] ;
                    $statut   = $_REQUEST['statut'] ;

                    if (loginExiste($login, $id))
                    {
                        $leUtilisateur = getUnUtilisateur($id) ;
                        $message = "Ce login existe déjà, veuillez en choisir un autre" ;
                        require "vues/v_erreur.php" ;
                        require "vues/v_modifier_utilisateur.php" ;
                    }
                    else
                    {
                        modifierUtilisateur($id, $nom, $prenom, $idClasse, $login, $statut) ;
                        $lesUtilisateurs = getLesUtilisateurs() ;
                        $messageValid = "L'utilisateur ".$nom." ".$prenom." a bien été modifié" ;
                        require "vues/v_utilisateurs.php" ;
                    }
                    break ;
                }

                case "supprimer" : {
                    $id = $_REQUEST['id'] ;
                    $leUtilisateur = getUnUtilisateur($id) ;
                    require "vues/v_supprimer_utilisateur.php" ;
                    break ;
                }

                case "confirmsuppr" : {
                    $id = $_REQUEST['id'] ;

                    if (utilisateurADesCommandes($id))
                    {
                        $message = "Impossible de supprimer cet utilisateur : il a des commandes enregistrées" ;
                        require "vues/v_erreur.php" ;
                        $lesUtilisateurs = getLesUtilisateurs() ;
                        require "vues/v_utilisateurs.php" ;
                    }
                    else
                    {
                        supprimerUtilisateur($id) ;
                        $lesUtilisateurs = getLesUtilisateurs() ;
                        $messageValid = "L'utilisateur a bien été supprimé" ;
                        require "vues/v_utilisateurs.php" ;
                    }
                    break ;
                }
            }
            break ;
        }
}
?>
