From 602c62ed6195d89cc610e83f8e43999a73204794 Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Fri, 29 Dec 2023 10:49:41 +0100 Subject: [PATCH 1/8] Modif --- Sources/config/config.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Sources/config/config.php b/Sources/config/config.php index 4d0a0f4d..02a7978d 100755 --- a/Sources/config/config.php +++ b/Sources/config/config.php @@ -12,10 +12,17 @@ $dotenv->safeLoad(); // const DB_PASSWORD = $_ENV['DB_PASSWORD'] ?? 'achanger'; define("APP_ENV", 'development'); -const DB_SERVER = 'pgsql'; -const DB_HOST = 'localhost'; +//const DB_SERVER = 'pgsql'; +//const DB_HOST = 'localhost'; +//const DB_DATABASE = 'sae_3'; +//const DB_USER = 'Perederii'; +//const DB_PASSWORD = ''; +//const APP_ENV = 'console'; + +const DB_SERVER = 'mysql'; +const DB_HOST = 'localhost:3306'; const DB_DATABASE = 'sae_3'; -const DB_USER = 'Perederii'; +const DB_USER = 'root'; const DB_PASSWORD = ''; //const APP_ENV = 'console'; From 90b6185c0ab631249052e5400de097bf00299bb5 Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Sun, 7 Jan 2024 16:45:44 +0100 Subject: [PATCH 2/8] =?UTF-8?q?Essai=20de=20r=C3=A9solution=20de=20bug=20:?= =?UTF-8?q?=20Bug=20affichage=20du=20graphique,=20bug=20/activity=20:=20va?= =?UTF-8?q?leur=20NULL,=20pas=20trouver=20comment=20ajouter=20un=20exercic?= =?UTF-8?q?e=20...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/src/app/controller/AthleteController.php | 4 ++-- Sources/src/app/controller/UserController.php | 2 ++ Sources/src/data/core/database/ActivityEntity.php | 2 +- Sources/src/data/core/database/ActivityMapper.php | 2 +- Sources/src/data/core/database/AthleteGateway.php | 11 +++++++++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index 0a61b7a6..f1660146 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -201,8 +201,8 @@ class AthleteController extends BaseController $listActivity = []; foreach ($activityGateway as $entity) { $activity = $map->activityEntityToModel($entity); - $listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(), - 'date' => $activity->getDate()->format("D j F Y"), 'heureDebut' => $activity->getHeureDebut()->format("H\h i"), 'heureFin' => $activity->getHeureFin()->format("H\h i"), + $listActivity[] = ['idactivite' => number_format($activity->getIdActivity()), 'type' => $activity->getType(), + 'date' => $activity->getDate()->format("D j F Y"), 'heurededebut' => $activity->getHeureDebut()->format("H\h i"), 'heuredefin' => $activity->getHeureFin()->format("H\h i"), 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(), 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()]; diff --git a/Sources/src/app/controller/UserController.php b/Sources/src/app/controller/UserController.php index ca403f69..c6301d5e 100644 --- a/Sources/src/app/controller/UserController.php +++ b/Sources/src/app/controller/UserController.php @@ -5,6 +5,7 @@ namespace App\Controller; use App\Container; use App\Router\Request\IRequest; use App\Router\Response\Response; +use Database\ActivityMapper; use Shared\Attributes\Route; use Twig\Environment; use Data\Core\Preferences; @@ -49,6 +50,7 @@ class UserController extends BaseController $activity = $athleteGateway->getListActivity('1');//$currentUser->getId() // Log::dd($activity); $chart = []; + // PROBLEME AVEC LE GRAPHIQUE Soucis avec le graphique : Undefined array key "nbactivite" ligne 57 foreach($activity as $act){ $chart[] = ['act' => $act['nbactivite'], 'mois' => date('m', $act['mois'])]; } diff --git a/Sources/src/data/core/database/ActivityEntity.php b/Sources/src/data/core/database/ActivityEntity.php index 7f14956e..be31539a 100644 --- a/Sources/src/data/core/database/ActivityEntity.php +++ b/Sources/src/data/core/database/ActivityEntity.php @@ -18,7 +18,7 @@ class ActivityEntity { private $temperatureMoyenne; // Getters - public function getIdActivity() { + public function getIdActivity() :int { return $this->idActivity; } diff --git a/Sources/src/data/core/database/ActivityMapper.php b/Sources/src/data/core/database/ActivityMapper.php index 296c03c8..adad8141 100644 --- a/Sources/src/data/core/database/ActivityMapper.php +++ b/Sources/src/data/core/database/ActivityMapper.php @@ -73,7 +73,7 @@ class ActivityMapper { /** * @throws \Exception */ - public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity { + public function activityEntityToModel(ActivityEntity $activiteEntity):Activity { $date = new DateTime($activiteEntity->getDate()); $heureDebut = new \DateTime($activiteEntity->getHeureDebut()); $heureFin = new \DateTime($activiteEntity->getHeureFin()); diff --git a/Sources/src/data/core/database/AthleteGateway.php b/Sources/src/data/core/database/AthleteGateway.php index a6677c89..8b2d154d 100644 --- a/Sources/src/data/core/database/AthleteGateway.php +++ b/Sources/src/data/core/database/AthleteGateway.php @@ -89,12 +89,19 @@ class AthleteGateway { public function getListActivity(int $idAthlete): array { - $query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois + /*$query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois FROM Athlete at, Activite ac WHERE at.idAthlete = :idAthlete AND ac.date > CURRENT_DATE - INTERVAL '1 YEAR' AND ac.athleteId = at.idAthlete - GROUP BY mois"; + GROUP BY mois";*/ + + $query = "SELECT COUNT(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois + FROM Athlete at + JOIN Activite ac ON ac.athleteId = at.idAthlete + WHERE at.idAthlete = :idAthlete + AND ac.date > CURRENT_DATE - INTERVAL 1 YEAR + GROUP BY mois"; $params = [ ':idAthlete' => $idAthlete, From 15e631011fb5791225e1c4e7c77d6b37ffc4938d Mon Sep 17 00:00:00 2001 From: Paul LEVRAULT Date: Tue, 9 Jan 2024 11:09:56 +0100 Subject: [PATCH 3/8] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Documents/Diag?= =?UTF-8?q?ramme/BDD/MLD.plantuml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documents/Diagramme/BDD/MLD.plantuml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documents/Diagramme/BDD/MLD.plantuml b/Documents/Diagramme/BDD/MLD.plantuml index cdf6bec3..6a950e7d 100755 --- a/Documents/Diagramme/BDD/MLD.plantuml +++ b/Documents/Diagramme/BDD/MLD.plantuml @@ -26,6 +26,7 @@ entity "Notification" as notif { statut urgence #athleteId + #idSender } entity "Coach" as coach { From a6febfeec6772f4a549e7f902cb7e33a3ce1b7e7 Mon Sep 17 00:00:00 2001 From: Paul LEVRAULT Date: Tue, 9 Jan 2024 11:10:33 +0100 Subject: [PATCH 4/8] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Documents/Diag?= =?UTF-8?q?ramme/BDD/MLD.plantuml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documents/Diagramme/BDD/MLD.plantuml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documents/Diagramme/BDD/MLD.plantuml b/Documents/Diagramme/BDD/MLD.plantuml index 6a950e7d..a6fda7a8 100755 --- a/Documents/Diagramme/BDD/MLD.plantuml +++ b/Documents/Diagramme/BDD/MLD.plantuml @@ -26,7 +26,7 @@ entity "Notification" as notif { statut urgence #athleteId - #idSender + #senderId } entity "Coach" as coach { From b1839f15ba378abf01f4bbaa7d11aa57264dc529 Mon Sep 17 00:00:00 2001 From: Paul LEVRAULT Date: Tue, 9 Jan 2024 11:33:06 +0100 Subject: [PATCH 5/8] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Documents/Diag?= =?UTF-8?q?ramme/BDD/MLD.plantuml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documents/Diagramme/BDD/MLD.plantuml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documents/Diagramme/BDD/MLD.plantuml b/Documents/Diagramme/BDD/MLD.plantuml index a6fda7a8..1830cff8 100755 --- a/Documents/Diagramme/BDD/MLD.plantuml +++ b/Documents/Diagramme/BDD/MLD.plantuml @@ -25,8 +25,8 @@ entity "Notification" as notif { date statut urgence + senderId #athleteId - #senderId } entity "Coach" as coach { From aa7de10a992dfe580fb98f82f6f4c98e6889a273 Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Wed, 10 Jan 2024 14:05:07 +0100 Subject: [PATCH 6/8] =?UTF-8?q?R=C3=A9solution=20bug=20page=20Analyse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/controller/AthleteController.php | 1 + .../views/Templates/page/activity.html.twig | 8 ++++--- .../app/views/Templates/page/friend.html.twig | 2 +- .../src/data/core/database/ActivityEntity.php | 2 +- .../src/data/core/database/ActivityMapper.php | 24 +++++++++---------- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index fd4b99b9..94a02b01 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -207,6 +207,7 @@ class AthleteController extends BaseController 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()]; } + //log::dd($listActivity); $response = $this->render('./page/activity.html.twig', [ 'css' => $this->preference->getCookie(), diff --git a/Sources/src/app/views/Templates/page/activity.html.twig b/Sources/src/app/views/Templates/page/activity.html.twig index e14809bc..0d74e925 100644 --- a/Sources/src/app/views/Templates/page/activity.html.twig +++ b/Sources/src/app/views/Templates/page/activity.html.twig @@ -32,6 +32,7 @@ Maximum Minimum Temperature moyenne + Id Source @@ -49,6 +50,7 @@ Maximum Minimum Temperature moyenne + Id Source @@ -56,8 +58,8 @@ {% for analyze in analyzes %} {{analyze.date}} - {{analyze.heureDebut}} - {{analyze.heureFin}} + {{analyze.heurededebut}} + {{analyze.heuredefin}} {{analyze.type}} {{analyze.effortRessenti}} {{analyze.variabilite}} @@ -67,7 +69,7 @@ {{analyze.max}} Bpm {{analyze.min}} Bpm {{analyze.temperature}} °C - {{analyze.idactivity}} °C + {{analyze.idactivite}} En savoir plus {% endfor %} diff --git a/Sources/src/app/views/Templates/page/friend.html.twig b/Sources/src/app/views/Templates/page/friend.html.twig index 03a5e4b7..a9ca2ac1 100755 --- a/Sources/src/app/views/Templates/page/friend.html.twig +++ b/Sources/src/app/views/Templates/page/friend.html.twig @@ -43,7 +43,7 @@ {{ami.nom}} {{ami.prenom}} - {{ami.status}} + {{ami.username}}
diff --git a/Sources/src/data/core/database/ActivityEntity.php b/Sources/src/data/core/database/ActivityEntity.php index be31539a..7f14956e 100644 --- a/Sources/src/data/core/database/ActivityEntity.php +++ b/Sources/src/data/core/database/ActivityEntity.php @@ -18,7 +18,7 @@ class ActivityEntity { private $temperatureMoyenne; // Getters - public function getIdActivity() :int { + public function getIdActivity() { return $this->idActivity; } diff --git a/Sources/src/data/core/database/ActivityMapper.php b/Sources/src/data/core/database/ActivityMapper.php index adad8141..ded83195 100644 --- a/Sources/src/data/core/database/ActivityMapper.php +++ b/Sources/src/data/core/database/ActivityMapper.php @@ -13,8 +13,8 @@ class ActivityMapper { foreach ($data as $activityData) { $activity = new ActivityEntity(); - if (isset($activityData['idactivite'])) { - $activity->setIdActivity($activityData['idactivite']); + if (isset($activityData['idActivite'])) { + $activity->setIdActivity($activityData['idActivite']); } if (isset($activityData['type'])) { @@ -25,16 +25,16 @@ class ActivityMapper { $activity->setDate($activityData['date']); } - if (isset($activityData['heurededebut'])) { - $activity->setHeureDebut($activityData['heurededebut']); + if (isset($activityData['heureDeDebut'])) { + $activity->setHeureDebut($activityData['heureDeDebut']); } - if (isset($activityData['heuredefin'])) { - $activity->setHeureFin($activityData['heuredefin']); + if (isset($activityData['heureDeFin'])) { + $activity->setHeureFin($activityData['heureDeFin']); } - if (isset($activityData['effortressent'])) { - $activity->setEffortRessenti($activityData['effortressent']); + if (isset($activityData['effortRessent'])) { + $activity->setEffortRessenti($activityData['effortRessent']); } if (isset($activityData['variabilite'])) { @@ -45,8 +45,8 @@ class ActivityMapper { $activity->setVariance($activityData['variance']); } - if (isset($activityData['ecarttype'])) { - $activity->setEcartType($activityData['ecarttype']); + if (isset($activityData['ecartType'])) { + $activity->setEcartType($activityData['ecartType']); } if (isset($activityData['moyenne'])) { @@ -61,8 +61,8 @@ class ActivityMapper { $activity->setMinimum($activityData['minimum']); } - if (isset($activityData['temperaturemoyenne'])) { - $activity->setTemperatureMoyenne($activityData['temperaturemoyenne']); + if (isset($activityData['temperatureMoyenne'])) { + $activity->setTemperatureMoyenne($activityData['temperatureMoyenne']); } $activityEntities[] = $activity; From db633e71d76c0a015df50711571592d4902a6b20 Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Wed, 10 Jan 2024 14:24:27 +0100 Subject: [PATCH 7/8] =?UTF-8?q?R=C3=A9solution=20bug=20Messagerie=20;;;=20?= =?UTF-8?q?Potentiellement=20un=20bug=20sur=20mauvais=20id=20de=20celui=20?= =?UTF-8?q?qui=20envoie=20la=20notif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/src/app/controller/SocialController.php | 3 ++- .../src/app/views/Templates/page/notification.html.twig | 4 ++-- Sources/src/data/core/database/NotificationEntity.php | 2 +- Sources/src/data/core/database/NotificationMapper.php | 8 ++++---- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Sources/src/app/controller/SocialController.php b/Sources/src/app/controller/SocialController.php index f2867f55..765b8ca3 100644 --- a/Sources/src/app/controller/SocialController.php +++ b/Sources/src/app/controller/SocialController.php @@ -33,12 +33,13 @@ class SocialController extends BaseController $notificationEntity = $map->notificationSqlToEntity($listSearch); $listUsers = []; + //log::dd($notificationEntity); foreach ($notificationEntity as $entity) { $notification = $map->notificationEntityToModel($entity); $listUsers[] = ['idnotif' => $notification->getId(), 'message' => $notification->getMessage(), 'date' => $notification->getDate()->format("D j F Y"),'statut' => $notification->getStatut(), 'urgence' => $notification->getUrgence(), - 'idathlete' => $notification->getToUserId()]; + 'athleteId' => $notification->getToUserId()]; } $response = $this->render('./page/notification.html.twig',[ diff --git a/Sources/src/app/views/Templates/page/notification.html.twig b/Sources/src/app/views/Templates/page/notification.html.twig index 9f84ee37..42216d3c 100755 --- a/Sources/src/app/views/Templates/page/notification.html.twig +++ b/Sources/src/app/views/Templates/page/notification.html.twig @@ -29,8 +29,8 @@ {% for mail in mails %} - - {{mail.idathlete}} + + {{mail.athleteId}} {{mail.message}} {{ mail.date }} diff --git a/Sources/src/data/core/database/NotificationEntity.php b/Sources/src/data/core/database/NotificationEntity.php index 69ecfbf9..986982f0 100644 --- a/Sources/src/data/core/database/NotificationEntity.php +++ b/Sources/src/data/core/database/NotificationEntity.php @@ -13,7 +13,7 @@ class NotificationEntity private $urgence; private $idAthlete; - public function getIdNotif(): int + public function getIdNotif() { return $this->idNotif; } diff --git a/Sources/src/data/core/database/NotificationMapper.php b/Sources/src/data/core/database/NotificationMapper.php index 51622e96..7fe24a65 100644 --- a/Sources/src/data/core/database/NotificationMapper.php +++ b/Sources/src/data/core/database/NotificationMapper.php @@ -16,8 +16,8 @@ class NotificationMapper foreach ($data as $notificationData) { $notification = new NotificationEntity(); - if (isset($notificationData['idnotif'])) { - $notification->setIdNotif($notificationData['idnotif']); + if (isset($notificationData['idNotif'])) { + $notification->setIdNotif($notificationData['idNotif']); } if (isset($notificationData['message'])) { @@ -36,8 +36,8 @@ class NotificationMapper $notification->setUrgence($notificationData['urgence']); } - if (isset($notificationData['athleteid'])) { - $notification->setIdAthlete($notificationData['athleteid']); + if (isset($notificationData['athleteId'])) { + $notification->setIdAthlete($notificationData['athleteId']); } $notificationEntities[] = $notification; From aa4567da8f9f1aba3d9e3d8e2a01c76007fde1ac Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Wed, 10 Jan 2024 14:39:32 +0100 Subject: [PATCH 8/8] =?UTF-8?q?R=C3=A9solution=20bug=20du=20graphique=20pa?= =?UTF-8?q?ge=20/home=20(pas=20d'affichage=20du=20graphique=20mais=20pas?= =?UTF-8?q?=20d'erreur)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/src/app/controller/UserController.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Sources/src/app/controller/UserController.php b/Sources/src/app/controller/UserController.php index c6301d5e..2d92f4b3 100644 --- a/Sources/src/app/controller/UserController.php +++ b/Sources/src/app/controller/UserController.php @@ -12,6 +12,8 @@ use Data\Core\Preferences; use Shared\Log; use Database\Athletegateway; use Database\Connexion; +use DateTime; +use DateInterval; class UserController extends BaseController { @@ -48,11 +50,9 @@ class UserController extends BaseController { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $activity = $athleteGateway->getListActivity('1');//$currentUser->getId() -// Log::dd($activity); $chart = []; - // PROBLEME AVEC LE GRAPHIQUE Soucis avec le graphique : Undefined array key "nbactivite" ligne 57 foreach($activity as $act){ - $chart[] = ['act' => $act['nbactivite'], 'mois' => date('m', $act['mois'])]; + $chart[] = ['act' => $act['nbActivite'], 'mois' => date('m', $act['mois'])]; } // $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); @@ -85,7 +85,6 @@ class UserController extends BaseController ]); } - #[Route(path: '/settings', name: 'settings', methods: ['GET'])] public function settings(IRequest $req): Response {