New file |
0,0 → 1,150 |
<?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'); |
return $donnees; |
} |
|
/** |
* Charge la vue contenant la liste des annuaires gérés par l'application |
* @return string la vue contenant la liste des annuaires |
*/ |
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); |
$this->chargerVue('annuaire', $data); |
|
return $this->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) |
*/ |
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(); |
$this->chargerVue('metadonnee_ajout',$data); |
|
return $this->metadonnee_ajout; |
} |
|
/** |
* Affiche le formulaire de modification d'une metadonnee |
* @param Array $valeurs les valeurs à inclure dans 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(); |
$this->chargerVue('metadonnee_modification',$data); |
|
return $this->metadonnee_modification; |
} |
|
/** |
* Ajoute un nouveau champ de métadonnée à un annuaire |
*/ |
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 |
*/ |
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']); |
} |
|
/** |
* Modifie un champ de métadonnée associé à un annuaire |
*/ |
public function supprimerMetadonnee($valeurs) { |
|
if(isset($valeurs['amc_id_champ'])) { |
$this->chargerModele('MetadonneeModele'); |
$this->MetadonneeModele->supprimerMetadonnee($valeurs); |
} else { |
return $this->afficherFormulaireModificationMetadonnee($valeurs); |
} |
return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']); |
} |
|
} |