function overfoer_data($filnavn, $splitter, $feltnavn, $feltantal) { global $charset; global $kontotype; global $art; $x = 0; $fp = fopen("../importfiler/postnr.csv", "r"); if ($fp) { while (!feof($fp)) { $x++; $linje = trim(fgets($fp)); list($postnr[$x], $bynavn[$x]) = explode(chr(9), $linje); } } fclose($fp); $postnr_antal = $x; $fp = fopen("{$filnavn}", "r"); if ($fp) { for ($y = 1; $y < 4; $y++) { $linje = fgets($fp); } $tmp = $linje; while ($tmp = substr(strstr($tmp, ";"), 1)) { $semikolon++; } $tmp = $linje; while ($tmp = substr(strstr($tmp, ","), 1)) { $komma++; } $tmp = $linje; while ($tmp = substr(strstr($tmp, chr(9)), 1)) { $tabulator++; } $tmp = ''; if ($komma > $semikolon && $komma > $tabulator) { $tmp = 'Komma'; $feltantal = $komma; } elseif ($semikolon > $tabulator && $semikolon > $komma) { $tmp = 'Semikolon'; $feltantal = $semikolon; } elseif ($tabulator > $semikolon && $tabulator > $komma) { $tmp = 'Tabulator'; $feltantal = $tabulator; } if (!$splitter) { $splitter = $tmp; } $cols = $feltantal + 1; } fclose($fp); for ($y = 0; $y <= $feltantal; $y++) { for ($x = 0; $x <= $felt_antal; $x++) { if ($felt_navn[$x] && $feltnavn[$y] == $felt_navn[$x] && $felt_aktiv[$x] == 1) { print "<BODY onLoad=\"javascript:alert('Der kan kun være 1 kolonne med {$felt_navn[$x]}')\">"; $feltnavn[$y] = ''; } elseif ($felt_navn[$x] && $feltnavn[$y] == $felt_navn[$x]) { $felt_aktiv[$x] = 1; } } } print "<tr><td colspan={$cols}><hr></td></tr>\n"; if (!$splitter || $splitter == 'Semikolon') { $splitter = ';'; } elseif ($splitter == 'Komma') { $splitter = ','; } elseif ($splitter == 'Tabulator') { $splitter = chr(9); } transaktion('begin'); #$felt_antal=$feltantal; $ryd_firmanavn = 0; $fp = fopen("{$filnavn}", "r"); if ($fp) { $kontonumre = array(); $x = 0; $imp_antal = 0; while (!feof($fp)) { # $feltantal=$felt_antal; $skriv_linje = 0; if ($linje = trim(fgets($fp))) { $x++; $skriv_linje = 1; if ($charset == 'UTF-8') { $linje = utf8_encode($linje); } $felt = array(); $felt = opdel($splitter, $linje); # if ($ryd_firmanavn) $felt[$ryd_firmanavn]=''; if (in_array('pbs_nr', $feltnavn) && !in_array('pbs', $feltnavn)) { $feltantal++; $pbs = $feltantal; $feltnavn[$feltantal] = 'pbs'; $felt[$feltantal] = ''; } if (in_array('husnr', $feltnavn)) { $felt = add2felt($feltantal, 'husnr', 'addr1', $feltnavn, $felt); } if (in_array('etage', $feltnavn)) { $felt = add2felt($feltantal, 'etage', 'addr1', $feltnavn, $felt); } if (in_array('fornavn', $feltnavn) && !in_array('firmanavn', $feltnavn)) { $feltantal++; $ryd_firmanavn = $feltantal; $feltnavn[$feltantal] = 'firmanavn'; $felt[$feltantal] = ''; } if (in_array('efternavn', $feltnavn) && !in_array('firmanavn', $feltnavn)) { $feltantal++; $ryd_firmanavn = $feltantal; $feltnavn[$feltantal] = 'firmanavn'; $felt[$feltantal] = ''; } if (in_array('fornavn', $feltnavn)) { $felt = add2felt($feltantal, 'fornavn', 'firmanavn', $feltnavn, $felt); } if (in_array('efternavn', $feltnavn)) { $felt = add2felt($feltantal, 'efternavn', 'firmanavn', $feltnavn, $felt); } for ($y = 0; $y <= $feltantal; $y++) { $felt[$y] = trim($felt[$y]); $feltnavn[$y] = strtolower($feltnavn[$y]); if (substr($felt[$y], 0, 1) == '"' && substr($felt[$y], -1) == '"') { $felt[$y] = substr($felt[$y], 1, strlen($felt[$y]) - 2); } if ($feltnavn[$y] == 'kontonr' && !is_numeric($felt[$y])) { $kontonr = 0; $skriv_linje = 2; } elseif ($feltnavn[$y] == 'kontonr') { $kontonr = $felt[$y]; } if ($feltnavn[$y] == 'pbs_nr' && $felt[$y]) { $felt[$pbs] = 'on'; } if ($feltnavn[$y] == "postnr") { list($felt[$y], $bynavn[$y]) = explode(" ", $felt[$y], 2); } if ($feltnavn[$y] == 'kontoansvarlig' && $felt[$y] && $kontonr) { $r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}'", __FILE__ . " linje " . __LINE__)); $konto_id = $r['id'] * 1; $r = db_fetch_array(db_select("select id from ansatte where initialer='{$felt[$y]}' and konto_id={$konto_id}", __FILE__ . " linje " . __LINE__)); $felt[$y] = $r['id'] * 1; } elseif ($feltnavn[$y] == 'kontoansvarlig') { $felt[$y] = '0'; } if ($feltnavn[$y] == 'oprettet' && $felt[$y] && $kontonr) { $felt[$y] = usdate($felt[$y]); } elseif ($feltnavn[$y] == 'oprettet') { $felt[$y] = date("Y-m-d"); } if ($feltnavn[$y] == 'kreditmax') { $felt[$y] = usdecimal($felt[$y]); } if ($feltnavn[$y] == 'betalingsdage') { $felt[$y] = $felt[$y] * 1; } } } if ($skriv_linje == 1) { $addr_a = ''; $addr_b = ''; $upd = ''; $kontakt_a = ''; $kontakt_b = ''; for ($y = 0; $y <= $feltantal; $y++) { if ($feltnavn[$y] && $feltnavn[$y] != 'husnr' && $feltnavn[$y] != 'etage') { $felt[$y] = trim(addslashes($felt[$y])); if (!strstr($feltnavn[$y], "kontakt_")) { if ($y > 0) { $addr_a = $addr_a . ","; $addr_b = $addr_b . ","; $upd = $upd . ","; } $addr_a = $addr_a . $feltnavn[$y]; $addr_b = $addr_b . "'" . $felt[$y] . "'"; $upd = $upd . $feltnavn[$y] . "='" . $felt[$y] . "'"; } else { if ($kontakt_a) { $kontakt_a = $kontakt_a . ","; $kontakt_b = $kontakt_b . ","; } $tmp = substr($feltnavn[$y], 8); $kontakt_a = $kontakt_a . $tmp; $kontakt_b = $kontakt_b . "'" . $felt[$y] . "'"; } } } if (!strpos($addr_a, 'lukket')) { $addr_a = $addr_a . ",lukket"; $addr_b = $addr_b . ",''"; } if (!strpos($addr_a, 'gruppe')) { $addr_a = $addr_a . ",gruppe"; $addr_b = $addr_b . ",'1'"; $upd = $upd . ",gruppe='1'"; } if (!strpos($addr_a, 'art')) { $addr_a = $addr_a . ",art"; $addr_b = $addr_b . ",'{$art}'"; $upd = $upd . ",art='{$art}'"; } else { for ($y = 0; $y <= $feltantal; $y++) { if ($feltnavn[$y] == 'art') { $art = $felt[$y]; } } } if ($r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}' and art='{$art}'", __FILE__ . " linje " . __LINE__))) { $konto_id = $r['id']; $imp_antal++; # echo "update adresser set $upd where id='$konto_id'<br>"; db_modify("update adresser set {$upd} where id='{$konto_id}'", __FILE__ . " linje " . __LINE__); } else { $imp_antal++; db_modify("insert into adresser({$addr_a},kontotype) values ({$addr_b},'{$kontotype}')", __FILE__ . " linje " . __LINE__); $r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}' and art = 'D'", __FILE__ . " linje " . __LINE__)); $konto_id = $r['id']; } if ($kontakt_a && !($r = db_fetch_array(db_select("select id from ansatte where konto_id='{$konto_id}'", __FILE__ . " linje " . __LINE__)))) { db_modify("insert into ansatte({$kontakt_a},konto_id) values ({$kontakt_b},'{$konto_id}')", __FILE__ . " linje " . __LINE__); } } } } fclose($fp); transaktion('commit'); print "</tbody></table>"; print "</td></tr>"; print "<BODY onLoad=\"javascript:alert('{$imp_antal} adresser importeret')\">"; if ($popup) { print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/luk.php\">"; } else { print "<meta http-equiv=\"refresh\" content=\"0;URL=../systemdata/diverse.php\">"; } #exit; }
function overfoer_data($filnavn, $splitter, $feltnavn, $feltantal) { global $charset; global $kontotype; global $art; global $opdat; $x = 0; $fp = fopen("../importfiler/postnr.csv", "r"); if ($fp) { while (!feof($fp)) { $x++; $linje = trim(fgets($fp)); list($postnr[$x], $bynavn[$x]) = explode(chr(9), $linje); } } fclose($fp); $postnr_antal = $x; $fp = fopen("{$filnavn}", "r"); if ($fp) { for ($y = 1; $y < 4; $y++) { $linje = fgets($fp); } $tmp = $linje; while ($tmp = substr(strstr($tmp, ";"), 1)) { $semikolon++; } $tmp = $linje; while ($tmp = substr(strstr($tmp, ","), 1)) { $komma++; } $tmp = $linje; while ($tmp = substr(strstr($tmp, chr(9)), 1)) { $tabulator++; } $tmp = ''; if ($komma > $semikolon && $komma > $tabulator) { $tmp = 'Komma'; $feltantal = $komma; } elseif ($semikolon > $tabulator && $semikolon > $komma) { $tmp = 'Semikolon'; $feltantal = $semikolon; } elseif ($tabulator > $semikolon && $tabulator > $komma) { $tmp = 'Tabulator'; $feltantal = $tabulator; } if (!$splitter) { $splitter = $tmp; } $cols = $feltantal + 1; } fclose($fp); for ($y = 0; $y <= $feltantal; $y++) { for ($x = 0; $x <= $felt_antal; $x++) { if ($felt_navn[$x] && $feltnavn[$y] == $felt_navn[$x] && $felt_aktiv[$x] == 1) { print "<BODY onLoad=\"javascript:alert('Der kan kun være 1 kolonne med {$felt_navn[$x]}')\">"; $feltnavn[$y] = ''; } elseif ($felt_navn[$x] && $feltnavn[$y] == $felt_navn[$x]) { $felt_aktiv[$x] = 1; } } } print "<tr><td colspan={$cols}><hr></td></tr>\n"; if (!$splitter || $splitter == 'Semikolon') { $splitter = ';'; } elseif ($splitter == 'Komma') { $splitter = ','; } elseif ($splitter == 'Tabulator') { $splitter = chr(9); } transaktion('begin'); #$felt_antal=$feltantal; if ($r = db_fetch_array(db_select("select * from grupper where art='DebInfo'", __FILE__ . " linje " . __LINE__))) { $status_id = explode(chr(9), $r['box3']); $status_beskrivelse = explode(chr(9), $r['box4']); $status_antal = count($status_id); # for ($x=0;$x<$status_antal;$x++)$status_beskrivelse[$x]=addslashes($status_beskrivelse[$x]); } else { db_modify("insert into grupper(beskrivelse,art) values ('Div DebitorInfo','DebInfo')", __FILE__ . " linje " . __LINE__); db_fetch_array(db_select("select box3 from grupper where art='DebInfo'", __FILE__ . " linje " . __LINE__)); $status_id = array(); $status_beskrivelse = array(); $status_antal = 0; } $ryd_firmanavn = 0; $fp = fopen("{$filnavn}", "r"); if ($fp) { $kontonumre = array(); $x = 0; $imp_antal = 0; while (!feof($fp)) { # $feltantal=$felt_antal; $skriv_linje = 0; if ($linje = fgets($fp)) { $x++; $skriv_linje = 1; if ($charset == 'UTF-8') { $linje = utf8_encode($linje); } $felt = array(); $felt = opdel($splitter, $linje); # if ($ryd_firmanavn) $felt[$ryd_firmanavn]=''; if (in_array('pbs_nr', $feltnavn) && !in_array('pbs', $feltnavn)) { $feltantal++; $pbs = $feltantal; $feltnavn[$feltantal] = 'pbs'; $felt[$feltantal] = ''; } if (in_array('husnr', $feltnavn)) { $felt = add2felt($feltantal, 'husnr', 'addr1', $feltnavn, $felt); } if (in_array('etage', $feltnavn)) { $felt = add2felt($feltantal, 'etage', 'addr1', $feltnavn, $felt); } if (in_array('fornavn', $feltnavn) && !in_array('firmanavn', $feltnavn)) { $feltantal++; $ryd_firmanavn = $feltantal; $feltnavn[$feltantal] = 'firmanavn'; $felt[$feltantal] = ''; } if (in_array('efternavn', $feltnavn) && !in_array('firmanavn', $feltnavn)) { $feltantal++; $ryd_firmanavn = $feltantal; $feltnavn[$feltantal] = 'firmanavn'; $felt[$feltantal] = ''; } if (in_array('fornavn', $feltnavn)) { $felt = add2felt($feltantal, 'fornavn', 'firmanavn', $feltnavn, $felt); } if (in_array('efternavn', $feltnavn)) { $felt = add2felt($feltantal, 'efternavn', 'firmanavn', $feltnavn, $felt); } for ($y = 0; $y <= $feltantal; $y++) { # $felt[$y]=addslashes(trim($felt[$y])); $feltnavn[$y] = strtolower($feltnavn[$y]); if (substr($felt[$y], 0, 1) == '"' && substr($felt[$y], -1) == '"') { $felt[$y] = substr($felt[$y], 1, strlen($felt[$y]) - 2); } if ($feltnavn[$y] == 'kontonr' && !is_numeric($felt[$y])) { $kontonr = 0; $skriv_linje = 2; } elseif ($feltnavn[$y] == 'kontonr') { $kontonr = $felt[$y]; } if ($feltnavn[$y] == 'pbs_nr' && $felt[$y]) { $felt[$pbs] = 'on'; } if ($feltnavn[$y] == "postnr") { list($felt[$y], $bynavn[$y]) = explode(" ", $felt[$y], 2); } if ($feltnavn[$y] == 'kontoansvarlig' && $felt[$y] && $kontonr) { $r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}'", __FILE__ . " linje " . __LINE__)); $konto_id = $r['id'] * 1; $r = db_fetch_array(db_select("select id from ansatte where initialer='{$felt[$y]}' and konto_id={$konto_id}", __FILE__ . " linje " . __LINE__)); $felt[$y] = $r['id'] * 1; } elseif ($feltnavn[$y] == 'kontoansvarlig') { $felt[$y] = '0'; } if ($feltnavn[$y] == 'oprettet' && $felt[$y] && $kontonr) { $felt[$y] = usdate($felt[$y]); } elseif ($feltnavn[$y] == 'oprettet') { $felt[$y] = date("Y-m-d"); } if ($feltnavn[$y] == 'kreditmax') { $felt[$y] = usdecimal($felt[$y]); } if ($feltnavn[$y] == 'betalingsbet') { $tmp = strtolower($felt[$y]); if ($tmp == 'lb.md.') { $felt[$y] = 'Lb.Md.'; } elseif ($tmp == 'forud') { $felt[$y] = 'Forud'; } elseif ($tmp == 'kontant') { $felt[$y] = 'Kontant'; } elseif ($tmp == 'efterkrav') { $felt[$y] = 'Efterkrav'; } else { $felt[$y] = 'Netto'; } } } } if ($skriv_linje == 1) { $addr_a = ''; $addr_b = ''; $upd = ''; $kontakt_a = ''; $kontakt_b = ''; $find_kontakt = ''; for ($y = 0; $y <= $feltantal; $y++) { if ($felt[$y] && $feltnavn[$y] == 'status' && !in_array($felt[$y], $status_beskrivelse)) { $x = 1; while (in_array($x, $status_id)) { $x++; } #finder laveste ledige vaerdi $status = $x; $status_id[$status_antal] = $x; $status_beskrivelse[$status_antal] = $felt[$y]; $felt[$y] = $x; $status_antal++; $box3 = NULL; $box4 = NULL; for ($x = 0; $x < $status_antal; $x++) { # if ($status_id[$x]==$rename_status) $status_beskrivelse[$x]=$ny_status; $box3 ? $box3 .= chr(9) . $status_id[$x] : ($box3 = $status_id[$x]); $box4 ? $box4 .= chr(9) . $status_beskrivelse[$x] : ($box4 = $status_beskrivelse[$x]); } db_modify("update grupper set box3='{$box3}',box4='{$box4}' where art = 'DebInfo'", __FILE__ . " linje " . __LINE__); } else { for ($x = 0; $x < $status_antal; $x++) { if ($felt[$y] == $status_beskrivelse[$x]) { $felt[$y] = $status_id[$x]; break 1; } } } #cho "$feltnavn[$y]<br>"; if ($feltnavn[$y] && $feltnavn[$y] != 'husnr' && $feltnavn[$y] != 'etage') { $felt[$y] = trim(addslashes($felt[$y])); if ($feltnavn[$y] == 'betalingsdage') { $felt[$y] *= 1; } if (!strstr($feltnavn[$y], "kontakt_")) { if ($addr_a) { $addr_a = $addr_a . ","; $addr_b = $addr_b . ","; $upd = $upd . ","; } $addr_a = $addr_a . $feltnavn[$y]; $addr_b = $addr_b . "'" . $felt[$y] . "'"; $upd = $upd . $feltnavn[$y] . "='" . $felt[$y] . "'"; } else { if ($kontakt_a) { $kontakt_a = $kontakt_a . ","; $kontakt_b = $kontakt_b . ","; $find_kontakt .= " and "; } $tmp = substr($feltnavn[$y], 8); $kontakt_a = $kontakt_a . $tmp; $kontakt_b = $kontakt_b . "'" . $felt[$y] . "'"; $find_kontakt ? $find_kontakt .= "{$tmp}='" . $felt[$y] . "'" : ($find_kontakt = "{$kontakt_a}={$kontakt_b}"); } } } if (!strstr($addr_a, 'lukket')) { $addr_a = $addr_a . ",lukket"; $addr_b = $addr_b . ",''"; } if (!strstr($addr_a, 'gruppe')) { $addr_a = $addr_a . ",gruppe"; $addr_b = $addr_b . ",'1'"; $upd = $upd . ",gruppe='1'"; } # if (!strpos($addr_a,'art')) { # $addr_a=$addr_a.",art"; # $addr_b=$addr_b.",'$art'"; # $upd=$upd.",art='$art'"; # } else { # for ($y=0; $y<=$feltantal; $y++) { # if ($feltnavn[$y]=='art') $art=$felt[$y]; # } # } if ($r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}' and art='{$art}'", __FILE__ . " linje " . __LINE__))) { if ($opdat) { $konto_id = $r['id']; $imp_antal++; db_modify("update adresser set {$upd} where id='{$konto_id}'", __FILE__ . " linje " . __LINE__); #cho "kontonr=$kontonr opdateret<br>"; } else { #cho "kontonr=$kontonr ikke opdateret<br>"; $konto_id = 0; } } else { $imp_antal++; db_modify("insert into adresser({$addr_a},kontotype,art) values ({$addr_b},'{$kontotype}','{$art}')", __FILE__ . " linje " . __LINE__); $r = db_fetch_array(db_select("select id from adresser where kontonr='{$kontonr}' and art = '{$art}'", __FILE__ . " linje " . __LINE__)); $konto_id = $r['id']; } if (in_array('kontakt', $feltnavn)) { for ($y = 0; $y <= $feltantal; $y++) { if ($feltnavn[$y] == 'kontakt') { $kontakt = $felt[$y]; } } } if ($kontakt && !($r = db_fetch_array(db_select("select id from ansatte where konto_id='{$konto_id}' and navn = '{$kontakt}'", __FILE__ . " linje " . __LINE__)))) { db_modify("update ansatte set posnr=posnr+1 where konto_id= '{$konto_id}'", __FILE__ . " linje " . __LINE__); db_modify("insert into ansatte(navn,posnr,konto_id) values ('{$kontakt}',1,'{$konto_id}')", __FILE__ . " linje " . __LINE__); } if ($kontakt_a && $kontakt_b) { if (!($r = db_fetch_array(db_select("select id from ansatte where konto_id='{$konto_id}' and {$find_kontakt}", __FILE__ . " linje " . __LINE__)))) { db_modify("update ansatte set posnr=posnr+1 where konto_id= '{$konto_id}'", __FILE__ . " linje " . __LINE__); db_modify("insert into ansatte({$kontakt_a},posnr,konto_id) values ({$kontakt_b},1,'{$konto_id}')", __FILE__ . " linje " . __LINE__); } if ($kontakt_b) { list($tmp, $null) = explode(",", $kontakt_b, 2); db_modify("update adresser set kontakt={$tmp} where id = '{$konto_id}'", __FILE__ . " linje " . __LINE__); } } } } } fclose($fp); transaktion('commit'); print "</tbody></table>"; print "</td></tr>"; print "<BODY onLoad=\"javascript:alert('{$imp_antal} adresser importeret')\">"; if ($popup) { print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/luk.php\">"; } else { print "<meta http-equiv=\"refresh\" content=\"0;URL=../systemdata/diverse.php\">"; } exit; }