<?php

require_once ROOT_DIRECTORY . 'blog/init.php'; // Initialise le blog
$id_page    = Utils::POST_GET('id_page', EXP_TYPE_INT);
$id_article = Utils::POST_GET('id_article', EXP_TYPE_INT);

//    Récupération des données
try
{
    $PAGE = new Page($id_page);
    if ($PAGE->id_blog != $BLOG->id) {
        FatalError::show("Page incorrecte");
    }

} catch (Exception $e) {
    FatalError::show("Cette page n'existe pas");
}

Controller_blog::setTitle('Blog de ' . $BLOG->blog_nom . ' | ' . $PAGE->titre);
Controller_blog::setDescription(Utils::limiter_texte(strip_tags($PAGE->texte), 25));

// Chargement du style dnamiquement
Controller_blog::showHead($HEAD_OPTIONS);

// Affiche Header
$HEADER_OPTIONS['option'] = '';
Controller_blog::showHeader($HEADER_OPTIONS);

// recuperation de l'objet de gestion de template
$VUE = Controller_blog::loadTemplate($PAGE->type . '.tpl');

$menu_reversed = ($BLOG->blog_menu) ? 'computer reversed' : '';
$VUE->setVariable('menu_reversed', $menu_reversed);

if($EXP_USER->isAdministrateur() || $EXP_USER->id == $BLOG->id_user){
    $VUE->addSession('edition_page');
    $VUE->setVariable('edition_page.url_edition_page', '/blog/' . $BLOG->blog_url . '/administration/pages/edition/index.php?id_page=' . $PAGE->id);
    $VUE->closeSession('edition_page');
}

$VUE->setVariable('titre', $PAGE->titre);
$VUE->setVariable('texte', Utils::relUgc($PAGE->texte));

/**
 *
 * Gestion des pages particulières
 * Contact + Présentation
 *
 */

if ($PAGE->type == 'contact') {

    $sujet_defaut = 'Demande de contact';
    $message_defaut = '';

    if ($id_article) {

        try {

            $ARTICLE = new Article($id_article);

            if ($ARTICLE->id_blog == $BLOG->id) {
                $sujet_defaut = "Signalement d'un article";
                $message_defaut = 'Signalement de votre article "' . $ARTICLE->titre . '"';
            }

        } catch (Exception $e) {

        }

    }

    $VUE->setVariable('hidden_id_blog', form::hidden("id_blog", $BLOG->id));
    $VUE->setVariable('email', form::field("email", '', ["placeholder" => "Votre e-mail", "type" => "email", 'required' => 'required']));
    $VUE->setVariable('tel', form::field("tel", '', ["placeholder" => "Votre téléphone"]));
    $VUE->setVariable('nom', form::field("nom", '', ["placeholder" => "Votre nom", 'required' => 'required']));
    $VUE->setVariable('prenom', form::field("prenom", '', ["placeholder" => "Votre prénom", 'required' => 'required']));

    $VUE->setVariable('objet', form::combo("objet", [
        "Demande de contact"       => "Demande de contact",
        "Signalement d'un article" => "Signalement d'un article",
        "Autre"                    => "Autre",
    ], $sujet_defaut, array(
        "zero" => false,
    )));

    $VUE->setVariable('message', form::textarea("message", $message_defaut, ["placeholder" => "Votre message"]));

    $VUE->setVariable('pc', form::checkbox("pc", 0, array('text' => "En cochant cette case, je reconnais avoir pris connaissance de la <a href='/politique-de-confidentialite/' target='_blank'>politique de confidentialité</a> et l'accepter")));

    // Fil d'ariane
    $page_contact = Page::getPages([
        'id_blog' => $BLOG->id,
        'type'    => 'contact',
    ]);
    if (!$page_contact->isEmpty()) {
      $VUE->addSession('ZoneFilAriane');
      //$VUE->setVariable('ZoneFilAriane.urlhome', '/blog/' . $BLOG->blog_url);
      $VUE->setVariable('ZoneFilAriane.urlcontact', '/blog/' . $BLOG->blog_url . '/page/page-' . $page_contact->f('id') . '.htm');
      $VUE->closeSession('ZoneFilAriane');
    }

} elseif ($PAGE->type == 'presentation') {

    try {

        $CATEGORIE     = new Categorie($BLOG->id_cat1);
        $USER          = new User($BLOG->id_user);
        $nom_categorie = $CATEGORIE->libelle;
        //$email         = $USER->email;

    } catch (Exception $e) {
        $nom_categorie = '';
        //$email         = '';
    }

    //Expertise principale
    $VUE->setVariable('nom_categorie', $nom_categorie);
    $VUE->setVariable('nb_message', Message::getCountMessages(['id_user' => $BLOG->id_user]));

    $page_contact = Page::getPages([
        'id_blog' => $BLOG->id,
        'type'    => 'contact',
    ]);

    if (!$page_contact->isEmpty()) {
        $VUE->addSession('page_contact');
        $VUE->setVariable('page_contact.url', '/blog/' . $BLOG->blog_url . '/page/page-' . $page_contact->f('id') . '.htm');
        $VUE->closeSession('page_contact');
    }

    $page_presentation = Page::getPages([
        'id_blog' => $BLOG->id,
        'type'    => 'presentation',
    ]);

    if (!$page_presentation->isEmpty()) {
        $VUE->addSession('ZoneFilAriane');
        //$VUE->setVariable('ZoneFilAriane.urlhome', '/blog/' . $BLOG->blog_url);
        $VUE->setVariable('ZoneFilAriane.urlpresentation', '/blog/' . $BLOG->blog_url . '/page/presentation-' . $page_presentation->f('id') . '.htm');
        $VUE->closeSession('ZoneFilAriane');
    }

    //$VUE->setVariable('nb_message', Message::getCountMessages(['id_user' => $BLOG->id_user]));

    if (!empty($BLOG->adresse) && !empty($BLOG->cp) && $BLOG->ville) {

        $VUE->addSession('adresse');

        $VUE->setVariable('adresse.nom', $BLOG->nom);
        $VUE->setVariable('adresse.prenom', $BLOG->prenom);
        $VUE->setVariable('adresse.adresse', $BLOG->adresse);
        $VUE->setVariable('adresse.cp', $BLOG->cp);
        $VUE->setVariable('adresse.ville', $BLOG->ville);

        $VUE->closeSession('adresse');

    }

    if (!empty($BLOG->telephone)) {
        $VUE->addSession('telephone');
        $VUE->setVariable('telephone.telephone', $BLOG->telephone);
        $VUE->closeSession('telephone');
    }

    if (!empty($email)) {
        $VUE->addSession('email');
        $VUE->setVariable('email.email', $BLOG->email);
        $VUE->closeSession('email');
    }

    if (!empty($BLOG->web)) {
        $VUE->addSession('web');
        $VUE->setVariable('web.web', $BLOG->web);
        $VUE->closeSession('web');
    }

    if (empty($PAGE->texte)) {
        $VUE->newSession('sans_texte');
    }
} else {
  //Fil d'ariane
  $VUE->addSession('ZoneFilAriane');
  //$VUE->setVariable('ZoneFilAriane.urlhome', '/blog/' . $BLOG->blog_url);
  $VUE->setVariable('ZoneFilAriane.urltitle', $PAGE->titre);
  $VUE->closeSession('ZoneFilAriane');
}

// Gestion du menu de droite
require_once ROOT_DIRECTORY . 'blog/modules/menu_droite.php';
$VUE->setVariable('menu_droite', $menu_droite);

// Affiche le contenu du template generé
$VUE->showTemplate();

// Affiche le footer
Controller_blog::showFooter();
