Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3822 → Rev 3823

/trunk/jrest/bibliotheque/RechercheImage.php
42,13 → 42,13
// redéfinis en 2020, affiche toutes les infos images et obs à partir d'un join pour n'avoir que les images liées à une obs
public function rechercherImagesJoinObservation($id_utilisateur = null, $criteres = array(), $debut = 0 , $limite = 50) {
$ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
unset($criteres['tri']);
$direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
unset($criteres['dir']);
$debut = ($debut < 0) ? 0 : $debut;
$requete_recherche_images = 'SELECT ci.`id_image` as id_photo, co.guid,
$ordre = (isset($criteres['tri']) && $criteres['tri']) ? $criteres['tri'] : '';
unset($criteres['tri']);
$direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
unset($criteres['dir']);
$imgUrlTplBase = explode('%', $this->config['settings']['celImgUrlTpl'])[0];
$debut = ($debut < 0) ? 0 : $debut;
$requete_recherche_images = 'SELECT ci.`id_image` as id_photo, co.guid,
`id_observation` as id_obs, `nom_sel`, `nom_sel_nn`, `zone_geo` as localisation, `latitude`, `longitude`,
`date_observation` as date_obs, `commentaire`, `certitude`, `grade` as fiabilite, programme as projet,
`score_identiplante` as score_ip, `url_identiplante` as url_ip, `validation_identiplante` as est_ip_valide,
59,24 → 59,24
`ce_utilisateur` as id_utilisateur, `courriel_utilisateur` as mail_utilisateur, `pseudo_utilisateur` as nom_utilisateur,
ci.`nom_original`, ci.`date_prise_de_vue` as date_photo, "Creative Commons BY-SA (2.0)" as licence,
concat(`nom_sel`, " par ", `pseudo_utilisateur`, " [CC BY-SA 2.0 FR], via Tela Botanica") as attribution,
concat("https://api.tela-botanica.org/img:", lpad(ci.id_image, 9, "0"), "O,") as url_photo, ci.`mots_cles_texte` as tags_photo ';
$requete_recherche_images .= $this->fabriquerRequeteJointureDblObs();
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND co.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
$requete_recherche_images .= $sous_requete_recherche;
if (!empty($ordre)) {
$requete_recherche_images .= ' ORDER BY '.$ordre.' '.$direction;
}
$requete_recherche_images .= ' LIMIT '.$debut.','.$limite;
$resultats_images = array();
$resultats_images = Cel::db()->requeter($requete_recherche_images);
return $resultats_images;
concat("'.$imgUrlTplBase.'", lpad(ci.id_image, 9, "0"), "O") as url_photo, ci.`mots_cles_texte` as tags_photo ';
$requete_recherche_images .= $this->fabriquerRequeteJointureDblObs();
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND co.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
$requete_recherche_images .= $sous_requete_recherche;
if (!empty($ordre)) {
$requete_recherche_images .= ' ORDER BY '.$ordre.' '.$direction;
}
$requete_recherche_images .= ' LIMIT '.$debut.','.$limite;
$resultats_images = array();
$resultats_images = Cel::db()->requeter($requete_recherche_images);
return $resultats_images;
}
 
public function rechercherImages($id_utilisateur = null, $criteres = array(), $debut = 0 , $limite = 50) {
142,11 → 142,11
}
private function fabriquerRequeteJointureDblObs() {
$requete = 'FROM cel_images_export ci '.
'JOIN cel_export_total co '.
'ON ci.ce_observation = co.id_observation '.
'WHERE 1 ';
return $requete;
$requete = 'FROM cel_images_export ci '.
'JOIN cel_export_total co '.
'ON ci.ce_observation = co.id_observation '.
'WHERE 1 ';
return $requete;
}
 
public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
220,9 → 220,9
$sous_requete .= ' AND ';
break;
case "standard":
$sous_requete .= 'co.donnees_standard = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ' AND ';
break;
$sous_requete .= 'co.donnees_standard = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ' AND ';
break;
case "taxon":
$valeur = str_replace('indetermine','null',$valeur);
$sous_requete .= ' (';
256,9 → 256,9
$sous_requete .= ' AND ' ;
break;
case "tri":
break;
break;
case "dir":
break;
break;
default:
$sous_requete .= 'ci.'.$nom.' = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ' AND ' ;
/trunk/jrest/services/CelWidgetImage.php
54,7 → 54,7
$chercheur_images = new RechercheImage($this->config);
$total = $chercheur_images->compterImages(null, $criteres);
$images = $chercheur_images->rechercherImagesJoinObservation(null, $criteres, $this->start, $this->limit);
$images = $this->mettreEnForme($images);
$images = $this->mettreEnForme($images);
$resultat = array('total' => $total,'images' => $images);
$images_json = json_encode($resultat);
65,34 → 65,34
exit();
}
public function mettreEnForme($images) {
$retour = array();
foreach ($images as $id => $image) {
$retour[$id]['id_photo'] = $image['id_photo'];
unset($image['id_photo']);
$retour[$id]['guid'] = $image['guid'];
unset($image['guid']);
$retour[$id]['nom_original'] = $image['nom_original'];
unset($image['nom_original']);
$retour[$id]['date_photo'] = $image['date_photo'];
unset($image['date_photo']);
$retour[$id]['licence'] = $image['licence'];
unset($image['licence']);
$retour[$id]['attribution'] = $image['attribution'];
unset($image['attribution']);
$retour[$id]['url_photo'] = $image['url_photo'];
unset($image['url_photo']);
$retour[$id]['tags_photo'] = $image['tags_photo'];
unset($image['tags_photo']);
$retour[$id]["utilisateur"]['id_utilisateur'] = $image['id_utilisateur'];
unset($image['id_utilisateur']);
$retour[$id]["utilisateur"]['mail_utilisateur'] = $image['mail_utilisateur'];
unset($image['mail_utilisateur']);
$retour[$id]["utilisateur"]['nom_utilisateur'] = $image['nom_utilisateur'];
unset($image['nom_utilisateur']);
$retour[$id]['obs'] = $image;
}
return $retour;
$retour = array();
foreach ($images as $id => $image) {
$retour[$id]['id_photo'] = $image['id_photo'];
unset($image['id_photo']);
$retour[$id]['guid'] = $image['guid'];
unset($image['guid']);
$retour[$id]['nom_original'] = $image['nom_original'];
unset($image['nom_original']);
$retour[$id]['date_photo'] = $image['date_photo'];
unset($image['date_photo']);
$retour[$id]['licence'] = $image['licence'];
unset($image['licence']);
$retour[$id]['attribution'] = $image['attribution'];
unset($image['attribution']);
$retour[$id]['url_photo'] = $image['url_photo'];
unset($image['url_photo']);
$retour[$id]['tags_photo'] = $image['tags_photo'];
unset($image['tags_photo']);
$retour[$id]["utilisateur"]['id_utilisateur'] = $image['id_utilisateur'];
unset($image['id_utilisateur']);
$retour[$id]["utilisateur"]['mail_utilisateur'] = $image['mail_utilisateur'];
unset($image['mail_utilisateur']);
$retour[$id]["utilisateur"]['nom_utilisateur'] = $image['nom_utilisateur'];
unset($image['nom_utilisateur']);
$retour[$id]['obs'] = $image;
}
return $retour;
}
}