Viewing file: delete.pl (4.13 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
###########################################################################
# delete.pl - Let the user cancel their account
###########################################################################
require "common.pl";
###########################################################################
# Print the header
###########################################################################
if ($button eq $no_button) {
&cancel;
} elsif ($remip ne $fromip) {
&diffip;
}
&print_header;
if ($button eq $yes_button) {
@username = split (/ /, $sessionid);
$username = $username[0];
###########################################################################
# Check for a reserved user
###########################################################################
dbmopen (%reserved, $reserveddb, 0400) || die "Error opening db $reserveddb";
if ($reserved{$username} ne "") {
print $delete_no_info;
&print_options;
} else {
###########################################################################
# Delete password
###########################################################################
dbmopen(%pass, $passdb, 0600) || die "Error opening db $passdb";
delete($pass{$username});
dbmclose(%pass);
###########################################################################
# Delete POP server
###########################################################################
dbmopen(%server, $serverdb, 0600) || die "Error opening db $serverdb";
delete($server{$username});
dbmclose(%server);
###########################################################################
# Delete POP user name
###########################################################################
dbmopen(%popname, $popdb, 0600) || die "Error opening db $popdb";
delete($popname{$username});
dbmclose(%popname);
###########################################################################
# Delete e-mail address
###########################################################################
dbmopen(%mail, $maildb, 0600) || die "Error opening db $maildb";
delete($mail{$username});
dbmclose(%mail);
###########################################################################
# Delete virtual domain address
###########################################################################
if ($feature_forward == 1 && $dont_mess_with_sendmail != 1) {
dbmopen(%usertable, $usertable, 0600) || die "Error opening db $usertable";
delete($usertable{$username."\@".$domain});
dbmclose(%usertable);
}
###########################################################################
# Delete signature
###########################################################################
dbmopen(%sigs, $sigdb, 0600) || die "Error opening db $sigdb";
delete($sigs{$username});
dbmclose(%sigs);
###########################################################################
# Delete hint
###########################################################################
dbmopen(%hints, $hintdb, 0600) || die "Error opening db $hintdb";
delete($hints{$username});
dbmclose(%sigs);
###########################################################################
# Delete the addressbook
###########################################################################
$bookname = $addbookdir . "/" . $username;
foreach $extension ("db", "pag", "dir") {
$bookfile = $bookname . "." . $extension;
unlink $bookfile;
}
###########################################################################
# End session
###########################################################################
dbmopen(%sess, $sessiondb, 0600) || die "Error opening db $sessiondb";
delete($sess{$sid});
dbmclose(%sess);
###########################################################################
# Let them know it worked
###########################################################################
print $delete_acct_info;
}
dbmclose(%reserved);
}
###########################################################################
# Done
###########################################################################
&print_footer;
|