#!/usr/bin/perl -w # yChat - Copyright by Paul C. Bütow 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("help.sno","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_logs_html") { &secure_checkid($alias); &hirachie($alias); if ($hirachie eq "ow" || $hirachie eq "wa") { &printfile($tmp,$tmp,"log"); } } elsif ($var eq "superuser_html") { &secure_checkid($alias); &superuser_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_removeid($alias); unlink("data/msgs/$alias"); } &start_html("Menü","menu"); print <
[Wer ist da?] [Profil ändern] [Optionen] [Benutzer] [Befehle] [Board] [Superuser] [Logs] [Weiterchatten] [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 = $_; &read_file("data/online/rstat/$room"); my @rstat = ; close DATEI; my $door = "[Abgesperrt!]" if ($rstat[0] eq "1\n"); &list_dir("data/online/rooms/$room",2); local $nr = $#dir2-1; print $q->b( $_ ), " $door ($nr) Raumthema: $rstat[1]", $q->br; foreach(@dir2) { if ($_ ne ".." && $_ ne ".") { print $q->a( { -href=>"main2.pl?var=alias_html&alias=$alias&tmp=$_&tmpid=$tmpid" }, "$_"), " "; } } print $q->br, $q->br; } } print "
", $q->end_html; } sub logs_html { &start_html("Logdateien"); print < Hier befinden sich alle Logdateien
END &hirachie($alias); if ($hirachie eq "ow" || $hirachie eq "wa") { print $q->div( "Folgende Logdateien des Raumes \"Cyberbar\" 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/$_&tmpid=$tmpid", -target=>"_new" }, "$_" ), " "; } } } 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." ), $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 }