Subversion Repositories eFlore/Applications.cel

Rev

Rev 3857 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3857 Rev 3895
Line 17... Line 17...
17
class GestionChampsEtendus2 extends Cel {
17
class GestionChampsEtendus2 extends Cel {
Line 18... Line 18...
18
 
18
 
19
	private $table_champs_etendus = "extended_field";
19
        private $table_champs_etendus = "extended_field";
20
	private $table_champs_etendus_trad = "extendedfield_translation";
20
        private $table_champs_etendus_trad = "extendedfield_translation";
21
	private $champ_id = "field_id";	
21
        private $champ_id = "field_id";
22
	private $liste_champs = "ce.`id`, ce.`project`,ce.`project_id`, ce.field_id, ce.`data_type`, ce.`is_mandatory`, ce.`unit`, ".
22
        private $liste_champs = "ce.`id`, ce.`project`,ce.`project_id`, ce.field_id, ce.`data_type`, ce.`is_mandatory`, ce.`unit`, ce.`is_visible`, ".
Line 23... Line 23...
23
				"cet.extended_field_id, cet.`label`, cet.`description`, cet.`default_value`, cet.`error_message`, cet.`language_iso_code`, cet.`help` ";
23
                                "cet.extended_field_id, cet.`label`, cet.`description`, cet.`default_value`, cet.`error_message`, cet.`language_iso_code`, cet.`help` ";
24
 
24
 
Line 128... Line 128...
128
		$modif = Cel::db()->executer($requete);
128
                $modif = Cel::db()->executer($requete);
129
		return ($modif !== false);
129
                return ($modif !== false);
130
	}
130
        }
Line 131... Line 131...
131
 
131
       
-
 
132
        /**
-
 
133
         * Modifie un champ étendu associé à l'élément passé en paramètre
-
 
134
         *
-
 
135
         * @param ChampEtendu $champ_etendu
-
 
136
         * @return bool true si la modification a eu lieu
-
 
137
         */
-
 
138
        public function modifierParProjet(Array $champs_etendus, $langue) {
-
 
139
            if (! $champs_etendus) return TRUE; // le tableau ... vide à été inséré
-
 
140
            // pour chaque champ étendu
-
 
141
            foreach ($champs_etendus['ce'] as $num_champ => $champ_etendu) {
-
 
142
                $modif_ce = "UPDATE {$this->table_champs_etendus} ce join {$this->table_champs_etendus_trad} cet";
-
 
143
                $modif_ce .= " on field_id = `extended_field_id` and ce.`project` = cet.`project` and ".
-
 
144
                        "`language_iso_code` = ".Cel::db()->proteger($langue)." SET ";
-
 
145
                // pour chaque valeur de la table extended_field
-
 
146
                foreach ($champs_etendus['ce'][0] as $num_colonne => $colonne) {
-
 
147
                    $modif_ce .= "ce.".$num_colonne." = ".Cel::db()->proteger($champ_etendu[$num_colonne]).", ";
-
 
148
                }
-
 
149
                // pour chaque valeur de la table extended_field_traduction
-
 
150
                foreach ($champs_etendus['cet'][0] as $num_colonne_t => $colonne_t) {
-
 
151
                    $modif_ce .= "cet.".$num_colonne_t." = ".Cel::db()->proteger($champs_etendus['cet'][$num_champ][$num_colonne_t]).", ";
-
 
152
                }
-
 
153
                $modif_ce = rtrim($modif_ce, ", ");
-
 
154
                $modif_ce .= " WHERE  ce.{$this->champ_id} = ".Cel::db()->proteger($champ_etendu['field_id']);
-
 
155
                $modif_ce .= " AND ce.project = ".Cel::db()->proteger($champ_etendu['project']).";";
-
 
156
                $modif = Cel::db()->executer($modif_ce);
-
 
157
            }
-
 
158
            return ($modif !== false);
-
 
159
        }
-
 
160
       
-
 
161
 
132
	/**
162
        /**
133
	* Supprime le champ champ étendu associé à l'élément et au nom de clé passés en paramètre
163
        * Supprime le champ champ étendu associé à l'élément et au nom de clé passés en paramètre
134
	*
164
        *
135
	* @param int $id_element_lie
165
        * @param int $id_element_lie
136
	* @param string $cle
166
        * @param string $cle