Merge remote-tracking branch 'origin/merged_PLE' into merged
continuous-integration/drone/push Build is failing Details

merged
Paul LEVRAULT 1 year ago
commit 18bb092a71

@ -3,6 +3,7 @@
namespace App\Controller; namespace App\Controller;
namespace App\Controller; namespace App\Controller;
use Shared\Validation;
use App\Container; use App\Container;
use App\Router\Request\IRequest; use App\Router\Request\IRequest;
use App\Router\Response\Response; use App\Router\Response\Response;
@ -10,23 +11,17 @@ use Shared\Attributes\Route;
use Twig\Environment; use Twig\Environment;
use Data\Core\Preferences; use Data\Core\Preferences;
use Shared\Log; use Shared\Log;
use App\Container; use Manager\UserManager;
use App\Router\Request\IRequest;
use App\Router\Response\Response;
use Shared\Attributes\Route;
use Twig\Environment;
use Data\Core\Preferences;
use Shared\Log;
class AthleteController extends BaseController class AthleteController extends BaseController
{ {
private Environment $twig; private Environment $twig;
private Preferences $preference; protected Preferences $preference;
public function __construct() public function __construct()
{ {
session_start(); //session_start();
$this->preference = new Preferences(); $this->preference = new Preferences();
} }
@ -34,43 +29,31 @@ class AthleteController extends BaseController
public function searchUser(string $username, IRequest $req): Response public function searchUser(string $username, IRequest $req): Response
{ {
$taberror = []; $taberror = [];
$utiliArray = [ if(!Validation::val_string($username)){
[ print("Nom invalide.");
'nom' => 'John', }
'prenom' => 'Doe', else {
'img' => 'john_doe', try {
'username' => 'johndoe', $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username);
], $i=0;
[ foreach ($listSearch as $user){
'nom' => 'Alice', $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()];
'prenom' => 'Smith', }
'img' => 'alice_smith', //$currentUser=$this->container->get(UserManager::class)->getCurrentUser();
'username' => 'alicesmith', //$currentUser=$_SESSION['user'];
], $response = $this->render('./page/addfriend.html.twig',[
]; 'css' => $_COOKIE['preferences'],
// if(!Validation::val_string($name)){ 'pp' => "test",
try { 'user' => 'johndoe',//$currentUser->getUsername(),
//code... 'role' => 'Athlete',//$currentUser->getRole(),
// $model->userMgr->getUser($name); 'users' => $listUsers
return $this->render('./page/addfriend.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => $utiliArray,
'infoUser' => [],
'exos' => [],
'member' => [],
'responce' => "Notification d'ajout envoyée à $username"
]); ]);
} catch (\Throwable $th) { } catch (\Throwable $th) {
//throw $th; throw $th;
// return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
} }
// } }
return $response;
} }
@ -80,8 +63,8 @@ class AthleteController extends BaseController
return $this->render('./page/analyze.html.twig',[ return $this->render('./page/analyze.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => 'johndoe',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
@ -97,9 +80,9 @@ class AthleteController extends BaseController
{ {
return $this->render('./page/activity.html.twig',[ return $this->render('./page/activity.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test",
'user' => "Doe", 'user' => 'johndoe',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
@ -117,8 +100,8 @@ class AthleteController extends BaseController
return $this->render('./page/exercice.html.twig',[ return $this->render('./page/exercice.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => 'johndoe',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
@ -137,14 +120,14 @@ class AthleteController extends BaseController
'date' => $date, 'date' => $date,
'type' => $type, 'type' => $type,
'intensite' => $intensite, 'intensite' => $intensite,
'status' => 'A venur', 'status' => 'A venir',
] ]
]; ];
return $this->render('./page/exercice.html.twig',[ return $this->render('./page/exercice.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => 'johndoe',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
@ -158,83 +141,55 @@ class AthleteController extends BaseController
#[Route(path: '/add-friend', name: 'add-friend', methods: ['POST'])] #[Route(path: '/add-friend', name: 'add-friend', methods: ['POST'])]
public function addFriend(string $username, IRequest $req): Response public function addFriend(string $username, IRequest $req): Response
{ {
$taberror = [];
$utiliArray = [
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'john_doe',
'username' => 'johndoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'alice_smith',
'username' => 'alicesmith',
],
];
// if(!Validation::val_string($name)){
try { try {
//code... //Ajouter la personne sur laquelle on a clique dans la liste de currentuser
// $model->userMgr->addFriend($name); $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username);
return $this->render('./page/addfriend.html.twig',[ $i=0;
'css' => $this->preference->getCookie(), foreach ($listSearch as $user){
'pp' => "test2", $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'test', 'username'=>$user->getUsername()];
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => $utiliArray,
'infoUser' => [],
'exos' => [],
'member' => [],
'responce' => "Notification d'ajout envoyée à $username"
]);
} catch (\Throwable $th) {
//throw $th;
// return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
} }
// } 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' => $listUsers,
'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'])] #[Route(path: '/friend', name: 'friend', methods: ['GET'])]
public function friend(): Response public function friend(): Response
{ {
$utiliArray = [
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'john_doe',
'username' => 'johndoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'alice_smith',
'username' => 'alicesmith',
],
];
return $this->render('./page/addfriend.html.twig',[ return $this->render('./page/addfriend.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => 'John',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [], 'friendship' => [],
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
'users' => $utiliArray, 'users' => [],
'infoUser' => [], 'infoUser' => [],
'exos' => [], 'exos' => [],
'member' => [], 'member' => [],
]); ]);
} }
#[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])] /*#[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])]
public function friendlist(string $username, IRequest $req): Response public function friendlist(string $username, IRequest $req): Response
{ {
$utiliArray = [ $friendList = [
[ [
'nom' => 'John', 'nom' => 'John',
'prenom' => 'Doe', 'prenom' => 'Doe',
@ -248,50 +203,29 @@ class AthleteController extends BaseController
'username' => 'alicesmith', 'username' => 'alicesmith',
], ],
]; ];
/* TODO */ // TODO
// -> Enlever ou bloquer un utilisateur en fonction de son username // -> Enlever ou bloquer un utilisateur en fonction de son username
//$friendList = currentUser->getFriends();
return $this->render('./page/friend.html.twig',[ return $this->render('./page/friend.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => 'johndoe',//$currentUser->getUsername(),
'role' => "Athlète", 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => $utiliArray, 'friendship' => $friendList,
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => [],
]); ]);
} }*/
#[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])] #[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])]
public function friendlist2(): Response public function friendlist2(): Response
{ {
$utiliArray = [ $friendList = $this->container->get(UserManager::class)->getFriends();//$currentUser->getFriends();
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'test',
'status' => 'johndoe',
'username' => 'jdoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'test2',
'status' => 'alicesmith',
'username' => 'asmith',
],
];
return $this->render('./page/friend.html.twig',[ return $this->render('./page/friend.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => "Doe",
'role' => "Athlète", 'role' => "Athlète",
'friendship' => $utiliArray, 'friendship' => $friendList,
'analyzes' => [], 'analyzes' => [],
'mails' => [], 'mails' => [],
'users' => [], 'users' => [],

@ -39,6 +39,7 @@ class UserManager
$this->relationshipService = $relationshipService; $this->relationshipService = $relationshipService;
} }
public function getCurrentUser(): ?User public function getCurrentUser(): ?User
{ {
return $this->currentUser; return $this->currentUser;
@ -133,8 +134,22 @@ class UserManager
return $this->dataManager->userRepository->getItemsByName($name, 0, 10); return $this->dataManager->userRepository->getItemsByName($name, 0, 10);
} }
public function getFriends(): array{ public function getFriends(): array {
return $this->currentUser->getRole()->getUsersList(); return [
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'test',
'username' => 'johndoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'test2',
'username' => 'alicesmith',
],
];
//return $this->currentUser->getRole()->getUsersList();
} }
// NEED TO PERSIST // NEED TO PERSIST

@ -32,6 +32,7 @@ class UserRepository implements IUserRepository {
$this->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(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(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, "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());
} }
/** /**
@ -163,6 +164,30 @@ class UserRepository implements IUserRepository {
return false; return false;
} }
/**
* Supprime un utilisateur du dépôt.
*
* @param User $username Le username de la personne qui recherche ses amis.
* @return bool Retourne la liste des amis de l'utilisateur passe en paramètre.
*/
//TODO
public function getFriends(): array {
return [
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'test',
'username' => 'johndoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'test2',
'username' => 'alicesmith',
],
];
}
public function addFriend(int $user1, int $user2) public function addFriend(int $user1, int $user2)
{ {
return true; return true;

Loading…
Cancel
Save