Fix create form and add edit Recettes / delete Recettes

This commit is contained in:
2026-04-03 14:42:43 +02:00
parent ae31644831
commit f8c0d6d1b2
10 changed files with 542 additions and 34 deletions

View File

@@ -1,13 +1,2 @@
<h1>Coucou</h1>
<?php $str = "Markdown **text**\n# SOLONG\n*text*."; $md = \App\Helpers\Markdown::convertToHTML( $str ); echo "<p>$md</p>"; ?>
<?php
/*
$ing = new \App\Domain\Ingredients\Ingredient();
$ing->num_ingredient = 0;
$ing->nom_ingredient = "coucou";
new \App\Domain\Ingredients\IngredientRepository()->add($ing);
*/
var_dump( new \App\Domain\Recettes\RecetteRepository()->advancedRecetteSearch( "", [ 4 ], [] ) );
?>

77
views/recettes/create.php Normal file
View File

@@ -0,0 +1,77 @@
<?php use App\Domain\Recettes\Recette;
use App\Infrastructure\View as V; ?>
<div class="main-body">
<div class="content">
<div class="recette-add-form-all">
<form id="recette-form-complete" class="recette-form recette-form-add" action="/api/recettes/create" method="POST">
<div class="recette-form-group form-group">
<label for="nom">Titre : </label>
<input type="text" class="form-control" id="recette-form-nom" name="nom" placeholder="Titre de votre recette">
</div>
<div class="recette-form-group form-group">
<label for="temps">Temps (en min) : </label>
<input type="number" class="form-control" id="recette-form-temps" name="temps" placeholder="Temps de préparation">
</div>
<div class="recette-form-group form-group">
<label for="image">Photo du plat : </label>
<input type="file" class="form-control" id="recette-form-photo" name="image" placeholder="ajouter votre image">
</div>
<div class="recette-form-group form-group" id="recette-form-div-ingr">
<label for="ingr">Ingredients</label>
<select multiple class="form-control" id="recette-form-ingr" name="ingr" placeholder="Ingredients">
<?php foreach( V::arg( 'ingredients') as $ingr ): ?>
<option value="<?php echo $ingr->getID(); ?>"><?php echo $ingr->nom_ingredient; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="recette-form-group form-group" id="recette-form-div-tag">
<label for="tag">Tag</label>
<select multiple class="form-control" id="recette-form-tag" name="tag" placeholder="Tag">
<?php foreach( V::arg( 'tags') as $tag ): ?>
<option value="<?php echo $tag->getID(); ?>"><?php echo $tag->nom_tag; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="recette-form-group form-group" id="recette-form-div-desc">
<label for="description">Description</label>
<textarea type="texte" class="form-control" id="recette-form-description" name="description" placeholder="Description..."></textarea>
</div>
<button type='submit' class='btn btn-primary'>Confirmer</button>
</form>
<div class="recette-form-add-additional">
<form id="recette-form-ingr-add" class="recette-form recette-form-add-ingr" action="" method="POST">
<div class="recette-form-group form-group">
<label for="name">Nom de l'Ingrédient</label>
<input type="texte" class="form-control" id="recette-form-ingr-nom" name="name" placeholder="Nom de l'ingrédient" value="">
</div>
<div class="recette-form-group form-group">
<label for="image">Photo de l'Ingrédient</label>
<input type="file" class="form-control" id="recette-form-ingr-photo" name="image">
</div>
<button id="submit-ingr" type='submit' class='btn btn-primary'>Confirmer</button>
<div id="recette-form-div-err-ingr" class="err">
Erreur
</div>
</form>
<form id="recette-form-tag-add" class="recette-form recette-form-add-tag" action="" method="POST">
<div class="recette-form-group form-group">
<label for="tag">Tags</label>
<input type="text" class="form-control" id="recette-form-tag-nom" name="name" placeholder="Nom de l'ingrédient">
</div>
<button type='submit' class='btn btn-primary'>Confirmer</button>
<div id="recette-form-div-err-tag" class="err">
Erreur
</div>
</form>
</div>
</div>
</div>
</div>
<script>
const IS_EDIT = false; const RECETTE_ID = 0;
</script>
<script src="<?php V::assetUrl( 'js/form.js' ); ?>" defer></script>

77
views/recettes/edit.php Normal file
View File

@@ -0,0 +1,77 @@
<?php use App\Domain\Recettes\Recette;
use App\Infrastructure\View as V; ?>
<?php /** @var Recette $R */$R = V::arg( 'recette'); ?>
<div class="main-body">
<div class="content">
<div class="recette-add-form-all">
<form id="recette-form-complete" class="recette-form recette-form-add" action="/api/recettes/edit" method="POST">
<div class="recette-form-group form-group">
<label for="nom">Titre : </label>
<input type="text" class="form-control" id="recette-form-nom" name="nom" placeholder="Titre de votre recette" value="<?php echo $R->titre_recette; ?>">
</div>
<div class="recette-form-group form-group">
<label for="temps">Temps (en min) : </label>
<input type="number" class="form-control" id="recette-form-temps" name="temps" placeholder="Temps de préparation" value="<?php echo $R->temps_de_preparation; ?>">
</div>
<div class="recette-form-group form-group">
<label for="image">Photo du plat : </label>
<input type="file" class="form-control" id="recette-form-photo" name="image" placeholder="ajouter votre image">
</div>
<div class="recette-form-group form-group" id="recette-form-div-ingr">
<label for="ingr">Ingredients</label>
<select multiple class="form-control" id="recette-form-ingr" name="ingr" placeholder="Ingredients">
<?php foreach( V::arg( 'ingredients') as $ingr ): ?>
<option value="<?php echo $ingr->getID(); ?>" <?php echo in_array( $ingr->getId(), V::arg( 'recetteIngr') ) ? "selected" : ""; ?> ><?php echo $ingr->nom_ingredient; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="recette-form-group form-group" id="recette-form-div-tag">
<label for="tag">Tag</label>
<select multiple class="form-control" id="recette-form-tag" name="tag" placeholder="Tag">
<?php foreach( V::arg( 'tags') as $tag ): ?>
<option value="<?php echo $tag->getID(); ?>" <?php echo in_array( $tag->getId(), V::arg( 'recetteTags' ) ) ? "selected" : ""; ?> ><?php echo $tag->nom_tag; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="recette-form-group form-group" id="recette-form-div-desc">
<label for="description">Description</label>
<textarea type="texte" class="form-control" id="recette-form-description" name="description" placeholder="Description..."><?php echo $R->description_recette; ?></textarea>
</div>
<button type='submit' class='btn btn-primary'>Confirmer</button>
</form>
<div class="recette-form-add-additional">
<form id="recette-form-ingr-add" class="recette-form recette-form-add-ingr" action="" method="POST">
<div class="recette-form-group form-group">
<label for="name">Nom de l'Ingrédient</label>
<input type="texte" class="form-control" id="recette-form-ingr-nom" name="name" placeholder="Nom de l'ingrédient" value="">
</div>
<div class="recette-form-group form-group">
<label for="image">Photo de l'Ingrédient</label>
<input type="file" class="form-control" id="recette-form-ingr-photo" name="image">
</div>
<button id="submit-ingr" type='submit' class='btn btn-primary'>Confirmer</button>
<div id="recette-form-div-err-ingr" class="err">
Erreur
</div>
</form>
<form id="recette-form-tag-add" class="recette-form recette-form-add-tag" action="" method="POST">
<div class="recette-form-group form-group">
<label for="tag">Tags</label>
<input type="text" class="form-control" id="recette-form-tag-nom" name="name" placeholder="Nom de l'ingrédient">
</div>
<button type='submit' class='btn btn-primary'>Confirmer</button>
<div id="recette-form-div-err-tag" class="err">
Erreur
</div>
</form>
</div>
</div>
</div>
</div>
<script>
const IS_EDIT = true; const RECETTE_ID = <?php echo $R->getId(); ?>;
</script>
<script src="<?php V::assetUrl( 'js/form.js' ); ?>" defer></script>

View File

@@ -5,7 +5,7 @@
<div id="recetteList" class="recettes">
<?php if( V::arg( 'recettesList' ) != null ) foreach( V::arg( 'recettesList' ) as $recette ): ?>
<a class="recette-icone" href="<?php V::routeUrl( 'recettes->show', $recette->slug ); ?>">
<img class="recette-preview-image" src="random-recette.jpg">
<img class="recette-preview-image" src="<?php echo $recette->photo; ?>">
<div class="recette-icone-content">
<h3><?php echo $recette->titre_recette; ?></h3>
<ul>

53
views/recettes/show.php Normal file
View File

@@ -0,0 +1,53 @@
<?php use App\Domain\Recettes\Recette;
use App\Infrastructure\View as V; ?>
<?php /** @var Recette $R */ $R = V::arg( 'recette' ); ?>
<div class="content">
<div class="recette-title">
<h1><?php echo $R->titre_recette; ?></h1>
</div>
<div class="recette-content">
<div class="recette-div-info">
<div class="recette-div-image">
<img class="recette-image" src="<?php echo $R->photo; ?>">
</div>
<div class="recette-div-liste-info">
<?php if( \App\Helpers\Authentification::isLoggedIn() ): ?>
<ul class="recette-list-buttons">
<li><a class="recette-button" href="#" id="delete" data-id="<?php echo $R->num_recette; ?>">Supprimer</a></li>
<li><a class="recette-button" href="<?php V::routeUrl( 'recettes->edit', $R->getID() ); ?>">Modifier</a></li>
</ul>
<?php endif; ?>
<ul class="recette-liste-info">
<li class="recette-liste-info-elem"><?php echo $R->publication_date; ?></li>
<li class="recette-liste-info-elem"><?php echo $R->temps_de_preparation; ?> minutes</li>
<li class="recette-liste-info-elem"><?php echo $R->getNumberOfIngredients(); ?> ingrédients</li>
</ul>
<ul class="recette-liste-tag">
<?php foreach( $R->getAllLinkedTags() as $tag ): ?>
<li class="tag tag-unselected"><?php echo $tag->nom_tag; ?></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<div class = "recette-desc">
<h3>Ingrédients :</h3>
<ul>
<?php foreach( $R->getAllLinkedIngredients() as $ingr ): ?>
<li><?php echo $ingr->nom_ingredient; ?></li>
<?php endforeach; ?>
</ul>
<div id="description">
<?php echo $R->getHTMLDescription(); ?>
</div>
</div>
</div>
</div>
<script>
document.getElementById( 'delete' ).addEventListener( 'click', e => {
if( window.confirm( "Êtes-vous sur de vouloir supprimer cette recette ? ") ){
let id = document.getElementById( 'delete' ).getAttribute( 'data-id' );
window.location.href = "/recettes/delete/" + id;
}
})
</script>