Merge pull request #61 from ThomasRubini/recipe_edit

This commit is contained in:
Thomas Rubini 2023-01-23 22:50:52 +01:00 committed by GitHub
commit cd1e1eb01b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 41 deletions

View File

@ -28,33 +28,23 @@ final class RecipeController
public function editAction(Array $A_urlParams = null, Array $A_postParams = null)
{
// demo array, remove this when we use the real edit function
$A_returnArray = array(
"recipeName" => "Pâte à crêpe",
"recipeDescription" => "Légère et délicate, la pâte à crêpe est idéale pour des crêpes fines et croustillantes. Avec sa texture est onctueuse et son goût subtil, c'est un plat traditionnel français populaire chez tout le monde.",
"recipeDifficutly" => "Facile",
"recipeType" => array(),
"recipeTime" => "45",
"recipeIngredients" => array(
"Farine" => "300g",
"Sucre" => "3 cuillère à soupe",
"Beurre fondu" => "50g",
"Rhum" => "5cl",
"Œuf" => "3",
"Huile" => "2 cuillères à soupe",
"Lait" => "60cl"
),
"recipeInstructions" => "Mettre la farine dans une terrine et former un puits.\nY déposer les oeufs entiers, le sucre, l'huile et le beurre.\nMélanger délicatement avec un fouet en ajoutant au fur et à mesure le lait. La pâte ainsi obtenue doit avoir une consistance d'un liquide légèrement épais.\nParfumer de rhum.\nFaire chauffer une poêle antiadhésive et la huiler très légèrement à l'aide d'un papier Essuie-tout. Y verser une louche de pâte, la répartir dans la poêle puis attendre qu'elle soit cuite d'un côté avant de la retourner. Cuire ainsi toutes les crêpes à feu doux."
);
Session::login_or_die();
if(count($A_urlParams)!=1){
return View::show("errors/404");
}
$O_recipeModel = new RecipeModel();
$A_returnArray = $O_recipeModel->getFullRecipe($A_urlParams[0]);
if ($A_returnArray === null) {
return View::show("errors/404");
}
if ($A_returnArray["AUTHOR_ID"] !== $_SESSION["ID"]) {
die("You are not the owner of this recipe");
}
// need to send an array with names even if content is empty
View::show("recipe/edit", $A_returnArray);
// print_r($A_urlParams);
// $O_recetteModel = new RecipeIngredientsModel();
// $O_recetteModel->getByID("");
// View::show('helloworld/testform', array('formData' => $A_postParams));
}
public function searchAction(Array $A_urlParams = null, Array $A_postParams = null, Array $A_getParams = null)

View File

@ -3,7 +3,8 @@ function getOrEmpty($A_Dict, $S_keyName) {
if (isset($A_Dict[$S_keyName])) {
return $A_Dict[$S_keyName];
} else {
if($S_keyName == "recipeType" || $S_keyName == "recipeIngredients")
echo "$S_keyName EMPTY";
if($S_keyName == "TYPE" || $S_keyName == "INGREDIENTS")
return array();
return "";
}
@ -18,36 +19,36 @@ function getOrEmpty($A_Dict, $S_keyName) {
<input type="file" name="recipeImage" id="recipeImage" required>
<label for="recipeName">Nom de la recette&nbsp;:</label>
<input type="text" name="recipeName" id="recipeName" placeholder="Nom du plat" value="<?= getOrEmpty($A_view, "recipeName") ?>" required>
<input type="text" name="recipeName" id="recipeName" placeholder="Nom du plat" value="<?= getOrEmpty($A_view, "NAME") ?>" required>
</br>
<label for="recipeDescription">Description de la recette</label>
</br>
<textarea name="recipeDescription" id="recipeDescription"><?= getOrEmpty($A_view, "recipeDescription") ?></textarea>
<textarea name="recipeDescription" id="recipeDescription"><?= getOrEmpty($A_view, "DESC") ?></textarea>
<section>
<h1>Informations alimentaires</h1>
<label for="recipeFifficulte">Niveau de difficulé&nbsp;:</label>
<select name="recipeDifficulte" id="recipeDifficulte" required>
<option value="tresFacile" <?= getOrEmpty($A_view, "recipeDifficutly")=="Très facile"? 'selected="selected"' : "" ?> >Très facile</option>
<option value="facile" <?= getOrEmpty($A_view, "recipeDifficutly")=="Facile"? 'selected="selected"' : "" ?>>Facile</option>
<option value="moyen" <?= getOrEmpty($A_view, "recipeDifficutly")=="Moyen"? 'selected="selected"' : "" ?>>Moyen</option>
<option value="difficile" <?= getOrEmpty($A_view, "recipeDifficutly")=="Difficle"? 'selected="selected"' : "" ?>>Difficile</option>
<option value="tresFacile" <?= getOrEmpty($A_view, "DIFFICULTY_NAME")=="Très facile"? 'selected="selected"' : "" ?> >Très facile</option>
<option value="facile" <?= getOrEmpty($A_view, "DIFFICULTY_NAME")=="Facile"? 'selected="selected"' : "" ?>>Facile</option>
<option value="moyen" <?= getOrEmpty($A_view, "DIFFICULTY_NAME")=="Moyen"? 'selected="selected"' : "" ?>>Moyen</option>
<option value="difficile" <?= getOrEmpty($A_view, "DIFFICULTY_NAME")=="Difficle"? 'selected="selected"' : "" ?>>Difficile</option>
</select>
<legend>Type de plat&nbsp;:</legend>
<input type="checkbox" name="recipeVegan" id="recipeVegan" <?= in_array("Végan", getOrEmpty($A_view, "recipeType"))? "checked":"" ?> >
<input type="checkbox" name="recipeVegan" id="recipeVegan" <?= in_array("Végan", getOrEmpty($A_view, "TYPE"))? "checked":"" ?> >
<label for="recipeVegan">Végan</label>
<input type="checkbox" name="recipeLactoseFree" id="recipeLactoseFree" <?= in_array("Sans lactose", getOrEmpty($A_view, "recipeType"))? "checked":"" ?> >
<input type="checkbox" name="recipeLactoseFree" id="recipeLactoseFree" <?= in_array("Sans lactose", getOrEmpty($A_view, "TYPE"))? "checked":"" ?> >
<label for="recipeLactoseFree">Sans lactose</label>
<input type="checkbox" name="recipeGlutenFree" id="recipeGlutenFree" <?= in_array("Sans gluten", getOrEmpty($A_view, "recipeType"))? "checked":"" ?> >
<input type="checkbox" name="recipeGlutenFree" id="recipeGlutenFree" <?= in_array("Sans gluten", getOrEmpty($A_view, "TYPE"))? "checked":"" ?> >
<label for="recipeGlutenFree">Sans gluten</label>
</br>
<label for="recipeTime">Temps de préparation&nbsp;:</label>
<input type="number" name="recipeTime" id="recipeTime" min="5" max="1500" step="5" placeholder="Temps de préparation" value="<?= getOrEmpty($A_view, "recipeTime") ?>" required>
<input type="number" name="recipeTime" id="recipeTime" min="5" max="1500" step="5" placeholder="Temps de préparation" value="<?= getOrEmpty($A_view, "TIME") ?>" required>
<label for="recipeTime">minutes</label>
</section>
@ -59,15 +60,15 @@ function getOrEmpty($A_Dict, $S_keyName) {
<ul class="recipeIngredients">
<?php
$ingredients = getOrEmpty($A_view, "recipeIngredients");
$ingredients = getOrEmpty($A_view, "INGREDIENTS");
if(sizeof($ingredients) > 0) {
$i = 1;
foreach($ingredients as $ingredientName => $ingredientValue) {
foreach($ingredients as $ingredient) {
echo '<li>
<label for="recipeIngredient'.$i.'">Ingrédient&nbsp;:</label>
<input type="text" name="recipeIngredient'.$i.'" id="recipeIngredient'.$i.'" placeholder="Farine" value="'.$ingredientName.'">
<input type="text" name="recipeIngredient'.$i.'" id="recipeIngredient'.$i.'" placeholder="Farine" value="'.$ingredient["NAME"].'">
<label for="recipeQuantity'.$i.'">Quantité&nbsp;:</label>
<input type="text" name="recipeQuantity'.$i.'" id="recipeIngredient'.$i.'" placeholder="500g" value="'.$ingredientValue.'">
<input type="text" name="recipeQuantity'.$i.'" id="recipeIngredient'.$i.'" placeholder="500g" value="'.$ingredient["QUANTITY"].'">
</li>';
$i++;
}
@ -97,7 +98,7 @@ function getOrEmpty($A_Dict, $S_keyName) {
<ol class="recipeInstructions">
<?php
$preparation = getOrEmpty($A_view, "recipeInstructions");
$preparation = getOrEmpty($A_view, "RECIPE");
if(!empty($preparation)) {
$steps = explode("\n", $preparation);
$i = 1;