Subversion Repositories eFlore/Applications.coel

Rev

Rev 1636 | Rev 1649 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1636 Rev 1648
Line 163... Line 163...
163
	public function createElement($params) {
163
	public function createElement($params) {
164
		// Identification de l'utilisateur
164
		// Identification de l'utilisateur
165
		list($id_utilisateur, $id_session) = $this->getIdentification($params);
165
		list($id_utilisateur, $id_session) = $this->getIdentification($params);
Line 166... Line 166...
166
		
166
 
167
		// Contrôle du non détournement de l'utilisateur
167
		// Contrôle du non détournement de l'utilisateur
-
 
168
		if (!$this->etreAutorise($id_utilisateur)) {
-
 
169
			$this->envoyer();
-
 
170
			return;
168
		if ($this->etreAutorise($id_utilisateur)) {
171
		}
169
			try {
172
		try {
170
	   			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
173
			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
171
	   			$tables_a_modifier = $this->recupererTablesAModifier($params);
174
			$tables_a_modifier = $this->recupererTablesAModifier($params);
Line 172... Line 175...
172
	   			reset($tables_a_modifier);
175
			reset($tables_a_modifier);
173
	   			
176
	   			
174
	   			$id_structure = null;
177
			$id_structure = null;
175
				while (list($table_id, $table) = each($tables_a_modifier)) {
178
			while (list($table_id, $table) = each($tables_a_modifier)) {
-
 
179
				if (is_null($table['champs'])) continue;
-
 
180
				if ($this->avoirCleComplete($table)) {
-
 
181
					$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
-
 
182
					continue;
176
		   			if (!is_null($table['champs'])) {
183
				}
177
				   		if (!$this->avoirCleComplete($table)) {
184
 
178
		   					// Ajout des données à la table des données
185
				// Ajout des données à la table des données
-
 
186
				$id_structure = $this->ajouter($table);
179
		   					$id_structure = $this->ajouter($table);
187
				if ($id_structure === false) continue;
180
		   					if ($id_structure !== false) {
188
 
181
								$table['champs_valeurs_id']['cs_id_structure'] = $id_structure;
189
				$table['champs_valeurs_id']['cs_id_structure'] = $id_structure;
182
								$table['champs_valeurs_brut']['cs_id_structure'] = $id_structure;
190
				$table['champs_valeurs_brut']['cs_id_structure'] = $id_structure;
183
								$tables_a_modifier[122]['champs_valeurs_id']['csc_id_structure'] = $id_structure;
191
				$tables_a_modifier[122]['champs_valeurs_id']['csc_id_structure'] = $id_structure;
Line 196... Line 204...
196
						   		// Liaison de la table des données à ses méta-données
204
				// Liaison de la table des données à ses méta-données
197
						   		$champ_meta = "{$table['prefixe']}_ce_meta";
205
				$champ_meta = "{$table['prefixe']}_ce_meta";
198
						   		$table['champs_valeurs_protege'] = array($champ_meta => $id_meta);
206
				$table['champs_valeurs_protege'] = array($champ_meta => $id_meta);
199
						   		$this->modifier($table);
207
				$this->modifier($table);
200
		   					}
208
			}
201
			   			} else {
-
 
-
 
209
 
202
			   				$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
210
			if(isset($params['cpr_abreviation']) && !empty($params['cpr_abreviation'])) {
203
			   			}
-
 
204
		   			}
-
 
205
				}
-
 
206
				$this->ajouterGuid($params['cpr_abreviation'], $id_structure);
211
				$this->ajouterGuid($params['cpr_abreviation'], $id_structure);
-
 
212
			}
207
			} catch (PDOException $e) {
213
		} catch (PDOException $e) {
208
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
214
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
209
			}
215
		}
210
	   	}
-
 
Line 211... Line 216...
211
	   	
216
	   	
212
	   	$this->envoyer($id_structure);
217
	   	$this->envoyer($id_structure);
Line 213... Line 218...
213
	}
218
	}
Line 217... Line 222...
217
	 */
222
	 */
218
	public function updateElement($uid, $params) {
223
	public function updateElement($uid, $params) {
219
		// Vérification de la présence des id passés par l'url
224
		// Vérification de la présence des id passés par l'url
220
		if (!isset($uid[0])) {
225
		if (!isset($uid[0])) {
221
			$this->messages[] = "Identifiant de structure manquant. Vous ne devriez pas avoir accès à ce service.";
226
			$this->messages[] = "Identifiant de structure manquant. Vous ne devriez pas avoir accès à ce service.";
-
 
227
			$this->envoyer();
222
		} else {
228
			return;
-
 
229
		}
-
 
230
 
223
			// Identification de l'utilisateur
231
		// Identification de l'utilisateur
224
			list($id_utilisateur, $id_session) = $this->getIdentification($params);
232
		list($id_utilisateur, $id_session) = $this->getIdentification($params);
225
			
-
 
226
			// Contrôle du non détournement de l'utilisateur
233
		// Contrôle du non détournement de l'utilisateur
227
			if ($this->etreAutorise($id_utilisateur)) {
234
		if (!$this->etreAutorise($id_utilisateur)) {
-
 
235
			$this->envoyer();
-
 
236
			return;
-
 
237
		}
228
		   		try {
238
		try {
229
		   			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
239
			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
230
		   			$tables_a_modifier = $this->recupererTablesAModifier($params);
240
			$tables_a_modifier = $this->recupererTablesAModifier($params);
Line 231... Line 241...
231
		   			
241
		   			
Line 234... Line 244...
234
						$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
244
				$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
235
					}
245
			}
236
				} catch (PDOException $e) {
246
		} catch (PDOException $e) {
237
					$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
247
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
238
				}
248
		}
239
		   	}
-
 
240
		}
-
 
Line 241... Line 249...
241
				
249
				
242
		// Envoie sur la sortie standard
250
		// Envoie sur la sortie standard
243
		$this->envoyer();
251
		$this->envoyer();