Subversion Repositories Applications.annuaire

Compare Revisions

Regard whitespace Rev 428 → Rev 429

/trunk/controleurs/VerificationControleur.php
65,6 → 65,12
}
break;
 
case 'select':
if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == '') {
$erreurs[$id] = 'Ce champ est obligatoire';
}
break;
 
case 'password':
if($this->estUnchampObligatoire($id, $tableau_champs_obligatoire) && trim($valeur) == ''
|| $valeur != $condition) {
455,6 → 461,11
$valeurs_mappees[$tableau_mappage[0][$cle_champ]] = $valeur;
 
} else {
if($cle_champ && $cle_champ == 'champ_pays' && !is_numeric($valeur)) {
 
$this->chargerModele('MetadonneeModele');
$valeur = $this->MetadonneeModele->obtenirValeurPaysParAbbreviation($valeur);
}
$valeurs_recherchees[$id_champ] = $valeur;
}
463,7 → 474,6
 
unset($valeurs_recherchees[$nom_champ]);
}
return array('valeurs_mappees' => $valeurs_mappees, 'valeurs_recherchees' => $valeurs_recherchees, 'valeurs_get' => $valeurs_get);
}
/trunk/controleurs/MessageControleur.php
49,6 → 49,7
* Constructeur sans paramètres
*/
public function MessageControleur() {
 
$this->__construct();
 
// doit on modérer ?
89,6 → 90,7
* @return boolean le succès ou l'échec de l'envoi du mail
*/
public function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
 
$lien_confirmation_inscription = AppControleur::getUrlConfirmationInscription($code_confirmation_inscription);
 
$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $lien_confirmation_inscription);
107,6 → 109,7
* @return boolean le succès ou l'échec de l'envoi du mail
*/
public function envoyerMailOubliMdp($id_annuaire,$mail, $nouveau_mdp) {
 
$base_url = clone(Registre::getInstance()->get('base_url_application'));
 
$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
141,10 → 144,12
$exclusive = true;
}
 
unset($criteres['id_annuaire']);
unset($criteres['page']);
unset($criteres['taille_page']);
 
$collecteur = new VerificationControleur();
 
$tableau_valeur_collectees = $collecteur->collecterValeursRechercheMoteur($criteres, $this->obtenirChampsMappageAnnuaire($id_annuaire));
$this->criteres_recherche_effectuee = $collecteur->convertirTableauRechercheVersChaine($id_annuaire, $criteres);
 
167,9 → 172,7
// suivant le critères d'exclusivité ou non
$this->chargerModele('AnnuaireModele');
$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $resultat_metadonnees, $exclusive, 0, 0);
 
}
 
$resultat_recherche = $resultat_annuaire_mappe['resultat'];
$nb_resultats = $resultat_annuaire_mappe['total'];
$destinataires = $this->aplatirTableauSansPreserverCles($resultat_recherche);
206,7 → 209,7
$contenu = $this->filtrerChaine($message_antislashe);
 
foreach ($destinataires as $destinataire) {
if (!mail('aurelien@tela-botanica.org', $sujet, $contenu, $entetes)) {
if (!mail($destinataire, $sujet, $contenu, $entetes)) {
return false;
}
}
227,6 → 230,7
 
$message_antislashe = $this->encoderChainePourEnvoiMail($message);
$message_texte = $this->filtrerChaine($message_antislashe);
$message_html = $message_antislashe;
 
$limite = "_----------=_parties_".md5(uniqid (rand()));
326,6 → 330,7
 
// Seconde sous partie : pièce jointe
if ($piece_jointe != null) {
$attachment = chunk_split(base64_encode($piece_jointe));
 
$contenu .= "Content-Type: ".$type_mime."; name=\"".$nom_fichier."\"\n";
335,10 → 340,11
 
$contenu .= $attachment;
$contenu .= "\n--".$limite."--\n";
}
 
foreach ($destinataires as $destinataire) {
if (!mail('aurelien@tela-botanica.org', mb_encode_mimeheader($sujet), $contenu, $entetes)) {
if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
return false;
}
}
356,6 → 362,7
* @param string $donnees_sup tableau d'informations supplémentaires à joindre au message
*/
public function envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet = '', $message = '') {
$donnees['erreurs'] = false;
 
if (!Registre::getInstance()->get('est_admin')) {
383,6 → 390,7
}
 
if (!$donnees['erreurs']) {
$template_mail = 'mail_messagerie';
 
if(Registre::getInstance()->get('est_admin')) {
393,7 → 401,7
$message = $this->getVue(Config::get('dossier_squelettes_mails').$template_mail,$donnees);
 
// si on modere les mails et s'il y a trop de destinataires
//if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
 
$stockage_mail = $this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message);
$donnees['moderation'] = true;
402,7 → 410,7
$donnees['erreurs'] = true;
}
 
/*} else {
} else {
 
// sinon, envoi direct
$envoi_mail_direct = $this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message);
416,8 → 424,8
}
 
$donnees['moderation'] = false;
}*/
}
}
 
$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_envoi_confirmation',$donnees);
 
433,6 → 441,7
}
 
private function envoyerCopieMessageAuModerateur($id_annuaire, $expediteur, $sujet, $destinataires, $message) {
$donnees['expediteur_message'] = $expediteur;
$donnees['sujet_message'] = $sujet;
$donnees['contenu_message'] = $message;
456,6 → 465,7
* @param string $code_confirmation le code associé au données en attente
*/
public function envoyerMailModere($code_confirmation) {
 
// chargement des données temporaire
$message_modele = $this->getModele('DonneeTemporaireModele');
$mail_a_moderer = $message_modele->chargerDonneeTemporaire($code_confirmation);
487,6 → 497,7
* @param string $code_confirmation le code associé au données en attente
*/
public function supprimerMailModere($code_confirmation) {
 
$message_modele = $this->getModele('DonneeTemporaireModele');
$supression_donnees_temp = $message_modele->supprimerDonneeTemporaire($code_confirmation);
 
505,6 → 516,7
* @param string $message corps du message
*/
private function stockerMailPourModeration($expediteur ,$destinataires, $sujet, $message) {
 
$mail = array('expediteur' => $expediteur,
'destinataires' => $destinataires,
'sujet' => $sujet,
517,7 → 529,9
$this->envoyerMailModeration($id_stockage, $expediteur ,$destinataires, $sujet , $message);
return true;
}
 
return false;
 
}
 
/**
527,6 → 541,7
* @param string $message_a_moderer corps du message
*/
private function envoyerMailModeration($id_mail_a_moderer, $expediteur, $destinataires, $sujet_message_a_moderer, $message_a_moderer) {
 
$url_cette_page = $this->getUrlCettePage();
$url_base = $url_cette_page;
 
561,6 → 576,7
$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_message',$donnees);
 
return $this->envoyerMail($this->adresse_mail_annuaire, $this->mail_moderateur, 'Un message est en attente de modération', $contenu_mail);
 
}
 
 
/trunk/controleurs/IdentificationControleur.php
18,7 → 18,18
private $fonction_cryptage_mdp_cookie = 'md5';
private $objet_identification = null;
 
/*public function IdentificationControleur() {
 
Controleur::__construct();
$this->cookie_persistant_nom = session_name().'-memo';
$this->cookie_persistant_nom = 'pap-admin_papyrus_-memo';
$this->duree_identification = time()+Config::get('duree_session_identification');
$this->fonction_cryptage_mdp_cookie = Config::get('fonction_cryptage_mdp_cookie');
}*/
 
public function afficherFormulaireIdentification($id_annuaire, $donnees = array()) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
 
32,11 → 43,13
}
 
public function loggerUtilisateur($utilisateur, $pass) {
$this->objet_identification = Config::get('objet_identification');
 
// on cree le cookie
$this->creerCookie($utilisateur, $pass);
 
// Loguer l'utilisateur
// On loggue l'utilisateur
$this->objet_identification->username = $utilisateur;
$this->objet_identification->password = $pass;
$this->objet_identification->login();
45,8 → 58,10
}
 
public function deLoggerUtilisateur() {
$this->objet_identification = Config::get('objet_identification');
$this->objet_identification->logout();
return true;
}
 
54,33 → 69,36
$this->objet_identification = Config::get('objet_identification');
$this->objet_identification->setAuth($nom_utilisateur);
$pass = $this->objet_identification->password;
 
$this->creerCookie($nom_utilisateur, $pass, true);
}
 
public function creerCookie($utilisateur, $pass, $pass_deja_crypte = false) {
$this->objet_identification = Config::get('objet_identification');
 
// Expiration si l'utilisateur ne referme pas son navigateur
$this->objet_identification->setExpire(0);
$this->objet_identification->setIdle(0);
 
// Création d'un cookie pour rendre permanente l'identification de Papyrus
$pass_crypt = (!$pass_deja_crypte) ? md5($pass) : $pass;
if(!$pass_deja_crypte) {
$pass_crypt = md5($pass);
} else {
$pass_crypt = $pass;
}
$cookie_val = $pass_crypt.$utilisateur;
setcookie(session_name().'-memo', $cookie_val, 0, '/');
}
 
public function obtenirLoginUtilisateurParCookie() {
$nom_session = Config::get('nom_session');
 
if (isset($_COOKIE[$nom_session])) {
$cookie_val = $_COOKIE[$nom_session];
$login_utilisateur = substr($cookie_val, '32', strlen($cookie_val));
$nom_utilisateur = Config::get('nom_utilisateur');
if(isset($_COOKIE[$nom_utilisateur])) {
$login_utilisateur = $_COOKIE[$nom_utilisateur];
return $login_utilisateur;
} else {
return false;
}
}
}
?>
/trunk/controleurs/AnnuaireControleur.php
252,11 → 252,9
*/
public function ajouterNouvelleInscription($identifiant) {
 
//TODO: fonction ignoblement grosse diviser en deux, trois voire quatres fonctions
$this->chargerModele('DonneeTemporaireModele');
$valeurs = $this->DonneeTemporaireModele->chargerDonneeTemporaire($identifiant);
 
//TODO: ça n'est pas très beau de sortir ici, à changer lorsque la fonction sera découpée
if(!$valeurs || count($valeurs) == 0) {
return false;
}
448,8 → 446,7
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
$longueur_id_inscription_temporaire = 8;
$inscrits_en_attente = $this->DonneeTemporaireModele->chargerListeDonneeTemporaire($longueur_id_inscription_temporaire);
$inscrits_en_attente = $this->DonneeTemporaireModele->chargerListeDonneeTemporaire('8');
$inscrits_en_attente_formates = array();
548,6 → 545,9
 
$donnees['champs'] = $champs;
$url_modification_profil = self::getUrlModificationProfil($id_annuaire, $id_utilisateur);
$donnees['url_modification_profil'] = $url_modification_profil;
$navigateur = new NavigationControleur();
$donnees['navigation'] = $navigateur->afficherBandeauNavigationUtilisateur($id_annuaire ,$id_utilisateur, 'fiche');
695,8 → 695,6
 
public function modifierInscription($valeurs) {
//TODO: fonction honteusement trop longue, découper en deux ou trois fonctions,
// dont une chargée de la collecte des données du formulaire
$this->chargerModele('MetadonneeModele');
 
$id_utilisateur = $valeurs['id_utilisateur'];
839,7 → 837,6
$prenom = '';
}
 
 
$valeurs['text_'.$tableau_mappage[1]['champ_nom']] = AppControleur::formaterMotEnMajuscule($valeurs['text_'.$tableau_mappage[1]['champ_nom']]);
$nom = $valeurs['text_'.$tableau_mappage[1]['champ_nom']];
 
856,8 → 853,6
$appli_controleur = new ApplicationExterneControleur();
 
// on fait un trim sur l'email pour éviter des bugs
// lors du login si un espace ou saut de ligne a été tapé
$params = array (
'id_utilisateur' => $id_utilisateur,
'prenom' => $prenom,
1079,6 → 1074,7
 
// 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 $nom_champ => $metadonnee) {
 
$id_champ = $metadonnee['amc_id_champ'];
/trunk/controleurs/MappageControleur.php
31,7 → 31,7
return $annuaire;
}
/**--------Fonctions de gestion des champs de mappage associées à un annuaire et des formulaires associés --------*/
/**--------Fonctions de gestion des champs de mappage associées à un annuaire et des formaulaires associés --------*/
/**
* Affiche le formulaire d'ajout d'une metadonnee
* @param Array $valeurs les valeurs à inclure dans le formulaire (dans le cas du retour erreur)
44,7 → 44,6
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
// TODO: déplacer ceci dans la base de données
$liste_champs_mappage = array('champ_id' => 'Champ identifiant',
'champ_pass' => 'Champ mot de passe',
'champ_nom' => 'Champ nom',
61,6 → 60,9
$roles_deja_affectes = array_intersect_key($liste_champs_mappage, $champs_mappage[0]);
//Debug::printr($champs_mappage[0]);
//Debug::printr($liste_champs_mappage);
$champs_deja_mappe_annuaire = array_intersect_key($champs_mappage[0], $liste_champs_mappage);
$champs_deja_mappe_metadonnees = array_intersect_key($champs_mappage[1], $liste_champs_mappage);
147,25 → 149,18
*/
public function modifierMappage($valeurs) {
 
$this->ChargerModele('MappageModele');
if(isset($valeurs['id_annuaire'])
&& isset($valeurs['at_valeur'])
&& isset($valeurs['at_ressource'])
&& isset($valeurs['at_action'])
&& isset($valeurs['at_id'])) {
$id_annuaire = $valeurs['id_annuaire'];
$id_champ_metadonnee = $valeurs['at_valeur'];
$nom_champ_annuaire = $valeurs['at_ressource'];
$role = $valeurs['at_action'];
$id_mappage = $valeurs['at_id'];
$this->MappageModele->modifierMappage($id_annuaire, $nom_champ_annuaire, $role, $id_champ_metadonnee,$id_mappage);
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->afficherFormulaireModificationMappage($valeurs);
return $this->afficherFormulaireModificationMetadonnee($valeurs);
}
return $this->chargerAnnuaire($valeurs['id_annuaire']);
return $this->chargerAnnuaire($valeurs['amc_ce_annuaire']);
}
 
/**
174,8 → 169,14
*/
public function supprimerMappage($id_annuaire, $id_mappage) {
 
// TODO ajouter méthode
if($id_metadonnee != '') {
$this->chargerModele('MetadonneeModele');
$this->MetadonneeModele->supprimerMetadonneeParId($id_metadonnee);
} else {
return false;
}
return $this->chargerAnnuaire($id_annuaire);
}
 
}
?>
/trunk/controleurs/StatistiqueControleur.php
15,6 → 15,10
 
private $statistiques = null;
 
private $champ_pays = '12';
private $champ_rapport_activite_bota = '102';
private $champ_experience_bota = '4';
 
public function StatistiqueControleur() {
$this->__construct();