Merge remote-tracking branch 'origin/issue_032_models' into merged

WORK-KMO-Gateway
Antoine PINAGOT 1 year ago
commit 64ecdf87f2

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

@ -0,0 +1,34 @@
/*!
* Start Bootstrap - New Age v6.0.7 (https://startbootstrap.com/theme/new-age)
* Copyright 2013-2023 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-new-age/blob/master/LICENSE)
*/
//
// Scripts
//
window.addEventListener('DOMContentLoaded', event => {
// Activate Bootstrap scrollspy on the main nav element
const mainNav = document.body.querySelector('#mainNav');
if (mainNav) {
new bootstrap.ScrollSpy(document.body, {
target: '#mainNav',
offset: 74,
});
};
// Collapse responsive navbar when toggler is visible
const navbarToggler = document.body.querySelector('.navbar-toggler');
const responsiveNavItems = [].slice.call(
document.querySelectorAll('#navbarResponsive .nav-link')
);
responsiveNavItems.map(function (responsiveNavItem) {
responsiveNavItem.addEventListener('click', () => {
if (window.getComputedStyle(navbarToggler).display !== 'none') {
navbarToggler.click();
}
});
});
});

@ -1,7 +1,15 @@
<?php <?php
namespace App\Controller;
namespace App\Controller; namespace App\Controller;
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 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;
@ -13,7 +21,16 @@ use Shared\Log;
class AthleteController extends BaseController class AthleteController extends BaseController
{ {
#[Route(path: '/search-ath', name: 'search-ath', methods: ['GET'])] private Environment $twig;
private Preferences $preference;
public function __construct()
{
session_start();
$this->preference = new Preferences();
}
#[Route(path: '/search-user', name: 'search-user', methods: ['GET'])]
public function searchUser(string $username, IRequest $req): Response public function searchUser(string $username, IRequest $req): Response
{ {
$taberror = []; $taberror = [];
@ -75,6 +92,23 @@ class AthleteController extends BaseController
]); ]);
} }
#[Route(path: '/activity', name: 'activity', methods: ['GET'])]
public function activity(): Response
{
return $this->render('./page/activity.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
#[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8 #[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8
@ -95,6 +129,32 @@ class AthleteController extends BaseController
]); ]);
} }
#[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 venur',
]
];
return $this->render('./page/exercice.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => $exercicesArray,
'member' => []
]);
}
#[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
{ {
@ -139,9 +199,6 @@ class AthleteController extends BaseController
} }
#[Route(path: '/friend', name: 'friend', methods: ['GET'])] #[Route(path: '/friend', name: 'friend', methods: ['GET'])]
public function friend(): Response public function friend(): Response
{ {
@ -174,4 +231,78 @@ class AthleteController extends BaseController
]); ]);
} }
#[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])]
public function friendlist(string $username, IRequest $req): Response
{
$utiliArray = [
[
'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
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' => [],
]);
}
#[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',
],
];
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' => [],
]);
}
// #[Route(path: '/delete-friend', name: 'delete-friend', methods: ['POST'])]
} }
?>

@ -5,11 +5,7 @@ namespace App\Controller;
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;
use App\Router\Response\IResponse;
use Couchbase\UserManager;
use Shared\Attributes\Route; use Shared\Attributes\Route;
use Shared\Validation;
use Twig\Environment; use Twig\Environment;
use Data\Core\Preferences; use Data\Core\Preferences;
use Shared\Log; use Shared\Log;
@ -17,53 +13,105 @@ use Shared\Log;
class AuthController extends BaseController class AuthController extends BaseController
{ {
private Preferences $preference;
#[Route('/login', name: 'login',methods: ['POST'])] public function __construct(){
public function login(IRequest $request): IResponse { $this->preference = new Preferences();
$error = [];
try {
$log=Validation::clean_string($request->getBody()['email']);
$mdp=Validation::clean_string($request->getBody()['password']);
} catch (\Throwable $th) {
$error = "Wrong cred";
} }
if($this->container->get(UserManager::class)->login($log,$mdp)){ #[Route('/login', name: 'login')]
return $this->redirectToRoute('/home'); public function login(?string $username, ?string $password ,IRequest $request): Response {
// if user is already logged in, don't display the login page again
if ($user) {
return $this->redirectToRoute('blog_index');
} }
else{
$error [] = "Erreur de connexion. Essayez encore"; // this statement solves an edge-case: if you change the locale in the login
// page, after a successful login you are redirected to a page in the previous
// locale. This code regenerates the referrer URL whenever the login page is
// browsed, to ensure that its locale is always the current one.
$this->saveTargetPath($request->getSession(), 'main', $this->generateUrl('admin_index'));
return $this->render('security/login.html.twig', [
// last username entered by the user (if any)
'last_username' => $helper->getLastUsername(),
// last authentication error (if any)
'error' => $helper->getLastAuthenticationError(),
]);
} }
return $this->render('./page/home.html.twig', ['error' => $error]);
// #[Route('/login', name: 'login')]
// public function login(?string $username, ?string $password ,IRequest $request): Response {
// // if user is already logged in, don't display the login page again
// if ($user) {
// return $this->redirectToRoute('blog_index');
// }
// // this statement solves an edge-case: if you change the locale in the login
// // page, after a successful login you are redirected to a page in the previous
// // locale. This code regenerates the referrer URL whenever the login page is
// // browsed, to ensure that its locale is always the current one.
// $this->saveTargetPath($request->getSession(), 'main', $this->generateUrl('admin_index'));
// return $this->render('security/login.html.twig', [
// // last username entered by the user (if any)
// 'last_username' => $helper->getLastUsername(),
// // last authentication error (if any)
// 'error' => $helper->getLastAuthenticationError(),
// ]);
// }
#[Route(path: '/register', name: 'register', methods: ['POST'])]
public function register(string $username,string $mdp,string $confirmMdp,string $nom,string $prenom,string $dateNaissance,string $sexe,string $taille,string $poids, IRequest $req): Response
{
// CONFIRMER LES DONNESS !!!!! IMPORTANT
return $this->render('./page/home.html.twig',[
'css' => $this->preference->getCookie()
]);
} }
#[Route('/log', name: 'baseLog',methods: ['GET'])] #[Route(path: '/regist', name: 'regist', methods: ['GET'])]
public function index(IRequest $request): IResponse { public function register2(): Response
{
return $this->render('./page/login.html.twig',[ // CONFIRMER LES DONNESS !!!!! IMPORTANT
'css' => $this->preference->getCookie(),
'pp' => "test2", return $this->render('./page/register.html.twig',[
'user' => "Doe", 'css' => $this->preference->getCookie()
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]); ]);
}
function inscription() {
$model = new ModelVisitor();
$log=Validation::clean_string($_POST['pseudo']);
$mdp=Validation::clean_string($_POST['password']);
if($model->createAUser($log,$mdp)){
if(ModelUser::login($log, $mdp)){
UserControler::displayView();
}
}
}
function connexion(){
$model = new ModelVisitor();
if(!isset($_POST['pseudo']) || !isset($_POST['password'])) throw new Exception(" some wrong with credentials !!!!!");
$log=Validation::clean_string($_POST['pseudo']);
$mdp=Validation::clean_string($_POST['password']);
if(ModelUser::login($log, $mdp)){
UserControler::displayView();
}
} }
#[Route('/logout', name: 'logout',methods: ['GET'])] #[Route(path: '/pass', name: 'pass', methods: ['GET'])]
public function logout(IRequest $request): IResponse { public function pass(): Response
{
return $this->render('./page/login.html.twig',[ // CONFIRMER LES DONNESS !!!!! IMPORTANT
return $this->render('./page/password.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => "Doe",
@ -76,16 +124,15 @@ class AuthController extends BaseController
'exos' => [], 'exos' => [],
'member' => [] 'member' => []
]); ]);
} }
#[Route(path: '/regist', name: 'regist', methods: ['GET'])] #[Route(path: '/log', name: 'log', methods: ['GET'])]
public function register2(): Response public function login2(): Response
{ {
// CONFIRMER LES DONNESS !!!!! IMPORTANT // CONFIRMER LES DONNESS !!!!! IMPORTANT
return $this->render('./page/register.html.twig',[ return $this->render('./page/login.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => "Doe",
@ -100,71 +147,13 @@ class AuthController extends BaseController
]); ]);
} }
#[Route('/register', name: 'register' , methods:['GET'])] #[Route(path: '/password', name: 'password', methods: ['POST'])]
public function register(IRequest $request): IResponse public function password(string $email, IRequest $req): Response
{
if ($request->getMethod() == 'POST') {
$nom = $request->getBody()['nom'];
$prenom = $request->getBody()['prenom'];
$username = $request->getBody()['username'];
$email = $request->getBody()['email'];
$motDePasse = $request->getBody()['motDePasse'];
$sexe = $request->getBody()['sexe'];
$taille = $request->getBody()['taille'];
$poids = $request->getBody()['poids'];
$dateNaissanceStr = $request->getBody()['nom'];
$dateNaissance = new \DateTime($dateNaissanceStr);
if (!$dateNaissance) {
throw new \Exception("Date de naissance non valide. Format attendu : YYYY-MM-DD");
}
$roleName = $request->getBody()['roleName'];
$registrationData = [
'nom' => $nom,
'prenom' => $prenom,
'username' => $username,
'email' => $email,
'sexe' => $sexe,
'taille' => $taille,
'poids' => $poids,
'dateNaissance' => $dateNaissance,
'roleName' => $roleName
];
try {
if ($this->container->get(UserManager::class)->register($email, $motDePasse, $registrationData)) {
return $this->redirectToRoute('/');
} else {
$error [] = 'L\'inscription a échoué. Veuillez réessayer.';
}
} catch (\Exception $e) {
$error [] = 'Erreur lors de l\'inscription: ' . $e->getMessage();
}
}
return $this->render('./page/register.html.twig');
}
#[Route(path: '/mdp', name: 'motdepasse', methods: ['POST'])]
public function mdp(string $ancienMotDePasse,string $nouveauMotDePasse,string $confirmerMotDePasse, IRequest $req): Response
{ {
// CONFIRMER LES DONNESS !!!!! IMPORTANT // CONFIRMER LES DONNESS !!!!! IMPORTANT
return $this->render('./page/settings.html.twig',[ return $this->render('./page/login.html.twig',[
'css' => $this->preference->getCookie(), 'css' => $this->preference->getCookie(),
'pp' => "test2", 'pp' => "test2",
'user' => "Doe", 'user' => "Doe",
@ -180,8 +169,6 @@ class AuthController extends BaseController
} }
} }
?> ?>

@ -1,49 +1,34 @@
<?php <?php
// namespace App\Controller; namespace App\Controller;
// 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;
// use App\Router\Response\IResponse; use App\Router\Response\IResponse;
// use Shared\Attributes\Route; use Shared\Attributes\Route;
// use Twig\Environment; use Twig\Environment;
// use Data\Core\Preferences; use Data\Core\Preferences;
// use Shared\Log; use Shared\Log;
class CoachController extends BaseController
{
// #[Route(path: '/coach', name: 'coach')] private ICoachManager $coachManager;
// class CoachController extends BaseController private $security;
// { private Environment $twig;
private Preferences $preference;
// private ICoachManager $coachManager;
// private $security;
// public function __construct(DataManager $dataManager, Security $security) public function __construct(DataManager $dataManager, Security $security)
// { {
// $this->coachManager = $dataManager->coachMgr; session_start();
// $this->security = $security; $this->coachManager = $dataManager->coachMgr;
// } $this->security = $security;
$this->preference = new Preferences();
}
// #[Route(path: '/', name: 'home', methods: ['GET'])]
// public function index(): Response
// {
// return $this->render('./page/home.html.twig',[
// 'css' => $this->preference->getCookie(),
// 'pp' => "test2",
// 'user' => "Doe",
// 'role' => "Athlète",
// 'friendship' => [],
// 'analyzes' => [],
// 'mails' => [],
// 'users' => [],
// 'infoUser' => [],
// 'exos' => [],
// 'member' => []
// ]);
// }
// #[Route('/global-stats', name: 'coach_global_stats', methods: ['GET'])] // #[Route('/global-stats', name: 'coach_global_stats', methods: ['GET'])]
// public function globalStats(): Response // public function globalStats(): Response
// { // {
@ -51,42 +36,146 @@
// return $this->render('coach/global_stats.html.twig'); // return $this->render('coach/global_stats.html.twig');
// } // }
// #[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8
// public function exercice(): Response #[Route(path: '/coaching', name: 'coaching', methods: ['GET'])]
// { public function coaching(): Response
// return $this->render('./page/exercice.html.twig',[ {
// 'css' => $this->preference->getCookie(), return $this->render('./page/coaching.html.twig',[
// 'pp' => "test2", 'css' => $this->preference->getCookie(),
// 'user' => "Doe", 'pp' => "test2",
// 'role' => "Athlète", 'user' => "Doe",
// 'friendship' => [], 'role' => "Coach",
// 'analyzes' => [], 'friendship' => [],
// 'mails' => [], 'analyzes' => [],
// 'users' => [], 'mails' => [],
// 'infoUser' => [], 'users' => [],
// 'exos' => [], 'infoUser' => [],
// 'member' => [] 'exos' => [],
// ]); 'member' => []
]);
}
#[Route(path: '/search-member', name: 'search-member', methods: ['GET'])]
public function searchMember(string $username, IRequest $req): Response
{
$taberror = [];
// FILTER
$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/addmember.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 ]);
}
// } // }
// #[Route(path: '/coaching', name: 'coaching', methods: ['GET'])] }
// public function coaching(): Response
// { #[Route(path: '/add-member', name: 'add-member', methods: ['POST'])]
// return $this->render('./page/coaching.html.twig',[ public function addmember(string $username, IRequest $req): Response
// 'css' => $this->preference->getCookie(), {
// 'pp' => "test2", $taberror = [];
// 'user' => "Doe", $utiliArray = [
// 'role' => "Athlète", [
// 'friendship' => [], 'nom' => 'John',
// 'analyzes' => [], 'prenom' => 'Doe',
// 'mails' => [], 'img' => 'john_doe',
// 'users' => [], 'username' => 'johndoe',
// 'infoUser' => [], ],
// 'exos' => [], [
// 'member' => [] 'nom' => 'Alice',
// ]); 'prenom' => 'Smith',
'img' => 'alice_smith',
'username' => 'alicesmith',
],
];
// if(!Validation::val_string($name)){
try {
//code...
// $model->userMgr->addFriend($name);
return $this->render('./page/addmember.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 ]);
}
// } // }
}
#[Route(path: '/member', name: 'member', methods: ['GET'])]
public function member(): Response
{
$utiliArray = [
[
'nom' => 'John',
'prenom' => 'Doe',
'img' => 'john_doe',
'username' => 'johndoe',
],
[
'nom' => 'Alice',
'prenom' => 'Smith',
'img' => 'alice_smith',
'username' => 'alicesmith',
],
];
return $this->render('./page/addmember.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => $utiliArray,
'infoUser' => [],
'exos' => [],
'member' => [],
]);
}
// #[Route('/list-athletes', name: 'coach_list_athletes')] // #[Route('/list-athletes', name: 'coach_list_athletes')]
// public function listAthletes(): Response // public function listAthletes(): Response
// { // {
@ -121,4 +210,4 @@
// // } // // }
// } }

File diff suppressed because it is too large Load Diff

@ -1,36 +1,45 @@
<?php <?php
// namespace App\Controller; namespace App\Controller;
// 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;
// use Shared\Attributes\Route; use Shared\Attributes\Route;
// use Twig\Environment; use Twig\Environment;
// use Data\Core\Preferences; use Data\Core\Preferences;
// use Shared\Log; use Shared\Log;
// class HeartRateController extends BaseController class HeartRateController extends BaseController
// { {
private Environment $twig;
// #[Route(path: '/import', name: 'import', methods: ['GET'])] private Preferences $preference;
// public function import(): Response
// { public function __construct()
// return $this->render('./page/import.html.twig',[ {
// 'css' => $this->preference->getCookie(), session_start();
// 'pp' => "test2", $this->preference = new Preferences();
// 'user' => "Doe", }
// 'role' => "Athlète",
// 'friendship' => [],
// 'analyzes' => [], #[Route(path: '/import', name: 'import', methods: ['GET'])]
// 'mails' => [], public function import(): Response
// 'users' => [], {
// 'infoUser' => [], return $this->render('./page/import.html.twig',[
// 'exos' => [], 'css' => $this->preference->getCookie(),
// 'member' => [] 'pp' => "test2",
// ]); 'user' => "Doe",
// } 'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
// } 'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
}

@ -1,19 +1,45 @@
<?php <?php
// namespace App\Controller; namespace App\Controller;
// 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;
// use App\Router\Response\IResponse; use Shared\Attributes\Route;
use Twig\Environment;
use Data\Core\Preferences;
use Shared\Log;
// use Shared\Attributes\Route; class SocialController extends BaseController
// use Twig\Environment; {
// use Data\Core\Preferences;
// use Shared\Log;
private Environment $twig;
private Preferences $preference;
public function __construct()
{
session_start();
$this->preference = new Preferences();
}
// #[Route(path: '/coach', name: 'coach')]
// class CoachController extends BaseController #[Route(path: '/mail', name: 'mail', methods: ['GET'])]
// { public function mail(): Response
{
return $this->render('./page/mail.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
}

@ -13,6 +13,15 @@ use Shared\Log;
class UserController extends BaseController class UserController extends BaseController
{ {
private Environment $twig;
private Preferences $preference;
public function __construct()
{
session_start();
$this->preference = new Preferences();
}
#[Route(path: '/', name: 'index', methods: ['GET'])] #[Route(path: '/', name: 'index', methods: ['GET'])]
public function index(): Response public function index(): Response
@ -69,10 +78,28 @@ class UserController extends BaseController
]); ]);
} }
#[Route(path: '/profile', name: 'profile', methods: ['GET'])]
public function profile(): Response
{
return $this->render('./page/profile.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
#[Route(path: '/preferences', name: 'preferences', methods: ['POST'])] #[Route(path: '/preferences', name: 'preferences', methods: ['POST'])]
public function preferences(string $theme, IRequest $req): Response public function preferences(string $theme, IRequest $req): Response
{ {
/*TODO*/
// VALIDER LES DONNEES // VALIDER LES DONNEES
$this->preference->majCookie($theme); $this->preference->majCookie($theme);
@ -92,4 +119,45 @@ class UserController extends BaseController
]); ]);
} }
#[Route(path: '/psettings', name: 'psettings', methods: ['POST'])]
public function psettings(string $nom,string $prenom,string $dateNaissance,string $mail,string $tel, IRequest $req): Response
{
return $this->render('./page/settings.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => $prenom,
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
#[Route(path: '/mdp', name: 'mdp', methods: ['POST'])]
public function mdp(string $ancienMotDePasse,string $nouveauMotDePasse,string $confirmerMotDePasse, IRequest $req): Response
{
// CONFIRMER LES DONNESS !!!!! IMPORTANT
return $this->render('./page/settings.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
'exos' => [],
'member' => []
]);
}
} }

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="index page du site web" /> <meta name="description" content="index page du site web" />
<meta name="author" content="PINAGOT Antoine" /> <meta name="author" content="PINAGOT Antoine" />
<title>HearthTrack - Getting Started</title> <title>HeartTrack - Getting Started</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" /> <link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Bootstrap icons--> <!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
@ -15,13 +15,13 @@
<link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,500;0,600;0,700;1,300;1,500;1,600;1,700&amp;display=swap" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300;0,500;0,600;0,700;1,300;1,500;1,600;1,700&amp;display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,400;1,400&amp;display=swap" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,400;1,400&amp;display=swap" rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)--> <!-- Core theme CSS (includes Bootstrap)-->
<link href="/css/styles2.css" rel="stylesheet" /> <link href="css/styles2.css" rel="stylesheet" />
</head> </head>
<body id="page-top"> <body id="page-top">
<!-- Navigation--> <!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-light fixed-top shadow-sm" id="mainNav"> <nav class="navbar navbar-expand-lg navbar-light fixed-top shadow-sm" id="mainNav">
<div class="container px-5"> <div class="container px-5">
<a class="navbar-brand fw-bold" href="#page-top">HearthTrack</a> <a class="navbar-brand fw-bold" href="/">HeartTrack</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu Menu
<i class="bi-list"></i> <i class="bi-list"></i>
@ -47,7 +47,7 @@
<div class="col-lg-6"> <div class="col-lg-6">
<!-- Mashead text and app badges--> <!-- Mashead text and app badges-->
<div class="mb-5 mb-lg-0 text-center text-lg-start"> <div class="mb-5 mb-lg-0 text-center text-lg-start">
<h1 class="display-1 lh-1 mb-3">HearthTrack pour mobile !</h1> <h1 class="display-1 lh-1 mb-3">HeartTrack pour mobile !</h1>
<p class="lead fw-normal text-muted mb-5">Une application pour suivre vos analyses en direct, est en cours de développement.</p> <p class="lead fw-normal text-muted mb-5">Une application pour suivre vos analyses en direct, est en cours de développement.</p>
<!-- <div class="d-flex flex-column flex-lg-row align-items-center"> <!-- <div class="d-flex flex-column flex-lg-row align-items-center">
<a class="me-lg-3 mb-4 mb-lg-0" href="#!"><img class="app-badge" src="assets/img/google-play-badge.svg" alt="..." /></a> <a class="me-lg-3 mb-4 mb-lg-0" href="#!"><img class="app-badge" src="assets/img/google-play-badge.svg" alt="..." /></a>
@ -213,7 +213,7 @@
<footer class="bg-black text-center py-5"> <footer class="bg-black text-center py-5">
<div class="container px-5"> <div class="container px-5">
<div class="text-white-50 small"> <div class="text-white-50 small">
<div class="mb-2">&copy; HearthTrack 2023. Tous droits réservé.</div> <div class="mb-2">&copy; HeartTrack 2023. Tous droits réservé.</div>
<a href="#!">Politique de confidentialité</a> <a href="#!">Politique de confidentialité</a>
<span class="mx-1">&middot;</span> <span class="mx-1">&middot;</span>
<a href="#!">Termes & Conditions d'utilisation</a> <a href="#!">Termes & Conditions d'utilisation</a>

Loading…
Cancel
Save