#!/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ß AUFGERUFEN WERDEN?## ##################################### if ($var eq "create_alias_html") { &create_alias_html; } elsif ($var eq "create_alias") { &create_alias; } elsif ($var eq "login_html") { &login_html; } elsif ($alias eq "") { &login_html; } else { &checklogin; } sub login_html { # Erste Startseite local $counter = undef; &read_file("data/count"); $counter = ; close DATEI; $counter++; &write_file_new("data/count"); print DATEI $counter; close DATEI; &start_html("Created by Paul C. Bütow 2k"); print <
$title
END if ($tmp eq "true") { print < ACHTUNG!
Wahrscheinlich existiert Dein Alias "$alias" nicht,
Du hast Dich verschrieben oder das Passwort ist falsch.
Versuch es erneuert !
END } elsif ($tmp eq "quit") { print < Du hast soeben den Chat verlassen.
Um den Chat erneuert zu betreten, einfach Daten eingeben und auf "Los Geht's" klicken :-) END } elsif ($tmp eq "banned") { print < ACHTUNG!
Dein Alias "$alias" wurde verbannt.
Z.z. kannst Du Dich leider nicht in den Chat einloggen.
Sorry!
END } elsif ($tmp eq "kick") { print < ACHTUNG!
Du wurdest soeben aus dem Chat katapultiert!
Schlechtes Verhalten mag die Ursache hierfür sein.
Sorry!
END } elsif ($var eq "create_alias") { print "
Du hast sich soeben in die Datenbank eingetragen. Einfach auf \"Los Geht's\" klicken :-)
"; } else { print < Herzlich willkommen!
Einfach Daten eingeben und auf "Los Geht's" klicken :-) END &log("system","\"first_http_ok\""); } print <
Dein Alias:
Dein Passwort:


Solltest Du noch keinen Nick besitzen, dann auf "Registrieren" klicken!


yChat befindet sich momentan noch in der Entwicklungsphase !
Fragen gehen an Paul Bütow ( paul\@buetow.oxg.de ) :-)

Diese Seite wurde schon $counter mal aufgerufen.
END } sub create_alias_html { # HTML-Form für Erstellung eines neuen Benutzers. my $reload = $_[0]; &start_html("Registration"); print <
END if ($reload eq "alias_exists") { print < ACHTUNG!
Der von Dir gewählte Benutzername "$alias" existiert in unserer Datenbank bereits. Bitte versuch es erneuert mit einem anderen Benutzernamen !

END } elsif ($reload eq "pw_wrong") { print < ACHTUNG!
Deine beiden Passworteingaben stimmen nicht überein. Bitte geb das Passwort erneuert an um sicherzugehen, daß kein falsches Passwort abgespeichert wird !

END } elsif ($reload eq "alias_prohibited") { print < ACHTUNG!
Dein gewählter Benutername "$alias" enthält illegale Zeichen. Bitte versuch einen anderen Benutzernamen!

END } else { print < Hier kannst Du Dich registrieren. Bitte beachte, daß die Passworteingabefelder übereinstimmen!
END } print <
Dein Alias: (Muß angegeben werden)

Dein gewünschtes Passwort:

Geb hier Dein Passwort erneuert ein:



Um den Chat zu betreten müssen die Daten nach der Registration auf der Startseite erneuert bestätigt werden !
END } sub checklogin { # Überprüfen, ob die Login-Daten korrekt sind. my $lognotexists = "true"; &list_dir("data/user/options"); for (my $i=0; $i<=$#dir; $i++) { if ($dir[$i] eq $alias) { &read_file("data/user/options/$alias"); @datei = ; close DATEI; chomp($datei[0]); if ($datei[0] eq $id) { &read_file("data/ban"); # Überprüfen, ob Alias verbannt ist @banned = ; close DATEI; foreach(@banned) { if ($_ eq "$alias\n") { &log("system","\"login_alias_banned\""); $tmp = "banned"; &login_html(); exit; } } $col = $datei[1]; $secol = $datei[2]; &write_file_new("data/online/ident/$alias"); print DATEI $ENV{'REMOTE_ADDR'}; close DATEI; &frameset_html; exit; } else { &log("system","\"login_pw_wrong\""); $lognotexists = "false"; } } } if ($lognotexists eq "true") { &log("system","\"login_alias_notexists\""); } &login_html; # Falls Login-Daten inkorrekt sind, zurück zur Startseite. } sub create_alias { # Erstellung eines neuen Benutzers. if ($alias =~ /[\W]/ || $alias eq "") { &log("system","\"reg_alias_prohibited\""); &create_alias_html("alias_prohibited");; exit; } elsif ($id ne $tmp) { &log("system","\"reg_pw_wrong\""); &create_alias_html("pw_wrong"); exit; } &list_dir("data/user/options"); for (my $i=0; $i<=$#dir; $i++) { if ($dir[$i] eq $alias) { &log("system","\"reg_alias_exists\""); &create_alias_html("alias_exists"); exit; } } &write_file_new("data/user/options/$alias"); print DATEI $id."\n"; close DATEI; &zeit; &list_dir("data/user/options"); my $number = $#dir-1; &post("($hours:$min:$sec) $alias [$number] hat sich soeben als neuer Benutzer registriert :-) ..."); &log("system","\"reg_ok\""); &login_html; } sub frameset_html { print < $title - Created by Paul C. Bütow 2k END }