commit f7099c42d4539cf2e0de17473ac8e3397090705a Author: enzo.jolys Date: Mon Nov 21 15:58:48 2022 +0100 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/config/config.php b/config/config.php new file mode 100644 index 0000000..cfa63ff --- /dev/null +++ b/config/config.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/controleur/Controleur.php b/controleur/Controleur.php new file mode 100644 index 0000000..bc7cebf --- /dev/null +++ b/controleur/Controleur.php @@ -0,0 +1,129 @@ +affichageNewsPageHome(0,10); + require($vues['home']); + break; + + case "login": + $this->login(); + + case "signUp": + $this->signUp(); + + case "myNews": + $this->myNews(); + + case "addNews": + $this->addNews(); + + case "deleteNews": + deleteNews(); + break; + + //mauvaise action + default: + $dVueEreur[] = "Erreur 404 !!"; + require($rep.$vues['erreur']); + break; + + + } + } + catch (Exception $e) + { + $dVueEreur[] = "Erreur inattendue!!! "; + require ($rep.$vues['erreur']); + } + + exit(0); + }//fin constructeur + + function login(){ + if ( !isset($_POST['submit'])){ + require($rep.$vues['home']); + require($rep.$vues['login']); + } + else { + //Valider la saisies + //Valider l'utilisateur + //Donner un cookie + //redirection sur mes news + require($rep.$vues['login']); + } + } + + function signUp(){ + if ( !isset($_POST['submit'])){ + require($rep.$vues['home']); + require($rep.$vues['signUp']); + } + else { + //Valider la saisies + //Valider l'utilisateur + //redirection sur login + require($rep.$vues['signUp']); + } + } + + function myNews(){ + $lesNews = $gateWayNews->affichageNewsPageMesNews(); + require($rep.$vues['myNews']); + } + + function addNews(){ + if ( 1 == 1/*Vérifier si connecter */){ + //Verifier si il existe + //Veridier la saisie + //add news + } + else { + require($rep.$vues['login']); + } + } + +}//fin class + +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..7444772 --- /dev/null +++ b/index.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/modeles/Connection.php b/modeles/Connection.php new file mode 100644 index 0000000..c3386ae --- /dev/null +++ b/modeles/Connection.php @@ -0,0 +1,34 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +} + + +/** * @param string $query + * @param array $parameters * + * @return bool Returns `true` on success, `false` otherwise +*/ + +public function executeQuery(string $query, array $parameters = []) : bool{ + $this->stmt = parent::prepare($query); + foreach ($parameters as $name => $value) { + $this->stmt->bindValue($name, $value[0], $value[1]); + } + + return $this->stmt->execute(); +} + +public function getResults() : array { + return $this->stmt->fetchall(); + +} +} + +?> diff --git a/modeles/News.php b/modeles/News.php new file mode 100644 index 0000000..478a142 --- /dev/null +++ b/modeles/News.php @@ -0,0 +1,16 @@ +date = $date ; + $this->titre = $titre ; + $this->contenu = $contenu ; + } + +} +?> \ No newline at end of file diff --git a/modeles/gateWayNews.php b/modeles/gateWayNews.php new file mode 100644 index 0000000..7d804bf --- /dev/null +++ b/modeles/gateWayNews.php @@ -0,0 +1,72 @@ +con = $con; + } + /* + private function returnTabNews($data){ + Foreach ($data as $row){ + $tab[] = new News($row['date'],$row['titre'],$row['contenu']); + } + return $tab; + } + */ + + public function affichageNewsPageHome($start,$limit){ + + $query = "SELECT * FROM News ORDER BY date LIMIT :start,:limit" ; + $this->con->executeQuery($query,array(':start' => array($start, PDO::PARAM_INT), + ':limit' => array($limit, PDO::PARAM_INT))); + return $this->con->getResults(); + } + + public function affichageNewsPageMesNews($user): array{ + $query = "SELECT * FROM News WHERE XXXXX=user=:user"; + $con->executeQuery($query,array(':user' => array($user,PDO::PARAM_INT))); + return returnTabNews($this->con->getResults()); + } + + public function modifierNews($key,$newContenu,$newTitre){ + $query = "UPDATE News SET contenu=:newContenu and titre=:newTitre WHERE user=:key"; + $con->executeQuery($query,array(':newContenu' => array($newContenu,PDO::PARAM_STR), + ':newTitre' => array($newTitre,PDO::PARAM_STR), + ':user' => array($key,PDO::PARAM_INT))); + } + + public function supprimerNews(){ + $query = "DELETE News WHERE xxxxxxxxxxxx"; + $con->executeQuery($query,array()); + } + + + public function creerNews(){ + $query = "INSERT INTO News(xx,xx,xx,xx) VALUES "; + $con->executeQuery($query,array()); + } + + /* + public function printAllNews(){ + $query = "SELECT * FROM News"; + $this->con->executeQuery($query); + return $this->con->getResults(); + } + + + public function insertNews($news){ + if ( strlen($news->titre) == 0 or strlen($news->contenu) == 0){ + throw new Exception('Class -> NewsGateway / + Fonction -> insertNews / + Titre ou contenu est vide !!'); + } + $query = "INSERT INTO News (titre,contenu) VALUES (:titre,:contenu)"; + $this->con->executeQuery($query,array(':titre' => array($news->titre, PDO::PARAM_STR), + ':contenu' => array($news->contenu, PDO::PARAM_STR))); + } + */ +} +?> \ No newline at end of file diff --git a/modeles/user.php b/modeles/user.php new file mode 100644 index 0000000..05757a0 --- /dev/null +++ b/modeles/user.php @@ -0,0 +1,16 @@ +pseudo = $pseudo ; + } + +} + + +?> \ No newline at end of file diff --git a/vues/erreur.php b/vues/erreur.php new file mode 100644 index 0000000..e91b04a --- /dev/null +++ b/vues/erreur.php @@ -0,0 +1,18 @@ + +Erreur + + + + +

ERREUR !!!!!

+ + + + + \ No newline at end of file diff --git a/vues/home.php b/vues/home.php new file mode 100644 index 0000000..0ce75f0 --- /dev/null +++ b/vues/home.php @@ -0,0 +1,30 @@ + +Home + + + + +

Home !!!!!

+
+ +
+ + +
+ +
+ + +
+ + + +

+

+

+ + \ No newline at end of file diff --git a/vues/login.php b/vues/login.php new file mode 100644 index 0000000..d73ddb6 --- /dev/null +++ b/vues/login.php @@ -0,0 +1,17 @@ + +Login + + + + +

Login !!!!!

+ +
+

Pseudo :

+

Password :

+

+ +
+ + + \ No newline at end of file diff --git a/vues/myNews.php b/vues/myNews.php new file mode 100644 index 0000000..9a7e4f8 --- /dev/null +++ b/vues/myNews.php @@ -0,0 +1,18 @@ + +Mes News + + + + +

Mes News !!!!!

+
+ +

+

+ + \ No newline at end of file diff --git a/vues/signUp.php b/vues/signUp.php new file mode 100644 index 0000000..3d4dd44 --- /dev/null +++ b/vues/signUp.php @@ -0,0 +1,18 @@ + +Sign-up + + + + +

Sign-up

+ +
+

Pseudo :

+

Password :

+

Valider password :

+

+ +
+ + + \ No newline at end of file