Compare commits
6 Commits
83857ef4e2
...
BenBack
| Author | SHA1 | Date | |
|---|---|---|---|
| e02b7abb0a | |||
| edfa8c93b9 | |||
| f933065275 | |||
| 060e54d27e | |||
| 05533d68c6 | |||
| a9e7e0331c |
@@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
return [
|
|
||||||
'host' => 'localhost',
|
|
||||||
'port' => 3306,
|
|
||||||
'user' => 'benjamin',
|
|
||||||
'pass' => '011235813',
|
|
||||||
'name' => 'siterecette'
|
|
||||||
];
|
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
// Config
|
||||||
return [
|
return [
|
||||||
'website_url' => 'http://127.0.0.1:8080/',
|
'website_url' => 'http://127.0.0.1:8080/',
|
||||||
'website_name' => 'Les recettes des Papis',
|
'website_name' => 'Les recettes de Papis',
|
||||||
|
|
||||||
'website_path' => APP_ROOT,
|
'website_path' => APP_ROOT,
|
||||||
];
|
];
|
||||||
@@ -31,7 +31,7 @@ html, body{
|
|||||||
|
|
||||||
#logo {
|
#logo {
|
||||||
background-color: aqua;
|
background-color: aqua;
|
||||||
background-image: url("Logo.jpg");
|
background-image: url("../images/Logo.jpg");
|
||||||
/*background:no-repeat;*/
|
/*background:no-repeat;*/
|
||||||
height: 103px;
|
height: 103px;
|
||||||
width: 141px;
|
width: 141px;
|
||||||
@@ -131,6 +131,34 @@ body {
|
|||||||
/*display:none;*/
|
/*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 {
|
.tag-selected-div {
|
||||||
flex: 4;
|
flex: 4;
|
||||||
}
|
}
|
||||||
@@ -623,5 +651,9 @@ footer{
|
|||||||
border-top: 1px solid black;
|
border-top: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.meta-recettes {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ document.addEventListener("DOMContentLoaded", function(){
|
|||||||
if (data.success) {
|
if (data.success) {
|
||||||
let new_elem = document.createElement("option");
|
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;
|
new_elem.innerText = document.getElementById('recette-form-ingr-nom').value;
|
||||||
|
|
||||||
cible.appendChild(new_elem);
|
cible.appendChild(new_elem);
|
||||||
@@ -86,7 +86,7 @@ document.addEventListener("DOMContentLoaded", function(){
|
|||||||
if (data.success) {
|
if (data.success) {
|
||||||
let new_elem = document.createElement("option");
|
let new_elem = document.createElement("option");
|
||||||
|
|
||||||
new_elem.setAttribute("value",nomTag.value);
|
new_elem.setAttribute("value",data.id);
|
||||||
new_elem.innerText = nomTag.value;
|
new_elem.innerText = nomTag.value;
|
||||||
|
|
||||||
cible.appendChild(new_elem);
|
cible.appendChild(new_elem);
|
||||||
@@ -146,7 +146,11 @@ document.addEventListener("DOMContentLoaded", function(){
|
|||||||
else {
|
else {
|
||||||
reponse.json().then( data => {
|
reponse.json().then( data => {
|
||||||
if (data.success) {
|
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 {
|
} else {
|
||||||
alert( data.error || "" );
|
alert( data.error || "" );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class IngredientManagementController extends Controller {
|
|||||||
public static function defineRoutes(): array
|
public static function defineRoutes(): array
|
||||||
{
|
{
|
||||||
return [
|
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/edit/{int}', routeName: 'ingredients->edit', routeAction: 'edit', routeMethods: [ 'POST' ] ),
|
||||||
self::Route( routeUrl: '/ingredients/delete/{int}', routeName: 'ingredients->delete', routeAction: 'delete' ),
|
self::Route( routeUrl: '/ingredients/delete/{int}', routeName: 'ingredients->delete', routeAction: 'delete' ),
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ use App\Domain\Controller;
|
|||||||
use App\Helpers\UploadFiles;
|
use App\Helpers\UploadFiles;
|
||||||
use App\Http\JSONResponse;
|
use App\Http\JSONResponse;
|
||||||
use App\Http\Request;
|
use App\Http\Request;
|
||||||
|
use App\Kernel;
|
||||||
|
|
||||||
class IngredientsAPIController extends Controller {
|
class IngredientsAPIController extends Controller {
|
||||||
|
|
||||||
@@ -39,7 +40,7 @@ class IngredientsAPIController extends Controller {
|
|||||||
if( !new IngredientRepository()->add( $ingredient ) )
|
if( !new IngredientRepository()->add( $ingredient ) )
|
||||||
JSONResponse::sendError( [ 'error' => 'An error occured while adding 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() ] );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Domain\Pages;
|
namespace App\Domain\Pages;
|
||||||
|
|
||||||
use App\Domain\Controller;
|
use App\Domain\Controller;
|
||||||
|
use App\Domain\Recettes\RecetteRepository;
|
||||||
use App\Infrastructure\View;
|
use App\Infrastructure\View;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,7 +29,7 @@ class PagesController extends Controller {
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function index(): View {
|
public function index(): View {
|
||||||
return new View( 'home', [ 'ok' => 'bla' ] );
|
return new View( 'home', [ 'recettes' => new RecetteRepository()->getAllRecettesBrowse(1, 3 ) ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ use App\Helpers\UploadFiles;
|
|||||||
use App\Http\JSONResponse;
|
use App\Http\JSONResponse;
|
||||||
use App\Http\Request;
|
use App\Http\Request;
|
||||||
use App\Http\Router;
|
use App\Http\Router;
|
||||||
|
use App\Kernel;
|
||||||
|
|
||||||
class RecettesAPIController extends Controller {
|
class RecettesAPIController extends Controller {
|
||||||
|
|
||||||
@@ -87,6 +88,7 @@ class RecettesAPIController extends Controller {
|
|||||||
|
|
||||||
// Vérification d'une entrée qui existerait déjà.
|
// Vérification d'une entrée qui existerait déjà.
|
||||||
$slug = strtolower( $name );
|
$slug = strtolower( $name );
|
||||||
|
$slug = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $slug);
|
||||||
$slug = str_replace( ' ', '', $slug );
|
$slug = str_replace( ' ', '', $slug );
|
||||||
|
|
||||||
$recetteRepo = new RecetteRepository();
|
$recetteRepo = new RecetteRepository();
|
||||||
@@ -116,7 +118,7 @@ class RecettesAPIController extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Pour actualiser l'ID.
|
// Pour actualiser l'ID.
|
||||||
$recette = $recetteRepo->getBySlug( $slug );
|
$recette = $recetteRepo->getById( Kernel::$DB->pdo->lastInsertId() );
|
||||||
|
|
||||||
// Ajout du lien ingrédients recettes.
|
// Ajout du lien ingrédients recettes.
|
||||||
foreach( $ingredientsId as $ingredientId ){
|
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(){
|
public function edit(){
|
||||||
@@ -180,10 +182,11 @@ class RecettesAPIController extends Controller {
|
|||||||
|
|
||||||
// Vérification d'une entrée qui existerait déjà.
|
// Vérification d'une entrée qui existerait déjà.
|
||||||
$slug = strtolower( $name );
|
$slug = strtolower( $name );
|
||||||
|
$slug = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $slug);
|
||||||
$slug = str_replace( ' ', '', $slug );
|
$slug = str_replace( ' ', '', $slug );
|
||||||
|
|
||||||
$recette->titre_recette = $name;
|
$recette->titre_recette = $name;
|
||||||
$recette->slug = $slug;
|
// $recette->slug = $slug;
|
||||||
|
|
||||||
$recette->temps_de_preparation = intval( $temps <= 0 ? 1 : $temps );
|
$recette->temps_de_preparation = intval( $temps <= 0 ? 1 : $temps );
|
||||||
$recette->description_recette = $description;
|
$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(){
|
public function delete(){
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ class RecettesManagementController extends Controller {
|
|||||||
public static function defineRoutes(): array
|
public static function defineRoutes(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
self::Route( routeUrl: '/recettes/create', routeName: 'recettes->create', routeAction: 'create' ),
|
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' ),
|
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' ),
|
self::Route( routeUrl: '/recettes/delete/{int}', routeName: 'recettes->delete', routeAction: 'delete' ),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class TagManagementController extends Controller {
|
|||||||
public static function defineRoutes(): array
|
public static function defineRoutes(): array
|
||||||
{
|
{
|
||||||
return [
|
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/edit/{int}', routeName: 'tags->edit', routeAction: 'edit', routeMethods: [ 'POST' ] ),
|
||||||
self::Route( routeUrl: '/tags/delete/{int}', routeName: 'tags->delete', routeAction: 'delete' ),
|
self::Route( routeUrl: '/tags/delete/{int}', routeName: 'tags->delete', routeAction: 'delete' ),
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ use App\Domain\Controller;
|
|||||||
use App\Helpers\UploadFiles;
|
use App\Helpers\UploadFiles;
|
||||||
use App\Http\JSONResponse;
|
use App\Http\JSONResponse;
|
||||||
use App\Http\Request;
|
use App\Http\Request;
|
||||||
|
use App\Kernel;
|
||||||
|
|
||||||
class TagsAPIController extends Controller {
|
class TagsAPIController extends Controller {
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ class TagsAPIController extends Controller {
|
|||||||
if( !new TagRepository()->add( $tag ) )
|
if( !new TagRepository()->add( $tag ) )
|
||||||
JSONResponse::sendError( [ 'error' => 'An error occured while adding tag' ] );
|
JSONResponse::sendError( [ 'error' => 'An error occured while adding tag' ] );
|
||||||
|
|
||||||
JSONResponse::sendSuccess();
|
JSONResponse::sendSuccess( [ 'id' => Kernel::$DB->pdo->lastInsertId() ] );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,23 @@
|
|||||||
<h1>Coucou</h1>
|
<?php use App\Infrastructure\View as V; ?>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="title-site">
|
||||||
|
<h1 class="title">Les Recettes De Papis</h1>
|
||||||
|
<hr class="line-acceuil">
|
||||||
|
<h3>Proposition de recette :</h3>
|
||||||
|
</div>
|
||||||
|
<div class="random-proposition">
|
||||||
|
<?php foreach( V::arg( 'recettes' ) as $recette ): ?>
|
||||||
|
<a class="recette-icone" href="<?php V::routeUrl( 'recettes->show', $recette->slug ); ?>">
|
||||||
|
<img class="recette-preview-image" src="<?php echo $recette->photo; ?>">
|
||||||
|
<div class="recette-icone-content">
|
||||||
|
<h3><?php echo $recette->titre_recette; ?></h3>
|
||||||
|
<ul class="meta-recettes">
|
||||||
|
<li>Temps de préparation : <?php echo $recette->temps_de_preparation; ?> minutes</li>
|
||||||
|
<li>Nombre d'ingrédients : <?php echo $recette->getNumberOfIngredients(); ?></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
<title><?php echo V::getHeadTitle(); ?></title>
|
<title><?php echo V::getHeadTitle(); ?></title>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="stylesheet" href="<?php V::assetUrl( 'css/style.css' ); ?>" />
|
<link rel="stylesheet" href="<?php V::assetUrl( 'css/style.css' ); ?>" />
|
||||||
|
<link rel="icon" type="image/x-icon" href="<?php V::assetUrl( 'images/Logo.ico' ); ?>" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header id="header">
|
<header id="header">
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
<img class="recette-preview-image" src="<?php echo $recette->photo; ?>">
|
<img class="recette-preview-image" src="<?php echo $recette->photo; ?>">
|
||||||
<div class="recette-icone-content">
|
<div class="recette-icone-content">
|
||||||
<h3><?php echo $recette->titre_recette; ?></h3>
|
<h3><?php echo $recette->titre_recette; ?></h3>
|
||||||
<ul>
|
<ul class="meta-recettes">
|
||||||
<li>Temps de préparation : <?php echo $recette->temps_de_preparation; ?></li>
|
<li>Temps de préparation : <?php echo $recette->temps_de_preparation; ?> minutes</li>
|
||||||
<li>Nombre d'ingrédients : <?php echo $recette->getNumberOfIngredients(); ?></li>
|
<li>Nombre d'ingrédients : <?php echo $recette->getNumberOfIngredients(); ?></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user