diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index a7fe71f6..e6b546a6 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -35,9 +35,9 @@ class AthleteController extends BaseController } else { try { - $athleteGateway = new AthleteGateway(new Connexion("mysql:host=londres;dbname=dbkemonteiro2;","kemonteiro2","#Phpmyadmin63")); - //$listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); - $listSearch = $athleteGateway->getAthleteByName($username); + //$athleteGateway = new AthleteGateway(new Connexion("mysql:host=localhost;dbname=;","","")); + $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); + //$listSearch = $athleteGateway->getAthleteByName($username); $i=0; foreach ($listSearch as $user){ $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()]; @@ -145,11 +145,13 @@ class AthleteController extends BaseController public function addFriend(string $username, IRequest $req): Response { try { - //Ajouter la personne sur laquelle on a clique dans la liste de currentuser - $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); - $i=0; - foreach ($listSearch as $user){ - $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'test', 'username'=>$user->getUsername()]; + $userSearched=$this->container->get(UserManager::class)->searchUserByName($username); + $currentUser=$this->container->get(UserManager::class)->getUserById(2); + if ($userSearched!=null){ + $currentUser->addFriend($userSearched); + } + foreach ($userSearched as $user){ + $users=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'test', 'username'=>$user->getUsername()]; } return $this->render('./page/addfriend.html.twig',[ 'css' => $this->preference->getCookie(), @@ -159,7 +161,7 @@ class AthleteController extends BaseController 'friendship' => [], 'analyzes' => [], 'mails' => [], - 'users' => $listUsers, + 'users' => $users, 'infoUser' => [], 'exos' => [], 'member' => [], @@ -222,7 +224,7 @@ class AthleteController extends BaseController #[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])] public function friendlist2(): Response { - $friendList = $this->container->get(UserManager::class)->getFriends();//$currentUser->getFriends(); + $friendList = $this->container->get(UserManager::class)->getFriends(); return $this->render('./page/friend.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", diff --git a/Sources/src/data/model/User.php b/Sources/src/data/model/User.php index ac96da73..f137c50c 100644 --- a/Sources/src/data/model/User.php +++ b/Sources/src/data/model/User.php @@ -28,6 +28,7 @@ class User { private \DateTime $dateNaissance; private Role $role; protected array $notifications = []; + private array $listFriend = []; /** * @return array @@ -289,5 +290,23 @@ class User { public function __toString() { return "Athlete [ID: {$this->id}, Username : $this->username, Nom: {$this->nom}, Prénom: {$this->prenom}, Email: {$this->email}]"; } + + /** + * Donne la liste des amis de l'utilisateur + * + * @return string Les amis de l'utilisateur. + */ + public function getListFriend(): array { + return $this->listFriend; + } + + /** + * Ajoute un utilisateur a sa liste d'amis. + * + * @param User L'utilisateur a ajouter. + */ + public function addFriend(User $user){ + array_push($this->listFriend, $user); + } } ?> \ No newline at end of file diff --git a/Sources/src/data/model/manager/UserManager.php b/Sources/src/data/model/manager/UserManager.php index 8d6e2b5b..72ea9e3f 100644 --- a/Sources/src/data/model/manager/UserManager.php +++ b/Sources/src/data/model/manager/UserManager.php @@ -82,7 +82,7 @@ class UserManager } - public function addFriend(string $newFriend): bool + /*public function addFriend(string $newFriend): bool { $newFriend = $this->dataManager->userRepository->getItemByName($newFriend, 0, 1); if ($newFriend === null) { @@ -96,6 +96,11 @@ class UserManager return true; }; return false; + }*/ + + public function addFriend(User $user1, User $user2) + { + $this->dataManager->userRepository->addFriend($user1, $user2); } public function respondToFriendRequest(int $requestId, bool $choice): bool @@ -133,22 +138,15 @@ class UserManager { return $this->dataManager->userRepository->getItemsByName($name, 0, 10); } + + public function searchUserByName(string $name): ?User + { + return $this->dataManager->userRepository->getItemByName($name, 0, 10); + } public function getFriends(): array { - return [ - [ - 'nom' => 'John', - 'prenom' => 'Doe', - 'img' => 'test', - 'username' => 'johndoe', - ], - [ - 'nom' => 'Alice', - 'prenom' => 'Smith', - 'img' => 'test2', - 'username' => 'alicesmith', - ], - ]; + $user=$this->dataManager->userRepository->getItemById(2); + return $user->getListFriend(); //return $this->currentUser->getRole()->getUsersList(); } @@ -224,5 +222,9 @@ class UserManager return false; } + public function getUserById(int $id): ?User { + return $this->dataManager->userRepository->getItemById($id); + } + } ?> diff --git a/Sources/src/data/model/repository/IUserRepository.php b/Sources/src/data/model/repository/IUserRepository.php index 1fc2f35f..fac8b8e8 100644 --- a/Sources/src/data/model/repository/IUserRepository.php +++ b/Sources/src/data/model/repository/IUserRepository.php @@ -1,9 +1,10 @@ users[] = new User(3, "Martin", "Paul","Martin", "paul.martin@example.com", "super789", 'M', 1.75, 68, new \DateTime("1988-08-20"), new CoachAthlete()); $this->users[] = new User(4, "Brown", "Anna","Brown", "anna.brown@example.com", "test000", 'F', 1.70, 58, new \DateTime("1992-11-25"), new Athlete()); $this->users[] = new User(5, "Lee", "Bruce","Lee", "bruce.lee@example.com", "hello321", 'M', 1.72, 70, new \DateTime("1970-02-05"), new Athlete()); - $this->users[] = new User(5, "Truc", "Bruce","Truc", "bruce.lee@example.com", "hello321", 'M', 1.72, 70, new \DateTime("1970-02-05"), new Athlete()); + $this->users[] = new User(6, "Truc", "Bruce","Truc", "bruce.lee@example.com", "hello321", 'M', 1.72, 70, new \DateTime("1970-02-05"), new Athlete()); } /** @@ -164,15 +164,15 @@ class UserRepository implements IUserRepository { return false; } - public function addFriend(int $user1, int $user2) + + public function deleteFriend(User $user1, User $user2) { - return true; + return true; } - - public function deleteFriend(int $user1, int $user2) + public function addFriend(User $user1, User $user2) { - return true; + $user1->addFriend($user2); } } ?>