cuisine/controleurs/cRecette.php
Timothée Huneau 90be5dd519 Refactorisation passage à SLQite3 (début)
Pages faites :
- accueil
- statistiques
- ajouterElement
2025-02-23 23:56:23 +01:00

162 lines
No EOL
5.4 KiB
PHP

<?php
//on commence par supposer que tout va mal (que la page reherchée n'existe pas)
$titrePageAjout = '???';
$pageExiste = false;
if (isset($_GET['id'])){
$idRecette = $_GET['id'];
$_SESSION['idDerniereRecetteVu'] = $idRecette;
$infoRecette = getRecetteFromId($idRecette);
$pageExiste = ($infoRecette) ? 1 : ( $idRecette ? 0 : -1) ;
if($pageExiste and isset($_GET['mode'])){
switch($_GET['mode']){
case 'edit':
$pageExiste = 2;
break;
case 'suppr':
$pageExiste = 3;
break;
case 'crea':
$pageExiste = -2;
break;
default:
$pageExiste = 1;
}
}
if($pageExiste == 2 or $pageExiste == -1){
$listeIngredients = getAllIngredients();
$listeUstensiles = getAllUstensiles();
$listeRecettes = getAllRecettes();
$listePreparations = getAllPreparations();
}
$titrePageAjout = $infoRecette['nom'];
}
$titrePage .= ' : ' . $titrePageAjout;
if ($pageExiste){
if((isset($_POST['edit']) and $pageExiste == 1) or $pageExiste == -2){
//dans le cas 1, le bouton 'sauvegarder les modifs' a été cliqué, il faut donc faire les UPDATE sql.
//dans le cas 2, une nouvelle recette a éé crée
$infosRecette = [];
$infosRecette['ustensile'] = [];
if(isset($_POST['ustensile'])){
foreach($_POST['ustensile'] as $id => $ustensile){
$infosRecette['ustensile'][$id]['commentaire'] = ecritureVersLecture($ustensile['commentaire']);
}
}
$infosRecette['preparation'] = [];
if(isset($_POST['preparation'])){
foreach($_POST['preparation'] as $id => $preparation){
$infosRecette['preparation'][$id]['duree'] = calculeMinutesFromTexte($preparation['duree']);
$infosRecette['preparation'][$id]['temp'] = $preparation['temp'];
}
}
$infosRecette['ingredient'] = [];
if(isset($_POST['ingredient'])){
foreach($_POST['ingredient'] as $id => $ingredient){
$infosRecette['ingredient'][$id]['quantite'] = $ingredient['quantite'];
$infosRecette['ingredient'][$id]['unite'] = $ingredient['unite'];
}
}
$infosRecette['reutilise'] = [];
if(isset($_POST['reutilise'])){
foreach($_POST['reutilise'] as $id => $elem){
$infosRecette['reutilise'][$id] = $id;
}
}
$infosRecette['nom'] = $_POST['nom'];
$infosRecette['nbPortion'] = $_POST['nbPortion'];
$infosRecette['unitePortion'] = $_POST['unitePortion'];
$infosRecette['tempsTotal'] = $_POST['tempsTotal'];
$infosRecette['genre'] = $_POST['genre'];
$infosRecette['realisation'] = $_POST['procedure'];
$idRecette = insererRecette($infosRecette, $infosRecette['ingredient'], $infosRecette['ustensile'], $infosRecette['preparation'], $infosRecette['reutilise'], $idRecette);
}
//on recupere toutes les infos sur la recette sélectionnée.
//(elles ont p-ê été modifiés juste avant, mais dans le doute ...)
$requeteGenre = "
";
$requeteReutilise = "
SELECT reu.utilisee id, rec.nom nom
FROM Reutilise reu JOIN Recette rec ON reu.utilisee = rec.id
WHERE reu.utilisant = $idRecette
ORDER BY nom;
";
$infoRecette = getRecetteFullFromId($idRecette);
$infoRecette['tempsTotal'] = $infoRecette['tempsTotal'];
$nomGenre = getGenreWithRecetteId($idRecette)['nom'];
$listeIngredientRecetteRaw = getAllIngredientsWithRecetteId($idRecette);
$listeIngredientRecette = [];
foreach ($listeIngredientRecetteRaw as $ingredient){
$listeIngredientRecette[$ingredient['idIngredient']] = [];
$listeIngredientRecette[$ingredient['idIngredient']]['nom'] = $ingredient['nom'];
$listeIngredientRecette[$ingredient['idIngredient']]['quantite'] = $ingredient['quantite'];
$listeIngredientRecette[$ingredient['idIngredient']]['unite'] = $ingredient['unite'];
$listeIngredientRecette[$ingredient['idIngredient']]['idU'] = $ingredient['idU'];
}
$listeUstensileRecetteRaw = getAllUstensileWithRecetteId($idRecette);
$listeUstensileRecette = [];
foreach ($listeUstensileRecetteRaw as $ustensile){
$listeUstensileRecette[$ustensile['idUstensile']] = [];
$listeUstensileRecette[$ustensile['idUstensile']]['nom'] = $ustensile['nom'];
$listeUstensileRecette[$ustensile['idUstensile']]['commentaire'] = $ustensile['commentaire'];
}
$litesPreparationRecetteRaw = getAllPreparationWithRecetteId($idRecette);
$listePreparationRecette = [];
foreach ($litesPreparationRecetteRaw as $preparation){
$listePreparationRecette[$preparation['idPreparation']] = [];
$listePreparationRecette[$preparation['idPreparation']]['nom'] = $preparation['nom'];
$listePreparationRecette[$preparation['idPreparation']]['duree'] = $preparation['duree'];
$listePreparationRecette[$preparation['idPreparation']]['temperature'] = $preparation['temperature'];
}
$listeReutiliseeRecetteRaw = getAllReutiliseeWithRecetteId($idRecette);
$listeReutiliseRecette = [];
foreach ($listeReutiliseeRecetteRaw as $key => $value){
$listeReutiliseRecette[$recette['id']] = $value;
}
//selon les cas, on peut avoir différentes action à faire
switch($pageExiste){
case 1:
$infoRecette['realisation'] = ecritureVersLecture($infoRecette['realisation']);
foreach($listeUstensileRecette as $ustensile){
$ustensile['commentaire'] = ecritureVersLecture($ustensile['commentaire']);
}
break;
case 2:
$infoRecette['realisation'] = lectureVersEcriture($infoRecette['realisation']);
foreach($listeUstensileRecette as $id => $ustensile){
$listeUstensileRecette[$id]['commentaire'] = lectureVersEcriture($listeUstensileRecette[$id]['commentaire']);
}
case -1:
$listeUnite = getAllUnites();
$listeGenre = getAllGenres();
break;
}
}
?>