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 |