sub main2 { ##################################### ##WELCHE SUB MUß AUSGEFÜHRT WERDEN?## ##################################### if ($var eq "list_alias_html") { &list_alias_html; } elsif ($var eq "alias_html") { &alias_html; } elsif ($var eq "edit_profile_html") { &secure_checkid($alias,$tmpid); &edit_html("edit_profile_html"); } elsif ($var eq "edit_options_html") { &secure_checkid($alias,$tmpid); &edit_html("edit_options_html"); } elsif ($var eq "gb_html") { &gb_html; } elsif ($var eq "post_gb") { &secure_checkid($alias,$tmpid); &post_gb; } elsif ($var eq "edit_profile") { &secure_checkid($alias,$tmpid); &edit("edit_profile"); } elsif ($var eq "edit_options") { &secure_checkid($alias,$tmpid); &edit("edit_options"); } elsif ($var eq "rm_gb_alias") { &secure_checkid($alias,$tmpid); &rm_gb; } else { &error("Parameter fehlt"); } } ########################### ##HAUPTTEIL DIESER DATEI:## ########################### sub gb_html { # Das Benutzerboard/Gästebuch. my $message = $_[0]; &start_html("Benutzerboard"); &menu(); if ($message eq "post_empty") { print < ACHTUNG!
Du wolltest soeben einen leeren Eintrag posten. Bitte schreib zuerst einen Text und poste dann !

END } elsif ($message eq "post_ok") { print < Meldung:
Vielen Dank für Deinen Beitrag. Wenn Du willst, kannst Du jetzt gleich noch einen Eintrag posten ...

END } else { print < Falls Du Anregungen oder Verbesserungsvorschläge für die Community hast, dann poste doch einen kleinen Eintrag :-)
END } print <
END if (-e "data/guestbook") { open (DATEI,"; close DATEI; print $q->div(@datei); } print $q->end_html; } sub post_gb { # Wenn etwas in ein Gästebuch eingetragen wird my ($secs, $mins, $hours, $days, $months, $years) = &timearray; if ($msg eq "") { if ($id eq "y") { # Überprüfen, ob Benutzerboard- oder Privatgästebuch &gb_html("post_empty"); } else { &alias_html("post_empty"); } $client->shutdown(2); exit 0; } $msg =~ s#<#<\;#g; $msg =~ s#\n#
#g; my $tmpath = ""; if ($id eq "y") { $tmpath = "data/guestbook"; } else { $tmpath = "data/user/gbooks/$tmp"; } open(GB,"$tmpath"); my @gb = ; close GB; pop(@gb) if ($#gb > 99); my @newdatei = "
$alias schrieb am $days.$months.$years um $hours:$mins:$secs ...
$msg
\n"; push(@newdatei,@gb); open(GB,">$tmpath"); print GB @newdatei; close GB; if ($id eq "y") { &gb_html("post_ok"); $client->shutdown(2); exit 0; } else { post_prv($tmp,"$alias hat soeben einen Pin in Dein Profil gehängt ... "); &alias_html; $client->shutdown(2); exit 0; } } sub rm_gb { # Gästebucheintrag entfernen open(GB,"; close GB; my @newgbfile = (); for ($i=0; $i <= $#gbfile; $i++) { push(@newgbfile,$gbfile[$i]) if ($i != $id); } open(GB,">data/user/gbooks/$alias"); print GB @newgbfile; close GB; &alias_html("rm_ok"); } sub list_alias_html { # Liste aller Benutzer &start_html("Alle Benutzer"); opendir(REGISTERED,"data/user/options"); my @users = readdir(REGISTERED); closedir(REGISTERED); my @liste = sort(@users); my $nr = $#users-1; &menu(); print < Es sind z.Z. genau $nr Benutzernamen in der Datenbank vorhanden! (Sortiert nach #, A-Z, a-z)
END foreach(@liste) { if (-f "data/user/options/$_") { print $q->a( { -href=>"chat?request=main2&var=alias_html&alias=$alias&tmp=$_&tmpid=$tmpid" }, "$_"), " "; } } print < END } sub alias_html { # Anzeigen eines Benutzerprofils my $message = $_[0]; open(COUNTS,"; close COUNTS; $counter++; open(COUNTS,">data/user/counts/$tmp"); print COUNTS $counter; close COUNTS; &start_html($tmp); &menu(); print < Meldung:
Der von Dir gewählte Eintrag wurde erfolgreich gelöscht.

END } elsif ($message eq "post_empty") { print < ACHTUNG!
Du wolltest soeben einen leeren Eintrag posten. Bitte schreib zuerst einen Text und poste dann !
END } open(PROFILE,"; close PROFILE; print < Dieses Profil wurde insgesamt schon $counter mal aufgerufen !

Alias: $tmp

Nachname: $data[0]

Vorname: $data[1]

Alter: $data[2]

Wohnort: $data[3]

E-Mail: $data[4]

ICQ-Nummer: $data[5]

Homepage: $data[6]

Weiteres:
$data[7]
Hier kannst Du $tmp eine Nachricht hinterlassen!

END if (-e "data/user/gbooks/$tmp") { open (DATEI,"; close DATEI; my $nr = 1; if ($alias ne $tmp) { foreach(@datei) { print "
Eintrag # $nr: $_"; $nr++; } } else { print <
END for($i=0; $i <= $#datei; $i++) { print <

Eintrag # $nr: $datei[$i]
END $nr++; } print <
END } } print $q->end_html; } sub edit_html { # Chat-Optionen / Benutzerprofil editieren my ($method,$message) = @_; &start_html("Benutzerprofil ändern"); if ($method eq "edit_options_html") { open(DATEI,"; close DATEI; foreach(@data) { chomp $_; } &menu(); if ($method eq "edit_options_html") { if ($message eq "edit_options_ok") { # &private_javascript($alias, &get_room($alias), "parent.input.document.inf.col.value = '$col'; parent.input.document.inf.secol.value = '$secol';" ); print < Hinweis:
Du hast soeben Deine Chat-Optionen erfolgreich editiert. Hier kannst Du Dein Profil erneuert editieren. Um weiterzuchatten einfach Fenster schliessen!

END } elsif ($message eq "edit_pw_wrong") { print < ACHTUNG!
Du hast soeben versucht, dein Passwort zu ändern. Jedoch stimmte die Erste Eingabe nicht mit der Zweiten überein. Bitte versuch es erneuert ...

END } else { print $q->div( "Hier kannst Du Deine Chat-Optionen editieren!" ), $q->hr; } print <
Dein Passwort (Gut merken !!)
Geb hier das Passwort erneuert ein:

Einstellungen für den Nachrichten-Verlauf

Anzahl der Nachrichten im Verlauf (Standart = 10)

Wie sollen die Nachrichten im Verlauf angeordnet sein?

PS: Einstellungen des Nachrichten-Verlaufs werden erst nach einem Neueinloggen aktualisiert.

Auswahl von Farbe 1
(Farbe Deines Nicks):
Auswahl von Farbe 2
(Farbe Deiner Nachrichten):

Beliebige Auswahl markieren und Farbe wählen. Um Deine Optionen abzuspeichern, auf "Daten ändern" klicken!

END open(COLORS,"; close COLORS; print @colors; } elsif ($method eq "edit_profile_html") { if ($message eq "edit_profile_ok") { print < Hinweis:
Du hast soeben Dein Profil erfolgreich editiert. Hier kannst Du Dein Profil erneuert editieren:
END } else { print $q->div( "Hier kannst Du Dein Profil editieren!" ), $q->hr; } print <
Dein Nachname:

Dein Vorname:

Dein Alter:

Dein Wohnort:

Deine E-Mail Adresse:

Deine ICQ-Nummer:

Deine Homepage:

Weiteres:
END } print < END } sub edit { # Benutzerprofil od. Chat-Optionen abspeichern my $method = $_[0]; if ($method eq "edit_profile") { my $url = $homepage; $url =~ s#^http://*##; open(PROFILE,">data/user/profiles/$alias"); my $profile = "$nachname\n$vorname\n$alter\n$wohnort\n$email\n$icq\nhttp://$url\n$weiteres"; $profile =~ s#<#<\;#g; print PROFILE $profile; close PROFILE; &edit_html("edit_profile_html","edit_profile_ok"); } elsif ($method eq "edit_options") { if ($id ne $tmp) { &edit_html("edit_options_html","edit_pw_wrong"); $client->shutdown(2); exit 0; } open(OPTIONS,">data/user/options/$alias"); my $options = "$id\n$col\n$secol\n$maxVerlauf\n$verlaufOrder"; $options =~ s#<#<\;#g; print OPTIONS $options; close OPTIONS; my $room = &get_room($alias); &private_javascript($alias, $room, "parent.input.document.inf.col.value = '$col'; parent.input.document.inf.secol.value = '$secol';" ); &post($room,"".×tring." $alias hat seine Chat-Einstellungen geändert ...", $alias); &post_strmsg($alias,$room,'col',"$col;$secol"); &edit_html("edit_options_html","edit_options_ok"); } } 1;