Viewing file: addbook.pl (6.46 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
###########################################################################
# addbook.pl - Addressbook features
###########################################################################
require "common.pl";
mkdir $addbookdir, 0700;
if ($button eq $cancel_button) {
&cancel;
} elsif ($remip ne $fromip) {
&diffip;
} elsif ($button eq $abook_button) {
###########################################################################
# Display the users address book and list options
###########################################################################
&print_header;
if ($btns eq 'top' || $btns eq 'both') { &print_options; }
($username, $junk) = split (/ /, $sessionid);
$book = $addbookdir . "/" . $username;
dbmopen(%addbook, $book, 0600) || die "Error opening db $book";
print $query->startform($method, $addbook_pl, $CGI::URL_ENCODED);
print $query->hidden('SESSIONID', $sid);
print "<SELECT NAME=ENTRY size=15>\n";
$i = 0;
foreach $key (%addbook) {
if ($i % 2 == 0) {
print "<OPTION>$key -\>\; ";
} else {
print "$key</OPTION>\n";
}
$i++;
}
print "</SELECT>";
if($btns eq 'bottom' || $btns eq 'both') {
print "<TABLE WIDTH=\"100%\" BORDER=\"0\">\n";
print "<TR><TD WIDTH=\"25%\" ALIGN=\"LEFT\" VALIGN=\"TOP\">\n";
print $query->submit('BUTTON', $newentry_button);
print "</TD><TD WIDTH=\"25%\" ALIGN=\"CENTER\" VALIGN=\"TOP\">\n";
print $query->submit('BUTTON', $delete_button);
print "</TD><TD WIDTH=\"25%\" ALIGN=\"CENTER\" VALIGN=\"TOP\">\n";
print $query->submit('BUTTON', $modify_button);
print "</TD><TD WIDTH=\"25%\" ALIGN=\"RIGHT\" VALIGN=\"TOP\">\n";
print $query->submit('BUTTON', $sendto_button);
print "</TD></TR></TABLE>";
}
print $query->endform;
dbmclose(%addbook);
if($btns eq 'bottom' || $btns eq 'both') { &print_options; }
} elsif ($button eq $newentry_button) {
###########################################################################
# Get information for a new entry
###########################################################################
&print_header;
print $query->startform($method, $addbook_pl, $CGI::URL_ENCODED);
print $query->hidden('SESSIONID', $sid);
print "<TABLE BORDER=\"0\">\n";
print "<TR><TD>$name_input</TD><TD><INPUT NAME=ENTRY SIZE=24></TD></TR>\n";
print "<TR><TD>$email_input</TD><TD><INPUT NAME=EMAIL SIZE=24></TD></TR>\n";
print "</TABLE>\n";
print $query->submit('BUTTON', $add_button);
print $query->submit('BUTTON', $cancel_button);
print $query->reset($reset_button);
print $query->endform;
} elsif ($button eq $delete_button) {
###########################################################################
# Ask if they are sure they want to delete
###########################################################################
&print_header;
($entry1, $junk) = split(/ \->/, $entry);
print "$abook_del_ask_info";
print $query->startform($method, $addbook_pl, $CGI::URL_ENCODED);
print $query->hidden('SESSIONID', $sid);
print $query->hidden('ENTRY', $entry1);
print $query->submit('BUTTON', $yes_button);
print $query->submit('BUTTON', $cancel_button);
} elsif ($button eq $yes_button) {
###########################################################################
# Delete the entry
###########################################################################
($username, $junk) = split (/ /, $sessionid);
$book = $addbookdir . "/" . $username;
dbmopen(%addbook, $book, 0600) || die "Error opening db book";
delete($addbook{$entry});
dbmclose(%addbook);
&print_header;
print $abook_del_info;
&print_options;
} elsif ($button eq $add_button) {
###########################################################################
# Add the entry
###########################################################################
($username, $junk) = split(/ /, $sessionid);
$book = $addbookdir . "/" . $username;
dbmopen(%addbook, $book, 0600) || die "Error opening db $book";
$addbook{$entry} = $email;
dbmclose(%addbook);
&print_header;
print "$abook_add_info";
&print_options;
} elsif ($button eq $modify_button) {
###########################################################################
# Modify an entry
###########################################################################
&print_header;
($username, $junk) = split(/ /, $sessionid);
$was = $entry;
($entry, $email) = split(/ \-> /, $entry);
$book = $addbookdir . "/" . $username;
dbmopen(%addbook, $book, 0600) || die "Error opening db $book";
$email = $addbook{$entry};
dbmclose(%addbook);
print $query->startform($method, $addbook_pl, $CGI::URL_ENCODED);
print $query->hidden('SESSIONID', $sid);
print $query->hidden('WAS', $was);
print "<TABLE BORDER=\"0\">\n";
print "<TR><TD>$name_input</TD><TD><INPUT NAME=ENTRY VALUE=\"$entry\"></TD></TR>\n";
print "<TR><TD>$email_input</TD><TD><INPUT NAME=EMAIL VALUE=\"$email\">";
print "</TD></TR></TABLE>\n";
print $query->submit('BUTTON', $update_button);
print $query->submit('BUTTON', $cancel_button);
print $query->reset($reset_button);
print $query->endform;
} elsif ($button eq $update_button) {
###########################################################################
# Update the entry
###########################################################################
($username, $junk) = split (/ /, $sessionid);
$book = $addbookdir . "/" . $username;
($was, $junk) = split(/ \-/, $was);
dbmopen(%addbook, $book, 0600) || die "Error opening db $book";
delete($addbook{$was});
$addbook{$entry} = $email;
dbmclose(%addbook);
&print_header;
print "$abook_update_info";
&print_options;
} elsif ($button eq $sendto_button) {
###########################################################################
# Send a message to the user
###########################################################################
&print_header;
###########################################################################
# Get the user, signature, etc.
###########################################################################
($username, $junk) = split (/ /, $sessionid);
($entry, $junk) = split(/ \->/, $entry);
$book = $addbookdir . "/" . $username;
dbmopen(%addbook, $book, 0600) || die "Error openeing db $book";
$to = $addbook{$entry};
dbmclose(%addbook);
&send_form;
}
###########################################################################
# Done
###########################################################################
&update_sess;
&print_footer;
|