130,6 → 130,35 |
} |
|
/** |
* 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_etendu) { |
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` = "; |
// 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 .= " WHERE ce.{$this->champ_id} = ".Cel::db()->proteger($champ_etendu['field_id']); |
$modif_ce .= " AND 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 |