Rev 62 | Rev 143 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** PHP Version 5** @category PHP* @package annuaire* @author aurelien <aurelien@tela-botanica.org>* @copyright 2010 Tela-Botanica* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @version SVN: <svn_id>* @link /doc/annuaire/*/class MetadonneeControleur extends Controleur {/*** (fonction héritée de la classe Controleur)* Avant chaque chargement de vue, on ajoute l'url de la page dans* les variables à insérer.* @param Array $donnes les données à insérer dans la vue* @return Array $donnees les données modifiées*/public function preTraiterDonnees($donnees) {$donnees['base_url'] = Registre::getInstance()->get('base_url_application');$donnees['base_url_styles'] = new Url(Config::get('base_url_styles'));return $donnees;}/*** Charge la vue contenant les informations d'un annuaire géré par l'application* @param int $id l'annuaire dont on veut consulter les informations* @return string la vue contenant les informations*/public function chargerAnnuaire($id) {$this->chargerModele('AnnuaireModele');$this->chargerModele('MetadonneeModele');$data['erreurs'] = array();$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true);$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);$annuaire = $this->getVue(Config::get('dossier_squelettes_annuaires').'annuaire', $data);return $annuaire;}/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*//*** Affiche le formulaire d'ajout d'une metadonnee* @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)* @return string la vue contenant le formulaire*/public function afficherFormulaireAjoutMetadonnee($valeurs) {if(!isset($valeurs['amc_nom'])) {$valeurs['amc_nom'] = '';}if(!isset($valeurs['amc_abreviation'])) {$valeurs['amc_abreviation'] = '';}if(!isset($valeurs['amc_description'])) {$valeurs['amc_description'] = '';}$data['valeur'] = $valeurs;$this->chargerModele('MetadonneeModele');$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();$metadonnee_ajout = $this->getVue(Config::get('dossier_squelettes_metadonnees').'metadonnee_ajout',$data);return $metadonnee_ajout;}/*** Affiche le formulaire de modification d'une metadonnee* @param Array $valeurs les valeurs à inclure dans le formulaire* @return string la vue contenant le formulaire*/public function afficherFormulaireModificationMetadonnee($valeurs) {if(!isset($valeurs['amc_nom'])) {$valeurs['amc_nom'] = '';}if(!isset($valeurs['amc_abreviation'])) {$valeurs['amc_abreviation'] = '';}if(!isset($valeurs['amc_description'])) {$valeurs['amc_description'] = '';}$data['valeur'] = $valeurs;$this->chargerModele('MetadonneeModele');$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']);$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps();$data['listes'] = $this->MetadonneeModele->chargerListeDesListes();$metadonnee_modification = $this->getVue(Config::get('dossier_squelettes_metadonnees').'metadonnee_modification',$data);return $metadonnee_modification;}/*** Ajoute un nouveau champ de métadonnée à un annuaire* @param Array $valeurs les valeurs à ajouter* @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec*/public function ajouterNouvelleMetadonnee($valeurs) {if(isset($valeurs['amc_nom'])&& isset($valeurs['amc_abreviation'])&& isset($valeurs['amc_description'])&& isset($valeurs['amc_ce_annuaire'])&& isset($valeurs['amc_ce_type_affichage'])) {$this->chargerModele('MetadonneeModele');$this->MetadonneeModele->ajouterNouvelleMetadonnee($valeurs);} else {return $this->afficherFormulaireAjoutMetadonnee($valeurs);}return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);}/*** Modifie un champ de métadonnée associé à un annuaire* @param Array $valeurs les valeurs à modifier* @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec*/public function modifierMetadonnee($valeurs) {if(isset($valeurs['amc_id_champ'])&& isset($valeurs['amc_nom'])&& isset($valeurs['amc_abreviation'])&& isset($valeurs['amc_description'])&& isset($valeurs['amc_ce_annuaire'])&& isset($valeurs['amc_ce_type_affichage'])) {$this->chargerModele('MetadonneeModele');$this->MetadonneeModele->modifierMetadonnee($valeurs);} else {return $this->afficherFormulaireModificationMetadonnee($valeurs);}return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);}/*** Supprime un champ de métadonnée associé à un annuaire* @return string la vue contenant l'annuaire associé, ou le formulaire en cas d'échec*/public function supprimerMetadonnee($id_annuaire, $id_metadonnee) {if($id_metadonnee != '') {$this->chargerModele('MetadonneeModele');$this->MetadonneeModele->supprimerMetadonneeParId($id_metadonnee);} else {return false;}return $this->chargerAnnuaire($id_annuaire);}}