38,7 → 38,6 |
$resultat = $this->requeteTous($requete); |
$annuaire = array(); |
foreach ($resultat as $ligne) { |
// On remplace l'identifiant du type d'affichage par son nom |
$type_affichage = $this->renvoyerCorrespondanceNomId($ligne['amc_ce_type_affichage'], $this->id_liste_champs); |
$ligne['amc_ce_nom_type_affichage'] = $type_affichage['amo_nom']; |
$annuaire[] = $ligne; |
47,11 → 46,6 |
return $annuaire; |
} |
|
/** |
* Charge les elements d'une liste d'ontologie donnée |
* @param int $id_liste l'identifiant de la liste dont on veut les élements |
* @param Array un tableau contenant les élements de la liste |
*/ |
public function chargerInfosListe($id_liste) { |
$requete = 'SELECT amo_nom, amo_id_ontologie '. |
'FROM annu_meta_ontologie '. |
97,7 → 91,7 |
/** |
* Charge les informations d'une metadonnee |
* @param int l'identifiant de cette metadonnee |
* @return Array un tableau contenant les informations sur cette metadonnee |
* @return array() un tableau contenant les informations sur cette metadonnee |
*/ |
public function chargerInformationsMetaDonnee($id) { |
$requete = 'SELECT * '. |
107,17 → 101,12 |
return $this->requeteUn($requete); |
} |
|
/** |
* Ajoute une nouvelle méta colonne à un annuaire donné |
* @param Array $valeurs les valeurs à ajouter dans la base |
* @return boolean true si la requete a réussi, false sinon |
*/ |
public function ajouterNouvelleMetadonnee($valeurs) { |
|
$ontologie_liee = $this->proteger($valeurs['amc_ce_ontologie']); |
$annuaire_lie = $this->proteger($valeurs['amc_ce_annuaire']); |
$type_sql = $this->renvoyerTypeSQLPourChamp($valeurs['amc_ce_type_affichage']); |
$longueur = $this->renvoyerLongueurPourChamp($valeurs['amc_ce_type_affichage']); |
$longueur = 255; |
$nom = $this->proteger($valeurs['amc_nom']); |
$abreviation = $this->proteger($valeurs['amc_abreviation']); |
$description = $this->proteger($valeurs['amc_description']); |
137,15 → 126,10 |
return $this->requete($requete); |
} |
|
/** |
* Modifie une meta colonne liée à un annuaire, grâce aux valeurs passées en paramètre |
* @param Array $valeurs les valeurs à modifier |
* @return boolean true si la requete a réussi, false sinon |
*/ |
public function modifierMetadonnee($valeurs) { |
|
$type_sql = $this->renvoyerTypeSQLPourChamp($valeurs['amc_ce_type_affichage']); |
$longueur = $this->renvoyerLongueurPourChamp($valeurs['amc_ce_type_affichage']); |
$longueur = 255; |
$nom = $this->proteger($valeurs['amc_nom']); |
$abreviation = $this->proteger($valeurs['amc_abreviation']); |
$description = $this->proteger($valeurs['amc_description']); |
164,46 → 148,17 |
return $this->requete($requete); |
} |
|
/** |
* Supprime une metadonnée |
* @param int $id_metadonnee l'identifiant de l'enregistrement à supprimer |
*/ |
public function supprimerMetadonneeParId($id_metadonnee) { |
public function supprimerMetadonnee($valeurs) { |
$requete = 'DELETE FROM annu_meta_colonne '. |
'WHERE amc_id_champ = '.$id_metadonnee; |
'WHERE amc_id_champ = '.$valeurs['amc_id_champ']; |
|
return $this->requete($requete); |
} |
|
/** |
* Renvoie l'identifiant du type sql associé à un identifiant de type de champ |
* exemple champ texte => VARCHAR, champ texte long => TEXT |
* @param int $id_type_champ l'identifiant du type de champ |
* @return int l'identifiant du type sql correspondant |
*/ |
private function renvoyerTypeSQLPourChamp($id_type_champ) { |
// TODO: faire une vraie fonction |
return 1002 ; |
} |
|
/** |
* Renvoie la longueur associée à un identifiant de type de champ |
* exemple champ texte => 50, champ texte long => 1000 |
* @param int $id_type_champ l'identifiant du type de champ |
* @return int la longueur du champ correspondante |
* @return int la longueur associée au champ |
*/ |
private function renvoyerLongueurPourChamp($id_type_champ) { |
// TODO: faire une vraie fonction |
return 255 ; |
} |
|
/** |
* Renvoie le nom d'une valeur de liste d'ontologie grâce à son identifiant |
* @param int $id_ontologie l'identifiant de la valeur dont on veut le nom |
* @param int $id_parent l'identifiant de la liste parente |
* @return string le nom du champ, ou false sinon |
*/ |
private function renvoyerCorrespondanceNomId($id_ontologie,$id_parent) { |
$requete = 'SELECT amo_nom '. |
'FROM annu_meta_ontologie '. |
213,12 → 168,6 |
return $this->requeteUn($requete); |
} |
|
|
/** |
* Renvoie le nom du template associé à un champ grâce à son identifiant |
* @param int $id_ontologie l'identifiant du champ dont on veut le template |
* @return string le nom du template (qui est l'abreviation du champ), ou false sinon |
*/ |
public function renvoyerCorrespondanceNomTemplateChamp($id_champ) { |
|
$requete = 'SELECT amo_abreviation '. |
231,13 → 180,6 |
return $resultat['amo_abreviation']; |
} |
|
/** |
* Ajoute une nouvelle valeur à un champ de metadonnées pour une ligne dans un annuaire donné |
* @param int $id_champ l'identifiant du champ auquel on ajoute cette valeur |
* @param int $id_enregistrement_lie l'identifiant de l'enregistrement lié dans l'annuairé mappé |
* @param mixed $valeur la valeur à associer au champ (peut-être une valeur brute ou bien un identifiant de liste d'ontologie) |
* @return true ou false suivant le succès de la requête |
*/ |
public function ajouterNouvelleValeurMetadonnee($id_champ, $id_enregistrement_lie, $valeur) { |
|
$valeur = $this->proteger($valeur); |
249,26 → 191,8 |
return $this->requete($requete); |
} |
|
/** |
* Modifie une valeur d'un champ de metadonnées pour une ligne dans un annuaire donné |
* @param int $id_champ l'identifiant du champ dont on modifie la valeur |
* @param mixed $valeur la nouvelle valeur à associer au champ (peut-être une valeur brute ou bien un identifiant de liste d'ontologie) |
* @return boolean true ou false suivant le succès de la requête |
*/ |
public function modifierValeurMetadonnee($id_valeur_metadonnee, $valeur) { |
//TODO: faire une fonction de modification |
|
$requete = 'UPDATE annu_meta_valeurs '. |
'SET amv_valeur = '.$this->proteger($valeur).' '. |
'WHERE amv_id_valeur = '.$id_valeur_metadonnee; |
|
return $this->requete($requete); |
} |
|
/** |
* Supprime une valeur de metadonnée par son identifiant |
* @param int $id_valeur_metadonnee l'identifiant de valeur à supprimer |
* @return true ou false suivant le succès de la requete |
*/ |
public function supprimerValeurMetadonnee($id_valeur_metadonnee) { |
|
$requete = 'DELETE FROM annu_meta_valeurs '. |
277,10 → 201,6 |
return $this->requete($requete); |
} |
|
/** |
* Supprime les valeurs de metadonnées associés à un identifiant de ligne d'annuaire |
* @param int $id_enregistrement_lie l'identifiant de la ligne à laquelle sont associées les valeurs à supprimer |
*/ |
public function supprimerValeursMetadonneesParIdEnregistrementLie($id_enregistrement_lie) { |
$requete = 'DELETE FROM annu_meta_valeurs '. |
'WHERE amv_cle_ligne = '.$id_enregistrement_lie; |
290,14 → 210,9 |
|
/** |
* Charge les valeurs de metadonnées pour un identifiant de ligne donné |
* @param int $id_annuaire l'identifiant de l'annuaire sur lequel on travaille |
* @param int $id_utilisateur l'identifiant de la ligne dans l'annuaire pour laquelle on veut récupérer les valeur de metadonnées |
*/ |
public function chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_enregistrement_lie) { |
public function chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur) { |
|
// TODO: la jointure est elle la plus efficace pour ce type de requete ? |
// voir si des index bien placés peuvent résoudre le problème |
// et faire plein de tests |
$requete_valeurs_metadonnees = 'SELECT amv_ce_colonne, amv_valeur, amc_ce_ontologie, amc_abreviation, amo_nom FROM annu_meta_valeurs '. |
'LEFT JOIN annu_meta_colonne '. |
'ON annu_meta_colonne.amc_id_champ = annu_meta_valeurs.amv_ce_colonne '. |
304,7 → 219,7 |
'LEFT JOIN annu_meta_ontologie '. |
'ON annu_meta_ontologie.amo_ce_parent = annu_meta_colonne.amc_ce_ontologie AND '. |
'annu_meta_valeurs.amv_valeur = annu_meta_ontologie.amo_id_ontologie '. |
'WHERE amv_cle_ligne = '.$id_enregistrement_lie.' '; |
'WHERE amv_cle_ligne = '.$id_utilisateur.' '; |
|
$resultat_valeurs_metadonnees = $this->requeteTous($requete_valeurs_metadonnees); |
|