示例#1
0
function flyt_data($kladde_id, $filnavn, $splitter, $feltnavn, $feltantal, $bilag, $datoformat)
{
    global $charset;
    transaktion('begin');
    $splitter = chr(9);
    $fp = fopen($filnavn . "2", "r");
    if ($fp) {
        $x = 0;
        while (!feof($fp)) {
            $skriv_linje = 0;
            if ($linje = trim(fgets($fp))) {
                $x++;
                $skriv_linje = 1;
                $felt = array();
                $felt = explode($splitter, $linje);
                for ($y = 0; $y <= $feltantal; $y++) {
                    $felt[$y] = trim($felt[$y]);
                    if (substr($felt[$y], 0, 1) == '"' && substr($felt[$y], -1) == '"') {
                        $felt[$y] = substr($felt[$y], 1, strlen($felt[$y]) - 2);
                    }
                    if ($feltnavn[$y] == 'dato') {
                        $felt[$y] = datotjek($datoformat, $felt[$y]);
                    }
                    #					if ($feltnavn[$y]=='dato') $felt[$y]=str_replace(".","-",$felt[$y]);
                    if ($feltnavn[$y] == 'belob') {
                        if (nummertjek($felt[$y]) == 'US') {
                            $felt[$y] = dkdecimal($felt[$y]);
                        } elseif (nummertjek($felt[$y]) != 'DK') {
                            $skriv_linje = 0;
                        }
                    }
                }
            }
            if ($skriv_linje == 1) {
                for ($y = 0; $y <= $feltantal; $y++) {
                    $bilag = $bilag * 1;
                    if ($feltnavn[$y] == 'bilag') {
                        $bilag = $felt[$y] * 1;
                    }
                    if ($feltnavn[$y] == 'belob') {
                        $amount = usdecimal($felt[$y]);
                    } elseif ($feltnavn[$y] == "dato") {
                        $transdate = usdate($felt[$y]);
                    } elseif ($feltnavn[$y] == "beskrivelse") {
                        $beskrivelse = addslashes($felt[$y]);
                    } elseif ($feltnavn[$y] == "debet") {
                        $d_type = "F";
                        $debet = $felt[$y];
                    } elseif ($feltnavn[$y] == "kredit") {
                        $d_type = "F";
                        $kredit = $felt[$y];
                    } elseif ($feltnavn[$y] == "debitor") {
                        $d_type = "D";
                        $debet = $felt[$y];
                    } elseif ($feltnavn[$y] == "kreditor") {
                        $k_type = "K";
                        $kredit = $felt[$y];
                    } elseif ($feltnavn[$y] == "fakturanr") {
                        $fakturanr = addslashes($felt[$y]);
                    }
                }
                if (!$transdate) {
                    $transdate = date('Y-m-d');
                }
                #20150105
                if ($amount * 1 != 0) {
                    #					$debet=$debet*1;$kredit=$kredit*1;
                    $felttext1 = NULL;
                    $felttext2 = NULL;
                    if (is_numeric($debet)) {
                        $felttext1 = "d_type,debet,";
                        $felttext2 = "'{$d_type}','{$debet}',";
                    }
                    if (is_numeric($kredit)) {
                        $felttext1 = $felttext1 . "k_type,kredit,";
                        $felttext2 = $felttext2 . "'{$k_type}','{$kredit}',";
                    }
                    db_modify("insert into kassekladde (bilag, transdate, beskrivelse,{$felttext1} faktura, amount, kladde_id) values ('{$bilag}', '{$transdate}', '{$beskrivelse}',{$felttext2} '{$fakturanr}','{$amount}', '{$kladde_id}')", __FILE__ . " linje " . __LINE__);
                    if (!in_array('bilag', $feltnavn)) {
                        $bilag++;
                    }
                }
            }
        }
    }
    fclose($fp);
    unlink($filnavn);
    # sletter filen.
    unlink($filnavn . "2");
    # sletter filen.
    transaktion('commit');
    print "<meta http-equiv=\"refresh\" content=\"0;URL=kassekladde.php?kladde_id={$kladde_id}\">";
}
示例#2
0
function flyt_data($kladde_id, $filnavn, $splitter, $feltnavn, $feltantal, $kontonr, $bilag, $valutakode)
{
    global $charset;
    transaktion('begin');
    /*
    	$fp=fopen($filnavn."2","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);
    	if ((!$splitter)||($splitter=='Semikolon')) {$splitter=';';}
    	elseif ($splitter=='Komma') {$splitter=',';}
    	elseif ($splitter=='Tabulator') {$splitter=chr(9);}
    */
    $splitter = chr(9);
    $fp = fopen($filnavn . "2", "r");
    if ($fp) {
        $x = 0;
        $kortgebyr = 0;
        while (!feof($fp)) {
            $skriv_linje = 0;
            if ($linje = trim(fgets($fp))) {
                $x++;
                $skriv_linje = 1;
                $felt = array();
                $felt = explode($splitter, $linje);
                for ($y = 0; $y <= $feltantal; $y++) {
                    $felt[$y] = trim($felt[$y]);
                    if (substr($felt[$y], 0, 1) == '"' && substr($felt[$y], -1) == '"') {
                        $felt[$y] = substr($felt[$y], 1, strlen($felt[$y]) - 2);
                    }
                    if ($feltnavn[$y] == 'dato') {
                        # 20140203
                        $felt[$y] = str_replace("-jan-", "-01-", $felt[$y]);
                        $felt[$y] = str_replace("-feb-", "-02-", $felt[$y]);
                        $felt[$y] = str_replace("-mar-", "-03-", $felt[$y]);
                        $felt[$y] = str_replace("-apr-", "-04-", $felt[$y]);
                        $felt[$y] = str_replace("-maj-", "-05-", $felt[$y]);
                        $felt[$y] = str_replace("-jun-", "-06-", $felt[$y]);
                        $felt[$y] = str_replace("-jul-", "-07-", $felt[$y]);
                        $felt[$y] = str_replace("-aug-", "-08-", $felt[$y]);
                        $felt[$y] = str_replace("-sep-", "-09-", $felt[$y]);
                        $felt[$y] = str_replace("-okt-", "-10-", $felt[$y]);
                        $felt[$y] = str_replace("-nov-", "-11-", $felt[$y]);
                        $felt[$y] = str_replace("-dec-", "-12-", $felt[$y]);
                        $felt[$y] = str_replace(".", "-", $felt[$y]);
                    }
                    if ($feltnavn[$y] == 'belob') {
                        $felt[$y] = str_replace(" ", "", $felt[$y]);
                        if (nummertjek($felt[$y]) == 'US') {
                            $felt[$y] = dkdecimal($felt[$y]);
                        } elseif (nummertjek($felt[$y]) != 'DK') {
                            $skriv_linje = 0;
                        }
                    }
                }
            }
            if ($skriv_linje == 1) {
                for ($y = 0; $y <= $feltantal; $y++) {
                    $bilag = $bilag * 1;
                    if ($feltnavn[$y] == 'belob') {
                        $amount = usdecimal($felt[$y]);
                    } elseif ($feltnavn[$y] == "dato") {
                        $transdate = usdate($felt[$y]);
                    } elseif ($feltnavn[$y] == "beskrivelse") {
                        $beskrivelse = db_escape_string($felt[$y]);
                    }
                }
                if ($amount > 0) {
                    if (strlen($beskrivelse) == 22 && substr($beskrivelse, 0, 3) == 'IK ' && is_numeric(substr($beskrivelse, 3, 19))) {
                        # ?
                        $kredit = substr($beskrivelse, 3, 13) * 1;
                        $faktura = substr($beskrivelse, 16, 5) * 1;
                        $k_type = 'D';
                    } elseif (strlen($beskrivelse) == 20 && substr($beskrivelse, -4) == 'IK71' && is_numeric(substr($beskrivelse, 0, 14))) {
                        # Sparekasserne
                        $kredit = substr($beskrivelse, 0, 8) * 1;
                        $faktura = substr($beskrivelse, 8, 6) * 1;
                        $k_type = 'D';
                    } elseif (strlen($beskrivelse) == 32 && substr($beskrivelse, 7, 10) == 'Indbet.ID=' && is_numeric(substr($beskrivelse, 17, 15))) {
                        # Danske Bank
                        $kredit = substr($beskrivelse, 17, 9) * 1;
                        $faktura = substr($beskrivelse, 26, 5) * 1;
                        $k_type = 'D';
                    } elseif (strlen($beskrivelse) == 35 && substr($beskrivelse, 0, 21) == 'Indbetalingskort, nr.' && is_numeric(substr($beskrivelse, 22, 14))) {
                        # Nordea
                        $kredit = substr($beskrivelse, 22, 7) * 1;
                        $faktura = substr($beskrivelse, 29, 5) * 1;
                        $k_type = 'D';
                    } elseif (strlen($beskrivelse) == 40 && substr($beskrivelse, 0, 6) == 'DK-IND' && is_numeric(substr($beskrivelse, 22, 14))) {
                        # SparNord
                        $felt_1 = "%" . substr($beskrivelse, -10);
                        $tmp = $amount - 3;
                        # fungerer med op til 2 kr i kortgebyr
                        $qtxt = "select fakturanr,kontonr from ordrer where felt_1 LIKE '{$felt_1}' and sum <= '{$amount}' and sum >= '{$tmp}'";
                        $r = db_fetch_array(db_select($qtxt, __FILE__ . " linje " . __LINE__));
                        $faktura = $r['fakturanr'];
                        $kredit = $r['kontonr'] * 1;
                        $k_type = 'D';
                    } elseif (c == 30 && substr($beskrivelse, 0, 2) == 'DK' && is_numeric(substr($beskrivelse, 4, 7)) && is_numeric(substr($beskrivelse, 12, 9)) && is_numeric(substr($beskrivelse, 25, 5))) {
                        # Dankort betaling 20140708
                        $betalings_id = "%" . substr($beskrivelse, 12, 9);
                        $r = db_fetch_array(db_select("select fakturanr,kontonr,sum,moms from ordrer where betalings_id LIKE '{$betalings_id}' and sum = '{$amount}'", __FILE__ . " linje " . __LINE__));
                        $faktura = $r['fakturanr'];
                        $fakturasum = $r['sum'] + $r['moms'];
                        $kortgebyr = $amount - $fakturasum;
                        $kredit = $r['kontonr'] * 1;
                        $k_type = 'D';
                    } elseif (substr($beskrivelse, 0, 6) == 'DKSSL ') {
                        #20131119
                        list($a, $b, $c) = explode(" ", $beskrivelse);
                        $ordrenr = substr($c, 7) * 1;
                        if ($ordrenr) {
                            $r = db_fetch_array(db_select("select fakturanr,kontonr from ordrer where ordrenr = '{$ordrenr}' and sum = '{$amount}'", __FILE__ . " linje " . __LINE__));
                            $faktura = $r['fakturanr'];
                            $kredit = $r['kontonr'] * 1;
                            $k_type = 'D';
                        } else {
                            $faktura = '';
                            $kredit = '0';
                        }
                    } else {
                        $kredit = '0';
                        $faktura = '';
                        $k_type = '';
                    }
                    if ($kortgebyr) {
                        $qtxt = "insert into kassekladde (bilag,transdate,beskrivelse,d_type,debet,k_type,kredit,faktura,amount,kladde_id,valuta)";
                        $qtxt .= "  values ";
                        $qtxt .= "('{$bilag}','{$transdate}','{$beskrivelse}','F','{$kontonr}','F','','{$faktura}','{$amount}','{$kladde_id}','{$valutakode}')";
                        db_modify($qtxt, __FILE__ . " linje " . __LINE__);
                        $qtxt = "insert into kassekladde (bilag,transdate,beskrivelse,d_type,debet,k_type,kredit,faktura,amount,kladde_id,valuta)";
                        $qtxt .= "  values ";
                        $qtxt .= "('{$bilag}','{$transdate}','{$beskrivelse}','F','','{$k_type}','{$kredit}','{$faktura}','{$fakturasum}','{$kladde_id}','{$valutakode}')";
                        db_modify($qtxt, __FILE__ . " linje " . __LINE__);
                        $qtxt = "insert into kassekladde (bilag,transdate,beskrivelse,d_type,debet,k_type,kredit,faktura,amount,kladde_id,valuta)";
                        $qtxt .= "  values ";
                        $qtxt .= "('{$bilag}','{$transdate}','{$beskrivelse}','F','','F','','{$faktura}','{$kortgebyr}','{$kladde_id}','{$valutakode}')";
                        db_modify($qtxt, __FILE__ . " linje " . __LINE__);
                    } else {
                        $qtxt = "insert into kassekladde (bilag,transdate,beskrivelse,d_type,debet,k_type,kredit,faktura,amount,kladde_id,valuta)";
                        $qtxt .= "  values ";
                        $qtxt .= "('{$bilag}','{$transdate}','{$beskrivelse}','F','{$kontonr}','{$k_type}','{$kredit}','{$faktura}','{$amount}','{$kladde_id}','{$valutakode}')";
                        db_modify($qtxt, __FILE__ . " linje " . __LINE__);
                    }
                    $bilag++;
                } elseif ($amount < 0) {
                    $amount = $amount * -1;
                    if (strlen($beskrivelse) == 30 && substr($beskrivelse, 0, 2) == 'DK' && is_numeric(substr($beskrivelse, 4, 7)) && is_numeric(substr($beskrivelse, 12, 9)) && is_numeric(substr($beskrivelse, 25, 5))) {
                        # Dankort betaling 20150904
                        $betalings_id = "%" . substr($beskrivelse, 12, 9);
                        $r = db_fetch_array(db_select("select fakturanr,kontonr from ordrer where betalings_id LIKE '{$betalings_id}' and sum = '{$amount}'", __FILE__ . " linje " . __LINE__));
                        $faktura = $r['fakturanr'];
                        $debet = $r['kontonr'] * 1;
                        $d_type = 'D';
                    } else {
                        $dtype = 'F';
                        $debet = 0;
                        #cho "insert into kassekladde (bilag, transdate, beskrivelse, k_type, kredit, amount, kladde_id) values ('$bilag', '$transdate', '$beskrivelse', 'F', '$kontonr', '$amount', '$kladde_id')<br>";
                        db_modify("insert into kassekladde (bilag,transdate,beskrivelse,d_type,debet,k_type,kredit,amount,kladde_id,valuta) values ('{$bilag}','{$transdate}','{$beskrivelse}','{$d_type}','{$debet}','F','{$kontonr}','{$amount}','{$kladde_id}','{$valutakode}')", __FILE__ . " linje " . __LINE__);
                    }
                    $bilag++;
                }
            }
        }
    }
    fclose($fp);
    unlink($filnavn);
    # sletter filen.
    unlink($filnavn . "2");
    # sletter filen.
    #xit;
    transaktion('commit');
    print "<meta http-equiv=\"refresh\" content=\"0;URL=kassekladde.php?kladde_id={$kladde_id}\">";
}