#!/usr/bin/perl -wT

use strict;
use CGI;
use CGI::Carp qw (fatalsToBrowser);
use BerkeleyDB;


my $query = new CGI;

   if ( ! defined($main::aktionRun) ) {
      &sAktion();
   }
unless (defined($main::Aktion)) {
   $main::Aktion = $query->param("what_to_do");
}

   if ( defined($main::eingabeRun) ) {
      &sEingabe();
   }

    if (defined($main::manipRun)) {
      &sManip();
   }


sub sAktion {
   my $aktion = new CGI;
   unless ( defined($aktion->param("what_to_do")) || 
              defined($aktion->param("searchFor")) ) {
     print $aktion->header( -type => "text/html", -expires => "now" );
     print $aktion->start_html( -title => "Filter-Datenbank", 
                                -style => {-src => "/style.css"} );
#     my $what_am_i = $aktion->self_url();
#     print $aktion->h2("$what_am_i");
     print $aktion->h1("Willkommen bei der Verwaltung der Filterdatenbank\n");
     print $aktion->p("Mit diesem Script k&ouml;nnen Sie die Filterdatenbank &auml;ndern!");
     print $aktion->br;
     print $aktion->p("Folgende Aktionen sind m&ouml;glich:");
     print $aktion->br;
     print $aktion->br;
     print $aktion->start_form();
     print $aktion->radio_group(
             -name	=>  "what_to_do",
             -values	=>  [ "add_domain", "del_domain", "add_url", "del_url" ],
             -default	=>  "add_domain",
             -linebreak	=>  'true',
             -labels	=>  { add_domain 	=> "Sperren einer Domain",
 			      del_domain	=> "Entsperren einer Domain",
			      add_url		=> "Sperren einer Seite",
			      del_url		=> "Entsperren einer Seite" }
             );
     print $aktion->submit( -value => "absenden" );
     print $aktion->end_form();
     print $aktion->end_html();
   } else {
#     unless (defined($main::Aktion)) {
#        $main::Aktion = $aktion->param("what_to_do");
# }
      $main::eingabeRun = "gefordert";
   }
#   $main::Aktion = $aktion->param("what_to_do");
   $aktion->delete_all();
   $main::aktionRun = "gelaufen";
}

sub sEingabe {
   my $eingabe = new CGI;

   unless ( defined ($eingabe->param("searchFor"))) {
      print $eingabe->header( -type => "text/html", -expires => "now" );
      print $eingabe->start_html( -title => "Filter-Datenbank Eingabe",
                                  -style => { -src => "/style.css" } );
  print $eingabe->p("$main::Aktion");
      print $eingabe->h1("Dies ist das Eingabe Fenster\n");
      print $eingabe->h3("Im folgenden Feld k&ouml;nnen Sie einen Domain-Namen
                          oder eine spezielle Seite zum sperren oder entsperren eingeben");
      print $eingabe->br;
      print $eingabe->p("ein Domain-Name kann z.B.",
                         $eingabe->b($eingabe->em("sex.com")),
                         "sein, um die Domain",$eingabe->em("sex.com"),"und alle
                         ihre Subdomains zu sperren bzw. zu entsperren",$eingabe->br,
                         "oder er kann",
                         $eingabe->b($eingabe->em("pictures.sex.com")),
                         "sein, um die Subdomain",$eingabe->em("pictures.sex.com"),"zu sperren.",
                         $eingabe->br, 
                         "In diesem Fall w&uuml;rde z.B.",$eingabe->em("xxx.sex.com"),
                         "ungesperrt bleiben.",
                         $eingabe->br,$eingabe->br,
                         "die Angabe einer Seite kann z.B.",
                         $eingabe->b($eingabe->em("www.yahoo.de/links/pictuers.html")),
                         "sein, umd die Seite",$eingabe->em("www.yahoo.de/links/pcituers.html"),
                         "zu sperren.",$eingabe->br,
                         "Wildcards wie z.B.",$eingabe->b($eingabe->em("www.yahoo.de/links/*")),
                         "sind ebenfalls erlaubt");
      print $eingabe->start_form();
      print $eingabe->p("Bitte den String eingeben:",
                         $eingabe->textfield( -name => "searchFor", -size => 50 ));
      print $eingabe->end_form();
      print $eingabe->end_html();
      undef($main::eingabeRun);
   } else {
      $main::manipRun = "soll_laufen";
   }
   $main::eingabe = $eingabe->param("searchFor");
   $eingabe->delete_all;
}

sub sManip {

   my $manip = new CGI;
   
   print $manip->header();
   print $manip->start_html();
   print $manip->p($main::manipRun,$main::Aktion,$main::eingabe);
   print $manip->end_html();

   
   if ( defined($main::manipRun) ) {
     print $manip->header("text/html");
     print $manip->start_html();
     print $manip->start_form();
     print $manip->submit( -name =>  "nochmal", -value => "weitere Aktion");
     print $manip->submit( -name =>  "Ende", -value => "beenden");
     print $manip->end_form();
     print $manip->end_html();
     undef($main::manipRun);
   } else {
     print $manip->header("text/html");
     print $manip->start_html();
     print $manip->h3("Nochmal?");
     if ( defined($manip->param("nochmal"))) {
        print $manip->p("ja nochmal");
        undef($main::eingabeRun);
        undef($main::aktionRun);
        undef($main::manipRun);
     } else {
        print $manip->p("Ne Ende");
        define($main::TACH);
     }
     print $manip->end_html;
     $manip->delete_all();
     undef($main::manipRun);
   }
}
