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