Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1306 → Rev 1307

/trunk/services/modules/0.1/syndication/SyndicationCommentaires.php
52,14 → 52,7
$erreurs = array();
 
if (empty($this->mappingFiltre)) {
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_masque] ou celui-ci est vide ;';
} else {
$champsMappingFiltre = array('espece', 'observation');
foreach ($champsMappingFiltre as $champ) {
if (!isset($this->mappingFiltre[$champ])) {
$erreurs[] = '- le mapping du champ "'.$champ.'" pour le commentaire est manquant ;';
}
}
$erreurs[] = 'Le fichier de configuration ne contient pas le tableau [mapping_masque] ou celui-ci est vide.';
}
 
if (!empty($erreurs)) {
94,10 → 87,10
 
private function construireDonneesCommunesAuFlux($infos) {
$donnees = array();
$donnees['guid'] = $this->creerUrlService();
$donnees['guid'] = htmlspecialchars($this->creerUrlService());
$donnees['titre'] = 'identiPlante : commentaires et propositions';
$donnees['description'] = 'Ce flux regroupe les dernières déterminations et commentaires rédigés dans l\'application identiPlante';
$donnees['lien_service'] = $this->creerUrlService();
$donnees['lien_service'] = htmlspecialchars($this->creerUrlService());
$donnees['lien_del'] = $this->conteneur->getParametre('delAppliLien');
$donnees['editeur'] = $this->conteneur->getParametre('editeur');
$derniere_info_en_date = reset($infos);
260,36 → 253,39
* */
private function chargerClauseWhere() {
$where = array();
 
$tableauMasque = $this->masque->getMasque();
if (!empty($tableauMasque)) {
foreach($tableauMasque as $idMasque => $valeurMasque) {
foreach ($tableauMasque as $idMasque => $valeurMasque) {
$idMasque = str_replace('masque.', '', $idMasque);
$champ = $this->mappingFiltre[$idMasque];
$valeurMasquePattern = $this->gestionBdd->getBdd()->proteger($valeurMasque.'%');
$valeurMasqueProtegee = $this->gestionBdd->getBdd()->proteger($valeurMasque);
 
switch ($idMasque) {
case 'espece':
$where[] = ' dob.'.$this->mappingFiltre[$idMasque].
' LIKE '.$this->gestionBdd->getBdd()->proteger($valeurMasque.'%').' '.
' OR '.' dc.'.$this->mappingFiltre[$idMasque].
' LIKE '.$this->gestionBdd->getBdd()->proteger($valeurMasque.'%').' ';
$where[] = " dob.$champ LIKE $valeurMasquePattern OR dc.$champ LIKE $valeurMasquePattern ";
break;
case 'auteur':
$where[] = $this->creerFiltreAuteur($valeurMasque).' ';
$where[] = $this->creerFiltreAuteur($valeurMasque);
break;
default:
$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->gestionBdd->getBdd()->proteger($valeurMasque);
$where[] = " $champ = $valeurMasqueProtegee ";
}
}
}
 
$whereSql = '';
if (!empty($where)) {
return ' AND '.implode('AND', $where);
} else {
return;
$whereSql = ' AND '.implode('AND', $where);
}
return $whereSql;
}
 
private function creerFiltreAuteur($auteurId) {
$masque = '';
$whereAuteur = '';
if (is_numeric($auteurId)) {
$masque = " dc.ce_utilisateur = $auteurId ";
$whereAuteur = " dc.ce_utilisateur = $auteurId ";
} else {
$auteurIdMotif = $this->gestionBdd->getBdd()->proteger($auteurId.'%');
 
300,19 → 296,19
$nomMotif = $this->gestionBdd->getBdd()->proteger($tableauNomPrenom[0].'%');
$prenomMotif = $this->gestionBdd->getBdd()->proteger($tableauNomPrenom[1].'%');
 
$masque = '('.
$whereAuteur = ' ('.
"(dc.utilisateur_nom LIKE $nomMotif AND dc.utilisateur_prenom LIKE $prenomMotif) ".
'OR '.
"(dc.utilisateur_nom LIKE $nomMotif AND dc.utilisateur_prenom LIKE $prenomMotif) ".
')';
') ';
} else {
$masque = "(dc.utilisateur_nom LIKE $auteurIdMotif OR dc.utilisateur_prenom LIKE $auteurIdMotif) ";
$whereAuteur = "(dc.utilisateur_nom LIKE $auteurIdMotif OR dc.utilisateur_prenom LIKE $auteurIdMotif) ";
}
} else {
$masque = " dob.utilisateur_courriel LIKE $auteurIdMotif ";
$whereAuteur = " dob.utilisateur_courriel LIKE $auteurIdMotif ";
}
}
return $masque;
return $whereAuteur;
}
}
?>