Line 105... |
Line 105... |
105 |
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
|
105 |
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
|
106 |
* @param array $parametres les paramètres situés après le ? dans l'url
|
106 |
* @param array $parametres les paramètres situés après le ? dans l'url
|
107 |
**/
|
107 |
**/
|
108 |
public function consulter($ressources, $parametres) {
|
108 |
public function consulter($ressources, $parametres) {
|
109 |
$req = array('select' => array(), 'join' => array(), 'where' => array(), 'groupby' => array(), 'having' => array());
|
109 |
$req = array('select' => array(), 'join' => array(), 'where' => array(), 'groupby' => array(), 'having' => array());
|
110 |
// toujours nécessaire puisque nous tapons sur del_image qui INNER JOIN cel_images, or nous voulons certes
|
110 |
// toujours nécessaire puisque nous tapons sur v_del_image qui INNER JOIN cel_images, or nous voulons certes
|
111 |
// toutes les images, mais nous voulons $limite observations uniques.
|
111 |
// toutes les images, mais nous voulons $limite observations uniques.
|
112 |
$req['groupby'][] = 'dob.id_observation';
|
112 |
$req['groupby'][] = 'dob.id_observation';
|
Line 113... |
Line 113... |
113 |
|
113 |
|
Line 193... |
Line 193... |
193 |
* @param req: le tableau représentant les composants de la requete SQL
|
193 |
* @param req: le tableau représentant les composants de la requete SQL
|
194 |
* @param db: l'instance de db
|
194 |
* @param db: l'instance de db
|
195 |
*/
|
195 |
*/
|
196 |
static function getIdObs($p, $req, $db) {
|
196 |
static function getIdObs($p, $req, $db) {
|
197 |
$req_s = sprintf('SELECT SQL_CALC_FOUND_ROWS id_observation' .
|
197 |
$req_s = sprintf('SELECT SQL_CALC_FOUND_ROWS id_observation' .
|
198 |
' FROM del_image dob'.
|
198 |
' FROM v_del_image dob'.
|
199 |
' %s' . // LEFT JOIN if any
|
199 |
' %s' . // LEFT JOIN if any
|
200 |
' WHERE %s'. // where-clause ou TRUE
|
200 |
' WHERE %s'. // where-clause ou TRUE
|
201 |
' %s'. // group-by
|
201 |
' %s'. // group-by
|
202 |
' %s'. // having (si commentaires)
|
202 |
' %s'. // having (si commentaires)
|
203 |
' ORDER BY %s %s %s'.
|
203 |
' ORDER BY %s %s %s'.
|
Line 238... |
Line 238... |
238 |
array_map(create_function('$a', 'return "dob.".$a;'), self::$sql_fields_liaisons['dob']),
|
238 |
array_map(create_function('$a', 'return "dob.".$a;'), self::$sql_fields_liaisons['dob']),
|
239 |
array_map(create_function('$a', 'return "di.".$a;'), self::$sql_fields_liaisons['di']),
|
239 |
array_map(create_function('$a', 'return "di.".$a;'), self::$sql_fields_liaisons['di']),
|
240 |
array_map(create_function('$a', 'return "du.".$a;'), self::$sql_fields_liaisons['du'])));*/
|
240 |
array_map(create_function('$a', 'return "du.".$a;'), self::$sql_fields_liaisons['du'])));*/
|
241 |
$select_fields = array_merge(self::$sql_fields_liaisons['dob'],
|
241 |
$select_fields = array_merge(self::$sql_fields_liaisons['dob'],
|
242 |
self::$sql_fields_liaisons['di']);
|
242 |
self::$sql_fields_liaisons['di']);
|
243 |
$req_s = sprintf('SELECT %s FROM del_image di'.
|
243 |
$req_s = sprintf('SELECT %s FROM v_del_image di'.
|
244 |
// ' LEFT JOIN del_commentaire AS dc ON di.id_observation = dc.ce_observation AND dc.nom_sel IS NOT NULL'.
|
244 |
// ' LEFT JOIN del_commentaire AS dc ON di.id_observation = dc.ce_observation AND dc.nom_sel IS NOT NULL'.
|
245 |
' WHERE id_observation IN (%s)',
|
245 |
' WHERE id_observation IN (%s)',
|
246 |
implode(',', $select_fields),
|
246 |
implode(',', $select_fields),
|
247 |
implode(',', $idobs));
|
247 |
implode(',', $idobs));
|
248 |
return $db->recupererTous($req_s);
|
248 |
return $db->recupererTous($req_s);
|
Line 261... |
Line 261... |
261 |
*
|
261 |
*
|
262 |
* Note: toujours rajouter les préfixes de table (dob,du,doi ou di)
|
262 |
* Note: toujours rajouter les préfixes de table (dob,du,doi ou di)
|
263 |
* le préfix de del_observation est "dob"
|
263 |
* le préfix de del_observation est "dob"
|
264 |
* le préfix de del_utilisateur sur id_utilisateur = dob.ce_utilisateur est "du"
|
264 |
* le préfix de del_utilisateur sur id_utilisateur = dob.ce_utilisateur est "du"
|
265 |
* le préfix de del_obs_image sur id_observation = dob.id_observation est "doi"
|
265 |
* le préfix de del_obs_image sur id_observation = dob.id_observation est "doi"
|
266 |
* le préfix de del_image sur id_image = doi.id_image est "di"
|
266 |
* le préfix de v_del_image sur id_image = doi.id_image est "di"
|
267 |
*
|
267 |
*
|
268 |
* @param $p les paramètres (notamment de masque) passés par l'URL et déjà traités/filtrés (sauf quotes)
|
268 |
* @param $p les paramètres (notamment de masque) passés par l'URL et déjà traités/filtrés (sauf quotes)
|
269 |
* @param $req le tableau représentant les composants de la requête à bâtir
|
269 |
* @param $req le tableau représentant les composants de la requête à bâtir
|
270 |
* @param $c conteneur, utilisé soit pour l'appel récursif à requestFilterParams() en cas de param "masque"
|
270 |
* @param $c conteneur, utilisé soit pour l'appel récursif à requestFilterParams() en cas de param "masque"
|
271 |
* soit pour la définition du type (qui utilise la variable nb_commentaires_discussion)
|
271 |
* soit pour la définition du type (qui utilise la variable nb_commentaires_discussion)
|
Line 324... |
Line 324... |
324 |
}
|
324 |
}
|
325 |
if(!empty($p['masque.commune'])) {
|
325 |
if(!empty($p['masque.commune'])) {
|
326 |
$req['where'][] = 'dob.zone_geo LIKE '.$db->proteger($p['masque.commune'].'%');
|
326 |
$req['where'][] = 'dob.zone_geo LIKE '.$db->proteger($p['masque.commune'].'%');
|
327 |
}
|
327 |
}
|
328 |
if(!empty($p['masque.tag'])) {
|
328 |
if(!empty($p['masque.tag'])) {
|
329 |
// i_mots_cles_texte provient de la VIEW del_image
|
329 |
// i_mots_cles_texte provient de la VIEW v_del_image
|
330 |
$req['where'][] = sprintf('CONCAT(%s) REGEXP %s',
|
330 |
$req['where'][] = sprintf('CONCAT(%s) REGEXP %s',
|
331 |
self::sqlAddIfNullPourConcat(array('dob.mots_cles_texte', 'dob.i_mots_cles_texte')),
|
331 |
self::sqlAddIfNullPourConcat(array('dob.mots_cles_texte', 'dob.i_mots_cles_texte')),
|
332 |
$db->proteger($p['masque.tag']));
|
332 |
$db->proteger($p['masque.tag']));
|
333 |
}
|
333 |
}
|