Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3574 → Rev 3575

/trunk/jrest/bibliotheque/GestionChampsEtendus.php
134,35 → 134,33
* @return bool true si l'ajout a eu lieu
*/
public function ajouterParLots(Array $champs_etendus, $projet = null) {
if (! $champs_etendus) return TRUE; // le tableau ... vide à été inséré
$ajout = false;
$label_champs_etendus = new GestionChampsEtendus2($this->config);
if ($champs_etendus_id !== null) {
$lignes = array();
foreach ($champs_etendus as $champ_etendu) {
$champ_id = $label_champs_etendus->consulter($champ_etendu->cle);
if ($champ_id != false) {
$id = Cel::db()->proteger($champ_etendu->id);
$cle = Cel::db()->proteger($champ_id[0]['id']);
$valeur = Cel::db()->proteger($champ_etendu->valeur);
$lignes[] = "($id, $cle, $valeur)";
}
}
// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour
// où l'on change de sgbd
if ($lignes != array()) {
$ajout = Cel::db()->executer(sprintf(
"INSERT INTO %s (%s, extended_field_id, value) VALUES %s ON DUPLICATE KEY UPDATE value = VALUES(valeur) -- %s:%d",
$this->table_obs_etendus,
$this->champ_id,
implode(',', $lignes),
__FILE__, __LINE__));
}
}
return ($ajout !== false);
if (! $champs_etendus) return TRUE; // le tableau ... vide à été inséré
$ajout = false;
$label_champs_etendus = new GestionChampsEtendus2($this->config);
$champs_etendus_id = $label_champs_etendus->consulterGroupesChampsEtendusPredefinis($projet);
if ($champs_etendus_id !== null) {
$lignes = array();
foreach ($champs_etendus as $champ_etendu) {
if (isset($champs_etendus_id[$champ_etendu->cle])) {
$id = Cel::db()->proteger($champ_etendu->id);
$cle = Cel::db()->proteger($champs_etendus_id[$champ_etendu->cle]['id']);
$valeur = Cel::db()->proteger($champ_etendu->valeur);
$lignes[] = "($id, $cle, $valeur)";
}
}
// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour
// où l'on change de sgbd
$ajout = Cel::db()->executer(sprintf(
"INSERT INTO %s (%s, extended_field_id, value) VALUES %s ON DUPLICATE KEY UPDATE value = VALUES(valeur) -- %s:%d",
$this->table_obs_etendus,
$this->champ_id,
implode(',', $lignes),
__FILE__, __LINE__));
}
return ($ajout !== false);
}
 
/**