Les Recettes De Papis
++
diff --git a/config/general.php b/config/general.php index 862b32d..d25e2f2 100644 --- a/config/general.php +++ b/config/general.php @@ -2,7 +2,7 @@ return [ 'website_url' => 'http://127.0.0.1:8080/', - 'website_name' => 'Les recettes des Papis', + 'website_name' => 'Les recettes de Papis', 'website_path' => APP_ROOT, ]; \ No newline at end of file diff --git a/public/assets/css/style.css b/public/assets/css/style.css index aaf9b82..735d485 100755 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -31,7 +31,7 @@ html, body{ #logo { background-color: aqua; - background-image: url("Logo.jpg"); + background-image: url("../images/Logo.jpg"); /*background:no-repeat;*/ height: 103px; width: 141px; @@ -131,6 +131,34 @@ body { /*display:none;*/ } +.title-site { + text-align: center; +} + +.title { + width: 100%; + height: 50%; + font-size: 100px; +} + +.random-proposition { + gap: 5%; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.recommandation img { + max-width: calc( 7vh + 7vw ); + max-height: calc( 7vh + 7vw ); +} + +.line-acceuil { + color: #03be90; + box-shadow: 20px 6px 8px #007054; +} + .tag-selected-div { flex: 4; } @@ -623,5 +651,9 @@ footer{ border-top: 1px solid black; } +.meta-recettes { + text-align: left; +} + diff --git a/public/assets/js/form.js b/public/assets/js/form.js index a6f31f4..6dfa055 100644 --- a/public/assets/js/form.js +++ b/public/assets/js/form.js @@ -40,7 +40,7 @@ document.addEventListener("DOMContentLoaded", function(){ if (data.success) { let new_elem = document.createElement("option"); - new_elem.setAttribute("value",document.getElementById('recette-form-ingr-nom').value); + new_elem.setAttribute("value",data.id); new_elem.innerText = document.getElementById('recette-form-ingr-nom').value; cible.appendChild(new_elem); @@ -86,7 +86,7 @@ document.addEventListener("DOMContentLoaded", function(){ if (data.success) { let new_elem = document.createElement("option"); - new_elem.setAttribute("value",nomTag.value); + new_elem.setAttribute("value",data.id); new_elem.innerText = nomTag.value; cible.appendChild(new_elem); @@ -146,7 +146,11 @@ document.addEventListener("DOMContentLoaded", function(){ else { reponse.json().then( data => { if (data.success) { - alert( "Envoyé" ); + if( IS_EDIT ) + alert( "Votre recette a été ajouté, vous allez être redirigé." ); + else + alert( "Votre recette a été ajouté, vous allez être redirigé." ); + window.location.href = data.route !== null ? data.route : window.location.origin; } else { alert( data.error || "" ); } diff --git a/src/Domain/Ingredients/IngredientManagementController.php b/src/Domain/Ingredients/IngredientManagementController.php index c738735..34ccf51 100644 --- a/src/Domain/Ingredients/IngredientManagementController.php +++ b/src/Domain/Ingredients/IngredientManagementController.php @@ -15,7 +15,7 @@ class IngredientManagementController extends Controller { public static function defineRoutes(): array { return [ - self::Route( routeUrl: '/manage/ingredients', routeName: 'manage->ingredients', routeAction: 'index' ), + self::Route( routeUrl: '/manage/ingredients', routeName: 'manage->ingredients', routeAction: 'index', pageHeadTitle: 'Gestion des ingredients' ), self::Route( routeUrl: '/ingredients/edit/{int}', routeName: 'ingredients->edit', routeAction: 'edit', routeMethods: [ 'POST' ] ), self::Route( routeUrl: '/ingredients/delete/{int}', routeName: 'ingredients->delete', routeAction: 'delete' ), ]; diff --git a/src/Domain/Ingredients/IngredientsAPIController.php b/src/Domain/Ingredients/IngredientsAPIController.php index d906e14..4c60d29 100644 --- a/src/Domain/Ingredients/IngredientsAPIController.php +++ b/src/Domain/Ingredients/IngredientsAPIController.php @@ -6,6 +6,7 @@ use App\Domain\Controller; use App\Helpers\UploadFiles; use App\Http\JSONResponse; use App\Http\Request; +use App\Kernel; class IngredientsAPIController extends Controller { @@ -39,7 +40,7 @@ class IngredientsAPIController extends Controller { if( !new IngredientRepository()->add( $ingredient ) ) JSONResponse::sendError( [ 'error' => 'An error occured while adding ingredient' ] ); - JSONResponse::sendSuccess( [ 'image_url' => $urlOrError ] ); + JSONResponse::sendSuccess( [ 'image_url' => $urlOrError, 'id' => Kernel::$DB->pdo->lastInsertId() ] ); } diff --git a/src/Domain/Pages/PagesController.php b/src/Domain/Pages/PagesController.php index 9982a09..9a6b9b3 100644 --- a/src/Domain/Pages/PagesController.php +++ b/src/Domain/Pages/PagesController.php @@ -3,6 +3,7 @@ namespace App\Domain\Pages; use App\Domain\Controller; +use App\Domain\Recettes\RecetteRepository; use App\Infrastructure\View; /** @@ -28,7 +29,7 @@ class PagesController extends Controller { * @return void */ public function index(): View { - return new View( 'home', [ 'ok' => 'bla' ] ); + return new View( 'home', [ 'recettes' => new RecetteRepository()->getAllRecettesBrowse(1, 3 ) ] ); } } \ No newline at end of file diff --git a/src/Domain/Recettes/RecettesAPIController.php b/src/Domain/Recettes/RecettesAPIController.php index 5819b09..990922c 100644 --- a/src/Domain/Recettes/RecettesAPIController.php +++ b/src/Domain/Recettes/RecettesAPIController.php @@ -9,6 +9,7 @@ use App\Helpers\UploadFiles; use App\Http\JSONResponse; use App\Http\Request; use App\Http\Router; +use App\Kernel; class RecettesAPIController extends Controller { @@ -87,6 +88,7 @@ class RecettesAPIController extends Controller { // Vérification d'une entrée qui existerait déjà. $slug = strtolower( $name ); + $slug = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $slug); $slug = str_replace( ' ', '', $slug ); $recetteRepo = new RecetteRepository(); @@ -116,7 +118,7 @@ class RecettesAPIController extends Controller { } // Pour actualiser l'ID. - $recette = $recetteRepo->getBySlug( $slug ); + $recette = $recetteRepo->getById( Kernel::$DB->pdo->lastInsertId() ); // Ajout du lien ingrédients recettes. foreach( $ingredientsId as $ingredientId ){ @@ -136,7 +138,7 @@ class RecettesAPIController extends Controller { } } - JSONResponse::sendSuccess( [ 'recette' => $recette ] ); + JSONResponse::sendSuccess( [ 'recette' => $recette, 'route' => Router::getRouteURL('recettes->show', $recette->slug ) ] ); } public function edit(){ @@ -180,10 +182,11 @@ class RecettesAPIController extends Controller { // Vérification d'une entrée qui existerait déjà. $slug = strtolower( $name ); + $slug = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $slug); $slug = str_replace( ' ', '', $slug ); $recette->titre_recette = $name; - $recette->slug = $slug; + // $recette->slug = $slug; $recette->temps_de_preparation = intval( $temps <= 0 ? 1 : $temps ); $recette->description_recette = $description; @@ -273,7 +276,7 @@ class RecettesAPIController extends Controller { } } - JSONResponse::sendSuccess( [ 'recette' => $recette ] ); + JSONResponse::sendSuccess( [ 'recette' => $recette, 'route' => Router::getRouteURL('recettes->show', $recette->slug ) ] ); } public function delete(){ diff --git a/src/Domain/Recettes/RecettesManagementController.php b/src/Domain/Recettes/RecettesManagementController.php index 698440b..b127f77 100644 --- a/src/Domain/Recettes/RecettesManagementController.php +++ b/src/Domain/Recettes/RecettesManagementController.php @@ -15,8 +15,8 @@ class RecettesManagementController extends Controller { public static function defineRoutes(): array { return [ - self::Route( routeUrl: '/recettes/create', routeName: 'recettes->create', routeAction: 'create' ), - self::Route( routeUrl: '/recettes/edit/{int}', routeName: 'recettes->edit', routeAction: 'edit' ), + self::Route( routeUrl: '/recettes/create', routeName: 'recettes->create', routeAction: 'create', pageHeadTitle: 'Créer une recette' ), + self::Route( routeUrl: '/recettes/edit/{int}', routeName: 'recettes->edit', routeAction: 'edit', pageHeadTitle: 'Modifier une recette' ), self::Route( routeUrl: '/recettes/delete/{int}', routeName: 'recettes->delete', routeAction: 'delete' ), ]; diff --git a/src/Domain/Tags/TagManagementController.php b/src/Domain/Tags/TagManagementController.php index e390649..195ec25 100644 --- a/src/Domain/Tags/TagManagementController.php +++ b/src/Domain/Tags/TagManagementController.php @@ -15,7 +15,7 @@ class TagManagementController extends Controller { public static function defineRoutes(): array { return [ - self::Route( routeUrl: '/manage/tags', routeName: 'manage->tags', routeAction: 'index' ), + self::Route( routeUrl: '/manage/tags', routeName: 'manage->tags', routeAction: 'index', pageHeadTitle: 'Gestion des tags' ), self::Route( routeUrl: '/tags/edit/{int}', routeName: 'tags->edit', routeAction: 'edit', routeMethods: [ 'POST' ] ), self::Route( routeUrl: '/tags/delete/{int}', routeName: 'tags->delete', routeAction: 'delete' ), ]; diff --git a/src/Domain/Tags/TagsAPIController.php b/src/Domain/Tags/TagsAPIController.php index 95f5402..cdc79de 100644 --- a/src/Domain/Tags/TagsAPIController.php +++ b/src/Domain/Tags/TagsAPIController.php @@ -6,6 +6,7 @@ use App\Domain\Controller; use App\Helpers\UploadFiles; use App\Http\JSONResponse; use App\Http\Request; +use App\Kernel; class TagsAPIController extends Controller { @@ -32,7 +33,7 @@ class TagsAPIController extends Controller { if( !new TagRepository()->add( $tag ) ) JSONResponse::sendError( [ 'error' => 'An error occured while adding tag' ] ); - JSONResponse::sendSuccess(); + JSONResponse::sendSuccess( [ 'id' => Kernel::$DB->pdo->lastInsertId() ] ); } diff --git a/views/home.php b/views/home.php index ade1ed7..4024674 100644 --- a/views/home.php +++ b/views/home.php @@ -1 +1,23 @@ -