//prima elimino dal db i righi eliminati if (isset($_POST['delrig'])) { foreach ($_POST['delrig'] as $key => $value) { if ($value == "ELIMINA") gaz_dbi_del_row($gTables['rigbro'], "id_rig", $key); } } //modifico o inserisco i righi for ($i = 0; $i < $_POST['num_rigo']; $i++) { if ($_POST['righi'][$i]['id_rig'] == 'NUOVO') { $_POST['righi'][$i]['id_tes'] = $_GET['codice']; rigbroInsert($_POST['righi'][$i]); } else { $_POST['righi'][$i]['id_tes'] = $_GET['codice']; $codice = array('id_rig',$_POST['righi'][$i]['id_rig']); rigbroUpdate($codice,$_POST['righi'][$i]); } } header("Location: ".$_POST['ritorno']); exit; } } if (isset($_POST['Return'])) { header("Location: ".$_POST['ritorno']); exit; } // Quando viene inviata la richiesta di aggiungere un rigo if (isset($_POST['add_x'])) { $rigo = $_POST['num_rigo']; $_POST['righi'][$rigo]['prelis'] = 0.00;
} if ($msg == "") {// nessun errore $initra .= " ".$form['oratra'].":".$form['mintra'].":00"; if (preg_match("/^id_([0-9]+)$/",$form['clfoco'],$match)) { $new_clfoco = $anagrafica->getPartnerData($match[1],1); $form['clfoco']=$anagrafica->anagra_to_clfoco($new_clfoco,$admin_aziend['mascli']); } if ($toDo == 'update') { // e' una modifica $old_rows = gaz_dbi_dyn_query("*", $gTables['rigbro'], "id_tes = ".$form['id_tes'],"id_rig asc"); $i=0; $count = count($form['rows'])-1; while ($val_old_row = gaz_dbi_fetch_array($old_rows)) { if ($i <= $count) { //se il vecchio rigo e' ancora presente nel nuovo lo modifico $form['rows'][$i]['id_tes'] = $form['id_tes']; $codice = array('id_rig',$val_old_row['id_rig']); rigbroUpdate($codice,$form['rows'][$i]); if (isset($form["row_$i"]) && $val_old_row['id_body_text'] > 0) { //se è un rigo testo già presente lo modifico bodytextUpdate(array('id_body',$val_old_row['id_body_text']),array('table_name_ref'=>'rigdoc','id_ref'=>$val_old_row['id_rig'],'body_text'=>$form["row_$i"],'lang_id'=>$admin_aziend['id_language'])); gaz_dbi_put_row($gTables['rigbro'], 'id_rig', $val_old_row['id_rig'], 'id_body_text', $val_old_row['id_body_text']); } elseif (isset($form["row_$i"]) && $val_old_row['id_body_text'] == 0 ) { //prima era un rigo diverso da testo bodytextInsert(array('table_name_ref'=>'rigbro','id_ref'=>$val_old_row['id_rig'],'body_text'=>$form["row_$i"],'lang_id'=>$admin_aziend['id_language'])); gaz_dbi_put_row($gTables['rigbro'], 'id_rig', $val_old_row['id_rig'], 'id_body_text', gaz_dbi_last_id()); } elseif (!isset($form["row_$i"]) && $val_old_row['id_body_text'] > 0){ //un rigo che prima era testo adesso non lo è più gaz_dbi_del_row($gTables['body_text'], "table_name_ref = 'rigbro' AND id_ref", $val_old_row['id_rig']); } } else { //altrimenti lo elimino if (intval($val_old_row['id_body_text']) > 0){ //se c'è un testo allegato al rigo elimino anch'esso gaz_dbi_del_row($gTables['body_text'], "table_name_ref = 'rigbro' AND id_ref", $val_old_row['id_rig']); } gaz_dbi_del_row($gTables['rigbro'], "id_rig", $val_old_row['id_rig']); }
} } if ($msg == "") {// nessun errore if (preg_match("/^id_([0-9]+)$/",$form['clfoco'],$match)) { $new_clfoco = $anagrafica->getPartnerData($match[1],1); $form['clfoco']=$anagrafica->anagra_to_clfoco($new_clfoco,$admin_aziend['masfor']); } if ($toDo == 'update') { // e' una modifica $old_rows = gaz_dbi_dyn_query("*", $gTables['rigbro'], "id_tes = ".$form['id_tes'],"id_rig asc"); $i=0; $count = count($form['righi'])-1; while ($val_old_row = gaz_dbi_fetch_array($old_rows)) { if ($i <= $count) { //se il vecchio rigo e' ancora presente nel nuovo lo modifico $form['righi'][$i]['id_tes'] = $form['id_tes']; $codice = array('id_rig',$val_old_row['id_rig']); rigbroUpdate($codice,$form['righi'][$i]); } else { //altrimenti lo elimino gaz_dbi_del_row($gTables['rigbro'], "id_rig", $val_old_row['id_rig']); } $i++; } //qualora i nuovi righi fossero di più dei vecchi inserisco l'eccedenza for ($i = $i; $i <= $count; $i++) { $form['righi'][$i]['id_tes'] = $form['id_tes']; rigbroInsert($form['righi'][$i]); } //modifico la testata con i nuovi dati... $old_head = array( 'datfat'=>'','geneff'=>'','id_contract'=>0,'id_con'=> 0); $form['datfat'] = $old_head['datfat']; $form['geneff'] = $old_head['geneff']; $form['id_contract'] = $old_head['id_contract'];