<?php
// WebJaxe, Observatoire de Paris, licence GPL
// encodage : UTF-8

session_start();

if (!isset($_SESSION['langue']) || !$_SESSION['langue'])
    $_SESSION['langue'] = "fr";
$fichierlangue = "../../langues/".$_SESSION['langue'].".php";
require_once($fichierlangue);
require_once('../include/base_de_donnees.php');
require_once('../include/projets.php');
require_once('../include/contributions.php');
require_once('../include/fichier.php');
require_once('../include/outils.php');
require_once('../include/tete_pied.php');
require_once("../include/utilisateurs.php");
require_once('../include/verification_noms.php');
require_once('../include/pclzip.lib.php');
require_once("preferences.php");
require_once("liste_contributions.php");
require_once("nouvelle_contribution.php");
require_once("nouveau_projet.php");
require_once("edition_contribution.php");
require_once("fichiers_associes.php");
require_once("historique.php");
require_once("renommer_contribution.php");
require_once("rechercher.php");
require_once '../text_diff/Diff.php';
require_once '../text_diff/Diff/Renderer.php';
require_once '../text_diff/Diff/Renderer/inline.php';

init_erreurs();

$_SESSION['section'] = 'utilisateur';

if (!isset($_SESSION['id_utilisateur']))
    erreur(PAS_DE_SESSION);

if ($_SESSION['status'] != 'utilisateur' && $_SESSION['status'] != 'administrateur')
    erreur(PAS_AUTORISE);


if (isset($_GET['page'])) {
    if ($_GET['page'] == 'liste_contributions')
        if (!isset($_GET['id_projet']))
            page_liste_contributions();
        else {
            verifie_id($_GET['id_projet']);
            page_liste_contributions($_GET['id_projet']);
        }
    else if ($_GET['page'] == 'nouvelle_contribution') {
        if (!isset($_GET['id_projet']))
            page_nouvelle_contribution();
         else {
            verifie_id($_GET['id_projet']);
            page_nouvelle_contribution('', '', $_GET['id_projet']);
        }
    } else if ($_GET['page'] == 'nouveau_projet')
        page_nouveau_projet();
    else if ($_GET['page'] == 'preferences')
        page_preferences();
    else if ($_GET['page'] == 'rechercher') {
        if (!isset($_GET['id_projet']))
            page_rechercher();
        else {
            verifie_id($_GET['id_projet']);
            page_rechercher($_GET['id_projet']);
        }
    } else if ($_GET['page'] == 'edition_contribution') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        if (isset($_GET['suppression']))
            page_edition_contribution($_GET['id_contribution'], $_GET['suppression']);
        else if (isset($_GET['fichier'])) {
            $fichier = $_GET['fichier'];
            $pos = strrpos($fichier, '/');
            $repertoire = substr($fichier, 0, $pos);
            page_fichiers_associes($_GET['id_contribution'], $repertoire);
        } else
            page_edition_contribution($_GET['id_contribution']);
    } else if ($_GET['page'] == 'cadre_edition_xml') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        if (isset($_GET['fichier']))
            page_cadre_edition_xml($_GET['id_contribution'], $_GET['fichier']);
        else
            page_cadre_edition_xml($_GET['id_contribution']);
    } else if ($_GET['page'] == 'edition_xml') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        if (isset($_GET['fichier']))
            page_edition_xml($_GET['id_contribution'], $_GET['fichier']);
        else
            page_edition_xml($_GET['id_contribution']);
    } else if ($_GET['page'] == 'reload') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        page_reload($_GET['id_contribution']);
    } else if ($_GET['page'] == 'fichiers_associes') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        if (isset($_GET['repertoire']))
            $repertoire = $_GET['repertoire'];
        else
            $repertoire = '';
        if (isset($_GET['renommer']))
            page_fichiers_associes($_GET['id_contribution'], $repertoire, '', $_GET['renommer']);
        else
            page_fichiers_associes($_GET['id_contribution'], $repertoire);
    } else if ($_GET['page'] == 'historique') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        if (isset($_GET['repertoire']) && !isset($_GET['rep_date']))
            erreur(PARAMETRES_MANQUANT);
        if (isset($_GET['repertoire']))
            page_historique($_GET['id_contribution'], $_GET['rep_date'], $_GET['repertoire']);
        else if (isset($_GET['rep_date']))
            page_historique($_GET['id_contribution'], $_GET['rep_date']);
        else
            page_historique($_GET['id_contribution']);
    } else if ($_GET['page'] == 'diff') {
        if (!isset($_GET['id_contribution']) || !isset($_GET['rep_date']) || !isset($_GET['fichier']) || !isset($_GET['avec']))
            erreur(PARAMETRES_MANQUANT);
        page_diff($_GET['id_contribution'], $_GET['rep_date'], $_GET['fichier'], $_GET['avec']);
    } else if ($_GET['page'] == 'renommer_contribution') {
        if (!isset($_GET['id_contribution']))
            erreur(PARAMETRES_MANQUANT);
        verifie_id($_GET['id_contribution']);
        page_renommer_contribution($_GET['id_contribution']);
    } else
        erreur('Page inconnue');
    
} else if (isset($_GET['action'])) {
    if ($_GET['action'] == 'supprimer_contribution')
        action_supprimer_contribution();
    else if ($_GET['action'] == 'supprimer_repertoire')
        action_supprimer_repertoire();
    else if ($_GET['action'] == 'supprimer_fichier')
        action_supprimer_fichier();
    else if ($_GET['action'] == 'generer_apercu')
        action_generer_apercu(false);
    else if ($_GET['action'] == 'exporter')
        action_exporter();
    else if ($_GET['action'] == 'effacer_site')
        action_effacer_site();
    else if ($_GET['action'] == 'exporter_site')
        action_exporter_site();
    else if ($_GET['action'] == 'supprimer_projet')
        action_supprimer_projet();
    else if ($_GET['action'] == 'exporter_projet')
        action_exporter_projet();
    
} else if (isset($_POST['action'])) {
    if ($_POST['action'] == 'ajouter_projet')
        action_ajouter_projet();
    else if ($_POST['action'] == 'importer_projet')
        action_importer_projet();
    else if ($_POST['action'] == 'editer_preferences')
        action_editer_preferences();
    else if ($_POST['action'] == 'ajouter_contribution')
        action_ajouter_contribution();
    else if ($_POST['action'] == 'ajouter_sous_repertoire')
        action_ajouter_sous_repertoire();
    else if ($_POST['action'] == 'ajouter_fichier')
        action_ajouter_fichier();
    else if ($_POST['action'] == 'renommer')
        action_renommer();
    else if ($_POST['action'] == 'creer_xml')
        action_creer_xml();
    else if ($_POST['action'] == 'importer_contribution')
        action_importer_contribution();
    else if ($_POST['action'] == 'renommer_contribution')
        action_renommer_contribution();
    else if ($_POST['action'] == 'rechercher')
        action_rechercher();
    else
        erreur('Action inconnue');
} else {
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) && empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 0)
        erreur(ERR_TAILLE_MAX_POST);
    erreur(PARAMETRES_MANQUANT);
}


?>
