Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1271 Rev 1278
Line 312... Line 312...
312
		$masque = '';
312
		$masque = '';
313
		$auteurId = $valeurMasque;
313
		$auteurId = $valeurMasque;
314
		if (is_numeric($auteurId)) {
314
		if (is_numeric($auteurId)) {
315
			$masque = ' ce_utilisateur = '.$auteurId;
315
			$masque = ' ce_utilisateur = '.$auteurId;
316
		} else {
316
		} else {
317
			if (strpos($auteurId, '@') === false) {
317
		if (strpos($auteurId, '@') === false) {
318
				$tableauNomPrenom = explode(' ',$auteurId, 2);
318
				$tableauNomPrenom = explode(' ',$auteurId, 2);
319
				if(count($tableauNomPrenom) == 2) {
319
				if(count($tableauNomPrenom) == 2) {
320
					// on teste potentiellement un nom prenom ou bien un prénom nom
320
					// on teste potentiellement un nom prenom ou bien un prénom nom
321
					$masque = '('.
321
					$masque = '('.
322
							          	'(nom LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '.
322
						          	'(nom LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '.
323
									  	'prenom LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '.
323
								  	'prenom LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '.
324
									 	'(nom LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '.
324
								 	'(nom LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '.
325
									  	'prenom LIKE '.$this->proteger($tableauNomPrenom[0].'%').')'.
325
								  	'prenom LIKE '.$this->proteger($tableauNomPrenom[0].'%').') OR '.
-
 
326
									'(dob.nom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '.
-
 
327
									'dob.prenom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '.
-
 
328
									'(dob.nom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '.
-
 
329
									'dob.prenom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[0].'%').') '.
326
									  ')';
330
								  ')';
327
				} else {
331
				} else {
328
					$masque = '(
332
					$masque = '(
329
							            (nom LIKE '.$this->proteger($auteurId.'%').' OR '.
333
						            (nom LIKE '.$this->proteger($auteurId.'%').' OR '.
330
										'prenom LIKE '.$this->proteger($auteurId.'%').')'.
334
									'prenom LIKE '.$this->proteger($auteurId.'%').' OR '.
-
 
335
									'dob.nom_utilisateur LIKE '.$this->proteger($auteurId.'%').' OR '.
-
 
336
									'dob.prenom_utilisateur LIKE '.$this->proteger($auteurId.'%').')'.
331
									  ')';
337
								  ')';
332
				}
338
				}
333
			} else {
339
			} else {
334
				$masque = " courriel LIKE ".$this->proteger($valeurMasque.'%')." ";
340
				$masque = " courriel LIKE ".$this->proteger($valeurMasque.'%').
-
 
341
				          " OR dob.courriel_utilisateur LIKE ".$this->proteger($valeurMasque.'%')." ";
335
			}
342
			}
336
		}
343
		}
337
		return $masque;
344
		return $masque;
338
	}
345
	}
Line 422... Line 429...
422
	/**
429
	/**
423
	* Chargement depuis la bdd de toutes les liaisons entre images et observations
430
	* Chargement depuis la bdd de toutes les liaisons entre images et observations
424
	* */
431
	* */
425
	private function chargerLiaisons() {
432
	private function chargerLiaisons() {
Line 426... Line 433...
426
	
433
	
-
 
434
		$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS dob.id_observation, nom_sel, famille, ce_zone_geo, zone_geo, lieudit, '.
-
 
435
						   'station, milieu, date_observation, dob.mots_cles_texte, date_transmission, di.id_image, '.
-
 
436
						   'dob.ce_utilisateur, prenom, nom, courriel, '.
-
 
437
						   'dob.prenom_utilisateur, dob.nom_utilisateur, dob.courriel_utilisateur, '.
-
 
438
						   'nom_original, dob.commentaire as dob_commentaire, '.
427
		$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS dob.id_observation, nom_sel, famille, ce_zone_geo, zone_geo, lieudit, station, milieu, date_observation, dob.mots_cles_texte, date_transmission, di.id_image, dob.ce_utilisateur, prenom, nom, courriel, nom_original, dob.commentaire as dob_commentaire, dob.nt, dob.nom_sel_nn '.
439
						   'dob.nt, dob.nom_sel_nn '.
428
						   'FROM '.$this->gestionBdd->formaterTable('del_observation', 'dob').
440
						   'FROM '.$this->gestionBdd->formaterTable('del_observation', 'dob').
429
						   'LEFT JOIN del_utilisateur du '.
441
						   'LEFT JOIN del_utilisateur du '.
430
						   'ON du.id_utilisateur = dob.ce_utilisateur '.
442
						   'ON du.id_utilisateur = dob.ce_utilisateur '.
431
						   'LEFT JOIN '.$this->gestionBdd->formaterTable('del_obs_image', 'doi').
443
						   'LEFT JOIN '.$this->gestionBdd->formaterTable('del_obs_image', 'doi').
Line 457... Line 469...
457
	
469
	
458
		$observations = array();
470
		$observations = array();
459
		foreach ($liaisons as $liaison) {
471
		foreach ($liaisons as $liaison) {
Line -... Line 472...
-
 
472
			$idObs = $liaison[$this->mappingObservation['id_observation']];
-
 
473
			
-
 
474
			if($liaison['ce_utilisateur'] == 0) {
-
 
475
				$liaison['prenom'] = $liaison['prenom_utilisateur'];
-
 
476
				$liaison['nom'] = $liaison['nom_utilisateur'];
460
			$idObs = $liaison[$this->mappingObservation['id_observation']];
477
			}
461
			
478
			
462
			$observation = $this->formaterObservation($liaison); 
479
			$observation = $this->formaterObservation($liaison); 
463
			// attention, il est important que les index du tableau soient des chaines 
480
			// attention, il est important que les index du tableau soient des chaines 
464
			// de caractères pour que l'ordre d'insertion soit respecté lors de la lecture
481
			// de caractères pour que l'ordre d'insertion soit respecté lors de la lecture