You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
2.5 KiB
130 lines
2.5 KiB
<?php
|
|
|
|
class Controleur {
|
|
|
|
function __construct() {
|
|
require_once("config/config.php");
|
|
require_once("modeles/Connection.php");
|
|
require_once("modeles/gateWayNews.php");
|
|
//global $rep,$vues,$dsn,$login,$pass;
|
|
global $rep;
|
|
// nécessaire pour utiliser variables globales
|
|
// on démarre ou reprend la session
|
|
session_start();
|
|
|
|
|
|
//debut
|
|
|
|
//on initialise un tableau d'erreur
|
|
$dVueEreur = array ();
|
|
|
|
//connection BBD
|
|
|
|
try{
|
|
$con=new Connection($dsn,$login,$pass);
|
|
}
|
|
catch( PDOException $Exception ) {
|
|
$dVueEreur[] = "Connection impossible à la BBD !!";
|
|
require($rep.$vues['erreur']);
|
|
}
|
|
$gateWayNews = new gateWayNews($con);
|
|
|
|
//VALIDER L'ACTION
|
|
|
|
try{
|
|
if (isset($_REQUEST['action'])){
|
|
$action = $_REQUEST['action'];
|
|
}
|
|
else {
|
|
$action = NULL ;
|
|
}
|
|
|
|
switch($action) {
|
|
|
|
//pas d'action, on réinitialise 1er appel
|
|
case NULL:
|
|
$lesNews = $gateWayNews->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
|
|
|
|
?>
|