Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3487 → Rev 3488

/trunk/jrest/bibliotheque/GestionChampsEtendus.php
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,9 → 82,10
$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) {
$id_element = $ligne[$this->champ_id];
if (!isset($champs_etendus_par_element[$id_element])) {
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);