/trunk/jrest/services/Inventory.php |
---|
87,8 → 87,8 |
$uid[1] = rtrim($uid[1],','); |
$champs_etendus = isset($pairs['obs_etendue']) ? $pairs['obs_etendue'] : null; |
$this->supprimerChampsEtendusDesParametres($pairs); |
$champs_etendus = isset($pairs['obs_etendue']) ? json_decode($pairs['obs_etendue'],true) : null; |
unset($pairs['obs_etendue']); |
$gestionnaire_observation = new GestionObservation($this->config); |
$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs); |
96,11 → 96,18 |
if($champs_etendus != null) { |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$id_obs = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0],$uid[1]); |
foreach($champs_etendus as $cle => $valeur) { |
$gestion_champs_etendus->modifierChampEtendu($id_obs, $cle, $valeur); |
} |
foreach($champs_etendus as &$champ_etendu) { |
$objet_champ_etendu = new ChampEtendu(); |
$objet_champ_etendu->id = $id_obs; |
$objet_champ_etendu->cle = $champ_etendu['cle']; |
$objet_champ_etendu->label = $champ_etendu['label']; |
$objet_champ_etendu->valeur = $champ_etendu['valeur']; |
$champ_etendu = $objet_champ_etendu; |
} |
// ajouterParLots modifie les champs et ajoute ceux qui existent déjà |
$champs_supp = $gestion_champs_etendus->ajouterParLots($champs_etendus); |
} |
return true; |
} |
108,8 → 115,8 |
// Controle detournement utilisateur |
$this->controleUtilisateur($pairs['ce_utilisateur']); |
$champs_etendus = isset($pairs['obs_etendue']) ? $pairs['obs_etendue'] : null; |
$this->supprimerChampsEtendusDesParametres($pairs); |
$champs_etendus = isset($pairs['obs_etendue']) ? json_decode($pairs['obs_etendue'],true) : null; |
unset($pairs['obs_etendue']); |
$gestionnaire_observation = new GestionObservation($this->config); |
$id_nouvelle_obs = $gestionnaire_observation->ajouterObservation($pairs['ce_utilisateur'], $pairs); |
116,21 → 123,21 |
if($champs_etendus != null) { |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_supp = $gestion_champs_etendus->ajouterChampsEtendusMultiples($id_nouvelle_obs, $champs_etendus); |
foreach($champs_etendus as &$champ_etendu) { |
$objet_champ_etendu = new ChampEtendu(); |
$objet_champ_etendu->id = $id_nouvelle_obs; |
$objet_champ_etendu->cle = $champ_etendu['cle']; |
$objet_champ_etendu->label = $champ_etendu['label']; |
$objet_champ_etendu->valeur = $champ_etendu['valeur']; |
$champ_etendu = $objet_champ_etendu; |
} |
$champs_supp = $gestion_champs_etendus->ajouterParLots($champs_etendus); |
} |
return true; |
} |
function supprimerChampsEtendusDesParametres(&$parametres) { |
unset($parametres['obs_etendue']); |
foreach($parametres as $cle => $valeur) { |
if(strpos($cle, "obs_etendue") === 0) { |
unset($parametres[$cle]); |
} |
} |
} |
/** |
* Supprime une observation |
* |
148,7 → 155,6 |
} |
$uid[1] = rtrim($uid[1],','); |
$id_obs = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0],$uid[1]); |
$gestionnaire_observation = new GestionObservation($this->config); |
155,7 → 161,7 |
$suppression_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]); |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_supp = $gestion_champs_etendus->supprimerChampsEtendusAElement($id_obs); |
$champs_supp = $gestion_champs_etendus->vider($id_obs); |
if ($suppression_observation) { |
echo "OK"; |
/trunk/jrest/services/InventoryObservationList.php |
---|
111,9 → 111,17 |
$uid[1] = rtrim($uid[1],','); |
$gestionnaire_observation = new GestionObservation($this->config); |
$modification_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]); |
$tableau_ordres = explode(',', $uid[1]); |
foreach($tableau_ordres as $ordre) { |
$ids_obs[] = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0], $ordre); |
} |
if ($modification_observation) { |
$suppression_observations = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]); |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_supp = $gestion_champs_etendus->viderParLots($ids_obs); |
if ($suppression_observations) { |
echo "OK"; |
} |
/trunk/jrest/services/CelWidgetExport.php |
---|
88,7 → 88,6 |
$this->envoyerCsv($csv); |
break; |
case 'xls': |
$observations = array_slice($observations, 0, 10000); |
$xls = $this->convertirEnXls($observations); |
$this->envoyerXls($xls); |
break; |
/trunk/jrest/services/CelSyndicationObservation.php |
---|
421,7 → 421,7 |
$ids_observations[] = $element['id_observation']; |
} |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_etendus = $gestion_champs_etendus->obtenirChampsEtendusPourElementsMultiples($ids_observations); |
$champs_etendus = $gestion_champs_etendus->consulterParLots($ids_observations); |
$this->auteurs = $this->creerAuteurs($identifiants); |
foreach ($elements as $element) { |
$element['obs_etendue'] = isset($champs_etendus[$element['id_observation']]) ? $champs_etendus[$element['id_observation']] : array(); |
540,9 → 540,13 |
private function creerDescriptionChampsEtendus($obs, $item) { |
$champs_etendus = ''; |
foreach($obs['obs_etendue'] as $cle => $valeur) { |
$champs_etendus .= '<li>'.$cle.' : '.$valeur.' </li>'; |
foreach($obs['obs_etendue'] as $cle => &$champ) { |
$champs_etendus .= '<li>'.$champ->label.' : '.$champ->valeur.' </li>'; |
} |
if($champs_etendus != '') { |
$champs_etendus = '<li> Champs supplémentaires : <ul>'.$champs_etendus.'</ul></li>'; |
} |
return $champs_etendus; |
} |
/trunk/jrest/services/InventoryExport.php |
---|
73,12 → 73,16 |
$limite = isset($criteres['limite']) ? $criteres['limite'] : 0; |
$observations = $chercheur_observations->rechercherObservations($uid[0], $criteres, $numero_page, $limite); |
$ids_obs = array(); |
$indices_lignes_obs = array(); |
$i=1; |
foreach ($observations as $obs) { |
foreach ($observations as &$obs) { |
$obs = $this->denullifierTableauValeurCel(&$obs); |
$ids_obs[] = $obs['id_observation']; |
$indices_lignes_obs[$obs['id_observation']] = $i; |
if ($obs['date_observation'] != "0000-00-00 00:00:00") { |
$obs['date_observation'] = $this->formaterDate($obs['date_observation']); |
} |
107,9 → 111,28 |
$worksheet->write($i,18,$obs['id_observation']); |
$i++; |
} |
$indice_dernier_champ_supp = 19; |
$indices_champs_supp = array(); |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($ids_obs); |
foreach($champs_supp_par_obs as $id_obs => &$champs_supp) { |
foreach($champs_supp as &$champ_etendu) { |
$cle = $champ_etendu->cle; |
$label = $champ_etendu->label; |
$valeur = $champ_etendu->valeur; |
if(!isset($indices_champs_supp[$cle])) { |
$indices_champs_supp[$cle] = $indice_dernier_champ_supp; |
$worksheet->write(0, $indice_dernier_champ_supp, utf8_decode($label)); |
$indice_dernier_champ_supp++; |
} |
$num_ligne_obs = $indices_lignes_obs[$id_obs]; |
$worksheet->write($num_ligne_obs,$indices_champs_supp[$cle],utf8_decode($valeur)); |
} |
} |
$workbook->close(); |
exit(); |
} |
} |
/trunk/jrest/services/CelWidgetSaisie.php |
---|
82,7 → 82,7 |
$obsAAjouter['ce_zone_geo'] = 'INSEE-C:'.$obs['commune_code_insee']; |
$obsAAjouter['lieudit'] = isset($obs['lieudit']) ? $obs['lieudit'] : null; |
$obsAAjouter['station'] = isset($obs['station']) ? $obs['station'] : null; |
$obsAAjouter['milieu'] = $obs['milieu']; |
$obsAAjouter['milieu'] = isset($obs['milieu']) ? $obs['milieu'] : null; |
$obsAAjouter['latitude'] = $obs['latitude']; |
$obsAAjouter['longitude'] = $obs['longitude']; |
$obsAAjouter['geodatum'] = 'WGS84'; |