commit
7b98ca54a8
@ -1,37 +1,46 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Controleur;
|
namespace Controleur;
|
||||||
|
use Model\QuoteModel;
|
||||||
Class VisitorControler{
|
use Gateway\Connection;
|
||||||
|
use Gateway\QuoteGateway;
|
||||||
public function accueil(){
|
|
||||||
global $vues;
|
Class VisitorControler{
|
||||||
require_once $vues['accueil'];
|
|
||||||
}
|
private QuoteModel $qMod;
|
||||||
|
|
||||||
public function quote(array $arg){
|
public function __construct(){
|
||||||
global $vues;
|
global $co;
|
||||||
$id=$arg['idQuote'] ?? 1;
|
$this->qMod = new QuoteModel(new QuoteGateway($co));
|
||||||
|
}
|
||||||
//echo "{$id}";
|
|
||||||
|
public function accueil(){
|
||||||
require_once $vues['quote'];
|
global $vues;
|
||||||
}
|
require_once $vues['accueil'];
|
||||||
|
}
|
||||||
public function login(){
|
|
||||||
|
public function quote(array $arg){
|
||||||
global $vues;
|
global $vues;
|
||||||
require_once $vues['login'];
|
$id=$arg['idQuote'] ?? 1;
|
||||||
}
|
$q = $this->qMod->searchId($id);
|
||||||
|
//echo "{$id}";
|
||||||
public function signin(){
|
require_once $vues['quote'];
|
||||||
|
}
|
||||||
global $vues;
|
|
||||||
require_once $vues['signin'];
|
public function login(){
|
||||||
}
|
|
||||||
|
global $vues;
|
||||||
public function search(){
|
require_once $vues['login'];
|
||||||
|
}
|
||||||
global $vues;
|
|
||||||
require_once $vues['search'];
|
public function signin(){
|
||||||
}
|
|
||||||
}
|
global $vues;
|
||||||
|
require_once $vues['signin'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function search(){
|
||||||
|
|
||||||
|
global $vues;
|
||||||
|
require_once $vues['search'];
|
||||||
|
}
|
||||||
|
}
|
@ -1,135 +1,134 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Gateway;
|
namespace Gateway;
|
||||||
use Connection;
|
use PDO;
|
||||||
|
Class QuoteGateway{
|
||||||
Class QuoteGateway{
|
private Connection $con;
|
||||||
private Connection $con;
|
|
||||||
|
public function __construct(Connection $con){
|
||||||
public function __construct(Connection $con){
|
$this->con=$con;
|
||||||
$this->con=$con;
|
}
|
||||||
}
|
|
||||||
|
public function searchQuote(string $quote,int $numpage,string $language):array{
|
||||||
public function searchQuote(string $quote,int $numpage,string $language):array{
|
|
||||||
|
//recherche par citation
|
||||||
//recherche par citation
|
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE content LIKE '%:quote%' AND isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
||||||
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE content LIKE '%:quote%' AND isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
$this->con->executeQuery($query,array(':quote' => array($quote,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
||||||
$this->con->executeQuery($query,array(':quote' => array($quote,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
$result=$this->con->getResults();
|
||||||
$result=$this->con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function searchSource(string $source,int $numpage,string $language):array{
|
||||||
public function searchSource(string $source,int $numpage,string $language):array{
|
|
||||||
|
//recherche par source
|
||||||
//recherche par source
|
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE s.title LIKE '%:source%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
||||||
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE s.title LIKE '%:source%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
$this->con->executeQuery($query,array(':source' => array($source,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
||||||
$this->con->executeQuery($query,array(':source' => array($source,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
$result=$this->con->getResults();
|
||||||
$result=$this->con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function searchPers(string $Carac,int $numpage,string $language):array{
|
||||||
public function searchPers(string $Carac,int $numpage,string $language):array{
|
|
||||||
|
//recherche par personnage
|
||||||
//recherche par personnage
|
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE c.caracter LIKE '%:pers%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
||||||
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE c.caracter LIKE '%:pers%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;";
|
$this->con->executeQuery($query,array(':pers' => array($Pers,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
||||||
$this->con->executeQuery($query,array(':pers' => array($Pers,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR)));
|
$result=$this->con->getResults();
|
||||||
$result=$this->con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function searchId(string $id):array{
|
||||||
public function searchId(string $id):array{
|
|
||||||
|
//recherche par id
|
||||||
//recherche par id
|
$query="SELECT q.id_quote, q.content, c.caracter, i.imgPath, s.title, s.dates, q.likes, q.langue FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source JOIN Image i ON c.id_img = i.id_img WHERE q.id_quote = :id AND q.isvalide = true;";
|
||||||
$query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE q.id_quote = '%:id%' AND q.isValid = true;";
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
|
||||||
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
|
$result=$this->con->getResults();
|
||||||
$result=$this->con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
//======================== PARTI ADMIN ========================
|
||||||
//======================== PARTI ADMIN ========================
|
//Probablement à déplacer dans un autre fichier
|
||||||
//Probablement à déplacer dans un autre fichier
|
|
||||||
|
public function getQuoteIsValide():array{
|
||||||
public function getQuoteIsValide():array{
|
//obtenir les quotes en attentes de validation par l'admin
|
||||||
//obtenir les quotes en attentes de validation par l'admin
|
$query = 'SELECT * FROM Quote WHERE isValid=:bool';
|
||||||
$query = 'SELECT * FROM Quote WHERE isValid=:bool';
|
$this->con->executeQuery($query,array(':bool' => array(false, PDO::PARAM_BOOL)));
|
||||||
$this->con->executeQuery($query,array(':bool' => array(false, PDO::PARAM_BOOL)));
|
$result=$this->con->getResults();
|
||||||
$result=$this->con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function validQuote(int $id){
|
||||||
public function validQuote(int $id){
|
//Valider la quote par l'admin
|
||||||
//Valider la quote par l'admin
|
$query ='UPDATE Quote SET isValid=:newValide WHERE id_Quote=:id';
|
||||||
$query ='UPDATE Quote SET isValid=:newValide WHERE id_Quote=:id';
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
||||||
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
}
|
||||||
}
|
|
||||||
|
public function invalidQuote(int $id){
|
||||||
public function invalidQuote(int $id){
|
//Invalide la quote par l'admin (suppression)
|
||||||
//Invalide la quote par l'admin (suppression)
|
$query ='DELETE FROM Quote WHERE id_Quote=:id';
|
||||||
$query ='DELETE FROM Quote WHERE id_Quote=:id';
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
||||||
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
}
|
||||||
}
|
|
||||||
|
public function updateContent(int $id, string $newContent):array{
|
||||||
public function updateContent(int $id, string $newContent):array{
|
//Update le contexte de quote passé en paramètre
|
||||||
//Update le contexte de quote passé en paramètre
|
$queryUpdate = 'UPDATE Quote SET content=:newContent WHERE id_quote=:idQuote';
|
||||||
$queryUpdate = 'UPDATE Quote SET content=:newContent WHERE id_quote=:idQuote';
|
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newContent'=> array($newContent, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newContent'=> array($newContent, PDO::PARAM_STR)));
|
|
||||||
|
//Renvoie le nouveau contexte de quote
|
||||||
//Renvoie le nouveau contexte de quote
|
$queryReponse = 'SELECT content FROM Quote WHERE id_quote=:idQuote';
|
||||||
$queryReponse = 'SELECT content FROM Quote WHERE id_quote=:idQuote';
|
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
$result = $con->getResults();
|
||||||
$result = $con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function updateTimeCode(int $id, string $newTimeCode):array{
|
||||||
public function updateTimeCode(int $id, string $newTimeCode):array{
|
//Update le time code de quote passé en paramètre
|
||||||
//Update le time code de quote passé en paramètre
|
$queryUpdate = 'UPDATE Quote SET timecode=:newTimeCode WHERE id_quote=:idQuote';
|
||||||
$queryUpdate = 'UPDATE Quote SET timecode=:newTimeCode WHERE id_quote=:idQuote';
|
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newTimeCode'=> array($newTimeCode, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newTimeCode'=> array($newTimeCode, PDO::PARAM_STR)));
|
|
||||||
|
//Renvoie le nouveau contexte de quote
|
||||||
//Renvoie le nouveau contexte de quote
|
$queryReponse = 'SELECT timecode FROM Quote WHERE id_quote=:idQuote';
|
||||||
$queryReponse = 'SELECT timecode FROM Quote WHERE id_quote=:idQuote';
|
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
$result = $con->getResults();
|
||||||
$result = $con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function updateDate(int $id, int $newDate):array{
|
||||||
public function updateDate(int $id, int $newDate):array{
|
//Update la date de quote passé en paramètre
|
||||||
//Update la date de quote passé en paramètre
|
$queryUpdate = 'UPDATE Source SET dateSource =:newdate WHERE idSource = (SELECT idSource FROM Quote WHERE idQuote =:idQuote)';
|
||||||
$queryUpdate = 'UPDATE Source SET dateSource =:newdate WHERE idSource = (SELECT idSource FROM Quote WHERE idQuote =:idQuote)';
|
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newDate'=> array($newDate, PDO::PARAM_INT)));
|
||||||
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newDate'=> array($newDate, PDO::PARAM_INT)));
|
|
||||||
|
//Renvoie la nouvelle date de quote
|
||||||
//Renvoie la nouvelle date de quote
|
$queryReponse = 'SELECT s.dateSource FROM Source s, Quote q WHERE id_quote=:idQuote AND s.idSource = q.idSource';
|
||||||
$queryReponse = 'SELECT s.dateSource FROM Source s, Quote q WHERE id_quote=:idQuote AND s.idSource = q.idSource';
|
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
$result = $con->getResults();
|
||||||
$result = $con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function updateTitle(int $id, string $newTitle):array{
|
||||||
public function updateTitle(int $id, string $newTitle):array{
|
//Update le titre de l'oeuvre de quote passé en paramètre
|
||||||
//Update le titre de l'oeuvre de quote passé en paramètre
|
$queryUpdate = 'UPDATE Source SET title =:newTitle WHERE idSource = (SELECT idSource FROM Quote WHERE idQuote =:idQuote)';
|
||||||
$queryUpdate = 'UPDATE Source SET title =:newTitle WHERE idSource = (SELECT idSource FROM Quote WHERE idQuote =:idQuote)';
|
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newTitle'=> array($newTitle, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newTitle'=> array($newTitle, PDO::PARAM_STR)));
|
|
||||||
|
//Renvoie le nouveau titre de quote
|
||||||
//Renvoie le nouveau titre de quote
|
$queryReponse = 'SELECT s.title FROM Source s, Quote q WHERE id_quote=:idQuote AND s.idSource = q.idSource';
|
||||||
$queryReponse = 'SELECT s.title FROM Source s, Quote q WHERE id_quote=:idQuote AND s.idSource = q.idSource';
|
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
$result = $con->getResults();
|
||||||
$result = $con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
public function updateNameCharacter(int $id, string $newNameCharacter):array{
|
||||||
public function updateNameCharacter(int $id, string $newNameCharacter):array{
|
//Update le personnage de l'oeuvre de quote passé en paramètre
|
||||||
//Update le personnage de l'oeuvre de quote passé en paramètre
|
$queryUpdate = 'UPDATE Character SET name =:newNameCharacter WHERE idCharacter = (SELECT idCharacter FROM Quote WHERE idQuote =:idQuote)';
|
||||||
$queryUpdate = 'UPDATE Character SET name =:newNameCharacter WHERE idCharacter = (SELECT idCharacter FROM Quote WHERE idQuote =:idQuote)';
|
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newNameCharacter'=> array($newNameCharacter, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryUpdate, array(':idQuote'=>array($id, PDO::PARAM_STR), ':newNameCharacter'=> array($newNameCharacter, PDO::PARAM_STR)));
|
|
||||||
|
//Renvoie le nouveau personnage de quote
|
||||||
//Renvoie le nouveau personnage de quote
|
$queryReponse = 'SELECT c.title FROM Character c, Quote q WHERE id_quote=:idQuote AND c.idCharacter = q.idCharacter';
|
||||||
$queryReponse = 'SELECT c.title FROM Character c, Quote q WHERE id_quote=:idQuote AND c.idCharacter = q.idCharacter';
|
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
||||||
$con->executeQuery($queryReponse, array(':idQuote'=>array($id, PDO::PARAM_STR)));
|
$result = $con->getResults();
|
||||||
$result = $con->getResults();
|
return $result;
|
||||||
return $result;
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
?>
|
||||||
?>
|
|
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
namespace Model;
|
||||||
|
use Entity\Quote;
|
||||||
|
use Gateway\QuoteGateway;
|
||||||
|
|
||||||
|
class QuoteModel
|
||||||
|
{
|
||||||
|
private QuoteGateway $gateway;
|
||||||
|
|
||||||
|
public function __construct(QuoteGateway $gate){
|
||||||
|
$this->gateway = $gate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function searchId(int $id): Quote{
|
||||||
|
$res = $this->gateway->searchId($id);
|
||||||
|
if( count($res) == 0)
|
||||||
|
return new Quote(-1,"NULL","NULL","NULL","NULL","NULL",0,"Default");
|
||||||
|
else
|
||||||
|
return new Quote($res[0]["id_quote"],$res[0]["content"],$res[0]["caracter"],$res[0]["imgpath"],$res[0]["title"],$res[0]["dates"],$res[0]["likes"],$res[0]["langue"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -1,20 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace Model;
|
|
||||||
use Entity\Quote;
|
|
||||||
use Gateway\QuoteGateway;
|
|
||||||
|
|
||||||
class QuoteModel
|
|
||||||
{
|
|
||||||
private QuoteGateway $gateway;
|
|
||||||
|
|
||||||
public function __construct(QuoteGateway $gate){
|
|
||||||
$this->gateway = $gate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function searchId(int $id): Quote{
|
|
||||||
$res = $this->gate->searchId($id)[0];
|
|
||||||
return new Quote($res["q.id_quote"],$res["q.content"],$res["c.caracter"],$res["c.img_path"],$res["s.title"],$res["s.date"],$res["q.like"],$res["q.language"]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
global $twig;
|
global $twig;
|
||||||
|
|
||||||
echo $twig->render('head.html.twig', array(
|
echo $twig->render('head.html.twig', array(
|
||||||
'title' => "Login",
|
'title' => "Login",
|
||||||
'style' => "public/styles/styleLogin.css",
|
'style' => "public/styles/styleLogin.css",
|
||||||
));
|
));
|
||||||
|
|
||||||
echo $twig->render('bandeau.html.twig');
|
echo $twig->render('bandeau.html.twig');
|
||||||
echo $twig->render('login.html');
|
echo $twig->render('login.html');
|
||||||
?>
|
?>
|
@ -1,37 +1,38 @@
|
|||||||
<div class="container">
|
|
||||||
<div class="header">
|
<div class="container">
|
||||||
<div class="nav">
|
<div class="header">
|
||||||
<img src="images/coeur.svg" alt="coeur" width="67px" height="67px" onmousedown="return false">
|
<div class="nav">
|
||||||
<img id="theme-icon" src="images/light.svg" alt="toggle theme" width="72px" height="37px" onmousedown="return false" onclick="toggleTheme()">
|
<img src="images/coeur.svg" alt="coeur" width="67px" height="67px" onmousedown="return false">
|
||||||
<img src="images/quizz.svg" alt="quizz" width="51px" height="82px" onmousedown="return false">
|
<img id="theme-icon" src="images/light.svg" alt="toggle theme" width="72px" height="37px" onmousedown="return false" onclick="toggleTheme()">
|
||||||
</div>
|
<img src="images/quizz.svg" alt="quizz" width="51px" height="82px" onmousedown="return false">
|
||||||
<div class="logo">
|
</div>
|
||||||
<a href="/~kekentin/WF/WF-Website/"><img src="images/WIKIFANTASY.png" alt="Logo" width="227px" height="106px" onmousedown="return false"></a>
|
<div class="logo">
|
||||||
</div>
|
<a href="{{racine}}/"><img src="images/WIKIFANTASY.png" alt="Logo" width="227px" height="106px" onmousedown="return false"></a>
|
||||||
<div class="user">
|
</div>
|
||||||
<img src="images/user_dark.png" alt="user" width="70px" height="70px" onmousedown="return false">
|
<div class="user">
|
||||||
</div>
|
<img src="images/user_dark.png" alt="user" width="70px" height="70px" onmousedown="return false">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<h1>▶ Connexion ◀</h1>
|
</div>
|
||||||
|
<h1>▶ Connexion ◀</h1>
|
||||||
<div class="login">
|
|
||||||
<p> <strong>Identifiant *</strong></p>
|
<div class="login">
|
||||||
<input type="text" class="connexion" name="name" required />
|
<p> <strong>Identifiant *</strong></p>
|
||||||
|
<input type="text" class="connexion" name="name" required />
|
||||||
<p> <strong> Mot de passe *</strong></p>
|
|
||||||
<input type="password" class="connexion" name="passwd" required />
|
<p> <strong> Mot de passe *</strong></p>
|
||||||
|
<input type="password" class="connexion" name="passwd" required />
|
||||||
<div class="createAccount">
|
|
||||||
<p class="createAccount">Vous n'avez pas de compte?</p>
|
<div class="createAccount">
|
||||||
<a href="/~kekentin/WF/WF-Website/signin" class="createAccount">S'incrire</a>
|
<p class="createAccount">Vous n'avez pas de compte?</p>
|
||||||
</div>
|
<a href="{{racine}}/signin" class="createAccount">S'incrire</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="buttonSudmiteDiv">
|
|
||||||
<button class="buttonSudmite">Connexion</button>
|
<div class="buttonSudmiteDiv">
|
||||||
</div>
|
<button class="buttonSudmite">Connexion</button>
|
||||||
|
</div>
|
||||||
</div>
|
|
||||||
</body>
|
</div>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
Reference in new issue