Subversion Repositories Applications.annuaire

Rev

Rev 40 | Rev 71 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
// declare(encoding='UTF-8');
/**
 *
 * PHP version 5
 *
 * @category PHP
 * @package Framework
 * @author Aurelien PERONNET <aurelien@tela-botanica.org>
 * @copyright Tela-Botanica 2009
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
 * @version   SVN: $$Id$$
 * @link /doc/framework/
 */

// La fonction autolad doit être appelée avant tout autre chose dans l'application.
// Sinon, rien ne sera chargé.
require_once dirname(__FILE__).'/framework/autoload.inc.php';
Application::setChemin(__FILE__);
Application::setInfo(Config::get('info'));
mb_internal_encoding(Config::get('appli_encodage'));

// c'est très moche, il ne faudrait pas faire comme ceci
if(function_exists('GEN_stockerStyleExterne')) {
        GEN_stockerStyleExterne('annuaire_papyrus',GEN_CHEMIN_PAP.'applications/annuaire/squelettes/css/annuaire_complexe.css');
}

// Autoload pour cette application
function __autoload($nom_classe) {
    // Tableau des chemins à inclure pour trouver une classe relatif à ce fichier
    $chemins = array(
        'bibliotheque'.DS.'noyau',
        'bibliotheque'.DS.'pear',
        'bibliotheque'.DS.'utilitaires',
        'composants',
        'composants'.DS.'cartographie');
    foreach ($chemins as $chemin) {
        $fichier_a_inclure = dirname(__FILE__).DS.$chemin.DS.$nom_classe.'.php';

        if (file_exists($fichier_a_inclure)) {
            include_once $fichier_a_inclure;
            return null;
        }
    }
}


$identification = Config::get('identification');
$annuaire_controleur = new AnnuaireControleur();

$annuaire_controleur->chargerModele('AnnuaireModele');
$id = $annuaire_controleur->AnnuaireModele->obtenirIdParMail('1',$identification);

// identification
// TODO : faire mieux (un wrapper pour gérer différents types d'objets)
if(isset($_GET['id_utilisateur'])) {
        $GLOBALS['id_utilisateur'] = $_GET['id_utilisateur'];
} else if ($_POST['id_utilisateur']) {
        $GLOBALS['id_utilisateur'] = $_POST['id_utilisateur'];
} else {
        $GLOBALS['id_utilisateur'] = $id;
}

/**
 * Fonction d'affichage de Papyrus, pour le corps de page
 */
function afficherContenuCorps() {

        $methode = '';
        // Si l'utilisateur est authentifié
        if (isset($_GET['m'])) {
                $methode = $_GET['m'];
                unset($_GET['m']);
        } else {
                if (isset($_POST['m'])) {
                        $methode = $_POST['m'];
                        unset($_POST['m']);
                }
        }

        $identification = Config::get('identification');

        if(!$identification) {
                $controleur = new AnnuaireControleur();
                return $controleur->afficherFormulaireIdentification();
        }

        switch ($methode) {

                // Fonctions de liste d'ontologie
                case 'liste_listes':
                        $controleur = new OntologieControleur();
                        $retour = $controleur->chargerListeListe();
                        break;

                case 'liste_ontologie':
                        $controleur = new OntologieControleur();
                        $id = $_GET['id_liste'];
                        $retour = $controleur->chargerListeOntologie($id);
                        break;

                case 'liste_ontologie_formulaire_ajout':
                        $valeurs = $_GET;
                        $controleur = new OntologieControleur();
                        $retour = $controleur->afficherFormulaireAjoutListeOntologie($valeurs);
                        break;

                case 'liste_ontologie_formulaire_modification':
                        $id_ontologie = $_GET['amo_id_ontologie'];
                        $controleur = new OntologieControleur();
                        $retour = $controleur->afficherFormulaireModificationListeOntologie($id_ontologie);
                        break;

                case 'liste_ontologie_ajout':
                        $controleur = new OntologieControleur();
                        $retour = $controleur->ajouterNouvelleListeOntologie($_POST);
                        break;

                case 'liste_ontologie_modification':
                        $controleur = new OntologieControleur();
                        $retour = $controleur->modifierListeOntologie($_POST);
                        break;

                case 'liste_ontologie_suppression':
                        $controleur = new OntologieControleur();
                        $id_a_supprimer = $_GET['amo_id_ontologie'];
                        $retour = $controleur->supprimerListeOntologie($id_a_supprimer);
                        break;

                // Fonction de gestion des métadonnées des annuaire
                case 'metadonnee_formulaire_ajout':
                        $controleur = new MetadonneeControleur();
                        $valeurs = $_GET;
                        $retour = $controleur->afficherFormulaireAjoutMetadonnee($valeurs);
                        break;

                case 'metadonnee_formulaire_modification':
                        $controleur = new MetadonneeControleur();
                        $valeurs = $_GET;
                        $retour = $controleur->afficherFormulaireModificationMetadonnee($valeurs);
                        break;

                case 'metadonnee_ajout':
                        $controleur = new MetadonneeControleur();
                        $valeurs = $_POST;
                        $retour = $controleur->ajouterNouvelleMetadonnee($valeurs);
                        break;

                case 'metadonnee_modification':
                        $controleur = new MetadonneeControleur();
                        $valeurs = $_POST;
                        $retour = $controleur->modifierMetadonnee($valeurs);
                        break;

                case 'metadonnee_suppression':
                        $controleur = new MetadonneeControleur();
                        $id_a_supprimer = $_GET['amc_id_metadonnee'];
                        $retour = $controleur->supprimerMetadonnee($id_a_supprimer);
                        break;

                // Fonctions de gestion des annuaires
                case 'liste_annu':
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->chargerListeAnnuaire();
                        break;

                case 'annuaire':
                        $controleur = new AnnuaireControleur();
                        $id = $_GET['id_annuaire'];
                        $retour = $controleur->chargerAnnuaire($id);
                        break;
                default:

                case 'annuaire_inscrits':
                        $controleur = new AnnuaireControleur();
                        $id = $_GET['id_annuaire'];

                        if(isset($_GET['taille_page'])) {
                                $taille_page = $_GET['taille_page'];
                        } else  {
                                $taille_page = 50;
                        }

                        if(isset($_GET['numero_page'])) {
                                $numero_page = $_GET['numero_page'];
                        } else {
                                $numero_page = 1;
                        }
                        $retour = $controleur->afficherFormulaireRecherche($id);
                        $retour .= $controleur->chargerAnnuaireListeInscrits($id, $numero_page, $taille_page);
                        break;

                case 'annuaire_formulaire_inscription':
                        $controleur = new AnnuaireControleur();
                        $id = $_GET['id_annuaire'];
                        $retour = $controleur->afficherFormulaireInscription($id);
                        break;

                case 'annuaire_ajout_inscription':
                        $valeurs = $_POST;
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->ajouterInscriptionTemporaire($valeurs);
                        break;

                case 'annuaire_inscription_confirmation':
                        $identifiant = $_GET['id'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->ajouterNouvelleInscription($identifiant);
                        break;

                case 'annuaire_fiche_utilisateur_consultation':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->afficherFicheUtilisateur($identifiant_annuaire,$GLOBALS['id_utilisateur']);
                        break;

                case 'annuaire_fiche_resume_consultation':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->afficherFicheResumeUtilisateur($identifiant_annuaire,$GLOBALS['id_utilisateur']);
                        break;


                case 'annuaire_formulaire_modification_inscription':
                        $controleur = new AnnuaireControleur();
                        $id_annuaire = $_GET['id_annuaire'];
                        $retour = $controleur->afficherFormulaireModificationInscription($id_annuaire, $GLOBALS['id_utilisateur']);

                        break;

                case 'annuaire_modification_inscription':
                        $controleur = new AnnuaireControleur();
                        $valeurs = $_POST;
                        $retour = $controleur->modifierInscription($_POST);

                        break;

                case 'annuaire_afficher_formulaire_ajout_image':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->afficherFormulaireUploadImage($identifiant_annuaire,$GLOBALS['id_utilisateur']);
                        break;

                case 'annuaire_ajouter_image':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $GLOBALS['id_utilisateur'] = $_GET['id_utilisateur'];
                        $infos_images = $_FILES;
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->ajouterImageUtilisateur($identifiant_annuaire,$GLOBALS['id_utilisateur'],$infos_images);
                        break;


                case 'annuaire_suppression_inscription':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->supprimerInscription($identifiant_annuaire,$GLOBALS['id_utilisateur']);
                        break;

                case 'annuaire_afficher_formulaire_oubli_mdp':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->afficherFormulaireOubliMotDePasse($identifiant_annuaire);
                        break;

                case 'annuaire_oubli_mdp':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $mail = $_POST['mail'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->reinitialiserMotDePasse($identifiant_annuaire, $mail);
                        break;

                // Fonctions de recherche d'inscrits
                case 'annuaire_afficher_formulaire_recherche':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->afficherFormulaireRecherche($identifiant_annuaire);
                        break;

                case 'annuaire_recherche_inscrit':
                        $identifiant_annuaire = $_GET['id_annuaire'];
                        unset($_GET['id_annuaire']);

                        if(isset($_GET['inclusive'])) {
                                $exclusive = false;
                                unset($_GET['inclusive']);
                        } else {
                                $exclusive = true;
                        }

                        $criteres = $_GET;
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->rechercherInscrit($identifiant_annuaire,$criteres, $exclusive);
                        break;


                // Fonctions cartographiques
                case 'annuaire_recherche_inscrit_carto':
                        $identifiant_annuaire = $_GET['id_annuaire'];

                        $criteres = $_GET;
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->rechercherInscritParlocalisation($identifiant_annuaire,$criteres);
                break;

                case 'annuaire_afficher_carte':
                        $identifiant_annuaire = $_GET['id_annuaire'];

                        $continent = null;
                        $pays = null;
                        $departement = null;

                        if(isset($_GET['continent'])) {
                                $continent = $_GET['continent'];
                        }

                        if(isset($_GET['pays'])) {
                                $pays = $_GET['pays'];
                        }

                        if(isset($_GET['departement'])) {
                                $departement = $_GET['departement'];
                        }

                        $controleur = new CartoControleur();
                        $retour = $controleur->cartographier($identifiant_annuaire, $continent, $pays, $departement);
                break;


                // Fonctions de modération des messages
                case 'message_moderation_confirmation':
                        if(isset($_GET['id'])) {
                                $id_message = $_GET['id'];
                        }
                        $controleur = new MessageControleur();
                        $retour = $controleur->envoyerMailModere($id_message);
                break;

                case 'message_moderation_suppression':
                        if(isset($_GET['id'])) {
                                $id_message = $_GET['id'];
                        }
                        $controleur = new MessageControleur();
                        $retour = $controleur->supprimerMailModere($id_message);
                break;

                default:
                        $controleur = new AnnuaireControleur();
                        $retour = $controleur->index();
                break;
        }

        if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
                $retour = mb_convert_encoding($retour, Config::get('sortie_encodage'),Config::get('appli_encodage'));
        }

        return $retour;
}

function afficherContenuTete() {
        return '';
}

function afficherContenuPied() {
        return '';
}

function afficherContenuNavigation() {
        return '';
}

function afficherContenuMenu() {

        if(isset($_GET['id_annuaire'])) {
                $id_annuaire = $_GET['id_annuaire'];
        }

        $menu = '<ul>';
        $menu .= '<li><a href="http://162.38.234.9/papyrus_bp/page:annuaire_admin?m=liste_listes"> G&eacute;rer les liste d\'ontologie </a></li>';
        $menu .= '<li><a href="http://162.38.234.9/papyrus_bp/page:annuaire_admin?m=liste_annu"> G&eacute;rer les annuaires </a></li>';
        $menu .= '</ul>';

        return $menu;
}

?>