Loading src/model/ingredientManager.php +51 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,31 @@ class IngredientManager extends Manager{ return $ingredients; } /** * Renvoie tous les ingredients d'une recette modifiée. * * @param string $idRecette l'id de la recette * @return array * @see RecetteModifiee */ public function getParRecetteModifiee(string $idRecette): array{ $requete = "SELECT * FROM CUI_INGREDIENT where ING_ID in( select ING_ID FROM CUI_COMPOSITION_MOD WHERE REC_ID = '$idRecette' )"; $resultat = self::projectionBdd($requete); $ingredients = []; foreach($resultat as $ligne){ $ingredients[] = $this->ingredientFromLigne($ligne); } return $ingredients; } /** * Insère l'ingredient donné en paramètre dans la base de données. * Loading @@ -90,7 +115,7 @@ class IngredientManager extends Manager{ values (?, NULLIF(?, ''))"; if(! $this->requetePrepare($requete, [$ingredient->getIntitule(), $ingredient->getDescription()])){ throw new Exception("échec de l'insertion du ingredient en base de données"); throw new Exception("échec de l'insertion de l'ingredient en base de données"); } } Loading @@ -100,6 +125,18 @@ class IngredientManager extends Manager{ * @param string $idRecette l'id de la recette */ public function ajouterIngredientARecette(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Ajoute un ingrédient à une recette modifiée. * @param Ingredient $ingredient l'ingrédient à ajouter * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function ajouterIngredientARecetteModifiee(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -109,6 +146,18 @@ class IngredientManager extends Manager{ * @param string $idRecette l'id de la recette */ public function supprimerIngredientDeRecette(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Retire un ingrédient d'une recette modifiée. * @param Ingredient $ingredient l'ingrédient à enlever * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function supprimerIngredientDeRecetteModifiee(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -123,7 +172,7 @@ class IngredientManager extends Manager{ "delete from CUI_INGREDIENT where ING_ID = ?"; if(! $this->requetePrepare($requete, [$ingredient->getId()])){ throw new Exception("échec de la suppression du ingredient"); throw new Exception("échec de la suppression de l'ingredient"); } } } No newline at end of file src/model/recette.php +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ class Recette { * @return bool */ public function estValide(): bool{ return $this->statut === "V"; return $this->statut === "V" || $this->statut === "M"; } /** Loading src/model/recetteManager.php +15 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ declare(strict_types=1); require_once 'src/model/manager.php'; require_once 'src/model/recette.php'; require_once 'src/model/recetteModifiee.php'; require_once 'src/model/tag.php'; require_once 'src/model/ingredient.php'; require_once 'src/model/categorieManager.php'; Loading Loading @@ -60,6 +61,16 @@ class RecetteManager extends Manager { return self::recetteFromLigne($ligne); } /** * Renvoie la version modifiée d'une recette si elle existe * @param string $id l'id de la recette * @return ?RecetteModifiee */ public function getRecetteModifiee(string $id) : ?RecetteModifiee{ //TODO écrire la méthode throw new Exception('not implemented yet'); } /** * Renvoie toutes les recettes. * @return array un tableau d'objets Recette Loading Loading @@ -232,6 +243,7 @@ class RecetteManager extends Manager { * @return void */ public function majRecette(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -255,6 +267,7 @@ class RecetteManager extends Manager { * @return void */ public function soumettreModification(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -265,6 +278,7 @@ class RecetteManager extends Manager { * @return void */ public function validerRecette(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -273,6 +287,7 @@ class RecetteManager extends Manager { * @param Recette $recette la recette à valider */ public function validerModification(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } } No newline at end of file src/model/recetteModifiee.php 0 → 100644 +40 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/model/tag.php'; require_once 'src/model/tagManager.php'; require_once 'src/model/ingredient.php'; require_once 'src/model/ingredientManager.php'; require_once 'src/model/recette.php'; class RecetteModifiee extends Recette { /** * Renvoie tous les tags de la recette. * @return array un tableau d'objets Tag * @see Tag */ public function getTags(): array{ return (new TagManager)->getParRecetteModifiee($this->id); } public function ajouterTag(Tag $tag){ (new TagManager)->ajouterTagARecetteModifiee($tag, $this->id); } public function supprimerTag(Tag $tag){ (new TagManager)->supprimerTagDeRecetteModifiee($tag, $this->id); } public function getIngredients(): array{ return (new IngredientManager)->getParRecetteModifiee($this->id); } public function ajouterIngredient(Ingredient $ingredient){ (new IngredientManager)->ajouterIngredientARecetteModifiee($ingredient, $this->id); } public function supprimerIngredient(Ingredient $ingredient){ (new IngredientManager)->supprimerIngredientDeRecetteModifiee($ingredient, $this->id); } } No newline at end of file src/model/tagManager.php +51 −1 Original line number Diff line number Diff line Loading @@ -79,9 +79,33 @@ class TagManager extends Manager{ return $tags; } /** * Renvoie tous les tags d'une recette modifiée. * * @param string $idRecette id de la recette * @return array * @see RecetteModifiee */ public function getParRecetteModifiee(string $idRecette): array{ $requete = "SELECT * FROM CUI_TAG where TAG_ID in( select TAG_ID FROM CUI_ETIQUETTAGE_MOD WHERE REC_ID = '$idRecette' )"; $resultat = self::projectionBdd($requete); $tags = []; foreach($resultat as $ligne){ $tags[] = $this->tagFromLigne($ligne); } return $tags; } /** * Insert le tag donné en paramètre dans la base de données. * Insère le tag donné en paramètre dans la base de données. * * @param Tag $tag * @return void Loading @@ -98,10 +122,24 @@ class TagManager extends Manager{ /** * Ajoute un tag à une recette. * Si le tag, n'est pas présent dans la base, l'insère. * @param Tag $tag le tag à ajouter * @param string $idRecette l'id de la recette */ public function ajouterTagARecette(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Ajoute un tag à une recette modifiée. * Si le tag, n'est pas présent dans la base, l'insère. * @param Tag $tag le tag à ajouter * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function ajouterTagARecetteModifiee(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -111,6 +149,18 @@ class TagManager extends Manager{ * @param string $idRecette l'id de la recette */ public function supprimerTagDeRecette(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Retire un tag d'une recette modifiée. * @param Tag $tag le tag à enlever * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function supprimerTagDeRecetteModifiee(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading Loading
src/model/ingredientManager.php +51 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,31 @@ class IngredientManager extends Manager{ return $ingredients; } /** * Renvoie tous les ingredients d'une recette modifiée. * * @param string $idRecette l'id de la recette * @return array * @see RecetteModifiee */ public function getParRecetteModifiee(string $idRecette): array{ $requete = "SELECT * FROM CUI_INGREDIENT where ING_ID in( select ING_ID FROM CUI_COMPOSITION_MOD WHERE REC_ID = '$idRecette' )"; $resultat = self::projectionBdd($requete); $ingredients = []; foreach($resultat as $ligne){ $ingredients[] = $this->ingredientFromLigne($ligne); } return $ingredients; } /** * Insère l'ingredient donné en paramètre dans la base de données. * Loading @@ -90,7 +115,7 @@ class IngredientManager extends Manager{ values (?, NULLIF(?, ''))"; if(! $this->requetePrepare($requete, [$ingredient->getIntitule(), $ingredient->getDescription()])){ throw new Exception("échec de l'insertion du ingredient en base de données"); throw new Exception("échec de l'insertion de l'ingredient en base de données"); } } Loading @@ -100,6 +125,18 @@ class IngredientManager extends Manager{ * @param string $idRecette l'id de la recette */ public function ajouterIngredientARecette(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Ajoute un ingrédient à une recette modifiée. * @param Ingredient $ingredient l'ingrédient à ajouter * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function ajouterIngredientARecetteModifiee(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -109,6 +146,18 @@ class IngredientManager extends Manager{ * @param string $idRecette l'id de la recette */ public function supprimerIngredientDeRecette(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Retire un ingrédient d'une recette modifiée. * @param Ingredient $ingredient l'ingrédient à enlever * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function supprimerIngredientDeRecetteModifiee(Ingredient $ingredient, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -123,7 +172,7 @@ class IngredientManager extends Manager{ "delete from CUI_INGREDIENT where ING_ID = ?"; if(! $this->requetePrepare($requete, [$ingredient->getId()])){ throw new Exception("échec de la suppression du ingredient"); throw new Exception("échec de la suppression de l'ingredient"); } } } No newline at end of file
src/model/recette.php +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ class Recette { * @return bool */ public function estValide(): bool{ return $this->statut === "V"; return $this->statut === "V" || $this->statut === "M"; } /** Loading
src/model/recetteManager.php +15 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ declare(strict_types=1); require_once 'src/model/manager.php'; require_once 'src/model/recette.php'; require_once 'src/model/recetteModifiee.php'; require_once 'src/model/tag.php'; require_once 'src/model/ingredient.php'; require_once 'src/model/categorieManager.php'; Loading Loading @@ -60,6 +61,16 @@ class RecetteManager extends Manager { return self::recetteFromLigne($ligne); } /** * Renvoie la version modifiée d'une recette si elle existe * @param string $id l'id de la recette * @return ?RecetteModifiee */ public function getRecetteModifiee(string $id) : ?RecetteModifiee{ //TODO écrire la méthode throw new Exception('not implemented yet'); } /** * Renvoie toutes les recettes. * @return array un tableau d'objets Recette Loading Loading @@ -232,6 +243,7 @@ class RecetteManager extends Manager { * @return void */ public function majRecette(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -255,6 +267,7 @@ class RecetteManager extends Manager { * @return void */ public function soumettreModification(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -265,6 +278,7 @@ class RecetteManager extends Manager { * @return void */ public function validerRecette(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } Loading @@ -273,6 +287,7 @@ class RecetteManager extends Manager { * @param Recette $recette la recette à valider */ public function validerModification(Recette $recette): void{ //TODO écrire la méthode throw new Exception('not implemented yet'); } } No newline at end of file
src/model/recetteModifiee.php 0 → 100644 +40 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); require_once 'src/model/tag.php'; require_once 'src/model/tagManager.php'; require_once 'src/model/ingredient.php'; require_once 'src/model/ingredientManager.php'; require_once 'src/model/recette.php'; class RecetteModifiee extends Recette { /** * Renvoie tous les tags de la recette. * @return array un tableau d'objets Tag * @see Tag */ public function getTags(): array{ return (new TagManager)->getParRecetteModifiee($this->id); } public function ajouterTag(Tag $tag){ (new TagManager)->ajouterTagARecetteModifiee($tag, $this->id); } public function supprimerTag(Tag $tag){ (new TagManager)->supprimerTagDeRecetteModifiee($tag, $this->id); } public function getIngredients(): array{ return (new IngredientManager)->getParRecetteModifiee($this->id); } public function ajouterIngredient(Ingredient $ingredient){ (new IngredientManager)->ajouterIngredientARecetteModifiee($ingredient, $this->id); } public function supprimerIngredient(Ingredient $ingredient){ (new IngredientManager)->supprimerIngredientDeRecetteModifiee($ingredient, $this->id); } } No newline at end of file
src/model/tagManager.php +51 −1 Original line number Diff line number Diff line Loading @@ -79,9 +79,33 @@ class TagManager extends Manager{ return $tags; } /** * Renvoie tous les tags d'une recette modifiée. * * @param string $idRecette id de la recette * @return array * @see RecetteModifiee */ public function getParRecetteModifiee(string $idRecette): array{ $requete = "SELECT * FROM CUI_TAG where TAG_ID in( select TAG_ID FROM CUI_ETIQUETTAGE_MOD WHERE REC_ID = '$idRecette' )"; $resultat = self::projectionBdd($requete); $tags = []; foreach($resultat as $ligne){ $tags[] = $this->tagFromLigne($ligne); } return $tags; } /** * Insert le tag donné en paramètre dans la base de données. * Insère le tag donné en paramètre dans la base de données. * * @param Tag $tag * @return void Loading @@ -98,10 +122,24 @@ class TagManager extends Manager{ /** * Ajoute un tag à une recette. * Si le tag, n'est pas présent dans la base, l'insère. * @param Tag $tag le tag à ajouter * @param string $idRecette l'id de la recette */ public function ajouterTagARecette(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Ajoute un tag à une recette modifiée. * Si le tag, n'est pas présent dans la base, l'insère. * @param Tag $tag le tag à ajouter * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function ajouterTagARecetteModifiee(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading @@ -111,6 +149,18 @@ class TagManager extends Manager{ * @param string $idRecette l'id de la recette */ public function supprimerTagDeRecette(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } /** * Retire un tag d'une recette modifiée. * @param Tag $tag le tag à enlever * @param string $idRecette l'id de la recette * @see RecetteModifiee */ public function supprimerTagDeRecetteModifiee(Tag $tag, string $idRecette){ //TODO écrire la méthode throw new Exception("not implemented yet"); } Loading