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 { |
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 { |
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; |
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, |
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\"]"); |