$initra .= " ".$form['oratra'].":".$form['mintra'].":00"; $form['spediz'] = addslashes($form['spediz']); $form['portos'] = addslashes($form['portos']); $form['imball'] = addslashes($form['imball']); $form['destin'] = addslashes($form['destin']); if ($toDo == 'update') { // e' una modifica $old_rows = gaz_dbi_dyn_query("*", $gTables['rigdoc'], "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']); rigdocUpdate($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['rigdoc'], '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'=>'rigdoc','id_ref'=>$val_old_row['id_rig'],'body_text'=>$form["row_$i"],'lang_id'=>$admin_aziend['id_language'])); gaz_dbi_put_row($gTables['rigdoc'], '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 = 'rigdoc' AND id_ref", $val_old_row['id_rig']); } if ($form['rows'][$i]['id_mag'] > 0 ){ //se il rigo ha un movimento di magazzino associato $upd_mm->uploadMag($val_old_row['id_rig'], $form['tipdoc'], $form['numdoc'], $form['seziva'], $datemi, $form['clfoco'], $form['sconto'],
$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_contract'] = $form['id_contract']; contractRowUpdate($form['rows'][$i],array('id_row',$val_old_row['id_row'])); } else { //altrimenti lo elimino gaz_dbi_del_row($gTables['contract_row'], 'id_row', $val_old_row['id_row']); } $i++; } //qualora i nuovi rows fossero di più dei vecchi inserisco l'eccedenza for ($i = $i; $i <= $count; $i++) { $form['rows'][$i]['id_contract'] = $form['id_contract']; contractRowUpdate($form['rows'][$i]); } bodytextUpdate(array('id_body',$form['id_body_text']),array('table_name_ref'=>'contract','id_ref'=>$form['id_contract'],'body_text'=>$form['body_text'],'lang_id'=>$admin_aziend['id_language'])); contractUpdate($form, array('id_contract',$form['id_contract'])); header("Location: ".$form['ritorno']); exit; } else { // e' un'inserimento contractUpdate($form); //recupero l'id assegnato dall'inserimento $ultimo_id = gaz_dbi_last_id(); bodytextInsert(array('table_name_ref'=>'contract','id_ref'=>$ultimo_id,'body_text'=>$form['body_text'],'lang_id'=>$admin_aziend['id_language'])); gaz_dbi_put_row($gTables['contract'], 'id_contract', $ultimo_id, 'id_body_text', gaz_dbi_last_id()); //inserisco i rows foreach ($form['rows'] as $i=>$value) { $value['id_contract'] = $ultimo_id; contractRowUpdate($value); } $_SESSION['print_request']=$ultimo_id;