PHP Code:
<?php
/******************************************************************
/* Datei : make_dtaus.php
/* Version: 1.9
/* Autor : xKayo
/******************************************************************
/* nachfolgende Variabeln bitte entsprechend setzen
/* Pfad und Datei in der die Spender stehen (spenden.txt) */
$spenden_path='/';
$spenden_file='spenden.txt';
/* URL Pfad fuer die spenden.txt Dateien */
$url_spenden_file='http://www.BLABLA.org/spenden/spenden.txt';
/* Pfad und Datei f¸r die DTAUS1 Datei */
$dtaus_path='/';
$dtaus_file='DTAUS1.txt';
/* URL Pfad f¸r die DTAUS1 Datei */
$url_dtaus_path='http://www.BLABLA.org/spenden/';
/* Name der Organisation (Kontobezeichnung) */
$organisation_name="BLABLA";
/* KontoNummer der Organisation */
$organisation_kontonr="1234567";
/* Bankleitzahl der Organisation */
$organisation_blz="37020500";
/* Verwendungszweck 1. Zeile (erscheint auf dem Kontoauszug) */
$verwendungszweck1='OnlineSpende - Vielen Dank';
/* Verwendungszweck 2. Zeile zzgl. Spenden Nummer
/* Die SpendenNummer wird automatisch angef¸gt
/* (erscheint auf dem Kontoauszug)
$verwendungszweck2='SpendenNr ';
/* Waehrung (DM oder Euro) */
$waehrung='Euro';
/********************************************************** */
/* fundraise plus Einstellungen */
/* Soll fundraise plus Dateiformat zusaetzlich erzeugt werden ? (0=nein/1=ja) */
$fundraise_active=1;
/* Pfad und Dateiname zur Speicherung der Fundraise Dateien */
$fundraise_file="fundraise.txt";
/* URL Pfad fuer die spenden.txt Dateien */
$url_fundraise_file='http://www.BLABLA.org/spenden/fundraise.txt';
/********************************************************** */
function checkchar ($s) {
$s=strtoupper($s);
$search="/[^A-Z”–¸Ÿ÷Ðþ0-9 ,\.\&\-\+\*\%\/\$]/";
$replace="";
$s=preg_replace($search,$replace,$s);
$search=array("/”/", "/Ÿ/", "/–/", "/÷/", "/¸/", "/Ð/", "/þ/");
$replace=array("[", "[", "\\", "\\", "]", "]", "~");
$s=preg_replace($search,$replace,$s);
return $s;
}
function ShowErrorMsg ($s) {
print "";
print "<b>Fehler:</b><br>$s<br><br>Bitte Überpruefen.<br>";
exit;
}
/********************************************************** */
$referenznummer="0000000000";
$spenden_count=0;
if ((file_exists($spenden_path.$spenden_file))) {
$fd = fopen ($spenden_path.$spenden_file,"r");
while (!feof ($fd)) {
$buffer = fgets($fd,4096);
$spenden_count++;
}
fclose ($fd);
$spenden_count-=2;
}
if (isset($list)) {
echo "<html><head></head><body bgcolor=ffffff>";
echo "<b>Alte DTAUS Dateien</b><br>";
$cc=0;
$handle=opendir($dtaus_path);
while (($file = readdir($handle))!=false) {
if (substr($file,0,strlen($dtaus_file)) == $dtaus_file) {
echo "<a href=$url_dtaus_path$file>$file</a><br>";
$cc=$cc+1;
}
}
closedir($handle);
if ($cc==0) { echo "Keine alten DTAUS Dateien vorhanden.<br>"; }
echo "<br>";
echo "<br><b>Alte Spenden Dateien</b><br>";
$cc=0;
$handle=opendir($spenden_path);
while (($file = readdir($handle))!=false) {
if (substr($file,0,strlen($spenden_file)) == $spenden_file) {
echo "<a href=$url_spenden_path$file>$file</a><br>";
$cc=$cc+1;
}
}
closedir($handle);
if ($cc==0) { echo "Keine alten Spenden Dateien vorhanden.<br>"; }
if ($fundraise_active==1) {
echo "<br>";
echo "<br><b>Alte fundraise plus Dateien</b><br>";
$cc=0;
$handle=opendir($spenden_path);
while (($file = readdir($handle))!=false) {
if (substr($file,0,strlen($fundraise_file)) == $fundraise_file) {
echo "<a href=$url_fundraise_path$file>$file</a><br>";
$cc=$cc+1;
}
}
closedir($handle);
if ($cc==0) { echo "Keine alten fundraise plus Dateien vorhanden.<br>"; }
}
exit;
}
if (!(isset($action)) || ($spenden_count==0)) {
echo "<html><head></head><body bgcolor=ffffff>";
echo "<b>DTAUS Dateierzeugung</b><br><br>";
if ($spenden_count==1) { echo "In der aktuellen Datei liegt 1 Spende vor."; }
if ($spenden_count!=1) { echo "In der aktuellen Datei liegen ".$spenden_count." Spenden vor."; }
echo '<form action="make_dtaus.php" method="post">';
if ($spenden_count >0) {
echo '<input type=submit name="action" value="DTAUS Datei';
if ($fundraise_active==1) { echo ' und fundraise plus Datei'; }
echo ' erzeugen"><br>';
}
echo '<br><hr><br><input type=submit name="list" value="Alte DTAUS Datei';
if ($fundraise_active==1) { echo ', alte fundraise plus Datei'; }
echo ' oder alte Spenden Datei laden">';
echo '</form>';
echo "</body></html>\n";
exit;
}
$zeit=getdate();
$erstellungsdatum=sprintf("%02d%02d%02d",$zeit[mday],$zeit[mon],($zeit[year]-2000));
$dateidatum=sprintf("%04d%02d%02d-%02d%02d%02d", $zeit[year],$zeit[mon],$zeit[mday],$zeit[hours],$zeit[minutes],$zeit[seconds]);
$spacestr=' ';
$nullstr='00000000000000000000';
$organisation_name=substr(checkchar($organisation_name).$spacestr,0,27);
$organisation_kontonr=substr($nullstr.$organisation_kontonr,-10);
$verwendungszweck1=substr(checkchar($verwendungszweck1).$spacestr,0,27);
$verwendungszweck2=substr(checkchar($verwendungszweck2).$spacestr,0,27);
$referenznummer=substr($referenznummer.$spacestr,1,10);
$satzCtotal="";
$satzC_count=0;
$satzC_sumDM=0;
$satzC_sumKontonr=0;
$satzC_sumBLZ=0;
$satzC_sumEuro=0;
/* Satzart A */
$satzA='0128';
$satzA=$satzA.'A';
$satzA=$satzA.'LK';
$satzA=$satzA.$organisation_blz;
$satzA=$satzA.'00000000';
$satzA=$satzA.$organisation_name;
$satzA=$satzA.$erstellungsdatum;
$satzA=$satzA.' ';
$satzA=$satzA.$organisation_kontonr;
$satzA=$satzA.$referenznummer;
$satzA=$satzA.' ';
$satzA=$satzA.' ';
$satzA=$satzA.' ';
if (strcmp($waehrung,'DM')==0) {$satzA=$satzA.' ';} else {$satzA=$satzA.'1';}
$fd=fopen($spenden_file,"r");
$zeile = fgets($fd,4096);
for ($i=0;$i<$spenden_count;$i++)
{
$zeile = fgets($fd,4096);
$field=split(";",$zeile,12);
$spender_spenden_nr=$field[0];
$spender_name=$field[1]." ".$field[2];
$spender_blz=$field[9];
$spender_kontonr=$field[7];
$spender_betrag=$field[10];
$search=array("/\n/","/\r/");
$replay=array("","");
$spender_betrag=preg_replace($search,$replace,$spender_betrag);
$spender_betrag=preg_replace("/,/","",$spender_betrag);
$spender_betrag=preg_replace("/\n/","",$spender_betrag);
$spender_betrag=substr($nullstr.$spender_betrag,-11);
$spender_kontonr=substr($nullstr.$spender_kontonr,-10);
$spender_name=substr(checkchar($spender_name).$spacestr,0,27);
$spender_blz=substr($nullstr.$spender_blz,-8);
$spender_verwendungszweck1=substr(checkchar($verwendungszweck1).$spacestr,0,27);
$spender_verwendungszweck2=substr(checkchar($verwendungszweck2.$spender_spenden_nr).$spacestr,0,27);
$satzC1='0245';
$satzC1=$satzC1.'C';
$satzC1=$satzC1.'00000000';
$satzC1=$satzC1.$spender_blz;
$satzC1=$satzC1.$spender_kontonr;
$satzC1=$satzC1.'0000000000000';
$satzC1=$satzC1.'05';
$satzC1=$satzC1.'000';
$satzC1=$satzC1.' ';
if (strcmp($waehrung,'DM')==0) {$satzC1=$satzC1.$spender_betrag;} else {$satzC1=$satzC1.'00000000000';}
$satzC1=$satzC1.$organisation_blz;
$satzC1=$satzC1.$organisation_kontonr;
if (strcmp($waehrung,"DM")==0) {$satzC1=$satzC1.'00000000000';} else {$satzC1=$satzC1.$spender_betrag;}
$satzC1=$satzC1.' ';
$satzC1=$satzC1.$spender_name;
$satzC1=$satzC1.' ';
$satzC2=$organisation_name;
$satzC2=$satzC2.$spender_verwendungszweck1;
if (strcmp($waehrung,'DM')==0) { $satzC2=$satzC2.' '; } else { $satzC2=$satzC2.'1'; }
$satzC2=$satzC2.' ';
$satzC2=$satzC2.'02';
$satzC2=$satzC2.'02';
$satzC2=$satzC2.$spender_verwendungszweck2;
$satzC2=$satzC2.'03';
$satzC2=$satzC2.$organisation_name;
$satzC2=$satzC2.' ';
$satzC_count++;
if (strcmp($waehrung,"DM")==0) {$satzC_sumDM+=$spender_betrag;} else {$satzC_sumEuro+=$spender_betrag;}
$satzCtotal=$satzCtotal.$satzC1;
$satzCtotal=$satzCtotal.$satzC2;
$satzC_sumKontonr+=$spender_kontonr;
$satzC_sumBLZ+=$spender_blz;
}
fclose ($fd);
$satzE='0128';
$satzE=$satzE.'E';
$satzE=$satzE.' ';
$satzE=$satzE.substr($nullstr.$satzC_count,-7);
$satzE=$satzE.substr($nullstr.$satzC_sumDM,-13);
$satzE=$satzE.substr($nullstr.$satzC_sumKontonr,-17);
$satzE=$satzE.substr($nullstr.$satzC_sumBLZ,-17);
$satzE=$satzE.substr($nullstr.$satzC_sumEuro,-13);
$satzE=$satzE.substr($spacestr,0,51);
$fd=fopen($dtaus_path.$dtaus_file,"w");
/* if ($fd=0) { ShowErrorMsg("Die DTAUS-Datei kann nicht erzeugt werden"); } */
fputs ($fd,$satzA);
fputs ($fd,$satzCtotal);
fputs ($fd,$satzE);
fclose($fd);
$fd=fopen($dtaus_path.$dtaus_file.'.'.$dateidatum,"w");
/* if ($fd=0) { ShowErrorMsg("Die DTAUS-Datei kann nicht erzeugt werden"); } */
fputs ($fd,$satzA);
fputs ($fd,$satzCtotal);
fputs ($fd,$satzE);
fclose($fd);
rename($spenden_file,$spenden_file.'.'.$dateidatum);
if ($fundraise_active==1) {
rename($fundraise_file,$fundraise_file.'.'.$dateidatum);
}
echo "<html><head></head><body bgcolor=ffffff>";
echo "<b>DTAUS Dateierzeugung</b><br><br>";
echo "<b>Spenden.txt Datei</b><br>";
echo "Die Datei <b>".$spenden_file."</b> wurde umbenannt in <b>".$spenden_file.'.'.$dateidatum."</b>.<br>";
echo "<a href=".$url_spenden_file.'.'.$dateidatum."> mit der rechten Maustaste klicken und 'Verknüpfung speichern unter...' auswählen zum downloaden</a>.<br>";
echo "<br>";
if ($fundraise_active==1) {
echo "<b>fundraise plus Datei</b><br>";
echo "Die Datei <b>".$fundraise_file."</b> wurde umbenannt in <b>".$fundraise_file.'.'.$dateidatum."</b>.<br>";
echo "<a href=".$url_fundraise_file.'.'.$dateidatum."> mit der rechten Maustaste klicken und 'Verknüpfung speichern unter...' auswählen zum downloaden</a>.<br>";
echo "<br>";
}
echo "<b>DTAUS Datei</b><br>";
echo "Die DTAUS Datei wurde erzeugt.<br>";
echo "<a href=".$url_dtaus_path.$dtaus_file."> mit der rechten Maustaste klicken und 'Verknüpfung speichern unter...' auswählen zum downloaden</a>.";
echo "</body></html>";
exit;
?>






