File konto_check_frontend.php of Package kontocheck

<?php
function set_var($var)
{
   global $$var;

   if(isset($_REQUEST[$var]))
      $$var=$_REQUEST[$var];
   else
      $$var="";
}

/* variablen holen */
set_var("testkonten");
set_var("testen");
set_var("blz");
set_var("kto");
set_var("iban");
set_var("bic");

if (!empty($blz)&&!empty($kto))
{
      /* Bibliothek initialisieren (mit Defaultwerten)  */
   if(($retval=lut_init())<OK && $retval!=LUT2_PARTIAL_OK)
      die('<p><font color="red">Fehler bei der Initialisierung: '
            .kto_check_retval2html($retval)."</font>");
            $retval=kto_check_blz($blz,$kto);   /* Bankverbindung testen */
            $rv_txt=kc_html($retval);           /* Rüewert als Klartext */
            $name=lut_name($blz,$ret);          /* Banknamen holen */
            if($ret==OK){                       /* Bank gefunden, BLZ ok */
               $plz=lut_plz($blz);              /* Postleitzahl der Bank */
               $ort=lut_ort($blz);              /* Ort der Bank */
               $IBAN = iban_gen($blz,$kto,$retval,$papier,$bic,$blz2,$kto2);
            }
header ("Content-Type:text/xml; charset=utf-8");
        echo '<?xml version="1.0" encoding="utf-8"?>';
        echo utf8_encode("<result><bic>$bic</bic><iban>$IBAN</iban><bankname>$name</bankname><plz>$plz</plz><ort>$ort</ort><kontocheck>$rv_txt</kontocheck></result>");

        die();
}
if (!empty($iban))
{
      /* Bibliothek initialisieren (mit Defaultwerten)  */
   if(($retval=lut_init())<OK && $retval!=LUT2_PARTIAL_OK)
      die('<p><font color="red">Fehler bei der Initialisierung: '
            .kto_check_retval2html($retval)."</font>");
        $retIban=iban_check($iban,$ret_kto);
        $retBic = -1;
        if($retIban==OK){
            $retBic = iban2bic($iban);
            if ($retBic == $bic) {
                $retBic = 1;
            }
            
        }
header ("Content-Type:text/xml; charset=utf-8");
        echo '<?xml version="1.0" encoding="utf-8"?>';
        echo utf8_encode("<result><iban>$retIban</iban><bic>$retBic</bic></result>");

        die();
}
if (!empty($bic))
{
  if (($retval=lut_init())<OK && $retval!=LUT2_PARTIAL_OK)
      die('<p><font color="red">Fehler bei der Initialisierung: '
            .kto_check_retval2html($retval)."</font>");
  $result=lut_suche_bic($bic,$ret,$blz1,$idx,$sort_uniq);
  header ("Content-Type:text/xml; charset=utf-8");
  echo '<?xml version="1.0" encoding="utf-8"?>';
  echo utf8_encode("<result><bic>".(($result == null)? "invalid":$result[0])."</bic></result>");
  die();
}

?>
<html>
<head>
<title>Konto_check Testseite</title>
</head>
<body>

<h1>Testseite konto_check</h1>
Diese Seite liefert auch XML Daten als Antwort auf Anfragen in der Form:
<a href="index.php?kto=648489890&blz=50010517">index.php?kto=648489890&blz=50010517</a><br/>
und <a href="index.php?iban=DE12500105170648489890&bic=INGDDEFFXXX">index.php?iban=DE12500105170648489890&bic=INGDDEFFXXX</a><br/>
und <a href="index.php?iban=DE12500105170648489890">index.php?iban=DE12500105170648489890</a><br/>
und <a href="index.php?bic=INGDDEFFXXX">index.php?bic=INGDDEFFXXX</a><br/>
Diese Seite arbeitet mit der unter LGPL Lizenz stehenden Bibliothek <a href="http://kontocheck.sourceforge.net/">konto_check</a> von Michael Plugge,
<a href="http://sourceforge.net/projects/kontocheck/files/konto_check-de/6.10/">Version 6.10 vom 20. August 2019</a>. Die blz.lut enth&auml;lt die Bankdaten von 2019-06-03 bis 2019-12-08.
<br/><br/>
Die RPM bzw. Debian Pakete sind verf&uuml;gbar bei <a href="https://build.opensuse.org/package/show/home:tpokorra:kontocheck/kontocheck">Open Build Service</a> und k&ouml;nnen anhand dieser <a href="http://software.opensuse.org/download/package?project=home:tpokorra:kontocheck&package=kontocheck">Anleitungen</a> installiert werden.
<br/><br/>
Bitte in das folgende Textfeld die zu testenden Bankverbindungen
(BLZ/Kto, durch Blanks getrennt) eingeben.
<br/>
<p><form method="post">
<textarea cols="50" rows="15" name="testkonten">
<?php echo $testkonten; ?>
</textarea>
<p><input type="submit" name="testen" value="Konten testen"></p>
</form></p>

<?php
if(!empty($testen) && !empty($testkonten)){

      /* Bibliothek initialisieren (mit Defaultwerten)  */
   if(($retval=lut_init())<OK && $retval!=LUT2_PARTIAL_OK)
      die('<p><font color="red">Fehler bei der Initialisierung: '
            .kto_check_retval2html($retval)."</font>");

   echo "<h2>Testergebnisse:</h2>\n<table>\n";
   $testkonten=str_replace("\t", " ", $testkonten);
   $zeilen=explode("\n",$testkonten);   /* Textfeld in Zeilen aufteilen */
   foreach($zeilen as $i=>$v){
      $v=trim($v);
      if(!empty($v)){
         list($blz,$kto)=split("[ \t]+",$v);    /* Zeile aufdrön */
         if(!empty($blz) && !empty($kto)){      /* BLZ und Konto sind notwendig */
            $retval=kto_check_blz($blz,$kto);   /* Bankverbindung testen */
            $rv_txt=kc_html($retval);           /* Rüewert als Klartext */
            $name=lut_name($blz,$ret);          /* Banknamen holen */
            if($ret==OK){                       /* Bank gefunden, BLZ ok */
               $plz=lut_plz($blz);              /* Postleitzahl der Bank */
               $ort=lut_ort($blz);              /* Ort der Bank */
               $IBAN = iban_gen($blz,$kto,$retval,$papier,$bic,$blz2,$kto2);
               $info="$name</td><td>$plz $ort</td><td>$IBAN</td><td>$bic"; /* Bankinfo zusammenstellen */
            }
            else
               $info="";   /* Fehler in BLZ; Banknamen leer lassen */
            printf("<tr><td>$blz</td><td>$kto</td><td>$rv_txt</td><td>$info</td></tr>\n");
         }
      }
   }
   lut_free(); /* Speicher freigeben */
}
?>
</table>
</body>
</html>