Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 3894 → Rev 3895

/branches/v3.01-serpe/jrest/bibliotheque/GestionChampsEtendus2.php
19,7 → 19,7
private $table_champs_etendus = "extended_field";
private $table_champs_etendus_trad = "extendedfield_translation";
private $champ_id = "field_id";
private $liste_champs = "ce.`id`, ce.`project`,ce.`project_id`, ce.field_id, ce.`data_type`, ce.`is_mandatory`, ce.`unit`, ".
private $liste_champs = "ce.`id`, ce.`project`,ce.`project_id`, ce.field_id, ce.`data_type`, ce.`is_mandatory`, ce.`unit`, ce.`is_visible`, ".
"cet.extended_field_id, cet.`label`, cet.`description`, cet.`default_value`, cet.`error_message`, cet.`language_iso_code`, cet.`help` ";
 
130,6 → 130,36
}
 
/**
* Modifie un champ étendu associé à l'élément passé en paramètre
*
* @param ChampEtendu $champ_etendu
* @return bool true si la modification a eu lieu
*/
public function modifierParProjet(Array $champs_etendus, $langue) {
if (! $champs_etendus) return TRUE; // le tableau ... vide à été inséré
// pour chaque champ étendu
foreach ($champs_etendus['ce'] as $num_champ => $champ_etendu) {
$modif_ce = "UPDATE {$this->table_champs_etendus} ce join {$this->table_champs_etendus_trad} cet";
$modif_ce .= " on field_id = `extended_field_id` and ce.`project` = cet.`project` and ".
"`language_iso_code` = ".Cel::db()->proteger($langue)." SET ";
// pour chaque valeur de la table extended_field
foreach ($champs_etendus['ce'][0] as $num_colonne => $colonne) {
$modif_ce .= "ce.".$num_colonne." = ".Cel::db()->proteger($champ_etendu[$num_colonne]).", ";
}
// pour chaque valeur de la table extended_field_traduction
foreach ($champs_etendus['cet'][0] as $num_colonne_t => $colonne_t) {
$modif_ce .= "cet.".$num_colonne_t." = ".Cel::db()->proteger($champs_etendus['cet'][$num_champ][$num_colonne_t]).", ";
}
$modif_ce = rtrim($modif_ce, ", ");
$modif_ce .= " WHERE ce.{$this->champ_id} = ".Cel::db()->proteger($champ_etendu['field_id']);
$modif_ce .= " AND ce.project = ".Cel::db()->proteger($champ_etendu['project']).";";
$modif = Cel::db()->executer($modif_ce);
}
return ($modif !== false);
}
 
/**
* Supprime le champ champ étendu associé à l'élément et au nom de clé passés en paramètre
*
* @param int $id_element_lie