preference = new Preferences(); // $this->userMgr = $manager; } // #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])] // public function searchUser(string $username, IRequest $req): Response // { // $taberror = []; // if(!Validation::val_string($username)){ // print("Nom invalide."); // } // else { // try { // $athleteGateway = new AthleteGateway(new Connexion("mysql:host=localhost;dbname=sae_3", "Perederii", "")); //// $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); // $listSearch = $athleteGateway->getAthlete(); // $map = new AthleteMapper (); // $athleteEntity = $map->athleteSqlToEntity($listSearch); // foreach ($athleteEntity as $entity) { // $users = $map->athleteEntityToModel($entity); // $listUsers[$i++]=['nom' => $users->getNom(), 'prenom'=>$users->getPrenom(), 'img'=>'john_doe']; // } // // $i=0; // foreach ($users as $user){ // echo "

HELLO

"; // $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()]; // } // echo "

HEllO

"; // //$currentUser=$this->container->get(UserManager::class)->getCurrentUser(); // //$currentUser=$_SESSION['user']; // $response = $this->render('./page/addfriend.html.twig',[ // 'css' => $_COOKIE['preferences'], // 'pp' => "test", // 'user' => 'johndoe',//$currentUser->getUsername(), // 'role' => 'Athlete',//$currentUser->getRole(), // 'users' => $listUsers // ]); // } catch (\Throwable $th) { // throw $th; // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); // } // } // return $response; // // } #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])] public function searchUser(string $username, IRequest $req): Response { $taberror = []; if (!Validation::val_string($username)) { print("Nom invalide."); } else { try { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); if($username==null){ $listSearch=$athleteGateway->getAthlete(); } else { $listSearch = $athleteGateway->getAthleteByName($username); } $map = new AthleteMapper(); $athleteEntity = $map->athleteSqlToEntity($listSearch); $listUsers = []; foreach ($athleteEntity as $entity) { $user = $map->athleteEntityToModel($entity); $listUsers[] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(), 'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(), 'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(), 'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test', 'username' => $user->getUsername()]; } $response = $this->render('./page/addfriend.html.twig',[ 'css' => $_COOKIE['preferences'], 'pp' => 'test', 'user' => 'John',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'users' => $listUsers ]); } catch (\Throwable $th) { throw $th; return $this->render("addfriend.html.twig", ['tabError' => $taberror]); } } return $response; } #[Route(path: '/analyze', name: 'analyze_details', methods: ['GET'])] public function activityDetails(int $id): Response { try { // Utilisez $id pour récupérer les détails de l'activité depuis la base de données // $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); // $activityEntity = $activityGateway->getActivityById($id); // Assurez-vous d'avoir une méthode similaire dans votre gateway $analyzeGateway = new AnalyzeGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $analyzeEntity = $analyzeGateway->getFrequenceCardiaqueByIdActivity($id); $response = $this->render('./page/analyze.html.twig', [ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'activity' => [], 'analyzes' => $analyzeEntity, ]); } catch (\Throwable $th) { throw $th; return $this->render("./page/analyze.html.twig", ['tabError' => $taberror]); } return $response; } // // #[Route(path: '/analyses/{id}', name: 'analyses', methods: ['GET'])] // public function analyses(): Response // { // try { // $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); // $listSearch = $activityGateway->getActivity(); // $map = new ActivityMapper(); // $activityGateway = $map->activitySqlToEntity($listSearch); // $listActivity = []; // foreach ($activityGateway as $entity) { // $activity = $map->activityEntityToModel($entity); // $listActivity[] = ['idactivity' => number_format($activity->getIdActivity(), 1), '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"), // 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(), // 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), // 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' =>$activity->getAvrTemperature()]; // } // // $response = $this->render('./page/analyze.html.twig',[ // 'css' => $this->preference->getCookie(), // 'pp' => "test2", // 'user' => 'johndoe',//$currentUser->getUsername(), // 'role' => 'Athlete',//$currentUser->getRole(), // 'friendship' => [], // 'analyzes' => $listActivity, // 'mails' => [], // 'users' => [], // 'infoUser' => [], // 'exos' => [], // 'member' => [] // ]); // } catch (\Throwable $th) { // throw $th; // return $this->render("./page/analyze.html.twig", ['tabError' => $taberror]); // } // return $response; // } #[Route(path: '/activity', name: 'activity', methods: ['GET'])] public function activity(): Response { try { $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $listSearch = $activityGateway->getActivity(); $map = new ActivityMapper(); $activityGateway = $map->activitySqlToEntity($listSearch); $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"), 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(), 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()]; } $response = $this->render('./page/activity.html.twig', [ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'analyzes' => $listActivity, 'mails' => [], 'users' => [], 'infoUser' => [], 'exos' => [], 'member' => [] ]); } catch (\Throwable $th) { throw $th; return $this->render("./page/analyze.html.twig", ['tabError' => $taberror]); } return $response; } #[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8 public function exercice(): Response { try { $entrainementGateway = new EntrainementGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $listSearch = $entrainementGateway->getEntrainements(); $map = new EntrainementMapper(); $entrainementEntity = $map->entrainementSqlToEntity($listSearch); $listUsers = []; foreach ($entrainementEntity as $entity) { $training = $map->entrainementEntityToModel($entity); $listUsers[] = ['idTraining' => number_format($training->getId(), 1), 'date' => $training->getDate()->format("D j F Y"), 'location' => $training->getLocation(), 'description' => $training->getDescription(), 'feedback' => $training->getFeedback()]; } $response = $this->render('./page/exercice.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'analyzes' => [], 'mails' => [], 'users' => [], 'infoUser' => [], 'exos' => $listUsers, 'member' => [] ]); } catch (\Throwable $th) { throw $th; return $this->render("addfriend.html.twig", ['tabError' => $taberror]); } return $response; } #[Route(path: '/exercices', name: 'exercices', methods: ['POST'])] // 8 public function exercices(String $type, String $intensite, String $date, IRequest $req): Response { $exercicesArray = [ [ 'date' => $date, 'type' => $type, 'intensite' => $intensite, 'status' => 'A venir', ] ]; return $this->render('./page/exercice.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'analyzes' => [], 'mails' => [], 'users' => [], 'infoUser' => [], 'exos' => $exercicesArray, 'member' => [] ]); } #[Route(path: '/add-friend', name: 'add-friend', methods: ['POST'])] public function addFriend(string $username, IRequest $req): Response { try { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $map = new AthleteMapper(); $userSearched = $athleteGateway->getAthleteByFirstName("Bryan"); $athleteEntity = $map->athleteSqlToEntity($userSearched); $users=[]; foreach ($athleteEntity as $user) { // $this->userMgr->getCurrentUser()->addFriend($user); // $currentUser->addFriend($user); $users = ['nom' => $user->getNom(), 'prenom' => $user->getPrenom(), 'img' => 'test', 'username' => $user->getUsername()]; } $notif = new NotificationGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $mapper = new NotificationMapper(); $date = new DateTime(); $myNotif = new Notification(21, "Demande d'ami de la part de " . $users['nom'], $date, true, 7, 1); $notif->addNotification($mapper->notificationToEntity($myNotif)); return $this->render('./page/addfriend.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'analyzes' => [], 'mails' => [], 'users' => $users, 'infoUser' => [], 'exos' => [], 'member' => [], 'responce' => "Notification d'ajout envoyée à $username" ]); } catch (\Throwable $th) { throw $th; return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); } } #[Route(path: '/friend', name: 'friend', methods: ['GET'])] public function friend(): Response { try { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $map=new AthleteMapper(); $friendEntity = $athleteGateway->getAthlete(); $listUserEntity = $map->athleteSqlToEntity($friendEntity); $friendList = []; foreach ($listUserEntity as $userEntity) { $friendList[] = ['nom' => $userEntity->getNom(), 'prenom' => $userEntity->getPrenom(), 'img' => 'test', 'username' => 'test']; } $response = $this->render('./page/addfriend.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'John',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => [], 'analyzes' => [], 'mails' => [], 'users' => $friendList, 'infoUser' => [], 'exos' => [], 'member' => [], ]); } catch (\Throwable $th) { throw $th; return $this->render("addfriend.html.twig", ['tabError' => $taberror]); } return $response; } /*#[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])] public function friendlist(string $username, IRequest $req): Response { $friendList = [ [ 'nom' => 'John', 'prenom' => 'Doe', 'img' => 'john_doe', 'username' => 'johndoe', ], [ 'nom' => 'Alice', 'prenom' => 'Smith', 'img' => 'alice_smith', 'username' => 'alicesmith', ], ]; // TODO // -> Enlever ou bloquer un utilisateur en fonction de son username //$friendList = currentUser->getFriends(); return $this->render('./page/friend.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'friendship' => $friendList, ]); }*/ #[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])] public function friendlist2(): Response { try { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $map=new AthleteMapper(); $friendEntity = $athleteGateway->getListIdFriends(1/*$currentUser->getId()*/); $friendList = []; $listUserEntity = []; foreach($friendEntity as $users) { if ($users['idathlete1']==1/*$currentUser->getId()*/){ $user=(int)$users['idathlete2']; } else { $user=(int)$users['idathlete1']; } $listUserEntity[] = $map->athleteSqlToEntity($athleteGateway->getAthleteById(1)); } foreach ($listUserEntity as $user) { $friendList[] = ['nom' => $user[0]->getNom(), 'prenom' => $user[0]->getPrenom(), 'img' => 'test', 'username' => 'test']; } $response = $this->render('./page/friend.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", 'user' => "Doe", 'role' => "Athlète", 'friendship' => $friendList, ]); } catch (\Throwable $th) { throw $th; return $this->render("addfriend.html.twig", ['tabError' => $taberror]); } return $response; } // #[Route(path: '/delete-friend', name: 'delete-friend', methods: ['POST'])] } ?>