#!/usr/bin/perl -w use strict; print "Content-Type: text/html\n\n"; my (%oldnicks, @users, @nick, %form); sub htmlheader { print < IRC statistics - user addition page HTML } sub htmlfooter { print < HTML } sub read_config { open(FILE, ") { if($_ =~ /^/ ) { my $alias = $1; $oldnicks{$nick[$i]}{'alias'} = $alias; } if ($users[$i] =~ /link="(\S+)"(.*)/) { my $link = $1; $oldnicks{$nick[$i]}{'link'} = $link; } if ($users[$i] =~ /pic="(\S+)"(.*)/) { my $pic = $1; $oldnicks{$nick[$i]}{'pic'} = $pic; } if ($users[$i] =~ /sex="(\S+)"(.*)/) { my $sex = $1; $oldnicks{$nick[$i]}{'sex'} = $sex; } if($users[$i] =~ /ignore="(\S+)"(.*)/) { my $ignore = $1; if($ignore eq "y" or $ignore eq "Y") { $ignore = 1; } else { $ignore = 0; } $oldnicks{$nick[$i]}{'ignore'} = $ignore; } } else { $search = 1; } $i++; } return $search; } sub get_request { my $input; if ($ENV{'REQUEST_METHOD'} eq 'GET') { $input = $ENV{'QUERY_STRING'} } else { read(STDIN, $input, $ENV{'CONTENT_LENGTH'}); } my @formfields = split(/&/, $input); foreach my $field (@formfields) { my ($name, $value) = split(/=/, $field); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $form{$name} = $value; } if ($form{'ignore'} eq "on") { $form{'ignore'} = 1; } } sub check_if_found { my $found = 0; foreach (@nick) { if ($oldnicks{$_}{'nick'} eq $form{'nick'}) { $found = 1; } } if ($found eq "1") { print "

The nickname you've choosen is already configured with the following settings:

\n"; print "\n \n"; print " \n \n"; print " \n"; if($oldnicks{$form{'nick'}}{'alias'}) { print " \n"; print " \n \n"; print " \n"; } if($oldnicks{$form{'nick'}}{'link'}) { print " \n"; if($oldnicks{$form{'nick'}}{'link'} =~ /^http:|ftp:/) { print " \n \n"; } elsif ($oldnicks{$form{'nick'}}{'link'} =~ /(.*)@(.*).(.*)/) { print " \n \n"; } else { print " \n \n"; } print " \n"; } if($oldnicks{$form{'nick'}}{'pic'}) { print " \n"; print " \n \n"; print " \n"; } if($oldnicks{$form{'nick'}}{'sex'}) { print " \n"; print " \n \n"; print " \n"; } if($oldnicks{$form{'nick'}}{'ignore'} eq "1") { print " \n"; print " \n \n"; print " \n"; } print "
Nickname:$oldnicks{$form{'nick'}}{'nick'}
Aliases:$oldnicks{$form{'nick'}}{'alias'}
Link:$oldnicks{$form{'nick'}}{'link'}Link:$oldnicks{$form{'nick'}}{'link'}Link:$oldnicks{$form{'nick'}}{'link'}
Userpic:
Sex:$oldnicks{$form{'nick'}}{'sex'}
Ignore:Yes
\n"; print "

Please click here to choose an other nickname

\n"; exit(0); } } sub checks { if(!$form{'nick'}) { print "You haven't entered a nickname.. Your request will be ignored
"; print "Please click here to choose an other nickname"; exit(0); } if($form{'nick'} and !$form{'alias'} and !$form{'link'} and !$form{'pic'} and !$form{'ignore'} and !$form{'sex'}) { print "You've entered a nickname but haven't configured any settings for that nickname
\n"; print "Please click here to configure some settings for the nickname"; exit(0); } } sub add_line { my $line_to_add = "\n HTML ; if($form{'alias'}) { print " \n"; print " \n"; print " \n"; } if($form{'link'}) { print " \n"; print " \n"; print " \n"; } if($form{'pic'}) { print " \n"; print " \n"; print " \n"; } if($form{'sex'}) { print " \n"; print " \n"; print " \n"; } if($form{'ignore'} eq "1") { print " \n"; print " \n"; print " \n"; } open(FILE, ">>pisg.cfg") or die("Error opening file: $!"); print FILE "$line_to_add\n"; close(FILE); } sub main { htmlheader(); my $search = read_config(); get_request(); if ($search ne "1") { check_if_found(); } checks(); add_line(); htmlfooter(); } main();
Nickname:$form{'nick'}
Aliases:$form{'alias'}
Link:$form{'link'}
Userpic:
Sex:$form{'sex'}
Ignore:Yes