merge vueArticle->php

designVues
nosillard 2 years ago
commit ab5c227de7

@ -3,28 +3,22 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{TitreArticle}}</title>
<title>{ data.titre }}</title>
</head>
<body>
<div class="view">
{% include './blockParagraphe.html' with {
'titreParagraphe': article.titreParagraphe,
'contenuParagraphe': article.contenuParagraphe
} %}
{% include './blockImage.html' with {
'imageTitle': article.imageTitre,
'imagePath': article.imageChemin,
'imageAlt': article.imageAlt
} %}
{% include './blockVideo.html' with {
videoTitle': article.videoTitre,
'videoLink': article.videoLink
} %}
</div>
<div class="view">
{% for bloc in blocs %}
{% if bloc.type == 'paragraphe' %}
{% include './blockParagraphe.html' with bloc.data %}
{% elseif bloc.type == 'image' %}
{% include './blockImage.html' with bloc.data %}
{% elseif bloc.type == 'video' %}
{% include './blockVideo.html' with bloc.data %}
{% endif %}
{% endfor %}
</div>
</body>
</html>

@ -35,22 +35,44 @@
</button>
<div class="align-self-center collapse navbar-collapse flex-fill d-lg-flex justify-content-lg-between" id="templatemo_main_nav">
{% if userRole == 'Utilisateur' or userRole == 'Redacteur' or userRole == 'Moderateur' or userRole == 'Admin' %}
<div class="nav-item ml-auto">
<a class="nav-link" href="CompteUtilisateur.html">Compte</a>
<a class="nav-link" href="{{ CompteUtilisateur.html }}">Compte</a>
</div>
{% endif %}
{% if userRole == 'Visiteur' or userRole == null%}
<div>
<form action="index.php?action=seConnecter" method="POST">
<input type="submit" value="Connexion">
</form>
</div>
{% endif %}
<div class="flex-fill">
<ul class="nav navbar-nav d-flex justify-content-between mx-lg-auto">
<li class="nav-item">
<a class="nav-link" href="accueil.html">Accueil</a>
<!--<a class="nav-link" href="{{ accueil.html }}">Accueil</a>-->
<form action="index.php?action=accueil" method="POST">
<input type="submit" value="accueil">
</form>
</li>
<li class="nav-item">
<a class="nav-link" href="economie.html">Economie</a>
<!-- <a class="nav-link" href="{{ economie }}">Economie</a>-->
<form action="index.php?action=economie" method="POST">
<input type="submit" value="economie">
</form>
</li>
<li class="nav-item">
<a class="nav-link" href="culture.html">Culture</a>
<!--<a class="nav-link" href="{{ culture.html }}">Culture</a>-->
<form action="index.php?action=culture" method="POST">
<input type="submit" value="culture">
</form>
</li>
<li class="nav-item">
<a class="nav-link" href="politique.html">Politique</a>
<!--<a class="nav-link" href="{{ politique.html }}">Politique</a>-->
<form action="index.php?action=politique" method="POST">
<input type="submit" value="politique">
</form>
</li>
<li class="nav-item">
<a class="nav-link" href="faitsDivers.html">Faits Divers</a>
@ -63,9 +85,9 @@
{% endif %}
</li>
<li>
{% if userRole == 'Visiteur' or userRole == null %}
<form action="index.php?action=seConnecter" method="POST">
<input type="submit" value="Connexion">
{% if userRole != 'Visiteur' and userRole != null%}
<form action="index.php?action=accessForm" method="POST">
<input type="submit" value="accèsForm">
</form>
{% endif %}
</li>
@ -79,7 +101,10 @@
</ul>
</div>
<div class="nav-item ml-auto">
<a class="nav-link" href="contact.html">Contact</a>
<!--<a class="nav-link" href="{{ contact.html }}">Contact</a>-->
<form action="index.php?action=contact" method="POST">
<input type="submit" value="contact">
</form>
</div>
<div class="navbar align-self-center d-flex">
<div class="d-lg-none flex-sm-fill mt-3 mb-4 col-7 col-sm-auto pr-3">

@ -16,7 +16,7 @@
$vues['contact']='../Vue/contact.html';
$vues['culture']='../Vue/culture.html';
$vues['economie']='../Vue/economie.html';
$vues['faitsdivers']='../Vue/faitsdivers.html';
$vues['faitsdivers']='../Vue/faitsDivers.html';
$vues['index']='../Vue/index.html';
$vues['politique']='../Vue/politique.html';
//à completer, erreur, connexion ...

@ -0,0 +1,57 @@
<?php
namespace controleur;
use dal\gateways\ArticleGateway; //pour $con
use dal\Connection;
//A suppr, transéré dans VisiteurControleur
class ArticleControleur
{
private $articleGateway;
function __construct($action, $id, $page)
{
global $twig;
$this->articleGateway = new ArticleGateway($con);
try {
switch ($action) {
case 'afficherUnArticle':
$this->afficherUnArticle( $id, $page);
break;
case 'afficherPageArticles':
$this->afficherPageArticles();
break;
default:
$VueErreur[] ="Erreur d'appel php";
echo $twig->render("Vue/connexion.php");
}
} catch (Exception $e) {
echo $twig->render("Vue/error.php");
}
}
function afficherUnArticle(int $id, string $page) //page est la page d'affichage de l'article
{
global $twig;
try {
$article = $this->articleGateway->getArticleById($id);
if ($article) {
$blocs = array(
array('type' => 'paragraphe', 'data' => $article),
array('type' => 'image', 'data' => $article),
array('type' => 'video', 'data' => $article)
);
echo $twig->render($page, ['TitreArticle' => $article['titreArticle'], 'blocs' => $blocs]);
} else {
echo $twig->render("Vue/error.php"); //article non trouvé
}
} catch (Exception $e) {
echo $twig->render("Vue/error.php");
}
}
}

@ -4,6 +4,7 @@ namespace controleur;
use controleur\UtilisateurControleur;
use Config\Validation;
use dal\gateways\ArticleGateway;
use dal\gateways\UtilisateurGateway;
use modele\ModeleVisiteur;
use PDOException;
@ -14,6 +15,7 @@ class VisiteurControleur
public function __construct(){
global $twig;
$_SESSION['role'] = 'Visiteur';
try{
if(!isset($_REQUEST["action"])) {
$action = NULL;
@ -24,7 +26,25 @@ class VisiteurControleur
switch ($action){
case NULL:
case 'accueil':
$this->accueil();
$this->afficherAccueil();
break;
case 'economie':
$this->afficherEconomie();
break;
case 'culture':
$this->afficherCulture();
break;
case 'politique':
$this->afficherPolitique();
break;
case 'faitsDivers':
$this->afficherFaitsDivers();
break;
case 'connexion':
$this->afficherConnexion();
break;
case 'contact':
$this->afficherContact();
break;
case 'seConnecter':
$this->connect();
@ -76,9 +96,42 @@ class VisiteurControleur
$mdl->signUp();
}
function accueil(){
//utiliser router afficher les pages
function afficherAccueil(){
global $twig;
echo $twig->render('accueil.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherEconomie() {
global $twig;
echo $twig->render('economie.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherCulture() {
global $twig;
echo $twig->render('accueil.html', ['userRole' => $_SESSION["role"]]);
echo $twig->render('culture.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherPolitique() {
global $twig;
echo $twig->render('politique.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherFaitsDivers() {
global $twig;
echo $twig->render('faitsDivers.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherConnexion() {
global $twig;
echo $twig->render('connexion.html', ["userRole" => $_SESSION["role"]]);
}
public function afficherContact() {
global $twig;
echo $twig->render('contact.html', ["userRole" => $_SESSION["role"]]);
}
}

@ -6,6 +6,7 @@ class redacteurControleur
{
function __construct()
{
global $twig;
try {
if(!isset($_REQUEST["action"]))
{
@ -27,10 +28,10 @@ class redacteurControleur
break;
default:
$VueErreur[] ="Erreur d'appel php";
require("vues/connexion.php");
echo $twig->render("Vue/connexion.php");
}
} catch (Exception $e) {
require("vues/error.php");
echo $twig->render("Vue/error.php");
}
}
}

@ -4,7 +4,7 @@
use controleur\FrontControler;
require_once __DIR__ . '/config/config.php';
require_once __DIR__ .'/config/config.php';
require __DIR__ . '/vendor/autoload.php';
$loader = new \Twig\Loader\FilesystemLoader(__DIR__ . '/Vue');

Loading…
Cancel
Save