Subversion Repositories Applications.gtt

Rev

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

Rev 95 Rev 104
Line 38... Line 38...
38
	function setCorrespondance($c)
38
	function setCorrespondance($c)
39
	{
39
	{
40
		$this->dao_correspondance = $c;
40
		$this->dao_correspondance = $c;
41
	}
41
	}
Line 42... Line 42...
42
 
42
 
Line 43... Line 43...
43
	/*** Méthodes : */
43
	/*** Méthodes : */
44
 
44
 
45
    /** Instancie un objet utilisateur à partir d'un enregistrement issu de la base de donnée ou l'inverse.
45
    /** Instancie un objet utilisateur à partir d'un enregistrement issu de la base de donnée ou l'inverse.
46
	* Cette métohode permet de s'abstraire des noms des champs présent dans la base de donnée.
46
	* Cette métohode permet de s'abstraire des noms des champs présent dans la base de donnée.
47
	*/
47
	*/
48
	protected function basculerEnregistrementObjet($donnees, $instancier = false)
48
	protected function basculerEnregistrementObjet($donnees, $instancier = false)
49
	{
49
	{
Line 95... Line 95...
95
	{
95
	{
96
		return 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $this->getCorrespondance($champ))));
96
		return 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $this->getCorrespondance($champ))));
97
	}
97
	}
Line 98... Line 98...
98
 
98
 
99
	/**
99
	/**
100
	* Consulter un ou plusieurs enregistrements dans la base de données.
100
	* Consulter un ou plusieurs enregistrements dans la base de données.
101
	* Chaque requête comportant des paramêtre doivent les inclures sous la forme "#0" pour le paramêtre 0,
101
	* Chaque requête comportant des paramêtre doivent les inclures sous la forme "#0" pour le paramêtre 0,
102
	* puis "#1" pour le paramêtre 1 et ainsi de suite.
102
	* puis "#1" pour le paramêtre 1 et ainsi de suite.
103
	* Exemple : SELECT * FROM gestion_projet WHERE gp_id_projet = #0
103
	* Exemple : SELECT * FROM gestion_projet WHERE gp_id_projet = #0
104
	* ou		SELECT * FROM gestion_projet WHERE gp_nom_projet = "#0"
104
	* ou		SELECT * FROM gestion_projet WHERE gp_nom_projet = "#0"
105
	* @return mixed false, un objet, un tableau d'objet ou rien et instancie l'objet courant.
105
	* @return mixed false, un objet, un tableau d'objet ou rien et instancie l'objet courant.
106
	*/
106
	*/
107
	public function consulter($requete, $parametres = null, $instancier = false)
107
	public function consulter($requete, $parametres = null, $instancier = false)
108
	{
108
	{
109
		// Formatage de la requête avec les paramêtres s'il y en a
109
		// Formatage de la requête avec les paramêtres s'il y en a
110
		if (!is_null($parametres)) {
110
		if (!is_null($parametres)) {
111
			if (!is_array($parametres)) {
111
			if (!is_array($parametres)) {
112
				$parametres = array('#0' => $parametres);
112
				$parametres = array('#0' => $parametres);
113
			} else {
113
			} else {
114
				// Ajout d'un # devant chaque clé numérique
114
				// Ajout d'un # devant chaque clé numérique
115
				if (count($parametres) > 0) {
115
				if (count($parametres) > 0) {
116
					foreach ($parametres as $c => $v) {
116
					foreach ($parametres as $c => $v) {
117
						$parametres['#'.$c] = $v;
117
						$parametres['#'.$c] = $v;
118
					}
118
					}
119
				}
119
				}
120
			}
120
			}
121
			// Remplacement dans la requete par les valeurs des paramêtres
121
			// Remplacement dans la requete par les valeurs des paramêtres
122
			$requete = strtr($requete, $parametres);
122
			$requete = strtr($requete, $parametres);
123
		}
123
		}
124
		if (GTT_DEBOGAGE) {
124
		if (GTT_DEBOGAGE) {
125
			trigger_error($requete, E_USER_NOTICE);
125
			trigger_error($requete, E_USER_NOTICE);
Line 137... Line 137...
137
			return false;
137
			return false;
138
		}
138
		}
139
	}
139
	}
Line 140... Line 140...
140
 
140
 
141
	/**
141
	/**
142
	* Ajouter un enregistrement dans la base de données.
142
	* Ajouter un enregistrement dans la base de données.
143
	* @return true si ok, false si aucun enregistrement effectué
143
	* @return true si ok, false si aucun enregistrement effectué
144
	*/
144
	*/
145
	public function ajouter()
145
	public function ajouter()
146
	{
146
	{
147
		$enregistrement = $this->basculerEnregistrementObjet($this);
147
		$enregistrement = $this->basculerEnregistrementObjet($this);
Line 171... Line 171...
171
			return false;
171
			return false;
172
		}
172
		}
173
	}
173
	}
Line 174... Line 174...
174
 
174
 
175
	/**
175
	/**
176
	* Modifier un enregistrement dans la base de données.
176
	* Modifier un enregistrement dans la base de données.
177
	* @param object l'ancien objet contenant les valeurs de clés primaires non modifiées. Laissé vide si on ne modifie pas les clés.
177
	* @param object l'ancien objet contenant les valeurs de clés primaires non modifiées. Laissé vide si on ne modifie pas les clés.
178
	* @return true si ok, false si aucun enregistrement effectué.
178
	* @return true si ok, false si aucun enregistrement effectué.
179
	*/
179
	*/
180
	public function modifier($Ancien = null)
180
	public function modifier($Ancien = null)
181
	{
181
	{
182
		$enregistrement = $this->basculerEnregistrementObjet($this);
182
		$enregistrement = $this->basculerEnregistrementObjet($this);
Line 213... Line 213...
213
			return false;
213
			return false;
214
		}
214
		}
215
	}
215
	}
Line 216... Line 216...
216
 
216
 
217
	/**
217
	/**
218
	* Supprimer un enregistrement dans la base de données.
218
	* Supprimer un enregistrement dans la base de données.
219
	* @return true si ok, false si aucun enregistrement effectué
219
	* @return true si ok, false si aucun enregistrement effectué
220
	*/
220
	*/
221
	public function supprimer()
221
	public function supprimer()
222
	{
222
	{
223
		$enregistrement = $this->basculerEnregistrementObjet($this);
223
		$enregistrement = $this->basculerEnregistrementObjet($this);