#!/usr/bin/perl

require "dudenv.pl";
&profil;

require "dudparse.pl";
&ReadParse;

$codes=$in{'codes'};

@nummern1=split(/,/,$codes);
@nummern=();

# Test, ob Zahlencode eingegeben wurde

foreach $i (@nummern1) {
   if ($i=~/^[12]/) {
      @nummern=(@nummern,$i);
   }
}
$varzahl=@nummern;

if ($varzahl>=1) {
   require "dudrsub.pl";

   @codesarray=();

   $tpq=$in{'tp'};
   $taq=$in{'ta'};

   if ($taq==0) {
      $taq=1999;
   }

   if ($tpq==0) {
      $tpq=900;
   }

   $alles=$in{'alles'};

# Umwandeln der Codes, die vom User eingegeben werden, in
# Zeichenketten fuer untergeordnete Rubren bzw. 
# 7-stellige Codes fuer das Kleio-Codebook:           
                                                         
   if ($alles) {
      foreach $i (@nummern) {
         $i=~s/\s//g;
         $text="\"$i\&\"";
         @codesarray=(@codesarray,$text);
      }
      $kleiocodes=join(" or ",@codesarray);
   } else {
      $a=1;
      foreach $i (@nummern) {
          until ($i > 999999) {
             $a=$i*10;
             $i=$a;
          }
          $a=$i;
          $a="\"$a\&\"";
          @codesarray=(@codesarray,$a);
          $a=1;
      }
      $kleiocodes=join(" or ",@codesarray);
   }
   
   chdir ("$DB_DIR");

   $prozess = $$;
   $ausgabe = "/duderstadt/ergebnis/ergebnis" . "$prozess" . ".htm";
   $ausgabe_lang = "$ENV{'DOCUMENT_ROOT'}" . "$ausgabe";
   if ($OS=~/WIN/i) {
      &dt;
   }
 $zl=1;
 while ($zl==1) {
   $zl=2;

   open (ASK, "|$KL_START");
   print ASK ("query name=tektonik;part=/catalogue[rubren,start,\'$kleiocodes\']\n");
   print ASK ("write self=no;start=no;
         part=/test[/back[amtsbuch]:laufzeit1=after \"$tpq\" and before \"$taq\"]
            :package[:conversion[:rubrum,text],rubrum] |+
            :package[:text[:summa,number],summa] &+
            :package[/back[folio]:text[:datei],seiten_ref_5] |+ :package[/back[folio]:text[:datei],schliessen5] &+
            :package[/back[amtsbuch]:conversion[:titel,text],amtsbuch] &+
            :package[/back[amtsbuch]:bestellnr,bestellnr_2]\n");
   print ASK ("stop target=\"$ausgabe_lang\";package=ergebnisdatei4;overwrite=yes\n");

   close ASK;

   if (-e $ausgabe_lang) {
       & trefferzahl
   } else {
     if ($varzahl>1) {
        $zl=1;
        shift(@codesarray);
        $kleiocodes=join(" or ",@codesarray);
        $varzahl--;
     } else {
       print "Location: /duderstadt/fehler/fehler4c.htm", "\n\n";
     }
   }
 }
} else {
     print "Location: /duderstadt/fehler/fehler1c.htm", "\n\n";
}
