62,7 → 62,6 |
* Vérifier que le service est bien configuré |
* */ |
public function verifierConfiguration() { |
|
$erreurs = array(); |
$tableauImages = $this->conteneur->getParametre('mapping_masque'); |
|
100,25 → 99,6 |
} |
|
/** |
* Retrouver les derniers votes image |
* */ |
private function getDerniersVotesImage() { |
$requete = 'SELECT DISTINCT id_vote, duo.prenom AS observateur_prenom, duo.nom AS observateur_nom, du.prenom AS utilisateur_prenom, du.nom AS utilisateur_nom, nom_sel, intitule, ce_image, valeur, dob.id_observation as del_obs, divo.date as date_vote '. |
' FROM `del_image_vote` divo '. |
' LEFT JOIN del_utilisateur AS du ON divo.ce_utilisateur = du.id_utilisateur '. |
' INNER JOIN del_obs_image doi ON divo.ce_image = doi.id_image '. |
' INNER JOIN del_observation dob ON dob.id_observation = doi.id_observation '. |
' INNER JOIN del_image_protocole ON ce_protocole = id_protocole '. |
' INNER JOIN del_utilisateur AS duo ON dob.ce_utilisateur = duo.id_utilisateur '. |
$this->chargerClauseWhere()." ". |
' ORDER BY divo.date DESC '. |
' LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite(); |
$elements = $this->gestionBdd->getBdd()->recupererTous($requete); |
return $elements; |
} |
|
|
/** |
* Formater les données pour mettre en page le RSS |
* */ |
private function formaterPourRss($elements) { |
138,8 → 118,8 |
private function construireDonneesCommunesAuFlux($infos) { |
$donnees = array(); |
$donnees['guid'] = ''; |
$donnees['titre'] = 'Derniers votes sur les images de l\'application PictoFlora'; |
$donnees['description'] = 'Ce flux regroupe les derniers votes sur les images de Pictoflora'; |
$donnees['titre'] = 'pictoFlora : votes'; |
$donnees['description'] = 'Ce flux regroupe les derniers votes sur les images de pictoFlora'; |
$donnees['lien_service'] = $this->creerUrlService(); |
$donnees['lien_del'] = $this->conteneur->getParametre('pictoAppliLien'); |
$donnees['editeur'] = $this->conteneur->getParametre('editeur'); |
221,26 → 201,41 |
} |
|
private function creerDescription($donnees, $item) { |
$utilisateur = array('prenom' => $donnees['utilisateur_prenom'], 'nom' => $donnees['utilisateur_nom']); |
$utilisateurTxt = htmlspecialchars($this->creerAuteur($utilisateur)); |
$utilisateurTxt = empty($utilisateurTxt) ? 'Anonyme' : $utilisateurTxt; |
|
$idImg = htmlspecialchars($donnees['ce_image']); |
$urlImg = $this->getUrlImage($donnees['ce_image']); |
$miniatureUrl = $this->getUrlImage($donnees['ce_image'], 'CRX2S'); |
$proposition = htmlspecialchars($donnees['nom_sel']); |
$protocole = htmlspecialchars($donnees['intitule']); |
$votant = array('prenom' => $donnees['votant_prenom'], 'nom' => $donnees['votant_nom']); |
$votantTxt = htmlspecialchars($this->creerAuteur($votant)); |
$observateur = array('prenom' => $donnees['observateur_prenom'], 'nom' => $donnees['observateur_nom']); |
$observateurTxt = htmlspecialchars($this->creerAuteur($observateur)); |
|
$description = '<ul>'. |
'<li>Image : '.htmlspecialchars($donnees['ce_image']).'</li>'. |
'<li>Proposition : <em>'.htmlspecialchars($donnees['nom_sel']).'</em></li>'. |
'<li>Protocole : '.htmlspecialchars($donnees['intitule']).'</li>'. |
'<li>Valeur : '.$donnees['valeur'].'/5</li>'. |
'<li>Auteur : '.$observateurTxt.'</li>'. |
'<li>Votant : '.$utilisateurTxt.'</li>'. |
'<li>'. |
' <a href="'.$urlImg.'">'. |
' <img src="'.$miniatureUrl.'" alt="Img #'.$idImg.'"/>'. |
' Image #'.$idImg. |
' </a>'. |
'</li>'. |
"<li>Auteur de l'image : $observateurTxt</li>". |
"<li>Proposition : <em>$proposition</em></li>". |
"<li>Protocole : $protocole</li>". |
'<li>Valeur : <strong>'.$donnees['valeur'].'</strong>/5</li>'. |
'<li>Votant : '.$votantTxt.'</li>'. |
'</ul>'; |
return $description; |
} |
|
private function getUrlImage($id, $format = 'L') { |
$url_tpl = $this->conteneur->getParametre('celImgUrlTpl'); |
$id = sprintf('%09s', $id).$format; |
$url = sprintf($url_tpl, $id); |
return $url; |
} |
|
private function creerAuteur($info) { |
$intitule = ''; |
$intitule = 'Anonyme'; |
if (isset($info['prenom']) && isset($info['nom'])) { |
$intitule = $info['prenom'].' '.$info['nom']; |
} |
248,6 → 243,33 |
} |
|
/** |
* Retrouver les derniers votes image |
* */ |
private function getDerniersVotesImage() { |
$requete = 'SELECT DISTINCT id_vote, ce_image, valeur, divo.date AS date_vote, '. |
' duo.prenom AS observateur_prenom, duo.nom AS observateur_nom, '. |
' duv.prenom AS votant_prenom, duv.nom AS votant_nom, '. |
' do.id_observation AS del_obs, do.nom_sel, dip.intitule '. |
'FROM del_image_vote AS divo '. |
' INNER JOIN del_obs_image AS doi '. |
' ON divo.ce_image = doi.id_image '. |
' INNER JOIN del_observation AS do '. |
' ON do.id_observation = doi.id_observation '. |
' INNER JOIN del_image_protocole AS dip '. |
' ON ce_protocole = id_protocole '. |
' LEFT JOIN del_utilisateur AS duo '. |
' ON do.ce_utilisateur = duo.id_utilisateur '. |
' LEFT JOIN del_utilisateur AS duv '. |
' ON divo.ce_utilisateur = duv.id_utilisateur '. |
$this->chargerClauseWhere().' '. |
'ORDER BY divo.date DESC '. |
'LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite(); |
|
$elements = $this->gestionBdd->getBdd()->recupererTous($requete); |
return $elements; |
} |
|
/** |
* Charger la clause WHERE en fonction des paramètres de masque |
* */ |
private function chargerClauseWhere() { |
287,21 → 309,22 |
if(count($tableauNomPrenom) == 2) { |
// on teste potentiellement un nom prenom ou bien un prénom nom |
$masque = '('. |
'(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[0].'%').' AND '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[1].'%').') OR '. |
'(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[1].'%').' AND '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[0].'%').')'. |
')'; |
'(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[0].'%').' AND '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[1].'%').') OR '. |
'(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[1].'%').' AND '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($tableauNomPrenom[0].'%').')'. |
')'; |
} else { |
$masque = '( |
(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($auteurId.'%').' OR '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($auteurId.'%').')'. |
')'; |
(dc.utilisateur_nom LIKE '.$this->gestionBdd->getBdd()->proteger($auteurId.'%').' OR '. |
'dc.utilisateur_prenom LIKE '.$this->gestionBdd->getBdd()->proteger($auteurId.'%').')'. |
')'; |
} |
} else { |
$masque = " dob.utilisateur_courriel LIKE ".$this->gestionBdd->getBdd()->proteger($valeurMasque.'%')." "; |
$masque = " do.utilisateur_courriel LIKE ".$this->gestionBdd->getBdd()->proteger($valeurMasque.'%')." "; |
} |
} |
return $masque; |
} |
} |
?> |