Line 43... |
Line 43... |
43 |
// Nour recherchons le type de requête demandé
|
43 |
// Nour recherchons le type de requête demandé
|
44 |
$type = $param[0];
|
44 |
$type = $param[0];
|
Line 45... |
Line 45... |
45 |
|
45 |
|
46 |
if ($type == '*' || is_numeric($type)) {
|
46 |
if ($type == '*' || is_numeric($type)) {
|
47 |
// Pré traitement des paramêtres
|
47 |
// Pré traitement des paramêtres
|
48 |
$p = $this->traiterParametresUrl(array('id_projet', 'id_structure', 'recherche'), $param);
|
48 |
$p = $this->traiterParametresUrl(array('id_structure', 'recherche'), $param);
|
49 |
$info = $this->getElementParDefaut($p);
|
49 |
$info = $this->getElementParDefaut($p);
|
50 |
} else {
|
50 |
} else {
|
51 |
$methode = 'getElement'.$type;
|
51 |
$methode = 'getElement'.$type;
|
52 |
if (method_exists($this, $methode)) {
|
52 |
if (method_exists($this, $methode)) {
|
Line 63... |
Line 63... |
63 |
|
63 |
|
64 |
/**
|
64 |
/**
|
65 |
* Méthode par défaut pour garder la compatibilité avec Coel.
|
65 |
* Méthode par défaut pour garder la compatibilité avec Coel.
|
66 |
* Appelée avec les paramêtres d'url suivant :
|
66 |
* Appelée avec les paramêtres d'url suivant :
|
67 |
* /CoelStructure/_/_/_
|
67 |
* /CoelStructure/_/_/_
|
68 |
* ou les _ représentent dans l'ordre : id_projet, id_structure et nom
|
68 |
* ou les _ représentent dans l'ordre : id_structure et nom
|
69 |
* Si un des paramêtres est abscent, il prendre la valeur *
|
69 |
* Si un des paramêtres est abscent, il prendre la valeur *
|
70 |
*/
|
70 |
*/
|
71 |
public function getElementParDefaut($p) {
|
71 |
public function getElementParDefaut($p) {
|
72 |
// Initialisation des variables
|
72 |
// Initialisation des variables
|
Line 73... |
Line 73... |
73 |
$info = array();
|
73 |
$info = array();
|
74 |
|
- |
|
75 |
$whereClause = array();
|
74 |
|
Line 76... |
Line 75... |
76 |
if(isset($p['id_projet'])) $whereClause[] = "cs_ce_projet = {$p['id_projet']}";
|
75 |
$whereClause = array();
|
77 |
if(isset($p['id_structure'])) $whereClause[] = "cs_id_structure = {$p['id_structure']}";
|
76 |
if(isset($p['id_structure'])) $whereClause[] = "cs_id_structure = {$p['id_structure']}";
|
78 |
|
77 |
|
Line 137... |
Line 136... |
137 |
* ou type peut valoir: FRD (= département français)
|
136 |
* ou type peut valoir: FRD (= département français)
|
138 |
* Si un des paramêtres est abscent, il prendre la valeur *
|
137 |
* Si un des paramêtres est abscent, il prendre la valeur *
|
139 |
*/
|
138 |
*/
|
140 |
public function getElementParZoneGeo($param) {
|
139 |
public function getElementParZoneGeo($param) {
|
141 |
// Pré traitement des paramêtres
|
140 |
// Pré traitement des paramêtres
|
142 |
$p = $this->traiterParametresUrl(array('type', 'projets'), $param);
|
141 |
$p = $this->traiterParametresUrl(array('type'), $param);
|
143 |
if (!isset($p['type'])) {
|
142 |
if (!isset($p['type'])) {
|
144 |
$this->messages[] = "Il est obligatoire d'indiquer type de recherche pour utiliser ce service.";
|
143 |
$this->messages[] = "Il est obligatoire d'indiquer type de recherche pour utiliser ce service.";
|
145 |
return array();
|
144 |
return array();
|
146 |
}
|
145 |
}
|
Line 151... |
Line 150... |
151 |
' SUBSTRING( cs_code_postal FROM 1 FOR 3 ), '.
|
150 |
' SUBSTRING( cs_code_postal FROM 1 FOR 3 ), '.
|
152 |
' SUBSTRING( cs_code_postal FROM 1 FOR 2 ) ) AS id, '.
|
151 |
' SUBSTRING( cs_code_postal FROM 1 FOR 2 ) ) AS id, '.
|
153 |
' COUNT( cs_id_structure ) AS nbre '.
|
152 |
' COUNT( cs_id_structure ) AS nbre '.
|
154 |
'FROM coel_structure '.
|
153 |
'FROM coel_structure '.
|
155 |
'WHERE cs_ce_truk_pays = 2654 '.
|
154 |
'WHERE cs_ce_truk_pays = 2654 '.
|
156 |
(isset($p['projets']) ? " AND cs_ce_projet IN ({$p['projets']}) " : '').
|
- |
|
157 |
'GROUP BY IF ( SUBSTRING( cs_code_postal FROM 1 FOR 2 ) >= 96, '.
|
155 |
'GROUP BY IF ( SUBSTRING( cs_code_postal FROM 1 FOR 2 ) >= 96, '.
|
158 |
' SUBSTRING( cs_code_postal FROM 1 FOR 3 ), '.
|
156 |
' SUBSTRING( cs_code_postal FROM 1 FOR 3 ), '.
|
159 |
' SUBSTRING( cs_code_postal FROM 1 FOR 2 ) ) '.
|
157 |
' SUBSTRING( cs_code_postal FROM 1 FOR 2 ) ) '.
|
160 |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'id ASC').' ';
|
158 |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'id ASC').' ';
|
Line 293... |
Line 291... |
293 |
continue; // ne pas mettre à jour sans contrainte de WHERE
|
291 |
continue; // ne pas mettre à jour sans contrainte de WHERE
|
294 |
}
|
292 |
}
|
295 |
$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
|
293 |
$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
|
296 |
}
|
294 |
}
|
297 |
} catch (PDOException $e) {
|
295 |
} catch (PDOException $e) {
|
298 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
|
296 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
|
299 |
}
|
297 |
}
|
Line 300... |
Line 298... |
300 |
|
298 |
|
Line 301... |
Line 299... |
301 |
// Envoie sur la sortie standard
|
299 |
// Envoie sur la sortie standard
|
Line 398... |
Line 396... |
398 |
}
|
396 |
}
|
399 |
}
|
397 |
}
|
400 |
return FALSE;
|
398 |
return FALSE;
|
401 |
}
|
399 |
}
|
Line 402... |
Line 400... |
402 |
|
400 |
|
403 |
private function ajouterGuid($abr_projet, $id_structure) {
|
401 |
private function ajouterGuid($id_structure) {
|
404 |
if ($id_structure !== false) {
|
402 |
if ($id_structure !== false) {
|
405 |
$table_guid = $this->tables[120];
|
403 |
$table_guid = $this->tables[120];
|
406 |
$table_guid['champs_valeurs_id']['cs_id_structure'] = $id_structure;
|
404 |
$table_guid['champs_valeurs_id']['cs_id_structure'] = $id_structure;
|
407 |
$table_guid['champs_valeurs_protege']['cs_guid'] = $this->bdd->quote(sprintf($this->config['coel']['guid'], $abr_projet, 'str'.$id_structure));
|
405 |
$table_guid['champs_valeurs_protege']['cs_guid'] = $this->bdd->quote(sprintf($this->config['coel']['guid'], 'str'.$id_structure));
|
408 |
$this->modifier($table_guid);
|
406 |
$this->modifier($table_guid);
|
409 |
}
|
407 |
}
|
410 |
}
|
408 |
}
|