/[registar]/convert.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /convert.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by ravilov, Tue Jun 12 12:07:37 2001 UTC revision 1.7 by dpavlin, Tue Jun 19 13:39:05 2001 UTC
# Line 45  sub ConvertDate { Line 45  sub ConvertDate {
45                  # $dt = "NULL";                  # $dt = "NULL";
46                  $dt = undef;                  $dt = undef;
47          }          }
48          return $pgdbh->quote($dt);          return $dt;
49  }  }
50    
51  sub ConvertBool {  sub ConvertBool {
# Line 60  sub ConvertString { Line 60  sub ConvertString {
60          $str =~ s/[\x00-\x1F]+//gs;          $str =~ s/[\x00-\x1F]+//gs;
61          $str =~ s/\s*\x8D?\s*\r?\s*\n\s*/\n/gs;          $str =~ s/\s*\x8D?\s*\r?\s*\n\s*/\n/gs;
62          $str =~ s/(^\s+|\s+$)//gs;          $str =~ s/(^\s+|\s+$)//gs;
63          $str =~ s/(^"|"$)//g;          $str =~ s/(^["']|["']$)//g;
64          # char recoding          # char recoding
65          #$str =~ s/đ/ð/g;          #$str =~ s/đ/ð/g;
66          #$str =~ s/č/è/g;          #$str =~ s/č/è/g;
67          #$str =~ s/ý/¾/g;          #$str =~ s/ý/¾/g;
68          $str =~ tr/{|`~}[\\@^]/¹ð¾èæ©Ð®ÈÆ/;          $str =~ tr/{|`~}[\\@^]/¹ð¾èæ©Ð®ÈÆ/;
69          return $pgdbh->quote($str);  #       return $pgdbh->quote($str);
70            return $str;
71  }  }
72    
73  sub Progress {  sub Progress {
# Line 81  sub Log { Line 82  sub Log {
82  }  }
83    
84  sub CondInsert {  sub CondInsert {
85          my ($table, $name, $key, $fields, $values) = @_;          my $table = shift @_;
86          my $sql = "SELECT $name FROM $table WHERE ($name = $key)";          my $name = shift @_;
87          my $cnt = $pgdbh->do($sql);          my $key = shift @_;
88          return 0 if ($cnt > 0);          my $fields = shift @_;
89          $sql = "INSERT INTO $table $fields VALUES $values";          my @values=@_;          # chop argument(s) are values array
90          my $ret = $pgdbh->do($sql);          my $sql = "SELECT count($name) FROM $table WHERE ($name = ?)";
91            my $sth = $pgdbh->prepare($sql);
92            my $ret = $sth->execute($key);
93            my ($cnt) = $sth->fetchrow_array();
94            return 0 if (!$cnt == 0);
95            my @valtpl;
96            for (my $i=0; $i<=$#values; $i++) { push @valtpl,"?" }
97            $sql = "INSERT INTO $table $fields VALUES (".join(",",@valtpl).")";
98            $sth = $pgdbh->prepare($sql);
99            $ret = $sth->execute(@values);
100          my $err = $pgdbh->errstr;          my $err = $pgdbh->errstr;
101          print &Log("[$sql] ".$err) if ($err);          print &Log("[$sql] [".join(",",@values)."]".$err) if ($err);
102          return $ret;          return $ret;
103  }  }
104    
105  sub tblATK {  sub tblATK {
106          my ($table, $fields, $data) = @_;          my ($table, $fields, $data) = @_;
107          my $count = 0;          my $count = 0;
108          my $sth = $pgdbh->prepare("INSERT INTO atk_inn (sifra, naziv, razno) VALUES (?, ?, ?)");          my $sth = $pgdbh->prepare("INSERT INTO $table (sifra, naziv, razno) VALUES (?, ?, ?)");
109          unless ($sth) {          unless ($sth) {
110                  print &Log("[$table-prepare] ".$pgdbh->errstr);                  print &Log("[$table-prepare] ".$pgdbh->errstr);
111                  return 0;                  return 0;
# Line 219  sub tblLijek { Line 229  sub tblLijek {
229                  $oprez = &ConvertString($oprez);                  $oprez = &ConvertString($oprez);
230                  $tel = &ConvertString($tel);                  $tel = &ConvertString($tel);
231                  $fax = &ConvertString($fax);                  $fax = &ConvertString($fax);
232                  CondInsert("atk_inn", "sifra", $sif_atk,                  CondInsert("atk", "sifra", $sif_atk,
233                          "(sifra, naziv, razno)", "($sif_atk, $naz_atk, '')");                          "(sifra, naziv, razno)", ($sif_atk, $naz_atk, ''));
234                  CondInsert("atk_inn", "sifra", $sif_inn,                  CondInsert("inn", "sifra", $sif_inn,
235                          "(sifra, naziv, razno)", "($sif_inn, $naz_inn, '')");                          "(sifra, naziv, razno)", ($sif_inn, $naz_inn, ''));
236                  CondInsert("proizvodjaci", "sifra", $sif_proizvodjac,                  CondInsert("proizvodjaci", "sifra", $sif_proizvodjac,
237                          "(sifra, naziv, drzava, zastupnistvo, mjesto, zip, ulica_i_broj, razno, telefon, fax)",                          "(sifra, naziv, drzava, zastupnistvo, mjesto, zip, ulica_i_broj, razno, telefon, fax)",
238                          "($sif_proizvodjac, $naz_proizvodjac, $drzava, $zastupnistvo, $mjesto, '', $ulica_i_broj, '', $tel, $fax)");                          ($sif_proizvodjac, $naz_proizvodjac, $drzava, $zastupnistvo, $mjesto, '', $ulica_i_broj, '', $tel, $fax));
239                  CondInsert("nacin_izdavanja", "sifra", $sif_nacin_izdavanja,                  CondInsert("nacin_izdavanja", "sifra", $sif_nacin_izdavanja,
240                          "(sifra, opis)", "($sif_nacin_izdavanja, $naz_nacin_izdavanja)");                          "(sifra, opis)", ($sif_nacin_izdavanja, $naz_nacin_izdavanja));
241                  CondInsert("list_fond", "sifra", $sif_list_fond,                  CondInsert("list_fond", "sifra", $sif_list_fond,
242                          "(sifra, opis)", "($sif_list_fond, $naz_list_fond)");                          "(sifra, opis)", ($sif_list_fond, $naz_list_fond));
243                  CondInsert("trudnoca", "sifra", $sif_trudnoca,                  CondInsert("trudnoca", "sifra", $sif_trudnoca,
244                          "(sifra, opis)", "($sif_trudnoca, $naz_trudnoca)");                          "(sifra, opis)", ($sif_trudnoca, $naz_trudnoca));
245                  CondInsert("dojencad", "sifra", $sif_dojencad,                  CondInsert("dojencad", "sifra", $sif_dojencad,
246                          "(sifra, opis)", "($sif_dojencad, $naz_dojencad)");                          "(sifra, opis)", ($sif_dojencad, $naz_dojencad));
247                  CondInsert("vozac", "sifra", $sif_vozac,                  CondInsert("vozac", "sifra", $sif_vozac,
248                          "(sifra, opis)", "($sif_vozac, $naz_vozac)");                          "(sifra, opis)", ($sif_vozac, $naz_vozac));
249                  CondInsert("droga", "sifra", $sif_droga,                  CondInsert("droga", "sifra", $sif_droga,
250                          "(sifra, opis)", "($sif_droga, '')");                          "(sifra, opis)", ($sif_droga, ''));
251                  my $tmp = $sth->execute($sifra, $naziv, $sif_atk, $sif_inn,                  my $tmp = $sth->execute($sifra, $naziv, $sif_atk, $sif_inn,
252                          $sif_proizvodjac, $pakovanje, $sastav_1, $sastav_2,                          $sif_proizvodjac, $pakovanje, $sastav_1, $sastav_2,
253                          $sif_nacin_izdavanja, $sif_list_fond, $sif_trudnoca,                          $sif_nacin_izdavanja, $sif_list_fond, $sif_trudnoca,
# Line 312  sub tblVodeca { Line 322  sub tblVodeca {
322                  my $tmp = 0;                  my $tmp = 0;
323                  if ($code eq "06") {                  if ($code eq "06") {
324                          $tmp += CondInsert("nacin_izdavanja", "sifra", $sifra,                          $tmp += CondInsert("nacin_izdavanja", "sifra", $sifra,
325                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
326                  } elsif ($code eq "07") {                  } elsif ($code eq "07") {
327                          $tmp += CondInsert("list_fond", "sifra", $sifra,                          $tmp += CondInsert("list_fond", "sifra", $sifra,
328                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
329                  } elsif ($code eq "08") {                  } elsif ($code eq "08") {
330                          $tmp += CondInsert("trudnoca", "sifra", $sifra,                          $tmp += CondInsert("trudnoca", "sifra", $sifra,
331                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
332                  } elsif ($code eq "09") {                  } elsif ($code eq "09") {
333                          $tmp += CondInsert("dojencad", "sifra", $sifra,                          $tmp += CondInsert("dojencad", "sifra", $sifra,
334                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
335                  } elsif ($code eq "10") {                  } elsif ($code eq "10") {
336                          $tmp += CondInsert("vozac", "sifra", $sifra,                          $tmp += CondInsert("vozac", "sifra", $sifra,
337                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
338                  } elsif ($code eq "11") {                  } elsif ($code eq "11") {
339                          $tmp += CondInsert("droga", "sifra", $sifra,                          $tmp += CondInsert("droga", "sifra", $sifra,
340                                  "(sifra, opis)", "($sifra, $naziv)");                                  "(sifra, opis)", ($sifra, $naziv));
341                  } else {                  } else {
342                          # UNKNOWN CODE!!!                          # UNKNOWN CODE!!!
343                          print &Log("[WARNING: unknown code \"$code\"]");                          print &Log("[WARNING: unknown code \"$code\"]");

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.26