/trunk/controleurs/MetadonneeControleur.php |
---|
26,8 → 26,9 |
} |
/** |
* Charge la vue contenant la liste des annuaires gérés par l'application |
* @return string la vue contenant la liste des annuaires |
* 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'); |
35,9 → 36,9 |
$data['erreurs'] = array(); |
$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id,true); |
$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id); |
$this->chargerVue('annuaire', $data); |
$annuaire = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire', $data); |
return $this->annuaire; |
return $annuaire; |
} |
/**--------Fonctions de gestion des métadonnées associées à un annuaire--------*/ |
44,6 → 45,7 |
/** |
* 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) { |
63,14 → 65,15 |
$this->chargerModele('MetadonneeModele'); |
$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps(); |
$data['listes'] = $this->MetadonneeModele->chargerListeDesListes(); |
$this->chargerVue('metadonnee_ajout',$data); |
$metadonnee_ajout = $this->getVue(config::get('chemin_squelettes_metadonnees').'metadonnee_ajout',$data); |
return $this->metadonnee_ajout; |
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) { |
91,13 → 94,15 |
$data['valeur'] = $this->MetadonneeModele->chargerInformationsMetadonnee($valeurs['amc_id_champ']); |
$data['types'] = $this->MetadonneeModele->chargerListeDesTypesDeChamps(); |
$data['listes'] = $this->MetadonneeModele->chargerListeDesListes(); |
$this->chargerVue('metadonnee_modification',$data); |
$metadonnee_modification = $this->getVue(config::get('chemin_squelettes_metadonnees').'metadonnee_modification',$data); |
return $this->metadonnee_modification; |
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) { |
116,6 → 121,8 |
/** |
* 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) { |
134,13 → 141,14 |
} |
/** |
* Modifie un champ de métadonnée associé à un 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($valeurs) { |
public function supprimerMetadonnee($id_metadonnee) { |
if(isset($valeurs['amc_id_champ'])) { |
$this->chargerModele('MetadonneeModele'); |
$this->MetadonneeModele->supprimerMetadonnee($valeurs['amc_id_champ']); |
$this->MetadonneeModele->supprimerMetadonneeParId($id_metadonnee); |
} else { |
return $this->afficherFormulaireModificationMetadonnee($valeurs); |
} |
/trunk/controleurs/OntologieControleur.php |
---|
36,9 → 36,9 |
$this->chargerModele('OntologieModele'); |
$data['ontologie'] = $this->OntologieModele->chargerListeListes(); |
$data['titre'] = 'Liste des listes'; |
$this->chargerVue('liste_des_listes', $data); |
$liste_des_listes = $this->getVue(config::get('chemin_squelettes_ontologies').'liste_des_listes', $data); |
return $this->liste_des_listes; |
return $liste_des_listes; |
} |
/** |
54,9 → 54,9 |
$data['informations'] = $this->OntologieModele->chargerInformationsOntologie($identifiant); |
$data['ontologie'] = $this->OntologieModele->chargerListeOntologie($identifiant); |
$this->chargerVue('liste_ontologie', $data); |
$liste_ontologie = $this->getVue(config::get('chemin_squelettes_ontologies').'liste_ontologie', $data); |
return $this->liste_ontologie; |
return $liste_ontologie; |
} |
/** |
82,8 → 82,9 |
$valeurs['amo_ce_parent'] = ''; |
} |
$this->chargerVue('liste_ontologie_ajout', $valeurs); |
return $this->liste_ontologie_ajout; |
$liste_ontologie_ajout = $this->getVue(config::get('chemin_squelettes_ontologies').'liste_ontologie_ajout', $valeurs); |
return $liste_ontologie_ajout; |
} |
/** |
96,8 → 97,8 |
if(trim($id_ontologie) != '') { |
$this->chargerModele('OntologieModele'); |
$data['valeurs'] = $this->OntologieModele->chargerInformationsOntologie($id_ontologie); |
$this->chargerVue('liste_ontologie_modification', $data); |
return $this->liste_ontologie_modification; |
$liste_ontologie_modification = $this->getVue(config::get('chemin_squelettes_ontologies').'liste_ontologie_modification', $data); |
return $liste_ontologie_modification; |
} else { |
return $this->chargerListeListe(); |
} |
/trunk/controleurs/AnnuaireControleur.php |
---|
13,6 → 13,7 |
class AnnuaireControleur extends Controleur { |
/** |
* (fonction héritée de la classe Controleur) |
* Avant chaque chargement de vue, on ajoute l'url de la page dans |
31,9 → 32,9 |
*/ |
public function index() { |
$data = array(); |
$this->chargerVue('index_annuaire', $data); |
$index_annuaire = $this->getVue('index_annuaire', $data); |
return $this->index_annuaire; |
return $index_annuaire; |
} |
/**-------- Fonctions de gestion des annuaires --------------------------------*/ |
46,9 → 47,9 |
$this->chargerModele('AnnuaireModele'); |
$data['erreurs'] = null; |
$data['annuaires'] = $this->AnnuaireModele->chargerListeAnnuaire(); |
$this->chargerVue('liste_annu', $data); |
$liste_annu = $this->getVue(config::get('chemin_squelettes_annuaires').'liste_annu', $data); |
return $this->liste_annu; |
return $liste_annu; |
} |
/** |
62,9 → 63,9 |
$data['erreurs'] = array(); |
$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id, true); |
$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id); |
$this->chargerVue('annuaire', $data); |
$annuaire = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire', $data); |
return $this->annuaire; |
return $annuaire; |
} |
/** |
72,15 → 73,17 |
* @param $id int l'identifiant de l'annuaire |
* @return string la vue contenant les inscrits à l'annuaire |
*/ |
public function chargerAnnuaireListeInscrits($id) { |
public function chargerAnnuaireListeInscrits($id, $numero_page = 1, $taille_page = 50) { |
$this->chargerModele('AnnuaireModele'); |
$data['erreurs'] = array(); |
$champs = $this->obtenirChampsMappageAnnuaire($id); |
$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaireListeInscrits($id, $champs[0], 1); |
$this->chargerVue('annuaire_inscrits', $data); |
$data['champs'] = $this->obtenirChampsMappageAnnuaire($id); |
$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaireListeInscrits($id, $data['champs'][0], $numero_page, $taille_page); |
$data['pagination'] = array('numero_page' => $numero_page, 'taille_page' => $taille_page); |
return $this->annuaire_inscrits; |
$annuaires_inscrits = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire_inscrits', $data); |
return $annuaires_inscrits; |
} |
/**-------- Fonctions d'affichage du formulaire de saisie d'un champ de metadonnée suivant le type de champ---------*/ |
111,11 → 114,14 |
// le nom du formulaire d'inscription est le même que le code de l'annuaire |
// TODO: réfléchir à une meilleure manière de stocker ça |
$this->ChargerVue($annuaire['informations']['aa_code'].'_inscription',$donnees); |
// Générer un fichier s'il n'existe pas ? et ensuite le lire ? |
if(!$this->formulaireExiste($annuaire['informations']['aa_code'])) { |
$formulaire_inscription = $this->genererFormulaireInscription($donnees); |
} else { |
$formulaire_inscription = $this->GetVue(config::get('chemin_squelettes_formulaires').$annuaire['informations']['aa_code'].'_inscription',$donnees); |
} |
$formulaire_inscription = $annuaire['informations']['aa_code'].'_inscription'; |
return $this->$formulaire_inscription; |
return $formulaire_inscription; |
} |
/** |
133,13 → 139,13 |
$donnees['amc_id_champ'] = $id_champ; |
$this->chargerModele('MetadonneeModele'); |
$nom__type_champ = $this->MetadonneeModele->renvoyerCorrespondanceNomTemplateChamp($donnees['amc_ce_type_affichage']); |
return $this->getVue($nom__type_champ,$donnees); |
return $this->getVue(config::get('chemin_squelettes_champs').$nom__type_champ,$donnees); |
} |
/**-------- Fonctions d'inscription -------------------------------------------------------------------------------*/ |
/** |
* Lors d'une tentative d'inscription, ajoute une les infos dans la tables d'inscription |
* Lors d'une tentative d'inscription, ajoute les infos dans la table d'inscription |
* temporaire et envoie le mail contenant le lien de confirmation si tout s'est bien passé |
* @param Array $valeurs les valeurs à ajouter |
* @return string la vue contenant la confirmation de l'inscription |
148,6 → 154,7 |
$this->chargerModele('MetadonneeModele'); |
$id_annuaire = $valeurs['aa_id_annuaire']; |
unset($valeurs['aa_id_annuaire']); |
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
$valeurs_mappees = array(); |
154,11 → 161,27 |
// on itère sur le tableau de valeur pour récupérer les champs de mappage; |
foreach($valeurs as $nom_champ => $valeur) { |
// pour chaque valeur |
// on extrait l'id du champ |
$ids_champ = mb_split("_",$nom_champ); |
$id_champ = $ids_champ[count($ids_champ) - 1]; |
$ids_champ = mb_split("_",$nom_champ, 3); |
if(count($ids_champ) == 3) { |
$type = $ids_champ[0]; |
$id_champ = $ids_champ[2]; |
$confirmation = $valeurs[$type.'_'.$id_champ]; |
} else { |
$type = $ids_champ[0]; |
$confirmation = false; |
$id_champ = $ids_champ[1]; |
} |
// on fait des vérifications et des remplacements sur certaines valeurs |
$valeurs[$nom_champ] = $this->verifierEtRemplacerValeurChamp($type,$valeur,$confirmation); |
// Si le champ fait partie des champs mappés |
$cle_champ = array_search($id_champ, $tableau_mappage[1]); |
165,18 → 188,18 |
if($cle_champ) { |
// on ajoute sa clé correspondante dans le tableau des champs mappés |
// qui sont les champs à vérifier |
$valeurs_mappees[$ids_champ] = $valeur; |
$valeurs_mappees[$cle_champ] = $valeur; |
} |
} |
// vérification des champs minimaux : nom, prénom, mail, mot de passe |
// TODO: des champs minimaux différents pour chaque annuaire ? comment les stocke t'on ? |
/*if($erreurs = $this->verifierErreursChamps($id_annuaire,$valeurs_mappees, $tableau_mappage)) { |
if($erreurs = $this->verifierErreursChamps($id_annuaire,$valeurs_mappees, $tableau_mappage)) { |
$valeurs['erreurs'] = $erreurs; |
return $this->afficherFormulaireInscription($id_annuaire, $valeurs); |
}*/ |
} |
$code_confirmation = $this->InsererDansTableTemporaireEtcreerCodeConfirmationInscription($valeurs); |
$code_confirmation = $this->InsererDansTableTemporaireEtCreerCodeConfirmationInscription($valeurs); |
$this->envoyerMailConfirmationInscription($valeurs_mappees['champ_mail'], |
$valeurs_mappees['champ_nom'], |
183,7 → 206,7 |
$valeurs_mappees['champ_prenom'], |
$code_confirmation); |
// Si tout s'est bien passé, on affiche la page de confirmation |
return $this->getVue('annuaire_inscription_reussie',array()); |
return $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire_inscription_reussie',array()); |
} |
/** |
205,8 → 228,7 |
unset($valeurs['aa_id_annuaire']); |
$this->chargerModele('MetadonneeModele'); |
// TODO: faire un tri par l'id ou selon autre critère pour séparer champs |
// normaux des meta champs |
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
$valeurs_mappees = array(); |
298,15 → 320,14 |
unset($tableau_valeurs[$nom_champ]); |
} |
//print_r($tableau_valeurs); |
$this->chargerModele('MetadonneeModele'); |
$champs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur); |
$donnees['champs'] = array_merge($tableau_valeurs, $champs_metadonnees); |
$this->chargerVue('annuaire_tela_inscrits_fiche',$donnees); |
return $this->annuaire_tela_inscrits_fiche; |
$annuaire_inscrits = $this->getVue(config::get('chemin_squelettes_fiches').'annuaire_tela_inscrits_fiche',$donnees); |
return $annuaire_inscrits; |
} |
/** |
326,10 → 347,17 |
$base_url->setVariableRequete('id',$code_confirmation_inscription); |
$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL()); |
$contenu_mail = $this->getVue('mail_confirmation_inscription',$donnees); |
$contenu_mail = $this->getVue(config::get('chemin_squelettes_mails').'mail_confirmation_inscription',$donnees); |
return mail($adresse_mail,'Inscription au site Tela Botanica',$contenu_mail); |
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini |
$entetes = 'MIME-Version: 1.0' . "\r\n"; |
$entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n"; |
// En-têtes additionnels |
$entetes .= 'To: '.$adresse_mail."\r\n"; |
$entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n"; |
return mail($adresse_mail,'Inscription au site Tela Botanica',$contenu_mail, $entetes); |
} |
/** |
336,7 → 364,7 |
* Insère les données dans la table d'inscription temporaire et crée un code de confirmation (à insérer dans le mail) |
* @param Array $valeurs les valeurs à insérer |
*/ |
private function InsererDansTableTemporaireEtcreerCodeConfirmationInscription($valeurs) { |
private function InsererDansTableTemporaireEtCreerCodeConfirmationInscription($valeurs) { |
// Le code de confirmation est constitué des 8 premiers caractères de l'identifiant de session |
$code_confirmation = substr(session_id(), 0, 8) ; |
389,35 → 417,63 |
$erreurs = false; |
$champ_mail = '16'; |
$champ_prenom = '7'; |
$champ_nom = '1'; |
$champ_pass = '11'; |
if(!$this->mailValide($valeurs[$tableau_mappage[0]['champ_mail']])) { |
if(!$this->mailValide($valeurs['champ_mail'])) { |
$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'mail invalide'; |
} |
if(trim($valeurs['pass_'.$tableau_mappage[0]['champ_mail']]) != '' |
|| trim($valeurs['pass_conf'.$tableau_mappage[1]['champ_mail']]) != '') { |
if($valeurs['pass_'.$champ_pass] =! $valeurs['pass_conf_'.$champ_pass]) { |
$erreurs['pass_'.$tableau_mappage[1]['champ_mail']] = 'mot de passe invalide'; |
} |
if(trim($valeurs['pass']) == '' |
|| $valeurs['pass_conf'] != $valeurs['pass']) { |
$erreurs['pass_'.$tableau_mappage[1]['champ_pass']] = 'mot de passe invalide'; |
} |
if(trim($valeurs['text_'.$tableau_mappage[0]['champ_mail']]) == '') { |
$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'le nom est obligatoire'; |
if(trim($valeurs['champ_nom']) == '') { |
$erreurs['text_'.$tableau_mappage[1]['champ_prenom']] = 'le nom est obligatoire'; |
} |
if(trim($valeurs['text_'.$tableau_mappage[0]['champ_mail']]) == '') { |
$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'le prénom est obligatoire'; |
if(trim($valeurs['champ_prenom']) == '') { |
$erreurs['text_'.$tableau_mappage[1]['champ_nom']] = 'le prénom est obligatoire'; |
} |
return $erreurs; |
} |
private function verifierEtRemplacerValeurChamp($type, $valeur) { |
$valeur_modifiee = $valeur; |
switch($type) { |
// cas du champ texte, à priori, rien de particulier |
case 'text': |
$valeur_modifiee = $valeur; |
break; |
// cas du champ password : on le crypte |
case 'password': |
$valeur_modifiee = $this->encrypterMotDePasse($valeur); |
break; |
// cas du champ checkbox |
case 'checkbox': |
// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie |
if(is_array($valeur)) { |
// on stocke les valeurs d'ontologies liées au cases cochées |
$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur)); |
} else { |
// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non) |
$valeur_modifiee = 1; |
} |
break; |
default: |
$valeur_modifiee = $valeur; |
break; |
} |
return $valeur_modifiee; |
} |
/** |
* Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence |
* de l'adresse) |
426,9 → 482,55 |
*/ |
private function mailValide($mail) { |
$regexp_mail = '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$'; |
return eregi($regexp_mail, $mail); |
$regexp_mail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; |
return preg_match($regexp_mail, $mail); |
} |
/** |
* Renvoie un mot de passe crypté selon la fonction d'encryptage définie dans le fichier de configuration |
* (si celle-ci n'existe pas on utilise une fonction par défaut) |
* @param string $pass le mot de passe à encrypter |
* @return string le mot de passe encrypté |
*/ |
private function encrypterMotDePasse($pass) { |
$fonction = Config::get('pass_crypt_fonct'); |
if(function_exists($fonction)) { |
return $fonction($pass); |
} else { |
return md5($pass); |
} |
} |
/** |
* Renvoie le formulaire demandé s'il existe, sinon faux |
* @param string $nom_formulaire le nom du formulaire demandé (qui est normalement le code d'un annuaire) |
* @return boolean true si le formulaire existe, false sinon |
*/ |
private function formulaireExiste($nom_formulaire) { |
//echo Config::get('chemin_squelettes_formulaires').$nom_formulaire.'_inscription.tpl.html'; |
return file_exists(Config::get('chemin_squelettes').Config::get('chemin_squelettes_formulaires').$nom_formulaire.'_inscription.tpl.html'); |
} |
/** |
* Renvoie un formulaire d'inscription minimal auto-généré |
* @param string $donnees les donnée à inclure dans le formulaire |
* @return string la vue contenant le formulaire généré |
*/ |
private function GenererFormulaireInscription($donnees) { |
$formulaire_modele = $this->getVue(config::get('chemin_squelettes_formulaires').'inscription',$donnees); |
if($formulaire_modele) { |
return $formulaire_modele; |
} else { |
trigger_error("impossible de trouver le squelette de référence pour le formulaire"); |
} |
return false; |
} |
} |
?> |
/trunk/annuaire.php |
---|
1,8 → 1,6 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Ceci est un exemple d'application qui permet d'illustrer le fonctionnement du framework, il montre comment |
* une application peut être dans papyrus, ou bien utilisée en stand alone. |
* |
* PHP version 5 |
* |
22,6 → 20,9 |
Application::setChemin(__FILE__); |
Application::setInfo(Config::get('info')); |
// on stocke les style de l'annuaire pour papyrus |
GEN_stockerStyleExterne('annuaire_papyrus',GEN_CHEMIN_PAP."/applications/annuaire/squelettes/css/annuaire_papyrus.css"); |
/** |
* Fonction d'affichage de Papyrus, pour le corps de page |
*/ |
100,8 → 101,8 |
case 'metadonnee_suppression': |
$controleur = new MetadonneeControleur(); |
$valeurs = $_GET; |
$retour = $controleur->supprimerMetadonnee($valeurs); |
$id_a_supprimer = $_GET['amc_id_metadonnee']; |
$retour = $controleur->supprimerMetadonnee($id_a_supprimer); |
break; |
case 'liste_annu': |
119,7 → 120,19 |
case 'annuaire_inscrits': |
$controleur = new AnnuaireControleur(); |
$id = $_GET['id_annuaire']; |
$retour = $controleur->chargerAnnuaireListeInscrits($id); |
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->chargerAnnuaireListeInscrits($id, $numero_page, $taille_page); |
break; |
default: |
/trunk/modeles/MetadonneeModele.php |
---|
169,10 → 169,10 |
* @param int $id_metadonnee l'identifiant de l'enregistrement à supprimer |
*/ |
public function supprimerMetadonneeParId($id_metadonnee) { |
$requete = 'DELETE FROM annu_meta_colonne '. |
$requete_suppression_metadonnee = 'DELETE FROM annu_meta_colonne '. |
'WHERE amc_id_champ = '.$id_metadonnee; |
return $this->requete($requete); |
return $this->requete($requete_suppression_metadonnee); |
} |
/** |
207,8 → 207,8 |
private function renvoyerCorrespondanceNomId($id_ontologie,$id_parent) { |
$requete = 'SELECT amo_nom '. |
'FROM annu_meta_ontologie '. |
'WHERE amo_ce_parent = '.$id_parent.' '. |
'AND amo_id_ontologie = '.$id_ontologie; |
'WHERE amo_ce_parent = '.$this->proteger($id_parent).' '. |
'AND amo_id_ontologie = '.$this->proteger($id_ontologie); |
return $this->requeteUn($requete); |
} |
288,6 → 288,16 |
return $this->requete($requete); |
} |
/** Supprime les valeurs de metadonnées associés à un identifiant de colonne |
* @param int $id_colonne_liee l'identifiant de la colonne à laquelle sont associées les valeurs à supprimer |
*/ |
public function supprimerValeursMetadonneesParIdColonneLiee($id_colonne_liee) { |
$requete = 'DELETE FROM annu_meta_valeurs '. |
'WHERE amv_ce_colonne = '.$id_colonne_liee; |
return $this->requete($requete); |
} |
/** |
* 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 |
295,30 → 305,51 |
*/ |
public function chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_enregistrement_lie) { |
// 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 '. |
'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.' '; |
// première requete pour obtenir les valeurs des champs de metadonnées liées à la ligne |
$requete_valeurs_metadonnees = 'SELECT amv_ce_colonne, amv_valeur, amc_ce_ontologie, amc_abreviation FROM annu_meta_valeurs '. |
'LEFT JOIN annu_meta_colonne '. |
'ON annu_meta_colonne.amc_id_champ = annu_meta_valeurs.amv_ce_colonne '. |
'WHERE amv_cle_ligne = '.$id_enregistrement_lie.' '; |
$resultat_valeurs_metadonnees = $this->requeteTous($requete_valeurs_metadonnees); |
if(!$resultat_valeurs_metadonnees) { |
return false; |
} |
$liste_metadonnee = array(); |
$liste_metadonnee = array(); |
foreach ($resultat_valeurs_metadonnees as $ligne) { |
} else { |
foreach ($resultat_valeurs_metadonnees as $ligne) { |
$liste_metadonnee[$ligne['amc_abreviation']] = $ligne; |
// pour toutes les valeurs qui sont des élements d'une liste d'ontologie |
if($ligne['amc_ce_ontologie'] != 0) { |
// Si c'est un champ qui contient de multiples valeurs, alors il contient le séparateur de métadonnées |
if(strpos($ligne['amv_valeur'],Config::get('separateur_metadonnee'))) { |
$id_valeurs_metadonnees = explode(Config::get('separateur_metadonnee'), $ligne['amv_valeur']); |
$ligne['amv_valeur'] = $id_valeurs_metadonnees; |
//TODO: faire le foreach |
foreach ($id_valeurs_metadonnees as $id_valeur) { |
$resultat_nom_valeur = $this->renvoyerCorrespondanceNomId($id_valeur,$ligne['amc_ce_ontologie']); |
$ligne['amo_nom'][] = $resultat_nom_valeur['amo_nom']; |
} |
} else { |
$resultat_nom_valeur = $this->renvoyerCorrespondanceNomId($ligne['amv_valeur'],$ligne['amc_ce_ontologie']); |
$ligne['amo_nom'] = $resultat_nom_valeur['amo_nom']; |
} |
$nom_valeur = $resultat_nom_valeur['amo_nom']; |
//print_r($resultat_nom_valeur); |
} |
$liste_metadonnee[$ligne['amc_abreviation']] = $ligne; |
} |
} |
//Debug::printr($liste_metadonnee); |
return $liste_metadonnee; |
} |
/trunk/modeles/AnnuaireModele.php |
---|
67,8 → 67,9 |
/** |
* Charge les inscrits d'une table annuaire mappée, en ne conservant que les champs de mappage indiqués |
* |
*/ |
public function chargerAnnuaireListeInscrits($identifiant, $champs_mappage, $page, $taille_page = 50) { |
public function chargerAnnuaireListeInscrits($identifiant, $champs_mappage, $numero_page, $taille_page = 50) { |
$requete = 'SELECT * '. |
'FROM annu_annuaire '. |
83,7 → 84,10 |
$string_champs_mappage = implode(",", $champs_mappage); |
$requete = 'SELECT '.$string_champs_mappage.' FROM '.$annuaire['informations']['aa_bdd'].'.'.$annuaire['informations']['aa_table'].' LIMIT '.($page-1).','.($page*$taille_page); |
$requete = 'SELECT '.$string_champs_mappage. |
' FROM '.$annuaire['informations']['aa_bdd'].'.'.$annuaire['informations']['aa_table']. |
' ORDER BY '.$champs_mappage['champ_id']. |
' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page); |
$resultat = $this->requeteTous($requete); |
foreach ($resultat as $colonne) { |
/trunk/configurations/config.ini |
---|
17,3 → 17,44 |
identification = true |
; Nom de la base de données principale. |
bdd_nom = "annuaire" |
; Adresse mail indiquée comme expéditeur des mails envoyés par l'appli |
adresse_mail_annuaire = "annuaire@tela-botanica.org" |
; Séparateur des champs de métadonnées à multi valeurs |
separateur_metadonnee = ";;" |
; Fonction d'encryptage des mot de passe |
pass_crypt_fonct = "sha1" |
; Dossiers contenant les squelettes pour les types de champs |
dossier_squelettes_champs = "elements/"; |
; Dossiers contenant les squelettes pour la gestion des annuaires |
dossier_squelettes_annuaires = "annuaires/" |
; Dossiers contenant les squelettes pour la gestion des formaulaires |
dossier_squelettes_formulaires = "formulaires/" |
; Dossiers contenant les squelettes pour la gestion des fiches |
dossier_squelettes_fiches = "fiches/" |
; Dossiers contenant les templates pour les mails |
dossier_squelettes_mails = "mails/" |
; Dossiers contenant les templates pour la gestion des metadonnées |
dossier_squelettes_metadonnees = "metadonnees/" |
; Dossiers contenant les templates pour la gestion des ontologies |
dossier_squelettes_ontologies = "ontologies/" |
; Dossiers contenant les squelettes pour les types de champs |
chemin_squelettes_champs = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_champs}{ref:ds}"; |
; Dossiers contenant les squelettes pour la gestion des annuaires |
chemin_squelettes_annuaires = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_annuaires}{ref:ds}" |
; Dossiers contenant les squelettes pour la gestion des formulaires |
chemin_squelettes_formulaires = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_formulaires}{ref:ds}" |
; Dossiers contenant les squelettes pour la gestion des fiches |
chemin_squelettes_fiches = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_fiches}{ref:ds}" |
; Dossiers contenant les templates pour les mails |
chemin_squelettes_mails = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_mails}{ref:ds}" |
; Dossiers contenant les templates pour la gestion des metadonnées |
chemin_squelettes_metadonnees = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_metadonnees}{ref:ds}" |
; Dossiers contenant les templates pour la gestion des ontologies |
chemin_squelettes_ontologies = "{ref:chemin_squelettes}{ref:ds}{ref:dossier_squelettes_ontologies}{ref:ds}" |
/trunk/configurations/config_papyrus.ini |
---|
18,6 → 18,6 |
identification = "php:$GLOBALS['_GEN_commun']['pear_auth']->getAuth()" |
; debogage |
fw_debogage = false |
fw_debogage = true |
fw_log_debogage = false |
/trunk/squelettes/radio.tpl.html |
---|
File deleted |
/trunk/squelettes/liste_des_listes.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/liste_ontologie.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/liste_annu.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/liste_ontologie_ajout.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/password.tpl.html |
---|
File deleted |
/trunk/squelettes/annuaire.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/metadonnee_modification.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/annuaire_tela_inscrits_inscription.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/mail_confirmation_inscription.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/select.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/annuaire_inscrits.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/metadonnee_ajout.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/annuaire_inscription_reussie.tpl.html |
---|
File deleted |
/trunk/squelettes/textearea.tpl.html |
---|
File deleted |
/trunk/squelettes/annuaire_tela_inscrits_fiche.tpl.html |
---|
File deleted |
/trunk/squelettes/liste_ontologie_modification.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/text.tpl.html |
---|
File deleted |
\ No newline at end of file |
/trunk/squelettes/checkbox.tpl.html |
---|
File deleted |
/trunk/squelettes/elements/password.tpl.html |
---|
New file |
0,0 → 1,2 |
<label style="display:inline;"> <?= $amc_nom ?> : </label><input type="password" name="password_<?=$amc_id_champ?>" id="pass_<?=$amc_id_champ?>" value=""/> |
<label style="display:inline;"> Confirmez le mot de passe : </label><input type="password" name="password_conf_<?=$amc_id_champ?>" id="pass_conf_<?=$amc_id_champ?>" value=""/> |
/trunk/squelettes/elements/textearea.tpl.html |
---|
New file |
0,0 → 1,4 |
<label style="display:inline;"> <?= $amc_nom ?> : </label> |
<input type="textarea" name="textarea_<?=$identifiant_champ?>" id="textarea_<?=$identifiant_champ?>" value="<?=$valeur['amv_valeur']?>"/> |
/trunk/squelettes/elements/text.tpl.html |
---|
New file |
0,0 → 1,0 |
<label style="display:inline;"> <?= $amc_nom ?> : </label><input type="text" name="text_<?=$amc_id_champ?>" id="text_<?=$amc_id_champ?>" value=""/> |
/trunk/squelettes/elements/checkbox.tpl.html |
---|
New file |
0,0 → 1,11 |
<label style="display:inline;"> <?= $amc_description ?> : </label> |
<?php if (isset($liste_valeurs)) { ?> |
<?php foreach($liste_valeurs as $valeur) : ?> |
<span style="margin-right:20px"> |
<input style="margin-right:2px" type="checkbox" name="checkbox_<?=$amc_id_champ.'['.$valeur['amo_id_ontologie'].']' ?>" id="checkbox_<?=$amc_id_champ.'['.$valeur['amo_id_ontologie'].']' ?>" /> |
<label style="display:inline;" for="checkbox_<?=$valeur['amo_id_ontologie'] ?>"><?=$valeur['amo_nom'] ?></label> |
</span> |
<?php endforeach; ?> |
<?php } else { ?> |
</label> <input style="margin-right:2px;display:inline;" type="checkbox" name="checkbox_<?=$amc_id_champ ?>" id="checkbox_<?=$amc_id_champ ?>" /> |
<?php } ?> |
/trunk/squelettes/elements/radio.tpl.html |
---|
New file |
0,0 → 1,8 |
<label style="display:inline;"> <?= $amc_nom ?> : </label> |
<?php foreach($liste_valeurs as $valeur) : ?> |
<span style="margin-right:20px"> |
<input style="margin-right:2px" type="radio" name="radio_<?=$amc_id_champ ?>" id="radio_<?=$valeur['amo_id_ontologie'] ?>" value="<?=$valeur['amo_id_ontologie'] ?>" /> |
<?= $valeur['amo_nom'] ?> |
</span> |
<?php endforeach; ?> |
/trunk/squelettes/elements/select.tpl.html |
---|
New file |
0,0 → 1,6 |
<label style="display:inline;"> <?= $amc_nom ?> : </label> |
<select name="select_<?=$amc_id_champ?>" id="select_<?=$amc_id_champ ?>"> |
<?php foreach($liste_valeurs as $valeur) : ?> |
<option name="option_<?=$valeur['amo_id_ontologie']?>" id="option_<?=$valeur['amo_id_ontologie']?>" value="<?=$valeur['amo_id_ontologie']?>" > <?=$valeur['amo_nom']?> </option> |
<?php endforeach; ?> |
</select> |
/trunk/squelettes/fiches/annuaire_tela_inscrits_fiche.tpl.html |
---|
New file |
0,0 → 1,13 |
<h2> Fiche de l'utilisateur <?= $champs['champ_nom'] ?> <?=$champs['champ_prenom'] ?></h2><br /> |
<div><h3> Mail : <?=$champs['champ_mail'] ?></h3></div><br /> |
<div><h3> Mot de passe : <?=$champs['champ_pass'] ?></h3></div><br /> |
<div><h3> Pays : <?=$champs['pays']['amo_nom'] ?></h3></div><br /> |
<div><h3> Code postal : <?=$champs['code_postal']['amv_valeur'] ?></h3></div><br /> |
<div><h3> Expérience botanique : <?=$champs['experience_bota']['amo_nom'] ?></h3></div><br /> |
<div><h3> Inscrit à la lettre d'actualité : <?=$champs['lettre_actu']['amv_valeur'] ?></h3></div><br /> |
/trunk/squelettes/metadonnees/metadonnee_ajout.tpl.html |
---|
New file |
0,0 → 1,36 |
<h2>Ajout d'un nouveau champ à l'annuaire</h2> |
<form method="post" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','metadonnee_ajout'); |
echo $url_form; ?>"> |
<label for="amo_nom">Nom du champ</label> |
<input type="text" name="amc_nom" id="amc_nom" value="<?=$valeur['amc_nom'] ?>"/> |
<br /> |
<label for="amc_ce_type_affichage">Type du champ</label> |
<select id="amc_ce_type_affichage" name="amc_ce_type_affichage"> |
<option value="0"> Aucun </option> |
<?php foreach($types as $type) : ?> |
<option value="<?=$type['amo_id_ontologie']?>"> <?=$type['amo_nom'] ?> </option> |
<?php endforeach; ?> |
</select> |
<br /> |
<label for="amc_ce_ontologie">Fait partie de la liste</label> |
<select id="amc_ce_ontologie" name="amc_ce_ontologie"> |
<option value="0"> Aucune </option> |
<?php foreach($listes as $liste) : ?> |
<option value="<?=$liste['amo_id_ontologie']?>"> <?=$liste['amo_nom'] ?> </option> |
<?php endforeach; ?> |
</select> |
<br /> |
<label for="amo_abreviation">Abréviation</label> |
<input type="text" name="amc_abreviation" id="amc_abreviation" value="<?=$valeur['amc_abreviation'] ?>" /> |
<br /> |
<label for="amo_description">Description</label> |
<textarea type="text" name="amc_description" id="amc_description"> <?=$valeur['amc_description'] ?> </textarea> |
<br /> |
<input type="hidden" name="amc_ce_annuaire" value="<?=$valeur['amc_ce_annuaire'] ?>"/> |
<input type="submit" value="OK"> <a href="<?=$base_url ?>"> Annuler </a> |
</form> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/metadonnees/metadonnee_modification.tpl.html |
---|
New file |
0,0 → 1,37 |
<h2>Modification d'un champ</h2> |
<form method="post" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','metadonnee_modification'); |
echo $url_form; ?>"> |
<label for="amo_nom">Nom du champ</label> |
<input type="text" name="amc_nom" id="amc_nom" value="<?=$valeur['amc_nom'] ?>"/> |
<br /> |
<label for="amc_ce_type_affichage">Type du champ</label> |
<select id="amc_ce_type_affichage" name="amc_ce_type_affichage"> |
<option value="0"> Aucun </option> |
<?php foreach($types as $type) : ?> |
<option value="<?=$type['amo_id_ontologie']?>" <?php if($valeur['amc_ce_type_affichage'] == $type['amo_id_ontologie']) echo 'selected = "selected"' ?>> <?=$type['amo_nom'] ?> </option> |
<?php endforeach; ?> |
</select> |
<br /> |
<label for="amc_ce_ontologie">Fait partie de la liste</label> |
<select id="amc_ce_ontologie" name="amc_ce_ontologie"> |
<option value="0" <?php if($valeur['amc_ce_ontologie'] == 0) echo 'selected = "selected"' ?>> Aucune </option> |
<?php foreach($listes as $liste) : ?> |
<option value="<?=$liste['amo_id_ontologie']?>" <?php if($valeur['amc_ce_ontologie'] == $liste['amo_id_ontologie']) echo 'selected = "selected"' ?>> <?=$liste['amo_nom'] ?> </option> |
<?php endforeach; ?> |
</select> |
<br /> |
<label for="amo_abreviation">Abréviation</label> |
<input type="text" name="amc_abreviation" id="amc_abreviation" value="<?=$valeur['amc_abreviation'] ?>" /> |
<br /> |
<label for="amo_description">Description</label> |
<textarea type="text" name="amc_description" id="amc_description"> <?=$valeur['amc_description'] ?> </textarea> |
<br /> |
<input type="hidden" name="amc_ce_annuaire" value="<?=$valeur['amc_ce_annuaire'] ?>"/> |
<input type="hidden" name="amc_id_champ" value="<?=$valeur['amc_id_champ'] ?>"/> |
<input type="submit" value="OK"> <a href="<?=$base_url ?>"> Annuler </a> |
</form> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/ontologies/liste_des_listes.tpl.html |
---|
New file |
0,0 → 1,39 |
<h2><?=$titre ?></h2> |
<p> <a href="<?=$url_ajout = clone($base_url); |
$url_ajout->setVariableRequete('m','liste_ontologie_formulaire_ajout'); |
$url_ajout->setVariableRequete('amo_ce_parent','0'); |
echo $url_ajout ?>"> |
Ajout d'une nouvelle liste |
</a> |
</p> |
<table class="liste"> |
<th>Identifiant </th> |
<th>Nom</th> |
<th>Abreviation</th> |
<th>Description</th> |
<th> </th> |
<th> </th> |
<?php foreach ($ontologie as $element) : ?> |
<tr><td><a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','liste_ontologie'); |
$url_detail->setVariableRequete('id_liste',$element['amo_id_ontologie']); |
echo $url_detail; ?>" title="Afficher le détail de la liste"> <?=$element['amo_id_ontologie'] ?> </a></td> |
<td><?=$element['amo_nom'] ?></td> |
<td><?=$element['amo_abreviation'] ?></td> |
<td><?=$element['amo_description'] ?></td> |
<td> <a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','liste_ontologie_formulaire_modification'); |
$url_detail->setVariableRequete('amo_id_ontologie',$element['amo_id_ontologie']); |
echo $url_detail; ?>" title="Modifier cette liste"> <img class="icone" src="<?=$base_url?>/annuaire/squelettes/images/modification.png"/> </a> </td> |
<td> <a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','liste_ontologie_suppression'); |
$url_detail->setVariableRequete('amo_id_ontologie',$element['amo_id_ontologie']); |
echo $url_detail; ?>" title="Supprimer cette liste"> <img class="icone" src="<?=$base_url?>/annuaire/squelettes/images/suppression.png"/> </a> </td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/ontologies/liste_ontologie.tpl.html |
---|
New file |
0,0 → 1,38 |
<h2><?=$informations['amo_nom'] ?> </h2> |
<p><?php if($informations['amo_description'] != 'NULL') echo $informations['amo_description'] ; ?></p> |
<p> <a href="<?=$url_ajout = clone($base_url); |
$url_ajout->setVariableRequete('m','liste_ontologie_formulaire_ajout'); |
$url_ajout->setVariableRequete('amo_ce_parent', $informations['amo_id_ontologie']); |
echo $url_ajout ?>"> |
Ajouter un nouvel élement |
</a> |
</p> |
<table class="liste"> |
<th>Identifiant</th> |
<th>Nom</th> |
<th>Abreviation</th> |
<th>Description</th> |
<th> </th> |
<th> </th> |
<?php foreach ($ontologie as $element) : ?> |
<tr> |
<td><?=$element['amo_id_ontologie'] ?></td> |
<td><?=$element['amo_nom'] ?></td> |
<td><?=$element['amo_abreviation'] ?></td> |
<td><?=$element['amo_description'] ?></td> |
<td> <a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','liste_ontologie_formulaire_modification'); |
$url_detail->setVariableRequete('amo_id_ontologie',$element['amo_id_ontologie']); |
echo $url_detail; ?>" title="Modifier cet élément"> <img class="icone" src="<?=$base_url?>/annuaire/squelettes/images/modification.png"/> </a> </td> |
<td> <a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','liste_ontologie_suppression'); |
$url_detail->setVariableRequete('amo_id_ontologie',$element['amo_id_ontologie']); |
echo $url_detail; ?>" title="Supprimer cet élément"> <img class="icone" src="<?=$base_url?>/annuaire/squelettes/images/suppression.png"/> </a> </td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/ontologies/liste_ontologie_ajout.tpl.html |
---|
New file |
0,0 → 1,30 |
<h2>Ajout |
<?php if($amo_ce_parent == 0) { ?> |
d'une nouvelle liste d'ontologie</h2> |
<?php } else { ?> |
d'un nouvel élement</h2> |
<?php } ?> |
<form method="post" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','liste_ontologie_ajout'); |
echo $url_form; ?>"> |
<label for="amo_nom">Nom <?php if($amo_ce_parent == 0) { ?> |
de la liste </label> |
<?php } else { ?> |
de l'élement</label> |
<?php } ?> |
<input type="text" name="amo_nom" id="amo_nom" value="<?=$amo_nom ?>"/> |
<br /> |
<label for="amo_abreviation">Abréviation</label> |
<input type="text" name="amo_abreviation" id="amo_abreviation" value="<?=$amo_abreviation ?>" /> |
<br /> |
<label for="amo_description">Description</label> |
<textarea name="amo_description" id="amo_description" > <?=$amo_description ?> </textarea> |
<br /> |
<input type="hidden" name="amo_ce_parent" value="<?=$amo_ce_parent ?>"/> |
<input type="submit" value="OK"> <a href="<?=$base_url ?>"> Annuler </a> |
</form> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/ontologies/liste_ontologie_modification.tpl.html |
---|
New file |
0,0 → 1,21 |
<h2>Modification d'une liste d'ontologies</h2> |
<form method="post" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','liste_ontologie_modification'); |
$url_form->setVariableRequete('id_ontologie','liste_ontologie_modification'); |
echo $url_form; ?>"> |
<label for="amo_nom">Nom de la liste</label> |
<input type="text" name="amo_nom" id="amo_nom" value="<?= $valeurs['amo_nom'] ?>"/> |
<br /> |
<label for="amo_abreviation">Abréviation</label> |
<input type="text" name="amo_abreviation" id="amo_abreviation" value="<?= $valeurs['amo_abreviation'] ?>"/> |
<br /> |
<label for="amo_description">Description</label> |
<textarea name="amo_description" id="amo_description"> <?= $valeurs['amo_description'] ?> </textarea> |
<br /> |
<input type="hidden" name="amo_id_ontologie" id="amo_id_ontologie" value="<?= $valeurs['amo_id_ontologie'] ?>"/> |
<input type="submit" value="OK"> <a href="<?=$base_url ?>"> Annuler </a> |
</form> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/annuaires/annuaire_inscrits.tpl.html |
---|
New file |
0,0 → 1,41 |
<h2>Inscrits à l'annuaire <?=$annuaire['informations']['aa_nom'] ?></h2> |
<p><?=$annuaire['informations']['aa_description'] ?></p> |
<h3> Inscrits </h3> |
<?php if($pagination['numero_page'] > 1) { ?> |
<a class="premiere_page" href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','annuaire_inscrits'); |
$url_detail->setVariableRequete('id_annuaire',$annuaire['informations']['aa_id_annuaire']); |
$url_detail->setVariableRequete('numero_page',($pagination['numero_page'] - 1)); |
echo $url_detail; ?>" title="Page précédente"> Page précédente </a> |
<?php } ?> |
<a class="derniere_page" href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','annuaire_inscrits'); |
$url_detail->setVariableRequete('id_annuaire',$annuaire['informations']['aa_id_annuaire']); |
$url_detail->setVariableRequete('numero_page',($pagination['numero_page'] + 1)); |
echo $url_detail; ?>" title="Page suivante"> Page suivante </a> |
<br /><br /><br /> |
<table class="liste"> |
<th></th> |
<?php foreach ($annuaire['colonnes'] as $colonne) : ?> |
<th><?=$colonne ?></th> |
<?php endforeach; ?> |
<?php foreach ($annuaire['inscrits'] as $inscrit) : ?> |
<tr> |
<td><a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','annuaire_fiche_utilisateur_consultation'); |
$url_detail->setVariableRequete('id_annuaire',$annuaire['informations']['aa_id_annuaire']); |
$url_detail->setVariableRequete('id_utilisateur',$inscrit[$annuaire['colonnes']['champ_id']]); |
echo $url_detail; ?>" title="Voir la fiche"> Voir la fiche </a></td> |
<?php foreach ($inscrit as $valeur) : ?> |
<td><?=$valeur ?></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
</table> |
/trunk/squelettes/annuaires/liste_annu.tpl.html |
---|
New file |
0,0 → 1,26 |
<h2>Liste des annuaires</h2> |
<table class="liste"> |
<th></th> |
<th></th> |
<th>Nom</th> |
<th>Description</th> |
<th>Code</th> |
<?php foreach ($annuaires as $element) : ?> |
<tr> |
<td><a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','annuaire_inscrits'); |
$url_detail->setVariableRequete('id_annuaire',$element['aa_id_annuaire']); |
echo $url_detail; ?>" title="Afficher le détail de l'annuaire"> Voir les inscrits </a></td> |
<td><a href="<?=$url_detail = clone($base_url); |
$url_detail->setVariableRequete('m','annuaire'); |
$url_detail->setVariableRequete('id_annuaire',$element['aa_id_annuaire']); |
echo $url_detail; ?>" title="Afficher le détail de l'annuaire"> Voir les champs </a></td> |
<td><?=$element['aa_nom'] ?></td> |
<td><?=$element['aa_description'] ?></td> |
<td><?=$element['aa_code'] ?></td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/annuaires/annuaire.tpl.html |
---|
New file |
0,0 → 1,80 |
<h2>Détail de l'annuaire <?=$annuaire['informations']['aa_nom'] ?></h2> |
<p><?=$annuaire['informations']['aa_description'] ?></p> |
<h3> Informations </h3> |
<table class="liste"> |
<th>Identifiant d'annuaire</th> |
<th>Nom</th> |
<th>Description</th> |
<th>Code</th> |
<tr> |
<td><?=$annuaire['informations']['aa_id_annuaire'] ?></td> |
<td><?=$annuaire['informations']['aa_nom'] ?></td> |
<td><?=$annuaire['informations']['aa_description'] ?></td> |
<td><?=$annuaire['informations']['aa_code'] ?></td> |
</tr> |
</table> |
<hr /> |
<h3> Colonnes </h3> |
<table class="liste"> |
<th>Nom du champ</th> |
<th>Type</th> |
<th>Null</th> |
<th>Clé</th> |
<th>Défaut</th> |
<th>Extra</th> |
<?php foreach ($annuaire['colonnes'] as $colonne) : ?> |
<tr> |
<td><?=$colonne['Field'] ?></td> |
<td><?=$colonne['Type'] ?></td> |
<td><?=$colonne['Null'] ?></td> |
<td><?=$colonne['Key'] ?></td> |
<td><?=$colonne['Default'] ?></td> |
<td><?=$colonne['Extra'] ?></td> |
</tr> |
<?php endforeach; ?> |
</table> |
<h3> Metadonnées </h3> |
<p> <a href="<?=$url_ajout_metadonnee = clone($base_url); |
$url_ajout_metadonnee->setVariableRequete('m','metadonnee_formulaire_ajout'); |
$url_ajout_metadonnee->setVariableRequete('amc_ce_annuaire',$annuaire['informations']['aa_id_annuaire']); |
echo $url_ajout_metadonnee; ?>"> Ajout d'un nouveau champ </a> |
<table class="liste"> |
<th>Nom du champ</th> |
<th>Type</th> |
<th>Abreviation</th> |
<th>Description</th> |
<th>Longueur</th> |
<th></th> |
<th></th> |
<th></th> |
<?php foreach ($metadonnees as $metacolonne) : ?> |
<tr> |
<td><?=$metacolonne['amc_nom'] ?></td> |
<td><?=$metacolonne['amc_ce_nom_type_affichage'] ?></td> |
<td><?=$metacolonne['amc_abreviation'] ?></td> |
<td><?=$metacolonne['amc_description'] ?></td> |
<td><?=$metacolonne['amc_longueur'] ?></td> |
<td><a href="<?=$url_modif_metadonnee = clone($base_url); |
$url_modif_metadonnee->setVariableRequete('m','metadonnee_formulaire_modification'); |
$url_modif_metadonnee->setVariableRequete('amc_id_champ',$metacolonne['amc_id_champ']); |
echo $url_modif_metadonnee; ?>"> Modifier </a></td> |
<td><a href="<?=$url_supp_metadonnee = clone($base_url); |
$url_supp_metadonnee->setVariableRequete('m','metadonnee_suppression'); |
$url_supp_metadonnee->setVariableRequete('amc_id_champ',$metacolonne['amc_id_champ']); |
$url_supp_metadonnee->setVariableRequete('amc_ce_annuaire',$annuaire['informations']['aa_id_annuaire']); |
echo $url_supp_metadonnee; ?>"> Supprimer </a></td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span> |
<?php endif; ?> |
/trunk/squelettes/annuaires/annuaire_inscription_reussie.tpl.html |
---|
New file |
0,0 → 1,2 |
<p> Votre inscription a bien été prise en compte, un email de confirmation vient de vous être envoyé à l'adresse que vous avez indiquée. |
Cliquez sur le lien qu'il contient pour confirmer votre inscription </p> |
/trunk/squelettes/images/suppression.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/squelettes/images/suppression.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/squelettes/images/modification.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/squelettes/images/modification.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/squelettes/images/afficher.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/squelettes/images/afficher.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/squelettes/mails/mail_confirmation_inscription.tpl.html |
---|
New file |
0,0 → 1,8 |
<p> Bonjour <?= $nom ?> <?=$prenom ?>. Votre inscription au site Tela Botanica a bien été prise en compte.<br /> |
Pour confirmer votre inscription, cliquez sur ce lien <a href="<?=$lien_confirmation_inscription ?>"> <?=$lien_confirmation_inscription ?> </a> <br /> |
Cordialement, |
L'équipe de Tela Botanica |
</p> |
/trunk/squelettes/css/annuaire_papyrus.css |
---|
New file |
0,0 → 1,23 |
.icone { |
height:16px; |
width:16px; |
margin: 5px; |
border: none; |
} |
a > .icone { |
text-align:center; |
} |
.premiere_page { |
float:left; |
margin:5px |
} |
.derniere_page { |
float:right; |
margin:5px; |
} |
/trunk/squelettes/formulaires/inscription.tpl.html |
---|
New file |
0,0 → 1,20 |
<h2> Inscription </h2> |
<div id="contenu"> |
<form method="post" id="inscription" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','annuaire_ajout_inscription'); |
echo $url_form; |
?>"> |
<?php foreach($champs as $champ) : ?> |
<div> <?=$champ ?> </div><br /> |
<?php endforeach; ?> |
<input type="hidden" name="aa_id_annuaire" id="aa_id_annuaire" value="<?=$aa_id_annuaire ?>"> |
<?php if(isset($erreurs)) { ?> |
<?php foreach($erreurs as $erreur) : ?> |
<div style="color:#FF0000"> <?=$erreur ?> </div> |
<?php endforeach; ?> |
<?php } ?> |
<input type="submit" value="Valider" /> |
</form> |
</div> |
/trunk/squelettes/formulaires/annuaire_tela_inscrits_inscription.tpl.html |
---|
New file |
0,0 → 1,34 |
<h2> Inscription </h2> |
<div id="contenu"> |
<form method="post" id="inscription" action="<?=$url_form = clone($base_url); |
$url_form->setVariableRequete('m','annuaire_ajout_inscription'); |
echo $url_form; |
?>"> |
<div><?=$champs['nom'] ?></div><br /> |
<div><?=$champs['prenom'] ?></div><br /> |
<div><?=$champs['mail'] ?></div><br /> |
<div><?=$champs['pass'] ?></div><br /> |
<div><?=$champs['pays'] ?></div><br /> |
<div><?=$champs['code_postal'] ?></div><br /> |
<div><?=$champs['experience_bota'] ?></div><br /> |
<div><?=$champs['lettre_actu'] ?></div><br /> |
<div><label style="display:inline">J'ai pris connaissance des <a href="http://www.tela-botanica.org/page:rejoindre_reseau">conditions d'utilisation</a> </label> <?=$champs['conditions_utilisation'] ?></div><br /> |
<input type="hidden" name="aa_id_annuaire" id="aa_id_annuaire" value="<?=$aa_id_annuaire ?>"> |
<?php if(isset($erreurs)) { ?> |
<?php foreach($erreurs as $erreur) : ?> |
<div style="color:#FF0000"> <?=$erreur ?> </div> |
<?php endforeach; ?> |
<?php } ?> |
<input type="submit" value="Valider" /> |
</form> |
</div> |