32,7 → 32,6 |
private $tris_supportes = array('date'); |
private $retour_champs = array('determination.nom_sci' => 'nom_sel', 'determination.nom_sci.code' => 'nom_sel_nn', |
'station.lieudit' => 'lieudit', 'station', 'milieu'); |
private $code_ref_tax_demande = null; |
private $ref_tax_demande = array(); |
private $infosImages = array(); |
private $nbreImages = 0; |
92,9 → 91,6 |
if (isset($this->parametres['navigation.limite']) == false) { |
$this->parametres['navigation.limite'] = 100; |
} |
if (isset($this->parametres['referentiel']) == false) { |
$this->parametres['referentiel'] = self::CODE_REFTAX_DEFAUT; |
} |
} |
|
private function verifierParametres() { |
207,13 → 203,13 |
private function analyserMasqueNn() { |
$nn = $this->parametres['masque.nn']; |
if (preg_match('/^[0-9]+$/', $nn)) { |
$this->ref_tax_demande[$this->parametres['referentiel']][] = $nn; |
$this->ref_tax_demande[self::CODE_REFTAX_DEFAUT][] = $nn; |
} else { |
// ceci contient potentiellement des formes ref_tax1:nn1,nn2;ref_tax2:nn3,nn4 |
$projetsListeEtNumNoms = explode(';', $nn); |
if (count($projetsListeEtNumNoms) > 0) { |
foreach ($projetsListeEtNumNoms as $projetEtNumNoms) { |
$projetEtNumNoms = (strpos($projetEtNumNoms, ':')) ? $projetEtNumNoms : $this->parametres['referentiel'].':'.$projetEtNumNoms; |
$projetEtNumNoms = (strpos($projetEtNumNoms, ':')) ? $projetEtNumNoms : self::CODE_REFTAX_DEFAUT.':'.$projetEtNumNoms; |
list($projet, $numNoms) = explode(':', $projetEtNumNoms); |
$this->ref_tax_demande[$projet] = explode(',', $numNoms); |
} |
224,9 → 220,11 |
|
//+---------------------------------------- REQUETES ---------------------------------------------------------------+ |
private function obtenirIdImageAuHasard() { |
$refTax = $this->parametres['referentiel']; |
$refTax = self::CODE_REFTAX_DEFAUT; |
$numNom = $this->Bdd->proteger($this->ref_tax_demande[$refTax][0]); |
|
//TODO: modifier la requete lors du passage à la nouvelle base de données pour faire quelque chose |
// du numéro nomenclatural + modifier les champs appelés pour le nouveau format |
$requete = 'SELECT coi.id_image AS id_image '. |
'FROM cel_obs_images AS coi '. |
' LEFT JOIN cel_obs AS co '. |
233,7 → 231,6 |
'ON (coi.id_observation = co.id_observation) '. |
'WHERE ci.transmission = 1 '. |
" AND ci.nom_ret_nn IN ($numNom)"; |
" AND co.nom_referentiel = ".$this->Bdd->proteger($refTax); |
|
$resultat = $this->Bdd->recupererTous($requete); |
|
248,7 → 245,7 |
} |
|
private function obtenirIdPremiereImage() { |
$refTax = $this->parametres['referentiel']; |
$refTax = self::CODE_REFTAX_DEFAUT; |
$numNom = $this->Bdd->proteger($this->ref_tax_demande[$refTax][0]); |
$requete = 'SELECT ci.id_image AS id_image '. |
'FROM cel_images AS ci'. |
259,7 → 256,6 |
'WHERE co.transmission = 1 '. |
" AND co.nom_ret_nn IN ($numNom) ". |
' AND ci.date_prise_de_vue != "0000-00-00" ORDER BY ci.date_prise_de_vue ASC '. |
' AND co.nom_referentiel LIKE '.$this->proteger($refTax.'%').' '. |
'LIMIT 1'; |
|
$resultat = $this->Bdd->recupererTous($requete); |
276,7 → 272,7 |
|
private function chargerInfosImage() { |
$requete = 'SELECT SQL_CALC_FOUND_ROWS '. |
' ci.id_image AS id_img, co.date_observation AS date, '. |
' ci.id_image AS id_img, ci.date_creation AS date, '. |
' co.id_observation AS id_obs, '. |
' ci.courriel_utilisateur AS utilisateur_courriel, '. |
' nom_sel, nom_sel_nn, '. |
292,7 → 288,7 |
} |
|
private function chargerListeImages() { |
$refTax = $this->parametres['referentiel']; |
$refTax = self::CODE_REFTAX_DEFAUT; |
$numNomListe = implode(',', $this->ref_tax_demande[$refTax]); |
$depart = $this->parametres['navigation.depart']; |
$limite = $this->parametres['navigation.limite']; |
302,7 → 298,7 |
$requete = 'SELECT SQL_CALC_FOUND_ROWS '. |
' co.id_observation AS id_obs, co.courriel_utilisateur AS utilisateur_courriel, co.zone_geo, co.ce_zone_geo, '. |
' co.nom_sel, co.nom_sel_nn, '. |
' ci.id_image AS id_img, co.date_observation AS date '. |
' ci.id_image AS id_img, ci.date_prise_de_vue AS date '. |
(isset($this->parametres['retour.champs']) ? ', '.$this->parametres['retour.champs'] : ''). |
'FROM cel_images AS ci'. |
' LEFT JOIN cel_obs_images AS coi '. |
318,10 → 314,10 |
} |
|
private function formerRequeteConditions($numNomListe) { |
$refTax = $this->parametres['referentiel']; |
$where[] = " co.transmission = 1 AND co.nom_ret_nn IN ($numNomListe) "; |
$where[] = " co.nom_referentiel LIKE ".$this->Bdd->proteger($refTax."%").' '; |
|
if (isset($this->parametres['retour.tri']) && $this->parametres['retour.tri'] == 'date') { |
$where[] = ' ci.date_prise_de_vue != "0000-00-00"'; |
} |
return ' WHERE '.implode(' AND ', $where); |
} |
|
328,7 → 324,7 |
private function formerRequeteTri() { |
$order = ''; |
if (isset($this->parametres['retour.tri']) && $this->parametres['retour.tri'] == 'date') { |
$order = ' ORDER BY co.date_observation ASC '; |
$order = ' ORDER BY ci.date_prise_de_vue ASC '; |
} |
return $order; |
} |
501,7 → 497,7 |
} |
|
private function formaterNomSciCode($infos) { |
return $this->parametres['referentiel'].'.'.$infos['nom_sel_nn']; |
return self::CODE_REFTAX_DEFAUT.'.'.$infos['nom_sel_nn']; |
} |
|
private function formaterStation($infos) { |
530,7 → 526,7 |
if ($this->avoirContenu($infos['zone_geo'])) { |
$commune[] = $infos['zone_geo']; |
} |
if (isset($infos['ce_zone_geo']) && $this->avoirContenu($infos['ce_zone_geo']) && $infos['ce_zone_geo'] != 'INSEE-C:') { |
if (isset($infos['ce_zone_geo']) && $this->avoirContenu($infos['ce_zone_geo'])) { |
$commune[] = '('.substr(str_replace('INSEE-C:','',$infos['ce_zone_geo']), 0, 2).')'; |
} |
return implode(' ', $commune); |
537,7 → 533,11 |
} |
|
private function avoirContenu($info) { |
return !($info == null || $info == '' || $info == '000null'); |
$vide = true; |
if ($info == null || $info == '' || $info == '000null') { |
$vide = false; |
} |
return $vide; |
} |
} |
?> |