Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 599 → Rev 600

/trunk/jrest/services/CelWidgetMap.php
63,6 → 63,7
$json = null;
$parametres = $this->traiterParametres(array('utilisateur', 'projet', 'dept', 'num_taxon'), $params, false);
extract($parametres);
$dept = $this->traiterValeursMultiples($dept);
$requete = 'SELECT sector, x_utm, y_utm '.
'FROM cel_inventory AS i '.
70,7 → 71,7
" ON (l.name = i.location AND l.code = TRIM(LEADING '0' FROM i.id_location)) ".
"WHERE transmission = '1' ".
(isset($utilisateur) ? " AND identifiant = '$utilisateur' " : '' ).
(isset($dept) ? " AND l.insee_code LIKE '$dept%' " : '').
(isset($dept) ? " AND l.code IN ($dept) " : '').
(isset($num_taxon) ? " AND num_taxon = '$num_taxon' " : '' ).
(isset($projet) ? ' AND ('.$this->getSqlWhereProjet($projet).') ' : '' );
$resultats = $this->executerRequete($requete);
132,6 → 133,7
$json = null;
$parametres = $this->traiterParametres(array('cle', 'utilisateur', 'projet', 'dept', 'num_taxon'), $params, false);
extract($parametres);
$dept = $this->traiterValeursMultiples($dept);
// Vérification que la clé passée dans l'url est correspond à celle attendue
if ($cle == $this->config['jrest_admin']['cleCarto']) {
141,7 → 143,7
" ON (l.name = i.location AND l.code = TRIM(LEADING '0' FROM i.id_location)) ".
"WHERE transmission = '1' ".
(isset($utilisateur) ? " AND identifiant = '$utilisateur' " : '' ).
(isset($dept) ? " AND l.insee_code LIKE '$dept%' " : '').
(isset($dept) ? " AND l.code IN ($dept) " : '').
(isset($num_taxon) ? " AND num_taxon = '$num_taxon' " : '' ).
(isset($projet) ? ' AND ('.$this->getSqlWhereProjet($projet).') ' : '' );
$resultats = $this->executerRequete($requete);
198,6 → 200,7
$json = null;
$parametres = $this->traiterParametres(array('station', 'utilisateur', 'projet', 'dept', 'num_taxon'), $params, false);
extract($parametres);
$dept = $this->traiterValeursMultiples($dept);
// Récupération des coordonnées depuis l'id station
//$this->debug[] = $station;
223,7 → 226,7
(($type == 'UTM') ? " AND (sector = '$secteur' AND x_utm = '$x_utm' AND y_utm = '$y_utm' ) " : '').
(($type == 'LngLat') ? " AND (coord_x = '$coord_x' AND coord_y = '$coord_y' ) " : '').
(isset($utilisateur) ? " AND identifiant = '$utilisateur' " : '').
(isset($dept) ? " AND l.insee_code LIKE '$dept%' " : '').
(isset($dept) ? " AND l.code IN ($dept) " : '').
(isset($num_taxon) ? " AND num_taxon = '$num_taxon' " : '' ).
((isset($projet) && $projet_sql != '') ? " AND ($projet_sql) " : '' ).
'ORDER BY nom_sel ASC ';
247,7 → 250,7
$json = null;
$parametres = $this->traiterParametres(array('utilisateur', 'projet', 'dept', 'num_taxon'), $params, false);
extract($parametres);
$dept = $this->traiterValeursMultiples($dept);
// Récupération du filtre where pour les mots clés "projet"
if (isset($projet)) {
$projet_sql = $this->getSqlWhereProjet($projet);
259,7 → 262,7
" ON (l.name = i.location AND l.code = TRIM(LEADING '0' FROM i.id_location)) ".
"WHERE transmission = '1' ".
(isset($utilisateur) ? " AND identifiant = '$utilisateur' " : '').
(isset($dept) ? " AND l.insee_code LIKE '$dept%' " : '').
(isset($dept) ? " AND l.code IN ($dept) " : '').
(isset($num_taxon) ? " AND num_taxon = '$num_taxon' " : '' ).
((isset($projet) && $projet_sql != '') ? " AND ($projet_sql) " : '' ).
'ORDER BY nom_ret ASC ';
301,6 → 304,5
$sql = implode(" \nOR ", $requete_projet);
return $sql;
}
}
}
/trunk/jrest/services/Cel.php
403,18 → 403,19
$utilisateur_id = $this->bdd->quote($utilisateur_id);
$mots_cles = $this->protegerMotsCles($mots_cles, $type);
$table = ($type == self::TYPE_IMG) ? 'cel_mots_cles_images' : 'cel_mots_cles_obs' ;
$requete = 'SELECT cmc_mot_cle '.
"FROM $table ".
"WHERE cmc_id_mot_cle_utilisateur IN ($mots_cles) ".
"AND cmc_id_proprietaire = $utilisateur_id ";
$elements = $this->executerRequete($requete);
foreach ($elements as $mot) {
$mots[] = $mot['cmc_mot_cle'];
if (! $this->etreNull($mots_cles)) {
$table = ($type == self::TYPE_IMG) ? 'cel_mots_cles_images' : 'cel_mots_cles_obs' ;
$requete = 'SELECT cmc_mot_cle '.
"FROM $table ".
"WHERE cmc_id_mot_cle_utilisateur IN ($mots_cles) ".
"AND cmc_id_proprietaire = $utilisateur_id ";
$elements = $this->executerRequete($requete);
foreach ($elements as $mot) {
$mots[] = $mot['cmc_mot_cle'];
}
}
}
return $mots;
422,14 → 423,21
private function protegerMotsCles($mots_cles, $type) {
$separateur = ($type == self::TYPE_IMG) ? ',' : ';' ;
$mots_cles_a_proteger = explode($separateur,rtrim(trim($mots_cles), $separateur));
foreach ($mots_cles_a_proteger as $mot) {
$mots_cles_proteges[] = $this->bdd->quote($mot);
}
$mots_cles = implode(',', $mots_cles_proteges);
$mots_cles = $this->traiterValeursMultiples($mots_cles, $separateur);
return $mots_cles;
}
protected function traiterValeursMultiples($valeurs, $separateur_entree = ',' , $separateur_sortie = ',') {
if (! $this->etreNull($valeurs)) {
$valeurs_a_proteger = explode($separateur_entree,trim(trim($valeurs), $separateur_entree));
foreach ($valeurs_a_proteger as $valeur) {
$valeurs_protegees[] = $this->bdd->quote($valeur);
}
$valeurs = implode($separateur_sortie, $valeurs_protegees);
}
return ($this->etreNull($valeurs)) ? null : $valeurs;
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES SQUELETTES PHP