19,13 → 19,13 |
class GestionChampsEtendus extends Cel { |
|
private $mode = null; |
private $table_champs_etendus = null; |
private $table_obs_etendus = null; |
private $champ_id = null; |
|
public function __construct($config, $mode = 'obs') { |
parent::__construct($config); |
$this->mode = $mode; |
$this->table_champs_etendus = 'extended_field_occurrence'; |
$this->table_obs_etendus = 'extended_field_occurrence'; |
$this->champ_id = 'occurrence_id'; |
|
} |
43,7 → 43,7 |
$id = Cel::db()->proteger($id_element_lie); |
$cle = Cel::db()->proteger($cle); |
$requete = 'SELECT COUNT(*) >= 1 AS existe '. |
"FROM {$this->table_champs_etendus} ". |
"FROM {$this->table_obs_etendus} ". |
"WHERE {$this->champ_id} = $id ". |
" AND extended_field_id = $cle ". |
' -- '.__FILE__.':'.__LINE__;; |
61,7 → 61,7 |
public function consulter($id_element_lie) { |
$id = Cel::db()->proteger($id_element_lie); |
$requete = 'SELECT * '. |
"FROM {$this->table_champs_etendus} ". |
"FROM {$this->table_obs_etendus} ". |
"WHERE {$this->champ_id} = $id ". |
' -- '.__FILE__.':'.__LINE__; |
$resultat = Cel::db()->requeter($requete); |
82,7 → 82,8 |
$ids_element_lies = array_map(array(Cel::db(), 'proteger'),$ids_element_lies); |
$ids = implode(',', $ids_element_lies); |
|
$requete = "SELECT * FROM {$this->table_champs_etendus} WHERE {$this->champ_id} IN ($ids) "; |
$requete = "SELECT f.*, `field_id`as cle FROM {$this->table_obs_etendus} f join extended_field_occurrence o |
on f.`id` = extended_field_id WHERE {$this->champ_id} IN ($ids) "; |
$resultats = Cel::db()->requeter($requete); |
|
foreach ($resultats as &$ligne) { |
92,7 → 93,7 |
} |
$champ_etendu = new ObsEtendue(); |
$champ_etendu->id = $id_element; |
$champ_etendu->cle = $ligne['extended_field_id']; |
$champ_etendu->cle = $ligne['cle']; |
$champ_etendu->valeur = $ligne['value']; |
|
$champs_etendus_par_element[$id_element][] = $champ_etendu; |
113,7 → 114,7 |
$cle = Cel::db()->proteger($champ_etendu->cle); |
$valeur = Cel::db()->proteger($champ_etendu->valeur); |
|
$requete = "INSERT INTO {$this->table_champs_etendus} ". |
$requete = "INSERT INTO {$this->table_obs_etendus} ". |
"( {$this->champ_id}, extended_field_id, value) ". |
"VALUES ($id, $cle, $valeur) ". |
"ON DUPLICATE KEY UPDATE value = VALUES(value) ". |
148,7 → 149,7 |
// où l'on change de sgbd |
$ajout = Cel::db()->executer(sprintf( |
"INSERT INTO %s (%s, extended_field_id, valeur) VALUES %s ON DUPLICATE KEY UPDATE value = VALUES(valeur) -- %s:%d", |
$this->table_champs_etendus, |
$this->table_obs_etendus, |
$this->champ_id, |
implode(',', $lignes), |
__FILE__, __LINE__)); |
166,7 → 167,7 |
$cle = Cel::db()->proteger($champ_etendu->cle); |
$valeur = Cel::db()->proteger($champ_etendu->valeur); |
|
$requete = "UPDATE {$this->table_champs_etendus} ". |
$requete = "UPDATE {$this->table_obs_etendus} ". |
"SET value = $valeur ". |
"WHERE extended_field_id = $cle". |
" AND {$this->champ_id} = $id ". |
185,7 → 186,7 |
public function supprimer($id_element_lie, $cle) { |
$id = Cel::db()->proteger($id_element_lie); |
$cle = Cel::db()->proteger($cle); |
$requete = "DELETE FROM {$this->table_champs_etendus} ". |
$requete = "DELETE FROM {$this->table_obs_etendus} ". |
"WHERE extended_field_id = $cle ". |
"AND {$this->champ_id} = $id ". |
' -- '.__FILE__.':'.__LINE__; |
201,7 → 202,7 |
*/ |
public function vider($id_element_lie) { |
$id = Cel::db()->proteger($id_element_lie); |
$requete = "DELETE FROM {$this->table_champs_etendus} ". |
$requete = "DELETE FROM {$this->table_obs_etendus} ". |
"WHERE {$this->champ_id} = $id ". |
' -- '.__FILE__.':'.__LINE__; |
$suppr = Cel::db()->executer($requete); |
216,7 → 217,7 |
*/ |
public function viderParLots($ids_elements_lies) { |
$ids = $this->protegerTableau($ids_elements_lies); |
$requete = "DELETE FROM {$this->table_champs_etendus} ". |
$requete = "DELETE FROM {$this->table_obs_etendus} ". |
"WHERE {$this->champ_id} IN (".implode(',',$ids).") ". |
' -- '.__FILE__.':'.__LINE__; |
$suppr = Cel::db()->executer($requete); |