20,256 → 20,16 |
*/ |
public function index() { |
|
//$this->migrerWeb(); |
if(Registre::getInstance()->get('est_admin')) { |
$data = array(); |
$index_annuaire = $this->getVue('index_annuaire', $data); |
|
return $index_annuaire; |
} |
|
/*private function migrerWeb() { |
|
$this->chargerModele('AnnuaireModele'); |
$this->chargerModele('MetadonneeModele'); |
$this->chargerModele('OntologieModele'); |
|
$res = $this->AnnuaireModele->migrer(); |
|
foreach($res as $resultat) { |
|
if(trim($resultat['U_WEB']) != '') { |
$web = $resultat['U_WEB']; |
$id_utilisateur = $resultat['U_ID']; |
|
$regexp_mail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; |
|
if(preg_match($regexp_mail, $web)) { |
|
} else if(!ereg("^http://",$web)) { |
$web = 'http://'.$web; |
} |
|
//ereg_replace("(http://)(([[:punct:]]|[[:alnum:]])*)", |
// "<a href=\"\\0\">\\2</a>",$Texte) |
|
//echo 'modif champ web fonc pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
if(trim($web) != '') { |
|
$id_champ = 134; |
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$web); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$web)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
return $this->afficherFicheUtilisateur(Registre::getInstance()->get('identification_id')); |
} |
} |
} |
|
} else { |
//echo 'pas de valeur pour l\'id '.$id_utilisateur.' <br />'; |
} |
} |
}*/ |
|
/*private function migrerStructure() { |
|
$this->chargerModele('AnnuaireModele'); |
$this->chargerModele('MetadonneeModele'); |
$this->chargerModele('OntologieModele'); |
|
$res = $this->AnnuaireModele->migrer(); |
|
foreach($res as $resultat) { |
|
if(trim($resultat['U_TITLE']) != '' || trim($resultat['U_FONCTION']) != '') { |
$organisme = $resultat['U_TITLE']; |
$fonction = $resultat['U_FONCTION']; |
$id_utilisateur = $resultat['U_ID']; |
|
echo 'modif champ struct fonc pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
if(trim($organisme) != '') { |
|
$id_champ = 138; |
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$organisme); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$organisme)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} |
|
if(trim($fonction) != '') { |
|
$id_champ = 139; |
|
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$fonction); |
|
} else { |
|
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$fonction)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} |
|
} else { |
echo 'pas de valeur pour l\'id '.$id_utilisateur.' <br />'; |
} |
} |
}*/ |
|
|
/*private function migrerPays() { |
|
$this->chargerModele('AnnuaireModele'); |
$this->chargerModele('MetadonneeModele'); |
$this->chargerModele('OntologieModele'); |
|
$res = $this->AnnuaireModele->migrer(); |
|
foreach($res as $resultat) { |
|
if(isset($resultat['U_COUNTRY']) && trim($resultat['U_COUNTRY']) != '') { |
$valeur = $this->MetadonneeModele->renvoyerCorrespondanceIdParAbreviation($resultat['U_COUNTRY'], '1074'); |
$id_utilisateur = $resultat['U_ID']; |
$id_champ = 12; |
|
echo 'modif champ 12 pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
|
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$valeur); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$valeur)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} else { |
echo 'pas de valeur pour l\'id '.$id_utilisateur; |
} |
} |
}*/ |
|
/*private function migrerActiviteAppartenanceExperienceBota() { |
|
$this->chargerModele('AnnuaireModele'); |
$this->chargerModele('MetadonneeModele'); |
$this->chargerModele('OntologieModele'); |
|
$corr_act = array(1 => 30798, 2 => 30799, 3 => 30800); |
$corr_ass = array(1 => 30811, 2 => 30812, 3 => 30813); |
$corr_niv = array(1 => 30786, 2 => 30787, 3 => 30788, 4 => 30790); |
|
$res = $this->AnnuaireModele->migrer(); |
|
foreach($res as $resultat) { |
|
$id_utilisateur = $resultat['U_ID']; |
|
if(isset($resultat['U_ACT']) && trim($resultat['U_ACT']) != '') { |
$id_champ = 102; |
$valeur = $corr_act[$resultat['U_ACT']]; |
|
echo 'modif champ activité pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
|
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$valeur); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$valeur)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} else { |
echo 'pas de valeur pour l\'id '.$id_utilisateur; |
} |
|
if(isset($resultat['U_NIV']) && trim($resultat['U_NIV']) != '') { |
$id_champ = 4; |
$valeur = $corr_niv[$resultat['U_NIV']]; |
|
echo 'modif champ niveau botanique pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
|
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$valeur); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$valeur)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} else { |
echo 'pas de valeur pour l\'id '.$id_utilisateur; |
} |
|
if(isset($resultat['U_ASS']) && trim($resultat['U_ASS']) != '') { |
$id_champ = 133; |
$valeur = $corr_ass[$resultat['U_ASS']]; |
|
echo 'modif champ appartenance association pour id '.$id_utilisateur.' valeur '.$valeur.' <br />'; |
|
// les champs arrivent avec un identifiant sous la forme type_xxx_id |
|
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) { |
// On se contente de la modifier |
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$valeur); |
|
} else { |
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données |
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$valeur)) { |
// Si l'insertion a réussi, on continue |
} else { |
return false; |
} |
} |
} else { |
echo 'pas de valeur pour l\'id '.$id_utilisateur; |
} |
|
echo '<br />'; |
} |
|
exit; |
}*/ |
|
/** |
* Fonction d'affichage par défaut |
*/ |
295,7 → 55,7 |
$this->chargerModele('AnnuaireModele'); |
$data['erreurs'] = null; |
$data['annuaires'] = $this->AnnuaireModele->chargerListeAnnuaire(); |
$liste_annu = $this->getVue(Config::get('dossier_squelettes_annuaires').'liste_annu', $data); |
$liste_annu = $this->getVue(Config::get('dossier_squelettes_gestion_annuaires').'liste_annu', $data); |
|
return $liste_annu; |
} |
312,7 → 72,7 |
$data['champs_mappage'] = $this->obtenirChampsMappageAnnuaire($id); |
$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id, true); |
$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id); |
$annuaire = $this->getVue(Config::get('dossier_squelettes_annuaires').'annuaire', $data); |
$annuaire = $this->getVue(Config::get('dossier_squelettes_gestion_annuaires').'annuaire', $data); |
|
return $annuaire; |
} |
359,6 → 119,8 |
$annuaires_inscrits = $this->getVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_resultat_recherche', $donnees); |
} else { |
// sinon on prend celle par défaut |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$annuaires_inscrits = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees); |
} |
|
382,6 → 144,8 |
|
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire); |
|
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
|
// TODO: ceci charge toutes les métadonnées, voir si l'on ne peut pas parser le formulaire |
// pour ne charger que ce qui est nécéssaire |
foreach($metadonnees as $metadonnee) { |
403,8 → 167,12 |
$donnees['champs'][$nom_champ] = $this->afficherFormulaireChampMetadonnees($id_champ,$metadonnee); |
} |
|
$donnees['tableau_mappage'] = $tableau_mappage[1]; |
|
// si le formulaire existe, on le charge |
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_inscription','formulaires/')) { |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$formulaire_inscription = $this->genererFormulaireInscription($donnees); |
} else { |
// sinon on en génère un qui contient tous les champs |
454,9 → 222,13 |
|
$mail = $valeurs_mappees[$tableau_mappage[1]['champ_mail']]['valeur']; |
$nom = $valeurs_mappees[$tableau_mappage[1]['champ_nom']]['valeur']; |
|
if(isset($tableau_mappage[1]['champ_prenom']) && isset($valeurs_mappees[$tableau_mappage[1]['champ_prenom']]['valeur'])) { |
$prenom = $valeurs_mappees[$tableau_mappage[1]['champ_prenom']]['valeur']; |
} else { |
$prenom = ''; |
} |
|
|
$messagerie = new MessageControleur(); |
|
$messagerie->envoyerMailConfirmationInscription($mail, |
499,10 → 271,21 |
$pass_nouvel_inscrit = $valeurs['password_'.$tableau_mappage[1]['champ_pass']]; |
|
$nom = $valeurs['text_'.$tableau_mappage[1]['champ_nom']]; |
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']]; |
|
$mail = $mail_nouvel_inscrit; |
$pass = $valeurs['password_'.$tableau_mappage[1]['champ_pass']]; |
|
if(isset($tableau_mappage[0]['champ_prenom']) && isset($valeurs_mappees[$tableau_mappage[0]['champ_prenom']])) { |
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']]; |
} else { |
$prenom = ''; |
} |
|
if(isset($tableau_mappage[0]['champ_pays']) && isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) { |
$pays = $valeurs['select_'.$tableau_mappage[1]['champ_pays']]; |
} else { |
$pays = ''; |
} |
|
// on itère sur le tableau de valeur pour récupérer les métadonnées; |
foreach($valeurs as $nom_champ => $valeur) { |
532,7 → 315,7 |
} |
|
// cas spécial du champ pays ou l'on fait un double stockage des données |
if(isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) { |
if(isset($tableau_mappage[0]['champ_pays']) && isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) { |
$pays = $valeurs_mappees[$tableau_mappage[0]['champ_pays']]; |
$valeurs_metadonnees[$tableau_mappage[1]['champ_pays']] = $pays; |
$pays = $this->MetadonneeModele->renvoyerCorrespondanceAbreviationId($pays); |
617,6 → 400,8 |
$this->chargerModele('AnnuaireModele'); |
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire); |
|
$tableau_mappage = $this->AnnuaireModele->obtenirChampsMappageAnnuaire($id_annuaire); |
|
$donnees['id_annuaire'] = $id_annuaire; |
$donnees['id_utilisateur'] = $id_utilisateur; |
|
624,6 → 409,8 |
|
$champs = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur); |
|
$donnees['tableau_mappage'] = $tableau_mappage[1]; |
|
$donnees['champs'] = $champs; |
|
/*if(Registre::getInstance()->get('est_admin')) { |
630,7 → 417,16 |
$donnees['formulaire_blocage'] = $this->getVue(Config::get('dossier_squelettes_elements').'blocage',$donnees); |
}*/ |
|
// Si le formulaire spécifique à l'annuaire existe, on l'affiche |
|
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_fiche','/fiches/')) { |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$fiche_inscrit = $this->genererFicheInscrit($donnees); |
} else { |
// Sinon on prend celui par defaut |
$fiche_inscrit = $this->getVue(Config::get('dossier_squelettes_fiches').$annuaire['informations']['aa_code'].'_fiche',$donnees); |
} |
|
return $fiche_inscrit; |
} |
668,6 → 464,8 |
|
$donnees['champs'] = $champs; |
|
$donnees['tableau_mappage'] = $tableau_mappage[1]; |
|
// on crée un controleur appelle les hooks de résumé pour chaque application externe |
$resumes_controleur = new ApplicationExterneControleur(); |
|
692,6 → 490,8 |
|
$donnees['champs'] = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur); |
|
$donnees['tableau_mappage'] = $tableau_mappage[1]; |
|
//Debug::printr($champs); |
$donnees['resumes'] = $resumes_controleur->gererInscription($id_utilisateur,$mail_utilisateur); |
$donnees['carte_id'] = $this->getVue(Config::get('dossier_squelettes_fiches').'annuaire_tela_inscrits_carte_id',$donnees); |
712,6 → 512,8 |
$champ_metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire); |
$valeurs_metadonnees = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur); |
|
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
|
// TODO: ceci charge toutes les métadonnées, voir si l'on ne peut pas parser le formulaire |
// pour ne charger que ce qui est nécéssaire |
foreach($champ_metadonnees as $champ_metadonnee) { |
730,17 → 532,23 |
|
} |
|
$donnees['tableau_mappage'] = $tableau_mappage[1]; |
|
$donnees['id_utilisateur'] = $id_utilisateur; |
$donnees['erreurs'] = $erreurs; |
|
// le nom du formulaire d'inscription est le même que le code de l'annuaire du genre code_annuaire_inscription |
if(!$this->formulaireExiste($annuaire['informations']['aa_code'])) { |
$formulaire_inscription = $this->genererFormulaireInscription($donnees); |
|
// Si le formulaire spécifique à l'annuaire existe, on l'affiche |
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_modification','/formulaires/')) { |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$formulaire_modification = $this->genererFormulaireModificationInscription($donnees); |
} else { |
$formulaire_inscription = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_modification',$donnees); |
// Sinon on prend celui par defaut |
$formulaire_modification = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_modification',$donnees); |
} |
|
return $formulaire_inscription; |
return $formulaire_modification; |
|
} |
|
754,7 → 562,7 |
$id_annuaire = $valeurs['aa_id_annuaire']; |
unset($valeurs['aa_id_annuaire']); |
|
$this->chargerModele('MetadonneeModele'); |
$this->chargerModele('AnnuaireModele'); |
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
|
$mail_utilisateur = $this->AnnuaireModele->obtenirMailParId($id_annuaire, $id_utilisateur); |
867,11 → 675,13 |
} |
|
|
if(isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) { |
if(isset($tableau_mappage[0]['champ_pays']) && isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) { |
$pays = $valeurs_mappees[$tableau_mappage[0]['champ_pays']]; |
$valeurs_metadonnees[$tableau_mappage[1]['champ_pays']] = $pays; |
$pays = $this->MetadonneeModele->renvoyerCorrespondanceAbreviationId($pays); |
$valeurs_mappees[$tableau_mappage[0]['champ_pays']] = $pays; |
} else { |
$pays = ''; |
} |
|
|
889,8 → 699,13 |
$changement_mail = true; |
} |
|
if(isset($tableau_mappage[0]['champ_prenom']) && isset($valeurs_mappees[$tableau_mappage[0]['champ_prenom']])) { |
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']]; |
} else { |
$prenom = ''; |
} |
|
$nom = $valeurs['text_'.$tableau_mappage[1]['champ_nom']]; |
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']]; |
$ancien_mail = $ancien_mail; |
$mail = $mail_utilisateur; |
$pass = $valeurs['password_'.$tableau_mappage[1]['champ_pass']]; |
1034,6 → 849,10 |
|
$mail_utilisateur = $this->AnnuaireModele->obtenirMailParId($id_utilisateur); |
|
if(!$mail_utilisateur || $mail_utilisateur == '') { |
return $this->index(); |
} |
|
$donnees = array('erreurs' => array()); |
|
$this->chargerModele('MetadonneeModele'); |
1112,6 → 931,8 |
|
// Si le formulaire spécifique à l'annuaire existe, on l'affiche |
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_recherche','/formulaires/')) { |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$formulaire_recherche = $this->genererFormulaireRecherche($donnees); |
} else { |
// Sinon on prend celui par defaut |
1238,6 → 1059,8 |
|
} else { |
// sinon on prend celle par défaut |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees); |
} |
|
1322,6 → 1145,8 |
|
} else { |
// sinon on prend celle par défaut |
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire); |
$donnees['mappage_nom_champs'] = $tableau_nom_mappage; |
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees); |
} |
|
1329,9 → 1154,6 |
} |
|
|
/**--------------------------- Fonctions de vérification et de correspondance des champs --------------------*/ |
|
|
/** --- Fonction pour les images ------------------------------------------------------------------------*/ |
|
public function afficherFormulaireUploadImage($id_annuaire,$id_utilisateur, $donnees = array()) { |
1339,7 → 1161,7 |
$donnees['aa_id_annuaire'] = $id_annuaire; |
$donnees['id_utilisateur'] = $id_utilisateur; |
|
$donnees['amc_nom'] = 'Avatar'; |
$donnees['amc_nom'] = 'Image de profil'; |
|
$this->chargerModele('AnnuaireModele'); |
$id_champ_image = $this->AnnuaireModele->obtenirChampAvatar($id_annuaire); |
1352,6 → 1174,12 |
$formats = str_replace('|',', ',Config::get('extensions_acceptees')); |
$donnees['formats'] = $formats; |
|
$taille_max = Config::get('taille_max_images'); |
$taille_max_formatee = VerificationControleur::convertirTailleFichier(Config::get('taille_max_images')); |
|
$donnees['taille_max_formatee'] = $taille_max_formatee; |
$donnees['taille_max'] = $taille_max; |
|
$donnees['amc_id_champ'] = $id_champ_image; |
|
return $this->getVue(Config::get('dossier_squelettes_champs').'image',$donnees); |