#!/usr/bin/perl -w use CGI; # CGI-Modul laden $q = new CGI; require config; # config.pm in Dokument laden print $q->header(); # HTTP-Header erzeugen ##################################### ##WELCHE SUB MUß AUSGEFÜHRT WERDEN?## ##################################### if ($var eq "help_html") { &printfile("data/htdocs/help_html","Alle Chatbefehle"); } elsif ($var eq "menu_html") { &menu_html; } elsif ($var eq "werda_html") { &werda_html; } elsif ($var eq "logs_html") { &logs_html; } elsif ($var eq "view_sulogs_html") { &hirachie($alias); if ($hirachie eq "ow") { &start_html("Oberwächter-Logdateien"); print "
Push
"; &printfile($tmp); print "
"; } } elsif ($var eq "view_logs_html") { &hirachie($alias); if ($hirachie eq "ow" || $hirachie eq "wa") { &printfile($tmp,$tmp,"log"); } } elsif ($var eq "superuser_html") { &superuser_html; } elsif ($var eq "bar_html") { print $q->start_html(-bgcolor=>"ffa500"), $q->end_html; } else { print $q->start_html(-bgcolor=>"000000"), $q->end_html; } sub menu_html { if ($tmp eq "quit") { print $q->script( { -language=>"JavaScript" }, "window.open(\"index.pl?tmp=quit\",\"_top\")" ); sleep 1; &remove_online($alias); &secure_removeip($alias); unlink("data/msgs/$alias"); } &start_html("Menü","menu"); print <
[Wer ist da?] [Dein Profil] [Profil ändern] [Chat-Optionen] [Benutzerliste] [Chat-Befehle] [Benutzerboard] [Superuser] [Logdateien] [Weiterchatten] [Chat verlassen]
END } sub werda_html { # Anzeige, wer eingelogt ist. &start_html("Wer ist da?"); print < $alias, schön daß Du hier bist :-)
Folgende Personen befinden sich im Chat:

END &list_dir("data/online/rooms"); foreach(@dir) { if (-e "data/online/rooms/$_" && $_ ne ".." && $_ ne ".") { my $room = $_; &list_dir("data/online/rooms/$room",2); local $nr = $#dir2-1; print $q->b( $_ ), "($nr)", $q->br; foreach(@dir2) { if ($_ ne ".." && $_ ne ".") { print $q->a( { -href=>"main2.pl?var=alias_html&alias=$alias&tmp=$_" }, "$_"), " "; } } print $q->br, $q->br; } } print "
", $q->end_html; } sub logs_html { &secure_checkip($alias); &start_html("Logdateien"); print < Hier befinden sich alle Logdateien
END &hirachie($alias); if ($hirachie eq "ow" || $hirachie eq "wa") { if ($hirachie eq "ow") { print $q->div( "Folgende Logdateien können nur von Oberwächtern (OW) gelesen werden" ); &printfile("data/htdocs/logs_html"); &list_dir("data/logs/ow"); my @sortedir = sort(@dir); foreach(@sortedir) { if (-f "data/logs/ow/$_") { print $q->a( { -href=>"htdocs.pl?var=view_sulogs_html&alias=$alias&tmp=data/logs/ow/$_", -target=>$_}, "$_" ). " ", } } print $q->hr; } print $q->div( "Folgende Logdateien können nur von Wächtern und Oberwächtern gelesen werden (Sortiert nach A-Z, a-z):" ), $q->br; &list_dir("data/logs"); my @sortedir = sort(@dir); foreach(@sortedir) { if (-f "data/logs/$_") { print $q->a( { -href=>"htdocs.pl?alias=$alias&var=view_logs_html&tmp=data/logs/$_", -target=>"_new" }, "$_" ), " "; } } if ($hirachie eq "wa") { print $q->hr, $q->div( "Oberwächter können zusätzlich die Systemlogdateien lesen. Du bist allerdings ein \"Wächter\" und ", " bist nicht dazu berechtigt " ), $q->br; &printfile("data/htdocs/logs_html"); } } else { print $q->div( "Logdateien können nur von Oberwächtern (OW) und von Wächtern (WÄ) gelesen werden. Du bist jedoch ein ", "\"Normaler Chatter\". Wächter können alles nachlesen, was öffentlich gechattet wurde. Oberwächter ", "können folgende Systemlogdateien zusätzlich lesen:" ), $q->hr; &printfile("data/htdocs/logs_html"); } print $q->end_html; } sub superuser_html { # Zeigt an, wer Superuser ist &start_html("Superuser"); print "
Hallo $alias. Du bist als "; &hirachie($alias); if ($hirachie eq "ow") { print $q->b( "Oberwächter" ), " (OW) eingetragen.
", $q->hr; } elsif ( $hirachie eq "wa") { print $q->b( "Wächter" ), " (WÄ) eingetragen.", $q->hr; } else { print $q->b( "normaler Chatter" ), " (NC) eingetragen.", $q->hr; } my $nrow = $#ows+1; print "
", $q->b( "OW" ), "s ($nrow Stück)"; foreach(@ows) { print $q->font( { -color=>"FFA500" }, " ".$_); } my $nrwa = $#was+1; print "
", $q->hr, "
", $q->b( "WÄ" ), "s ($nrwa Stück)"; foreach(@was) { print $q->font( { -color=>"FFA500" }, " ".$_); } print < Die jeweiligen Fähigkeiten der Oberwächter (OW) und der Wächter (WÄ) sind unter "Chat-Befehle" dokumentiert.
END }