Subversion Repositories eFlore/Applications.cel

Rev

Rev 839 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 839 Rev 866
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
-
 
3
 
2
/**
4
/**
3
 * Classe mère abstraite contenant les méthodes génériques des services.
5
 * Classe mère abstraite contenant les méthodes génériques des services.
4
 * Encodage en entrée : utf8
6
 * Encodage en entrée : utf8
5
 * Encodage en sortie : utf8
7
 * Encodage en sortie : utf8
6
 *
8
 *
7
 * @author Jean-Pascal MILCENT <jpm@clapas.org>
9
 * @author Jean-Pascal MILCENT <jpm@clapas.org>
-
 
10
 * @author Aurélien Peronnet <aurelien@tela-botanica.org>
8
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
11
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
9
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
12
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
10
 * @version $Id$
13
 * @version $Id$
11
 * @copyright © 2010, Jean-Pascal MILCENT
14
 * @copyright © 2010, Jean-Pascal MILCENT
12
 */
15
 */
Line 385... Line 388...
385
		}
388
		}
386
	}
389
	}
Line 387... Line 390...
387
 
390
 
388
	public function logger($index,$chaine) {
391
	public function logger($index,$chaine) {
389
		if(!class_exists('Log')) {
-
 
390
			include_once('Log.php');
392
		if(!class_exists('Log')) {
391
			Log::getInstance();
393
			Log::getInstance();
Line 392... Line 394...
392
		}
394
		}
393
 
395
 
Line 439... Line 441...
439
		$courriels_autorises = explode(',', $admins);
441
		$courriels_autorises = explode(',', $admins);
Line 440... Line 442...
440
 
442
 
441
		$autorisation = (in_array($courriel, $courriels_autorises)) ? true : false ;
443
		$autorisation = (in_array($courriel, $courriels_autorises)) ? true : false ;
442
		return $autorisation;
444
		return $autorisation;
-
 
445
	}
-
 
446
	
-
 
447
	public function getInfosComplementairesUtilisateur($id_utilisateur) {
-
 
448
		
-
 
449
		$infos_utilisateur = array('prenom' => $id_utilisateur, 'nom' => $id_utilisateur, 'courriel' => $id_utilisateur);	
-
 
450
		
-
 
451
		if(is_numeric($id_utilisateur)) {
-
 
452
 
-
 
453
		$requete_infos_utilisateur = 'SELECT prenom, nom, courriel FROM cel_utilisateurs '.
-
 
454
									 'WHERE id_utilisateur = '.$this->proteger($id_utilisateur);
-
 
455
									 
-
 
456
		$resultat_infos_utilisateur = $this->requeter($requete_infos_utilisateur);
-
 
457
		
-
 
458
			if($resultat_infos_utilisateur && is_array($resultat_infos_utilisateur) && count($resultat_infos_utilisateur) > 0) {
-
 
459
				$infos_utilisateur = $resultat_infos_utilisateur;
-
 
460
			}
-
 
461
		}
-
 
462
		
-
 
463
		return $infos_utilisateur;
-
 
464
	}
-
 
465
	
-
 
466
	public function getInfosComplementairesUtilisateurPourMail($mail_utilisateur) {
-
 
467
		
-
 
468
		$infos_utilisateur = array('prenom' => $mail_utilisateur, 'nom' => $mail_utilisateur, 'courriel' => $mail_utilisateur);	
-
 
469
 
-
 
470
		$requete_infos_utilisateur = 'SELECT id, prenom, nom FROM cel_utilisateurs '.
-
 
471
									 'WHERE courriel = '.$this->proteger($mail_utilisateur);
-
 
472
									 
-
 
473
		$resultat_infos_utilisateur = $this->requeter($requete_infos_utilisateur);
-
 
474
		
-
 
475
		if($resultat_infos_utilisateur && is_array($resultat_infos_utilisateur) && count($resultat_infos_utilisateur) > 0) {
-
 
476
			$infos_utilisateur = $resultat_infos_utilisateur;
-
 
477
		}
-
 
478
		
-
 
479
		return $infos_utilisateur;
Line 443... Line 480...
443
	}
480
	}
444
 
481
 
Line 445... Line 482...
445
	//+----------------------------------------------------------------------------------------------------------------+
482
	//+----------------------------------------------------------------------------------------------------------------+
Line 509... Line 546...
509
	
546
	
510
	/**
547
	/**
511
	 * Fonction nettoyant les caractères spéciaux HTML pour les champs de saisie libre du CEL.
548
	 * Fonction nettoyant les caractères spéciaux HTML pour les champs de saisie libre du CEL.
512
	 */
549
	 */
513
	protected function protegerCaracteresHtmlDansChamps($donnees) {
550
	protected function protegerCaracteresHtmlDansChamps($donnees) {
514
		$champs = array('ci_meta_mots_cles', 'ci_meta_comment', 
551
		$champs = array('mots_cles_texte', 'commentaire', 
515
			'mots_cles', 'location', 'lieudit', 'station', 'milieu', 'commentaire', 'nom_sel');
552
			'zone_geo', 'lieudit', 'station', 'milieu', 'commentaire', 'nom_sel');
516
		foreach ($champs as $champ) {
553
		foreach ($champs as $champ) {
517
			if (isset($donnees[$champ])) {
554
			if (isset($donnees[$champ])) {
518
				$donnees[$champ] = htmlspecialchars($donnees[$champ]);
555
				$donnees[$champ] = htmlspecialchars($donnees[$champ]);
519
			}
556
			}
Line 564... Line 601...
564
			
601
			
565
			$mots_cles = $this->protegerMotsCles($mots_cles, $type);
602
			$mots_cles = $this->protegerMotsCles($mots_cles, $type);
566
			if (! $this->etreNull($mots_cles)) {
603
			if (! $this->etreNull($mots_cles)) {
Line 567... Line 604...
567
				$table = ($type == self::TYPE_IMG) ? 'cel_mots_cles_images' : 'cel_mots_cles_obs' ;
604
				$table = ($type == self::TYPE_IMG) ? 'cel_mots_cles_images' : 'cel_mots_cles_obs' ;
568
				
605
				
569
				$requete = 'SELECT cmc_mot_cle '.
606
				$requete = 'SELECT mot_cle '.
570
					"FROM $table ".
607
					"FROM $table ".
Line 571... Line 608...
571
					"WHERE cmc_id_mot_cle_utilisateur IN ($mots_cles) ".
608
					"WHERE id_mot_cle_utilisateur IN ($mots_cles) ".
Line 572... Line 609...
572
					"AND cmc_id_proprietaire = $utilisateur_id ";
609
					"AND ce_utilisateur = $utilisateur_id ";
573
				
610
				
574
				$elements = $this->executerRequete($requete);
611
				$elements = $this->executerRequete($requete);
575
				
612
				
576
				foreach ($elements as $mot) {
613
				foreach ($elements as $mot) {
577
					$mots[] = $mot['cmc_mot_cle'];
614
					$mots[] = $mot['mot_cle'];
578
				}
615
				}