Line 161... |
Line 161... |
161 |
* Méthode appelée pour ajouter un élément.
|
161 |
* Méthode appelée pour ajouter un élément.
|
162 |
*/
|
162 |
*/
|
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);
|
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)) {
|
168 |
if (!$this->etreAutorise($id_utilisateur)) {
|
- |
|
169 |
$this->envoyer();
|
- |
|
170 |
return;
|
- |
|
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);
|
172 |
reset($tables_a_modifier);
|
175 |
reset($tables_a_modifier);
|
Line 173... |
Line 176... |
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)) {
|
176 |
if (!is_null($table['champs'])) {
|
179 |
if (is_null($table['champs'])) continue;
|
- |
|
180 |
if ($this->avoirCleComplete($table)) {
|
- |
|
181 |
$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
|
- |
|
182 |
continue;
|
- |
|
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
|
179 |
$id_structure = $this->ajouter($table);
|
186 |
$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;
|
184 |
$tables_a_modifier[122]['champs_valeurs_brut']['csc_id_structure'] = $id_structure;
|
192 |
$tables_a_modifier[122]['champs_valeurs_brut']['csc_id_structure'] = $id_structure;
|
185 |
$tables_a_modifier[122]['champs_valeurs_protege']['csc_id_structure'] = $this->bdd->quote($id_structure);
|
193 |
$tables_a_modifier[122]['champs_valeurs_protege']['csc_id_structure'] = $this->bdd->quote($id_structure);
|
186 |
$tables_a_modifier[123]['champs_valeurs_id']['csv_id_structure'] = $id_structure;
|
194 |
$tables_a_modifier[123]['champs_valeurs_id']['csv_id_structure'] = $id_structure;
|
187 |
$tables_a_modifier[123]['champs_valeurs_brut']['csv_id_structure'] = $id_structure;
|
195 |
$tables_a_modifier[123]['champs_valeurs_brut']['csv_id_structure'] = $id_structure;
|
Line 188... |
Line 196... |
188 |
$tables_a_modifier[123]['champs_valeurs_protege']['csv_id_structure'] = $this->bdd->quote($id_structure);
|
196 |
$tables_a_modifier[123]['champs_valeurs_protege']['csv_id_structure'] = $this->bdd->quote($id_structure);
|
189 |
|
197 |
|
190 |
// Historisation (Ajout des méta-données)
|
198 |
// Historisation (Ajout des méta-données)
|
191 |
$etat = 1; // Ajout
|
199 |
$etat = 1; // Ajout
|
192 |
$cle = $this->recupererCle($table);
|
200 |
$cle = $this->recupererCle($table);
|
Line 193... |
Line 201... |
193 |
$info = $this->creerXmlHisto($table['champs_valeurs_brut']);
|
201 |
$info = $this->creerXmlHisto($table['champs_valeurs_brut']);
|
194 |
$id_meta = $this->historiser($table_id, $cle, $info, $id_utilisateur, $etat, $id_session);
|
202 |
$id_meta = $this->historiser($table_id, $cle, $info, $id_utilisateur, $etat, $id_session);
|
195 |
|
203 |
|
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 |
}
|
- |
|
201 |
} else {
|
- |
|
202 |
$this->mettreAJourAvecCle($id_utilisateur, $id_session, $table_id, $table);
|
- |
|
203 |
}
|
208 |
}
|
204 |
}
|
- |
|
205 |
}
|
- |
|
206 |
$this->ajouterGuid($params['cpr_abreviation'], $id_structure);
|
209 |
|
- |
|
210 |
if(isset($params['cpr_abreviation']) && !empty($params['cpr_abreviation'])) {
|
- |
|
211 |
$this->ajouterGuid($params['cpr_abreviation'], $id_structure);
|
207 |
} catch (PDOException $e) {
|
212 |
}
|
Line 208... |
Line 213... |
208 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
|
213 |
} catch (PDOException $e) {
|
209 |
}
|
214 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
|
Line 210... |
Line 215... |
210 |
}
|
215 |
}
|
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 |
|
232 |
// Pour chaque table du module nous lançons si nécessaire l'historisation puis la mise à jour
|
242 |
// Pour chaque table du module nous lançons si nécessaire l'historisation puis la mise à jour
|
233 |
foreach ($tables_a_modifier as $table_id => $table) {
|
243 |
foreach ($tables_a_modifier as $table_id => $table) {
|
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);
|
- |
|
238 |
}
|
- |
|
239 |
}
|
247 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
|
Line 240... |
Line 248... |
240 |
}
|
248 |
}
|
241 |
|
249 |
|
242 |
// Envoie sur la sortie standard
|
250 |
// Envoie sur la sortie standard
|