Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3882 → Rev 3883

/trunk/jrest/bibliotheque/GestionChampsEtendus2.php
128,6 → 128,35
$modif = Cel::db()->executer($requete);
return ($modif !== false);
}
/**
* 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
/trunk/jrest/services/CelWidgetManager.php
114,6 → 114,12
public function updateElement($uid,$params) {
$retour = "";
if (isset($params['projet']) && isset($params['langue'])) {
if (isset($requeteDonnees['champs-supp'])) {
$gestionchamps = new GestionChampsEtendus2($this->config);
$champs = $this->traiterCorrespondanceChampsEtendusInterfaceBD($requeteDonnees); //var_dump($champs);exit;
$liste = $gestionchamps->modifierParProjet($champs);
unset($requeteDonnees['champs-supp']);
}
$manager = new GestionWidget($this->config);
$params['est_type'] = (isset($params['est_type']) && $params['est_type']== "on") ? 1 : 0;
$requeteDonnees = $this->traiterCorresponceConfigWidgetInterfaceBD($params);