Subversion Repositories Applications.referentiel

Rev

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

Rev 38 Rev 39
Line 17... Line 17...
17
	/**
17
	/**
18
	 * Méthode principale appelée avec une requête de type GET.
18
	 * Méthode principale appelée avec une requête de type GET.
19
	 */
19
	 */
20
	public function getElement($params_url = array()) {
20
	public function getElement($params_url = array()) {
21
		// Initialisation des variables
21
		// Initialisation des variables
22
		$info = array();
22
		$info = null;
Line 23... Line 23...
23
				
23
				
24
		// Nour recherchons le type de requête demandé
24
		// Nour recherchons le type de requête demandé
25
		$p = $this->traiterParametresUrl(array('type'), $params_url, false);
25
		$p = $this->traiterParametresUrl(array('type'), $params_url, false);
Line 93... Line 93...
93
			// Récupération des résultats
93
			// Récupération des résultats
94
			try {
94
			try {
95
				$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC);
95
				$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC);
96
				if ($donnees === false) {
96
				if ($donnees === false) {
97
					$this->messages[] = "La requête a retourné aucun résultat.";
97
					$this->messages[] = "La requête a retourné aucun résultat.";
-
 
98
				} else if (0 == count($donnees)) {
-
 
99
					$donnees = null;
98
				}
100
				}
99
			} catch (PDOException $e) {
101
			} catch (PDOException $e) {
100
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
102
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
101
			}
103
			}
102
		} else {
104
		} else {
Line 108... Line 110...
108
	
110
	
109
	/**
111
	/**
110
	 * Retourne les infos sur les traitements en attente.
112
	 * Retourne les infos sur les traitements en attente.
111
	 */
113
	 */
112
	public function getElementEnAttente($params_url) {
114
	public function getElementEnAttente($params_url) {
113
		$p = $this->traiterParametresUrl(array('projet'), $params_url);
115
		$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url);
Line 114... Line 116...
114
		extract($p);
116
		extract($p);
115
		
117
		
116
		$donnees = false;
118
		$donnees = null;
117
		if (!is_null($projet)) {
119
		if (isset($projet) && isset($script)) {
118
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
120
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
-
 
121
						'FROM ref_traitement '.
119
						'FROM ref_traitement '.
122
						"WHERE referentiel_code = $projet ".
120
						"WHERE referentiel_code = $projet ".
123
						"	AND script = $script ".
121
						'	AND date_debut IS NULL '.
124
						'	AND date_debut IS NULL '.
Line 122... Line 125...
122
						'	AND date_fin IS NULL '.
125
						'	AND date_fin IS NULL '.
123
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
126
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
124
			
127
			
125
			// Récupération des résultats
128
			// Récupération des résultats
126
			try {
129
			try {
-
 
130
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
-
 
131
				if ($donnees === false) {
127
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
132
					$this->messages[] = "La requête a retourné aucun résultat.";
128
				if ($donnees === false) {
133
				} else if (0 == count($donnees)) {
129
					$this->messages[] = "La requête a retourné aucun résultat.";
134
					$donnees = null;
130
				}
135
				}
131
			} catch (PDOException $e) {
136
			} catch (PDOException $e) {
132
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
137
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
-
 
138
			}
133
			}
139
		} else {
Line 134... Line 140...
134
		} else {
140
			$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff) ".
135
			$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff).";
141
				"et le code du script à lancer comme second paramêtre (ex. : tests ou versionnage).";
Line 136... Line 142...
136
		}
142
		}
137
		
143
		
138
		return $donnees;
144
		return $donnees;
139
	}
145
	}
140
	
146
	
141
	/**
147
	/**
Line 142... Line 148...
142
	 * Retourne les infos sur les traitements en cours.
148
	 * Retourne les infos sur les traitements en cours.
143
	 */
149
	 */
144
	public function getElementEnCours($params_url) {
150
	public function getElementEnCours($params_url) {
145
		$p = $this->traiterParametresUrl(array('projet'), $params_url);
151
		$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url);
146
		extract($p);
152
		extract($p);
-
 
153
		
147
		
154
		$donnees = null;
148
		$donnees = false;
155
		if (isset($projet) && isset($script)) {
149
		if (!is_null($projet)) {
156
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
Line 150... Line 157...
150
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
157
						'FROM ref_traitement '.
151
						'FROM ref_traitement '.
158
						"WHERE referentiel_code = $projet ".
152
						"WHERE referentiel_code = $projet ".
159
						"	AND script = $script ".
153
						'	AND date_debut IS NOT NULL '.
160
						'	AND date_debut IS NOT NULL '.
154
						'	AND date_fin IS NULL '.
161
						'	AND date_fin IS NULL '.
-
 
162
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
-
 
163
			
155
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
164
			// Récupération des résultats
156
			
165
			try {
157
			// Récupération des résultats
166
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
158
			try {
167
				if ($donnees === false) {
159
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
168
					$this->messages[] = "La requête a retourné aucun résultat.";
160
				if ($donnees === false) {
169
				} else if (0 == count($donnees)) {
-
 
170
					$donnees = null;
161
					$this->messages[] = "La requête a retourné aucun résultat.";
171
				}
Line 162... Line 172...
162
				}
172
			} catch (PDOException $e) {
163
			} catch (PDOException $e) {
173
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
Line 221... Line 231...
221
	
231
	
222
	/**
232
	/**
223
	 * Retourne les infos sur les traitements terminés.
233
	 * Retourne les infos sur les traitements terminés.
224
	 */
234
	 */
225
	public function getElementTermines($params_url) {
235
	public function getElementTermines($params_url) {
226
		$p = $this->traiterParametresUrl(array('projet'), $params_url);
236
		$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url);
Line 227... Line 237...
227
		extract($p);
237
		extract($p);
228
		
238
		
229
		$donnees = false;
239
		$donnees = null;
230
		if (!is_null($projet)) {
240
		if (isset($projet) && isset($script)) {
231
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
241
			$requete =	($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '.
-
 
242
						'FROM ref_traitement '.
232
						'FROM ref_traitement '.
243
						"WHERE referentiel_code = $projet ".
233
						"WHERE referentiel_code = $projet ".
244
						"	AND script = $script ".
234
						'	AND date_debut IS NOT NULL '.
245
						'	AND date_debut IS NOT NULL '.
Line 235... Line 246...
235
						'	AND date_fin IS NOT NULL '.
246
						'	AND date_fin IS NOT NULL '.
236
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
247
						'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'meta_date_creation  DESC').' ';
237
			
248
			
238
			// Récupération des résultats
249
			// Récupération des résultats
239
			try {
250
			try {
-
 
251
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
-
 
252
				if ($donnees === false) {
240
				$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
253
					$this->messages[] = "La requête a retourné aucun résultat.";
241
				if ($donnees === false) {
254
				} else if (0 == count($donnees)) {
242
					$this->messages[] = "La requête a retourné aucun résultat.";
255
					$donnees = null;
243
				}
256
				}
244
			} catch (PDOException $e) {
257
			} catch (PDOException $e) {
245
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
258
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
-
 
259
			}
246
			}
260
		} else {
Line 247... Line 261...
247
		} else {
261
			$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff) ".
248
			$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff).";
262
				"et le code du script à lancer comme second paramêtre (ex. : tests ou versionnage).";
Line 249... Line 263...
249
		}
263
		}
250
		
264
		
251
		return $donnees;
265
		return $donnees;
252
	}
266
	}
253
	
267
	
254
	/**
268
	/**
255
	 * Méthode appelée pour ajouter un traitement.
269
	 * Méthode appelée pour ajouter un traitement.
256
	 * Retour l'id du nouvel enregistrement ou false!
270
	 * Retour l'id du nouvel enregistrement ou false!
257
	 */
271
	 */
Line 258... Line 272...
258
	public function createElement($params_post) {
272
	public function createElement($params_post) {
259
		$params_proteges = $this->traiterParametresPost(array('referentiel_code'), $params_post);
273
		$params_proteges = $this->traiterParametresPost(array('referentiel_code', 'script'), $params_post);
260
		$meta_date_creation = date ("Y-m-d H:i:s");
274
		$meta_date_creation = date ("Y-m-d H:i:s");
261
		$nom = $this->bdd->quote("Traitement {$params_post['referentiel_code']} - $meta_date_creation");
275
		$nom = $this->bdd->quote("Traitement {$params_post['referentiel_code']} - $meta_date_creation");
262
		$meta_date_creation = $this->bdd->quote($meta_date_creation);
276
		$meta_date_creation = $this->bdd->quote($meta_date_creation);
263
		
277
		
264
		try {
278
		try {
265
			$requete = 	"INSERT INTO ref_traitement ".
279
			$requete = 	"INSERT INTO ref_traitement ".
266
   						' (referentiel_code, nom, meta_date_creation) '.
280
   						' (referentiel_code, script, nom, meta_date_creation) '.