Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2212 → Rev 2213

/trunk/services/configurations/config.defaut.ini
152,6 → 152,7
texte = texte,
utilisateur_nom = auteur.nom,
utilisateur_prenom = auteur.prenom,
utilisateur_courriel = auteur.courriel,
date = date,
nom_sel = nom_sel,
nom_sel_nn = nom_sel_nn,
273,7 → 274,8
commentaire = commentaire,
ce_utilisateur = auteur.id,
nom_utilisateur = auteur.nom,
prenom_utilisateur = auteur.prenom
prenom_utilisateur = auteur.prenom,
courriel_utilisateur = auteur.courriel"
; Texte du tag "à déterminer"
tag_adeterminer = aDeterminer
; Permet d'indiquer le nombre de commentaire nécessaire pour que l'observation apparaisse dans l'onglet "En discussion" d'IdentiPlante.
304,7 → 306,7
date_prise_de_vue = date,
nom_original = nom_original,
mots_cles_texte = mots_cles_texte_img"
 
[votes]
; Mapping champs JSON / champs base de données :
mapping = "
316,6 → 318,7
ce_utilisateur = auteur.id,
nom = auteur.nom,
prenom = auteur.prenom,
courriel = auteur.courriel,
date = date,
id_protocole = protocole.id,
intitule = protocole.intitule,
/trunk/services/bibliotheque/Sql.php
110,7 → 110,6
 
public function getWhere() {
// Sous-requete spéciale pour éviter de rechercher dans la table obs jointe à img depuis Pictoflora...
//print_r($this->requete);
if (isset($this->requete['where']['OR_SOUS_REQUETE']) && count($this->requete['where']['OR_SOUS_REQUETE']) > 0) {
$clauseWhereSousRequete = implode(' OR ', $this->requete['where']['OR_SOUS_REQUETE']);
$sousRequete = 'di.ce_observation IN '.
862,4 → 861,4
private function getCombinaisonChampsDateMax() {
return "GREATEST(IFNULL(dc.date,0), IFNULL(dcv.date,0), IFNULL(do.date_observation,0), IFNULL(dcp.date_validation,0), IFNULL(dcpr.date,0))";
}
}
}
/trunk/services/bibliotheque/ParametresFiltrage.php
145,7 → 145,6
if (isset($this->parametres['masque']) && !empty(trim($this->parametres['masque']))) {
$masqueGeneral = trim($this->parametres['masque']);
$masquesDetailCles = array('masque.auteur', 'masque.departement', 'masque.commune', 'masque.id_zone_geo',
 
'masque.standard','masque.ns', 'masque.famille', 'masque.date', 'masque.genre', 'masque.milieu');
 
// Suppression de la génération de SQL du masque général sur les champ spécifiques qui sont traités avec leur valeur propre.
489,4 → 488,4
}
}
}
}
}
/trunk/services/modules/0.1/syndication/Tags.php
173,8 → 173,8
$idsTagsConcat = implode(', ', $idsTags);
$requete = 'SELECT DISTINCT id_tag, tag, date, '.
' do.id_observation, do.nom_sel, do.zone_geo, do.date_observation, di.id_image, '.
' duo.prenom AS auteur_prenom, duo.nom AS auteur_nom, '.
' du.prenom AS tagueur_prenom, du.nom AS tagueur_nom '.
' duo.prenom AS auteur_prenom, duo.nom AS auteur_nom, duo.courriel AS auteur_courriel, '.
' du.prenom AS tagueur_prenom, du.nom AS tagueur_nom, du.courriel AS tagueur_courriel '.
'FROM del_image_tag AS dit '.
' INNER JOIN del_image AS di '.
' ON ce_image = id_image '.
/trunk/services/modules/0.1/syndication/Commentaires.php
167,7 → 167,7
$requete = 'SELECT DISTINCT dc.*, '.
' dob.id_observation AS dob_id_observation, dob.ce_zone_geo AS dob_ce_zone_geo, '.
' dob.zone_geo AS dob_zone_geo, dob.date_observation AS dob_date_observation, dob.nom_sel AS dob_nom_sel, '.
' dob.prenom_utilisateur AS observateur_prenom, dob.nom_utilisateur AS observateur_nom '.
' dob.prenom_utilisateur AS observateur_prenom, dob.nom_utilisateur AS observateur_nom, dob.courriel_utilisateur AS observateur_courriel '.
'FROM del_commentaire AS dc '.
' INNER JOIN del_observation AS dob '.
' ON dob.id_observation = dc.ce_observation '.
/trunk/services/modules/0.1/plantnet/Changements.php
26,7 → 26,6
 
private $parametres = array();
private $ressources = array();
private $date_defaut = '1900-01-01';
private $ordre_defaut = 'asc';
private $idsObsImg = array();
private $infosObsImg = array();
54,10 → 53,14
$this->ressources = $ressources;
$this->parametres = $parametres;
 
if (!isset($parametres['date'])) {
$this->parametres['date'] = $this->date_defaut;
if (!isset($parametres['date.debut'])) {
$this->parametres['date.debut'] = '1900-01-01';
}
 
if (!isset($parametres['date.fin'])) {
$this->parametres['date.fin'] = date('Y-m-d');
}
 
if (! isset($parametres['ordre'])) {
$this->parametres['ordre'] = $this->ordre_defaut;
} else {
92,7 → 95,8
--------------------------------------------------------------------------------*/
 
private function getIdsObsImg() {
$date_debut = "'{$this->parametres['date']}'";
$date_debut = "'{$this->parametres['date.debut']}'";
$date_fin = "'{$this->parametres['date.fin']}'";
$limite = @min(intval($this->parametres['navigation.limite']), 1000);
$limite = $limite ? $limite : 100; // 0 => 10
$depart = intval(@$this->parametres['navigation.depart']);
107,7 → 111,8
'FROM del_plantnet AS p '.
' JOIN del_observation_modif_date '.
' ON (p.id_observation = del_observation_modif_date.id_observation '.
' AND modif_date >= '.$date_debut.') '.
' AND modif_date >= '.date('U', strtotime($date_debut)).') '.
' AND modif_date <= '.date('U', strtotime($date_fin)).') '.
' LEFT JOIN del_image_vote AS iv '.
' ON (id_image = iv.ce_image AND iv.ce_protocole = 3) '.
' LEFT JOIN del_image_tag AS it '.
142,16 → 147,16
 
$requete = 'SELECT '.
'p.id_observation, p.id_image, '.
'cp.id_plantnet, ' .
'p.nom_sel, '.
'p.nom_referentiel, p.nom_ret, p.famille, '.
'p.zone_geo, p.latitude, p.longitude, '.
'p.date_observation, p.date_creation, p.date_transmission, '.
'p.mots_cles_texte, '.
'p.ce_utilisateur, p.prenom_utilisateur, p.nom_utilisateur, '.
'p.i_mots_cles_texte AS mots_cles_texte_image, p.nom_original AS nom_image, '.
'cp.id_plantnet '.
'p.ce_utilisateur, p.prenom_utilisateur, p.nom_utilisateur, p.courriel_utilisateur, '.
'p.i_mots_cles_texte AS mots_cles_texte_image, p.nom_original AS nom_image '.
'FROM del_plantnet AS p '.
'LEFT JOIN tb_cel_test.cel_plantnet AS cp ON p.id_observation = cp.id_observation '.
'LEFT JOIN tb_cel.cel_plantnet AS cp ON p.id_observation = cp.id_observation '.
"WHERE id_image IN ($idsImgConcat) ".
' -- '.__FILE__.':'.__LINE__;
// recuperer les donnees
189,6 → 194,7
$obs[$idobs]['auteur_id'] = $imgdata['ce_utilisateur'];
$obs[$idobs]['auteur_prenom'] = $imgdata['prenom_utilisateur'];
$obs[$idobs]['auteur_nom'] = $imgdata['nom_utilisateur'];
$obs[$idobs]['auteur_courriel'] = $imgdata['courriel_utilisateur'];
 
$obs[$idobs]['mots_cles_obs_cel'] = $this->formaterMotsClesCel($imgdata['mots_cles_texte']);
 
/trunk/services/modules/0.1/commentaires/AjouterCommentaire.php
250,14 → 250,14
$restClient = $this->conteneur->getRestClient();
// Un retour vide est possible (un cas normal où il n'y a pas de résultat)
// mais il fait planter le retour du service si on active l'affichage des erreurs
// donc on passe sciemment les erreurs sous silence (car cette erreur n'en est pas une)
$resultatJson = @$restClient->consulter($url);
// donc on passe sciemment les erreurs sous silence (car cette erreur n'en est pas une)
$resultatJson = @$restClient->consulter($url);
$resultats = json_decode($resultatJson, true);
 
// On ne fait l'affectation que si l'on est sur (donc si un seul résultat)
if (isset($resultats['resultat']) && count($resultats['resultat']) == 1) {
$info = array_pop($resultats['resultat']);
$this->parametres['nom_sel_nn'] = $info['num_nom'];
$this->parametres['nom_sel_nn'] = $info['num_nom'];
}
}
}
/trunk/services/modules/0.1/statistiques/StatistiquesParAnnee.php
150,7 → 150,7
if ($this->annee != null) {
$requete .= ' YEAR(date_transmission) = ' . $this->annee . " AND";
}
$requete .= " (mots_cles_texte LIKE '%determiner%' OR nom_sel_nn = '' OR nom_sel_nn IS NULL OR certitude IN ('à déterminer','douteux'))";
$requete .= " (mots_cles_texte LIKE '%determiner%' OR nom_sel_nn = '' OR nom_sel_nn IS NULL OR certitude IN ('aDeterminer','douteux'))";
if ($mpm) {
$requete = $this->encapsulerMPM($requete, 'date_transmission');
}
182,7 → 182,7
if ($this->annee != null) {
$requete .= ' YEAR(date_transmission) = ' . $this->annee . " AND";
}
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('à déterminer','douteux'))";
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('aDeterminer','douteux'))";
if ($mpm) {
$requete = $this->encapsulerMPM($requete, 'date_transmission');
}
198,7 → 198,7
if ($this->annee != null) {
$requete .= ' YEAR(date_transmission) = ' . $this->annee . " AND";
}
$requete .= " (certitude IN ('à déterminer','douteux')))";
$requete .= " (certitude IN ('aDeterminer','douteux')))";
if ($mpm) {
// @TODO vérifier que grouper sur "date" est pertinent
// date_transmission n'est pas dispo pour grouper ici :-/
216,7 → 216,7
if ($this->annee != null) {
$requete .= ' YEAR(date_transmission) = ' . $this->annee . " AND";
}
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('à déterminer','douteux')) AND id_observation IN"
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('aDeterminer','douteux')) AND id_observation IN"
. " (SELECT ce_observation FROM del_commentaire WHERE proposition_initiale = 1"
. " AND nom_sel_nn != 0"
. " AND nom_sel_nn IS NOT NULL"
245,7 → 245,7
if ($this->annee != null) {
$requete .= ' YEAR(date_transmission) = ' . $this->annee . " AND";
}
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('à déterminer','douteux')) AND id_observation IN"
$requete .= " (mots_cles_texte LIKE '%determiner%' OR certitude IN ('aDeterminer','douteux')) AND id_observation IN"
. " (SELECT ce_observation FROM del_commentaire WHERE proposition_initiale = 1 AND proposition_retenue = 0"
. " AND nom_sel_nn != 0"
. " AND nom_sel_nn IS NOT NULL"
1074,4 → 1074,4
$resultat = json_decode($json, true);
return $resultat;
}
}
}
/trunk/services/modules/0.1/observations/ListeObservations.php
149,7 → 149,7
'zone_geo, lieudit, station, milieu, date_observation, do.mots_cles_texte, '.
'do.date_transmission, do.commentaire, '.
'do.ce_utilisateur AS `auteur.id`, do.prenom_utilisateur AS `auteur.prenom`, '.
'do.nom_utilisateur AS `auteur.nom`, '.
'do.nom_utilisateur AS `auteur.nom`, do.courriel_utilisateur AS `auteur.courriel`, '.
'id_image, date_prise_de_vue AS `date`, hauteur, largeur, nom_original '.
'FROM del_observation AS do '.
' LEFT JOIN del_image AS di ON (do.id_observation = di.ce_observation) '.
383,4 → 383,4
$commentaires = $this->bdd->recuperer($requete);
return $commentaires ? $commentaires['nb'] : 0;
}
}
}
/trunk/services/modules/0.1/observations/ObservationDetails.php
82,7 → 82,8
// rétrocompatibilité champs de l'annuaire après suppression de del_utilisateur
$annuaireChamps = implode(', ', array(
"do.prenom_utilisateur AS `auteur.prenom`",
"do.nom_utilisateur AS `auteur.nom`"));
"do.nom_utilisateur AS `auteur.nom`",
"do.courriel_utilisateur AS `auteur.courriel`"));
 
$requete = "SELECT $obsChamps, $imgChamps, $annuaireChamps ".
"FROM del_observation AS do ".
116,7 → 117,7
private function getCommentaires() {
$selectVotes = array('id_vote', 'ce_proposition', 'ce_utilisateur', 'valeur', 'date');
$selectCommentaires = array('id_commentaire', 'ce_observation', 'ce_proposition', 'ce_commentaire_parent', 'texte',
'ce_utilisateur', 'utilisateur_prenom', 'utilisateur_nom',
'ce_utilisateur', 'utilisateur_prenom', 'utilisateur_nom', 'utilisateur_courriel',
'nom_sel', 'nom_sel_nn', 'nom_ret', 'nom_ret_nn', 'nt', 'famille', 'nom_referentiel', 'date',
'proposition_initiale','proposition_retenue');
 
/trunk/services/modules/0.1/observations/VoteObservation.php
83,6 → 83,7
if (is_numeric($id)) {
$idUtilisateurP = $this->bdd->proteger($id);
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', ".
"courriel AS 'auteur.courriel' ".
'FROM del_utilisateur_infos '.
"WHERE id_utilisateur = $idUtilisateurP ".
' -- '.__FILE__.':'.__LINE__;
172,10 → 173,10
private function creerPropositionInitiale() {
$idObservationP = $this->bdd->proteger($this->ressources[0]);
$requete = 'INSERT IGNORE INTO del_commentaire '.
'(ce_observation, ce_utilisateur, utilisateur_prenom, utilisateur_nom, '.
'(ce_observation, ce_utilisateur, utilisateur_prenom, utilisateur_nom, utilisateur_courriel, '.
'nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, nom_referentiel, date, proposition_initiale) '.
'SELECT id_observation, ce_utilisateur, prenom_utilisateur, nom_utilisateur, '.
' nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, '.
' courriel_utilisateur, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, '.
" nt, famille, nom_referentiel, NOW(), '1' ".
'FROM del_observation do '.
"WHERE id_observation = $idObservationP ".
/trunk/scripts/modules/commentaires/AlerteMailCommentaires.php
546,7 → 546,7
 
protected function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
$code_departement = '';
if (preg_match('/^([0-9]{2})[0-9]{3}$/', $code_zone_geo, $match)) {
if (preg_match('/^INSEE-C:([0-9]{2})[0-9]{3}$/', $code_zone_geo, $match)) {
$code_departement = $match[1];
}
return $code_departement;
/trunk/scripts/modules/adeterminer/AlerteMailADeterminer.php
175,7 → 175,7
 
private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
$code_departement = '';
if (preg_match('/^([0-9]{2})[0-9]{3}$/', $code_zone_geo, $match)) {
if (preg_match('/^INSEE-C:([0-9]{2})[0-9]{3}$/', $code_zone_geo, $match)) {
$code_departement = $match[1];
}
return $code_departement;
/trunk/war/identiplante.php
64,8 → 64,8
<a id="titreLien" href="<?= getUrlPageCourante(); ?>">IdentiPlante</a>
</h1>
<div id="zoneLogos">
<a class="logo_tela" href="https://www.tela-botanica.org" target="_blank"></a>
<a class="logo_pn" href="https://plantnet.org/" target="_blank"></a>
<a class="logo_tela" href="http://www.tela-botanica.org" target="_blank"></a>
<a class="logo_pn" href="http://www.plantnet-project.org/papyrus.php?langue=fr" target="_blank"></a>
</div>
<div id="zoneChapeau">
<ul class="traitTela">