Subversion Repositories eFlore/Applications.cel

Rev

Rev 798 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 798 Rev 889
Line 1... Line 1...
1
<?php
1
<?php
2
 
-
 
3
Class InventoryImageListPublic extends Cel {
2
class InventoryImageListPublic extends Cel {
Line 4... Line 3...
4
		
3
		
5
	private $criteres = array('mots-cles' => 'c.ci_meta_mots_cles', 
4
	private $criteres = array('tag' => 'c.ci_meta_mots_cles', 
6
							'auteur' => 'c.ci_ce_utilisateur', 
5
							'auteur' => 'c.ci_ce_utilisateur', 
7
							'commune' => 'b.location', 
6
							'commune' => 'b.location', 
8
							'dept' => 'b.id_location',
7
							'dept' => 'b.id_location',
Line 48... Line 47...
48
		
47
		
49
		if(isset($_GET['limit'])) {
48
		if(isset($_GET['limit'])) {
50
			$this->limit = $_GET['limit'];
49
			$this->limit = $_GET['limit'];
Line -... Line 50...
-
 
50
		}
51
		}
51
		
52
		
52
		
Line 53... Line 53...
53
		// Construction de la requête
53
		// Construction de la requête
Line 84... Line 84...
84
		
84
		
Line 85... Line 85...
85
		$res = $this->executerRequete($requete_debut);
85
		$res = $this->executerRequete($requete_debut);
Line 86... Line 86...
86
        
86
        
Line 87... Line 87...
87
		$res_nb =& $this->executerRequete($requete_nb);
87
		$res_nb =& $this->executerRequete($requete_nb);
Line 88... Line 88...
88
        
88
        
89
        $images = array();
89
		$images = array();
90
        
90
        
91
        $total = 0;
91
		$total = 0;
Line 125... Line 125...
125
						$this->limite = $this->proteger($nom_valeur[1]) ;
125
						$this->limite = $this->proteger($nom_valeur[1]) ;
126
					}
126
					}
127
					elseif($nom_valeur[0] == "c.ci_numero_page")
127
					elseif($nom_valeur[0] == "c.ci_numero_page")
128
					{
128
					{
129
						$this->start = $this->limite*$this->proteger($nom_valeur[1]) ;
129
						$this->start = $this->limite*$this->proteger($nom_valeur[1]) ;
-
 
130
					} elseif($nom_valeur[0] == "c.ci_ce_utilisateur")
-
 
131
					{
-
 
132
						$requete .= 'c.ci_ce_utilisateur LIKE '.$this->proteger($nom_valeur[1].'%') ;
-
 
133
						$requete .= ' AND ';
130
					}
134
					}
131
					elseif($nom_valeur[0] == "c.ci_meta_mots_cles")
135
					elseif($nom_valeur[0] == "c.ci_meta_mots_cles")
132
					{
136
					{
133
						$requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]);   
137
						$requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]);   
-
 
138
						$requete .= ' AND ';
134
					}
139
					}
135
					elseif($nom_valeur[0] == "c.ci_meta_comment")
140
					elseif($nom_valeur[0] == "c.ci_meta_comment")
136
					{
141
					{
137
						$mots_comment_liste = explode(" " , $nom_valeur[1]) ;
142
						$mots_comment_liste = explode(" " , $nom_valeur[1]) ;
Line 138... Line 143...
138
 
143
 
139
						foreach($mots_comment_liste as $mot_comment)
144
						foreach($mots_comment_liste as $mot_comment)
140
						{
145
						{
141
							$mot_comment = trim($mot_comment) ;
146
							$mot_comment = trim($mot_comment) ;
142
							$requete .= $nom_valeur[0].' LIKE "%'.$this->proteger($mot_comment).'%"' ;
147
							$requete .= $nom_valeur[0].' LIKE '.$this->proteger($mot_comment.'%');
143
							$requete .= ' AND ' ;
148
							$requete .= ' AND ' ;
144
						}
149
						}
145
					}
150
					}
146
					elseif($nom_valeur[0] == "c.ci_meta_date")
151
					elseif($nom_valeur[0] == "c.ci_meta_date")
147
					{
152
					{
148
						$requete .= 'DATE_FORMAT( '.$nom_valeur[0].', \'%Y-%m-%d\' ) = "'.$this->proteger($nom_valeur[1]).'"' ;
153
						$requete .= 'DATE_FORMAT( '.$nom_valeur[0].', \'%Y-%m-%d\' ) = '.$this->proteger($nom_valeur[1]) ;
149
						$requete .= ' AND ' ;
154
						$requete .= ' AND ' ;
150
					}
155
					}
151
					elseif($nom_valeur[0] == "c.ci_id_tampon")
156
					elseif($nom_valeur[0] == "c.ci_id_tampon")
152
					{
157
					{
Line 158... Line 163...
158
						if($nom_valeur[1] == "indetermine") {
163
						if($nom_valeur[1] == "indetermine") {
159
							$nom_valeur[1] = 'null';
164
							$nom_valeur[1] = 'null';
160
						}
165
						}
Line 161... Line 166...
161
						
166
						
162
						$requete .= ' (';
167
						$requete .= ' (';
163
						$requete .= $nom_valeur[0].' LIKE "%'.$this->proteger($nom_valeur[1]).'%"' ;
168
						$requete .= $nom_valeur[0].' LIKE '.$this->proteger($nom_valeur[1].'%') ;
164
						$requete .= ' OR ' ;
169
						$requete .= ' OR ' ;
165
						$requete .= 'b.nom_sel LIKE "%'.$this->proteger($nom_valeur[1]).'%"' ;
170
						$requete .= 'b.nom_sel LIKE '.$this->proteger($nom_valeur[1].'%') ;
Line 166... Line 171...
166
						$requete .= ') AND ' ;
171
						$requete .= ') AND ' ;
167
						
172
						
168
					} else
173
					} else
169
					{
174
					{
170
						$requete .= $nom_valeur[0].' = "'.$this->proteger($nom_valeur[1]) ;
175
						$requete .= $nom_valeur[0].' = '.$this->proteger($nom_valeur[1]) ;
171
						$requete .= '" AND ' ;
176
						$requete .= ' AND ' ;
172
					}
177
					}
Line 173... Line 178...
173
			}
178
			}
Line 188... Line 193...
188
		
193
		
Line 189... Line 194...
189
		$chaine_requete = str_replace(' ','_',$chaine_requete);
194
		$chaine_requete = str_replace(' ','_',$chaine_requete);
Line 190... Line 195...
190
		
195
		
191
		$requete = ' (';
196
		$requete = ' (';
Line 192... Line 197...
192
	
197
	
193
		$requete .= 'b.nom_ret LIKE "'.$this->proteger($chaine_requete).'%"' ;
198
		$requete .= 'b.nom_ret LIKE '.$this->proteger($chaine_requete.'%') ;
Line 194... Line 199...
194
		$requete .= ' OR ' ;
199
		$requete .= ' OR ' ;
195
		
200
		
Line 196... Line 201...
196
		$requete .= 'b.nom_sel LIKE "'.$this->proteger($chaine_requete).'%"' ;
201
		$requete .= 'b.nom_sel LIKE '.$this->proteger($chaine_requete.'%') ;
197
		$requete .= ' OR ' ;
202
		$requete .= ' OR ' ;
Line 198... Line 203...
198
 
203
 
-
 
204
		$requete .= 'b.location LIKE '.$this->proteger($chaine_requete.'%') ;
-
 
205
		$requete .= ' OR ' ;
199
		$requete .= 'b.location LIKE "'.$this->proteger($chaine_requete).'%" ' ;
206
		
-
 
207
		$requete .= 'b.id_location LIKE '.$this->proteger($chaine_requete.'%') ;
Line 200... Line 208...
200
		$requete .= ' OR ' ;
208
		$requete .= ' OR ' ;
Line 201... Line 209...
201
		
209
		
Line 202... Line 210...
202
		$requete .= 'b.id_location LIKE "'.$this->proteger($chaine_requete).'%" ' ;
210
		$requete_mots_cles .= $this->creerSousRequeteMotsCles($chaine_requete); 
203
		$requete .= ' OR ' ;
211
		if(trim($requete_mots_cles) != '') {
Line 231... Line 239...
231
	}
239
	}
Line 232... Line 240...
232
	
240
	
233
		
241
		
234
	private function creerSousRequeteMotsCles($mot_cle) {
242
	private function creerSousRequeteMotsCles($mot_cle) {
235
        $requete = '';
243
        $requete = '';
236
        if (preg_match('/.*,.*/', $mot_cle)) {
244
        if (preg_match('/.*OU.*/', $mot_cle)) {
237
            $requete = $this->creerSousRequeteMotsClesOu($mot_cle);
245
            $requete = $this->creerSousRequeteMotsClesOu($mot_cle);
238
        } else if (preg_match('/.*ET.*/', $mot_cle)) {
246
        } else if (preg_match('/.*ET.*/', $mot_cle)) {
239
            $requete = $this->creerSousRequeteMotsClesEt($mot_cle);
247
            $requete = $this->creerSousRequeteMotsClesEt($mot_cle);
Line 247... Line 255...
247
                    $requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
255
                    $requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
248
                        $this->proteger($occurence['cmc_id_proprietaire']).' ) OR '; 
256
                        $this->proteger($occurence['cmc_id_proprietaire']).' ) OR '; 
249
                }
257
                }
250
            }
258
            }
251
        }
259
        }
252
        $requete = rtrim($requete,' OR ').' AND ';
260
        $requete = rtrim($requete,' OR ');
253
        return $requete;
261
        return $requete;
254
    }
262
    }
Line 255... Line 263...
255
   
263
   
256
    private function creerSousRequeteMotsClesOu($mot_cle) {
264
    private function creerSousRequeteMotsClesOu($mot_cle) {
Line 257... Line 265...
257
        $requete = '';
265
        $requete = '';
258
       
266
       
259
        $tab_mots_cles = explode(',', $mot_cle);
267
        $tab_mots_cles = explode('OU', $mot_cle);
260
        $where = '';
268
        $where = '';
261
        foreach ($tab_mots_cles as $mot) {
269
        foreach ($tab_mots_cles as $mot) {
262
            $where .= 'cmc_id_mot_cle_general = '.$this->proteger($this->encoderMotCle($mot)).' OR ';
270
            $where .= 'cmc_id_mot_cle_general = '.$this->proteger($this->encoderMotCle($mot)).' OR ';