Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3092 Rev 3124
Line 27... Line 27...
27
		$requete_liste = "SELECT * FROM `cel_widgets_config` ";
27
		$requete_liste = "SELECT * FROM `cel_widgets_config` ";
28
		$order = (isset($parametres['ordre'])) ? $parametres['ordre'] : 'projet';
28
		$order = (isset($parametres['ordre'])) ? $parametres['ordre'] : 'projet';
29
		if ($parametres != array()) {
29
		if ($parametres != array()) {
30
			$requete_liste .= " WHERE ";
30
			$requete_liste .= " WHERE ";
31
			foreach ($parametres as $champ => $valeur) {
31
			foreach ($parametres as $champ => $valeur) {
32
				$requete_liste .= $champ." = '".$valeur."' AND";
32
				$requete_liste .= $champ." = '".$valeur."' AND ";
33
			}
33
			}
34
			$requete_liste = rtrim($requete_liste, " AND");
34
			$requete_liste = rtrim($requete_liste, " AND ");
35
		}
35
		}
36
		$requete_liste .= " ORDER BY ".$order;
36
		$requete_liste .= " ORDER BY ".$order;
37
		$liste = Cel::db()->requeter($requete_liste);
37
		$liste = Cel::db()->requeter($requete_liste);
38
		return $liste;
38
		return $liste;
Line 46... Line 46...
46
	 * @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
46
	 * @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
47
	 *
47
	 *
48
	 * @return true ou false suivant le succès de l'opération
48
	 * @return true ou false suivant le succès de l'opération
49
	 */
49
	 */
50
	public function ajouterWidget($parametres) {
50
	public function ajouterWidget($parametres) {
51
		$requete_insertion_observation = 'INSERT INTO cel_widgets_config '.
51
		$requete_insertion = 'INSERT INTO cel_widgets_config '.
52
				'('.implode(array_keys($parametres), ', ').') VALUES ("'.implode($parametres, '", "').'")';
52
				'('.implode(array_keys($parametres), ', ').') VALUES ("'.implode($parametres, '", "').'")';
53
		$resultat_ajout_observation = Cel::db()->executer($requete_insertion_observation);
53
		$resultat_ajout = Cel::db()->executer($requete_insertion);
54
		$retour = true;
54
		$retour = true;
55
		if ($resultat_ajout_observation === false) {
55
		if ($resultat_ajout === false) {
56
			$retour = false;
56
			$retour = false;
57
			$msg = "Erreur de creation d'une observation : $resultat_ajout_observation";
57
			$msg = "Erreur de creation d'un widget : $resultat_ajout";
58
			$this->logger('CEL_bugs', $msg);
58
			$this->logger('CEL_bugs', $msg);
59
		} else {
-
 
60
			//$retour = $this->renvoyerIdPourOrdre($utilisateur ,$parametres['ordre']);
-
 
61
		}
59
		}
62
		return $retour;
60
		return $retour;
63
		
-
 
64
	}
61
	}
Line 65... Line 62...
65
	
62
	
66
	/**
63
	/**
67
	 * Modifie une ou plusieurs observations grâce aux paramètres fournis
64
	 * Modifie une ou plusieurs observations grâce aux paramètres fournis
Line 70... Line 67...
70
	 * @param mixed $ordre ordre(s) observation(s) relatif(s) à l'utilisateur: un seul ordre ou bien "ordre1,ordre2,ordre3" etc...
67
	 * @param mixed $ordre ordre(s) observation(s) relatif(s) à l'utilisateur: un seul ordre ou bien "ordre1,ordre2,ordre3" etc...
71
	 * @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
68
	 * @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
72
	 *
69
	 *
73
	 * @return true ou false suivant le succès de l'opération
70
	 * @return true ou false suivant le succès de l'opération
74
	 */
71
	 */
75
	public function modifierWidget($projet, $parametres) {
72
	public function modifierWidget($projet, $langue, $parametres) {
-
 
73
		$requete_insertion = 'UPDATE cel_widgets_config SET ';
-
 
74
		$modifs = array_map(function($value, $key) {
-
 
75
			return $key.'="'.$value.'"';
-
 
76
		}, array_values($parametres), array_keys($parametres));
-
 
77
		
-
 
78
		$requete_insertion .= implode(', ', $modifs).' WHERE projet = "'.$projet.'" AND langue = "'.$langue.'";' ;
Line -... Line 79...
-
 
79
		
-
 
80
		$resultat_ajout = Cel::db()->executer($requete_insertion);
-
 
81
		$retour = true;
-
 
82
		if ($resultat_ajout === false) {
-
 
83
			$retour = false;
-
 
84
			$msg = "Erreur de creation d'un widget : $resultat_ajout";
-
 
85
			$this->logger('CEL_bugs', $msg);
-
 
86
		} else {
-
 
87
			if (isset($parametres['est_type']) && $parametres['est_type']) $this->modifierTypeWidget($projet, $parametres);
-
 
88
		}
-
 
89
		return $retour;
-
 
90
	}
-
 
91
	
-
 
92
	private function modifierTypeWidget($projet, $parametres) {
-
 
93
		$params_type = array('type_localisation', 'type_espece', 'milieux','champs_supp');
76
		
94
		print_r(array_intersect_keys($parametres, $params_type));exit;
Line 77... Line 95...
77
	}
95
	}
78
	
96