|
|
@ -2,10 +2,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
namespace App\Controller;
|
|
|
|
namespace App\Controller;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use Database\ActivityGateway;
|
|
|
|
|
|
|
|
use Database\ActivityMapper;
|
|
|
|
use Database\AthleteEntity;
|
|
|
|
use Database\AthleteEntity;
|
|
|
|
use Database\AthleteMapper;
|
|
|
|
use Database\AthleteMapper;
|
|
|
|
use Database\EntrainementGateway;
|
|
|
|
use Database\EntrainementGateway;
|
|
|
|
use Database\EntrainementMapper;
|
|
|
|
use Database\EntrainementMapper;
|
|
|
|
|
|
|
|
use Database\NotificationEntity;
|
|
|
|
|
|
|
|
use Database\NotificationGateway;
|
|
|
|
|
|
|
|
use Database\NotificationMapper;
|
|
|
|
|
|
|
|
use DateTime;
|
|
|
|
|
|
|
|
use Model\Notification;
|
|
|
|
use Shared\Validation;
|
|
|
|
use Shared\Validation;
|
|
|
|
use App\Container;
|
|
|
|
use App\Container;
|
|
|
|
use App\Router\Request\IRequest;
|
|
|
|
use App\Router\Request\IRequest;
|
|
|
@ -23,11 +30,12 @@ class AthleteController extends BaseController
|
|
|
|
|
|
|
|
|
|
|
|
private Environment $twig;
|
|
|
|
private Environment $twig;
|
|
|
|
protected Preferences $preference;
|
|
|
|
protected Preferences $preference;
|
|
|
|
|
|
|
|
// private UserManager $userMgr;
|
|
|
|
|
|
|
|
|
|
|
|
public function __construct()
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//session_start();
|
|
|
|
|
|
|
|
$this->preference = new Preferences();
|
|
|
|
$this->preference = new Preferences();
|
|
|
|
|
|
|
|
// $this->userMgr = $manager;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])]
|
|
|
|
// #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])]
|
|
|
@ -87,21 +95,19 @@ class AthleteController extends BaseController
|
|
|
|
$athleteEntity = $map->athleteSqlToEntity($listSearch);
|
|
|
|
$athleteEntity = $map->athleteSqlToEntity($listSearch);
|
|
|
|
|
|
|
|
|
|
|
|
$listUsers = [];
|
|
|
|
$listUsers = [];
|
|
|
|
$i = 0;
|
|
|
|
|
|
|
|
foreach ($athleteEntity as $entity) {
|
|
|
|
foreach ($athleteEntity as $entity) {
|
|
|
|
$user = $map->athleteEntityToModel($entity);
|
|
|
|
$user = $map->athleteEntityToModel($entity);
|
|
|
|
$listUsers[$i] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(),
|
|
|
|
$listUsers[] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(),
|
|
|
|
'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(),
|
|
|
|
'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(),
|
|
|
|
'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(),
|
|
|
|
'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(),
|
|
|
|
'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test',
|
|
|
|
'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test',
|
|
|
|
'username' => $user->getUsername()];
|
|
|
|
'username' => $user->getUsername()];
|
|
|
|
$i++;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$response = $this->render('./page/addfriend.html.twig',[
|
|
|
|
$response = $this->render('./page/addfriend.html.twig',[
|
|
|
|
'css' => $_COOKIE['preferences'],
|
|
|
|
'css' => $_COOKIE['preferences'],
|
|
|
|
'pp' => 'test',
|
|
|
|
'pp' => 'test',
|
|
|
|
'user' => 'johndoe',//$currentUser->getUsername(),
|
|
|
|
'user' => 'John',//$currentUser->getUsername(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'users' => $listUsers
|
|
|
|
'users' => $listUsers
|
|
|
|
]);
|
|
|
|
]);
|
|
|
@ -117,39 +123,78 @@ class AthleteController extends BaseController
|
|
|
|
#[Route(path: '/analyses', name: 'analyses', methods: ['GET'])]
|
|
|
|
#[Route(path: '/analyses', name: 'analyses', methods: ['GET'])]
|
|
|
|
public function analyses(): Response
|
|
|
|
public function analyses(): Response
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return $this->render('./page/analyze.html.twig',[
|
|
|
|
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(),
|
|
|
|
'css' => $this->preference->getCookie(),
|
|
|
|
'pp' => "test2",
|
|
|
|
'pp' => "test2",
|
|
|
|
'user' => 'johndoe',//$currentUser->getUsername(),
|
|
|
|
'user' => 'johndoe',//$currentUser->getUsername(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'friendship' => [],
|
|
|
|
'friendship' => [],
|
|
|
|
'analyzes' => [],
|
|
|
|
'analyzes' => $listActivity,
|
|
|
|
'mails' => [],
|
|
|
|
'mails' => [],
|
|
|
|
'users' => [],
|
|
|
|
'users' => [],
|
|
|
|
'infoUser' => [],
|
|
|
|
'infoUser' => [],
|
|
|
|
'exos' => [],
|
|
|
|
'exos' => [],
|
|
|
|
'member' => []
|
|
|
|
'member' => []
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
|
|
|
|
} catch (\Throwable $th) {
|
|
|
|
|
|
|
|
throw $th;
|
|
|
|
|
|
|
|
return $this->render("./page/analyze.html.twig", ['tabError' => $taberror]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return $response;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#[Route(path: '/activity', name: 'activity', methods: ['GET'])]
|
|
|
|
#[Route(path: '/activity', name: 'activity', methods: ['GET'])]
|
|
|
|
public function activity(): Response
|
|
|
|
public function activity(): Response
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return $this->render('./page/activity.html.twig',[
|
|
|
|
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/activity.html.twig', [
|
|
|
|
'css' => $this->preference->getCookie(),
|
|
|
|
'css' => $this->preference->getCookie(),
|
|
|
|
'pp' => "test",
|
|
|
|
'pp' => "test2",
|
|
|
|
'user' => 'johndoe',//$currentUser->getUsername(),
|
|
|
|
'user' => 'johndoe',//$currentUser->getUsername(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'role' => 'Athlete',//$currentUser->getRole(),
|
|
|
|
'friendship' => [],
|
|
|
|
'friendship' => [],
|
|
|
|
'analyzes' => [],
|
|
|
|
'analyzes' => $listActivity,
|
|
|
|
'mails' => [],
|
|
|
|
'mails' => [],
|
|
|
|
'users' => [],
|
|
|
|
'users' => [],
|
|
|
|
'infoUser' => [],
|
|
|
|
'infoUser' => [],
|
|
|
|
'exos' => [],
|
|
|
|
'exos' => [],
|
|
|
|
'member' => []
|
|
|
|
'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
|
|
|
|
#[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8
|
|
|
|
public function exercice(): Response
|
|
|
|
public function exercice(): Response
|
|
|
@ -161,13 +206,11 @@ class AthleteController extends BaseController
|
|
|
|
$entrainementEntity = $map->entrainementSqlToEntity($listSearch);
|
|
|
|
$entrainementEntity = $map->entrainementSqlToEntity($listSearch);
|
|
|
|
|
|
|
|
|
|
|
|
$listUsers = [];
|
|
|
|
$listUsers = [];
|
|
|
|
$i = 0;
|
|
|
|
|
|
|
|
foreach ($entrainementEntity as $entity) {
|
|
|
|
foreach ($entrainementEntity as $entity) {
|
|
|
|
$training = $map->entrainementEntityToModel($entity);
|
|
|
|
$training = $map->entrainementEntityToModel($entity);
|
|
|
|
$listUsers[$i] = ['idTraining' => number_format($training->getId(), 1), 'date' => $training->getDate()->format("D j F Y"),
|
|
|
|
$listUsers[] = ['idTraining' => number_format($training->getId(), 1), 'date' => $training->getDate()->format("D j F Y"),
|
|
|
|
'location' => $training->getLocation(), 'description' => $training->getDescription(),
|
|
|
|
'location' => $training->getLocation(), 'description' => $training->getDescription(),
|
|
|
|
'feedback' => $training->getFeedback()];
|
|
|
|
'feedback' => $training->getFeedback()];
|
|
|
|
$i++;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$response = $this->render('./page/exercice.html.twig',[
|
|
|
|
$response = $this->render('./page/exercice.html.twig',[
|
|
|
@ -220,23 +263,58 @@ 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
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
try {/*
|
|
|
|
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
|
|
|
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
|
|
|
$map= new AthleteMapper();
|
|
|
|
$map=new AthleteMapper();
|
|
|
|
$userSearched=$athleteGateway->getAthleteByFirstName($username);
|
|
|
|
$friendEntity = $athleteGateway->getListIdFriends(1);
|
|
|
|
$currentUser=$map->athleteEntityToModel(new AthleteEntity($athleteGateway->getAthleteById(1)));
|
|
|
|
|
|
|
|
foreach($userSearched as $user) {
|
|
|
|
foreach($friendEntity as $users) {
|
|
|
|
$listUser[] = $map->athleteEntityToModel(new AthleteEntity($user));
|
|
|
|
if ($users['idathlete1']==1){
|
|
|
|
}
|
|
|
|
$user=(int)$users['idathlete2'];
|
|
|
|
if ($listUser!=null) {
|
|
|
|
} else {
|
|
|
|
foreach ($userSearched as $user) {
|
|
|
|
$user=(int)$users['idathlete1'];
|
|
|
|
$currentUser->addFriend($user);
|
|
|
|
|
|
|
|
$users = ['nom' => $user->getNom(), 'prenom' => $user->getPrenom(), 'img' => 'test', 'username' => $user->getUsername()];
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$listUserEntity[] = $map->athleteSqlToEntity($athleteGateway->getAthleteById(1));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
foreach ($listUserEntity as $user) {
|
|
|
|
|
|
|
|
$friendList[] = ['nom' => $user[0]->getNom(), 'prenom' => $user[0]->getPrenom(), 'img' => 'test', 'username' => 'test'];
|
|
|
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
// $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()];
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
|
|
|
|
|
|
|
$map = new AthleteMapper();
|
|
|
|
|
|
|
|
$userSearched = $athleteGateway->getAthleteByFirstName("Bryan");
|
|
|
|
|
|
|
|
$athleteEntity = $map->athleteSqlToEntity($userSearched);
|
|
|
|
|
|
|
|
// $user = $athleteGateway->getAthleteById(1);
|
|
|
|
|
|
|
|
// $currentUser = $map->athleteToEntity($user);
|
|
|
|
|
|
|
|
// Log::dd($currentUser);
|
|
|
|
|
|
|
|
// foreach($userSearched as $user) {
|
|
|
|
|
|
|
|
// $listUser[] = $map->athleteToEntity($user);
|
|
|
|
|
|
|
|
// }
|
|
|
|
$users=[];
|
|
|
|
$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();
|
|
|
|
|
|
|
|
// DateTime::createFromFormat('d/m/Y', date('d/m/Y'));
|
|
|
|
|
|
|
|
// Log::dd($date);
|
|
|
|
|
|
|
|
$myNotif = new Notification(20, "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',[
|
|
|
|
return $this->render('./page/addfriend.html.twig',[
|
|
|
|
'css' => $this->preference->getCookie(),
|
|
|
|
'css' => $this->preference->getCookie(),
|
|
|
|
'pp' => "test2",
|
|
|
|
'pp' => "test2",
|
|
|
@ -311,10 +389,12 @@ class AthleteController extends BaseController
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
|
|
|
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
|
|
|
$map=new AthleteMapper();
|
|
|
|
$map=new AthleteMapper();
|
|
|
|
$friendEntity = $athleteGateway->getListIdFriends(1/*currentUser->getId()*/);
|
|
|
|
$friendEntity = $athleteGateway->getListIdFriends(1/*$currentUser->getId()*/);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$friendList = [];
|
|
|
|
|
|
|
|
$listUserEntity = [];
|
|
|
|
foreach($friendEntity as $users) {
|
|
|
|
foreach($friendEntity as $users) {
|
|
|
|
if ($users['idathlete1']==1/*currentUser->getId()*/){
|
|
|
|
if ($users['idathlete1']==1/*$currentUser->getId()*/){
|
|
|
|
$user=(int)$users['idathlete2'];
|
|
|
|
$user=(int)$users['idathlete2'];
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
$user=(int)$users['idathlete1'];
|
|
|
|
$user=(int)$users['idathlete1'];
|
|
|
@ -331,12 +411,6 @@ class AthleteController extends BaseController
|
|
|
|
'user' => "Doe",
|
|
|
|
'user' => "Doe",
|
|
|
|
'role' => "Athlète",
|
|
|
|
'role' => "Athlète",
|
|
|
|
'friendship' => $friendList,
|
|
|
|
'friendship' => $friendList,
|
|
|
|
'analyzes' => [],
|
|
|
|
|
|
|
|
'mails' => [],
|
|
|
|
|
|
|
|
'users' => $users,
|
|
|
|
|
|
|
|
'infoUser' => [],
|
|
|
|
|
|
|
|
'exos' => [],
|
|
|
|
|
|
|
|
'member' => [],
|
|
|
|
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
} catch (\Throwable $th) {
|
|
|
|
} catch (\Throwable $th) {
|
|
|
|