コード例 #1
0
ファイル: admin_docacq.php プロジェクト: andreabia/gazie
 $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'],
コード例 #2
0
ファイル: admin_contract.php プロジェクト: andreabia/gazie
    $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;