public function save_type_form($num_type, $elem_id) { //enregistrement des CP $type_fields = new cms_editorial_parametres_perso($num_type); $type_fields->rec_fields_perso($elem_id, $this->element); //on passe aux extensions! $type = cms_editorial_types::get_type($num_type); for ($i = 0; $i < count($type['extensions']); $i++) { $infos = explode(" ", $type['extensions'][$i]); $module = new $infos[0](); $extension_form .= $module->save_extension_form($infos[1], $this->element, $elem_id); } }
function rec_fields_perso($id, $type = "") { $this->check_submited_fields(); $query = "select editorial_type_element from cms_editorial_types where id_editorial_type=" . $this->num_type; $result = mysql_query($query); if ($result && mysql_num_rows($result)) { $requete = "delete " . $this->prefix . "_custom_values from " . $this->prefix . "_custom_values\n \t\t\t\t\tjoin cms_editorial_custom on cms_editorial_custom_champ = idchamp\n \t\t\t\t\tjoin cms_editorial_types on num_type=id_editorial_type\n \t\t\t\t\tand editorial_type_element = '" . mysql_result($result, 0, 0) . "' \n \t\t\t\t\twhere " . $this->prefix . "_custom_origine={$id}"; mysql_query($requete); } if ($type) { //Enregistrement des champs personalisés //on va chercher les champs génériques $generic_type = $this->get_generic_type($type); if ($generic_type) { $generic = new cms_editorial_parametres_perso($generic_type, $this->base_url); $generic->rec_fields_perso($id); } } reset($this->t_fields); while (list($key, $val) = each($this->t_fields)) { $name = $val["NAME"]; global ${$name}; $value = ${$name}; for ($i = 0; $i < count($value); $i++) { if ($value[$i] !== "") { $requete = "insert into " . $this->prefix . "_custom_values (" . $this->prefix . "_custom_champ," . $this->prefix . "_custom_origine," . $this->prefix . "_custom_" . $val["DATATYPE"] . ") values({$key},{$id},'" . $value[$i] . "')"; mysql_query($requete); } } } }