public function update_elements_champs($array, $id_element) { global $thisSite; $PDO = new myPDO(); $temp = array(); $this->get_champs(); foreach ($array as $k => $row) { if (is_numeric($k)) { if (in_array($k, $this->list_champ_crypte)) { $temp[$k] = crypt_string('KEY', $row); } else { $temp[$k] = $row; } } } // UPDATE les valeurs saisie par l'utilisateur elements_champs foreach ($temp as $key => $data) { $result = $PDO->free_requete("UPDATE " . $thisSite->PREFIXE_TBL_CLI . "elements_champs \n SET valeur = '{$data}'\n WHERE " . $thisSite->PREFIXE_TBL_CLI . "elements_champs.id_element = {$id_element}\n AND " . $thisSite->PREFIXE_TBL_CLI . "elements_champs.id = {$key}"); } /* decrypter le valeurs pour le rendre à la vue */ foreach ($temp as $kk => $vv) { if (in_array($kk, $this->list_champ_crypte)) { $temp[$kk] = decrypt_string('KEY', $vv); } } $this->valeurs = $temp; }
// on supprime tout avant de tout recréer, c'est plus propre et plus facile ainsi. $myDelete = new myDelete(__FILE__); $myDelete->table = $thisSite->PREFIXE_TBL_CLI . "elements_champs"; $myDelete->where = "id_element=:id_element"; $myDelete->whereValue["id_element"] = array($idSet, PDO::PARAM_INT); $result = $myDelete->execute(); if ($myDelete) { } // on boucle sur les éléments du formulaire envoyé foreach ($__POST as $k => $valeur) { // si le nom du champ de saisie commence par "champ", c'est que c'est un champ élément if (strpos($k, "champ") === 0) { $idChamp = substr($k, 5); // on récupère l'id du champ if (in_array($idChamp, $list_champ_crypte)) { $valeur = crypt_string("KEY", $valeur); } // on crypte si nécessaire $myInsert = new myInsert(__FILE__); $myInsert->table = $thisSite->PREFIXE_TBL_CLI . "elements_champs"; $myInsert->field["id_element"] = $idSet; $myInsert->field["id"] = $idChamp; $myInsert->field["valeur"] = $valeur; $result = $myInsert->execute(); // ajout à l'historique, si valeur différente de la valeur d'origine if ($majInsert != 1) { if ($valeur != $list_valeurOrigine[$idChamp]) { $myInsert = new myInsert(__FILE__); $myInsert->table = $thisSite->PREFIXE_TBL_CLI . "elements_histo_modif"; $myInsert->field["id_utilisateur"] = "admin-" . $myAdmin->LOGIN; $myInsert->field["datetime"] = date('Y-m-d H:i:s');