Large MAPS update
[clearscm.git] / maps / bin / register.cgi
1 #!/usr/bin/perl
2 ################################################################################
3 #
4 # File:         $RCSfile: register.cgi,v $
5 # Revision:     $Revision: 1.1 $
6 # Description:  Register a MAPS user
7 # Author:       Andrew@DeFaria.com
8 # Created:      Mon Jan 16 20:25:32 PST 2006
9 # Modified:     $Date: 2013/06/12 14:05:47 $
10 # Language:     perl
11 #
12 # (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
13 #
14 ################################################################################
15 use strict;
16 use warnings;
17
18 use FindBin;
19 $0 = $FindBin::Script;
20
21 use lib "$FindBin::Bin/../lib";
22
23 use MAPS;
24 use MAPSLog;
25 use MAPSWeb;
26
27 use CGI qw/:standard/;
28
29 my $fullname = param("fullname");
30 my $sender   = lc(param("sender"));
31 my $userid   = param("userid");
32
33 sub MyFooting() {
34   print div({-align  => "center"},
35     button (-name    => "close",
36             -value   => "Close Window",
37             -onClick => "window.close ()")
38   );
39   print end_html;
40 } # MyFooting
41
42 sub MyError($) {
43   my ($errmsg) = @_;
44
45   print h3 ({-class => "error",
46              -align => "center"}, "ERROR: " . $errmsg);
47
48   MyFooting;
49
50   exit 1;
51 } # MyError
52
53 sub MyHeading() {
54   print
55     header(-title  => "MAPS Registration"),
56     start_html(-title  => "MAPS Registration",
57                 -author => "Andrew\@DeFaria.com",
58                 -style  => {-src => "/maps/css/MAPSPlain.css"}
59     );
60   print
61     h2 ({-class     => "header",
62          -align     => "center"},
63       font ({-class => "standout"}, 
64       "MAPS"), "Registration Results"
65           );
66 } # MyHeading
67
68 # Main
69 MyHeading;
70
71 MyError("Sender not specified!") if $sender eq '';
72
73 my ($status, $rule) = OnWhitelist($sender, $userid, 0);
74
75 if ($status) {
76   MyError("The email address $sender is already on ${userid}'s list)");
77 } # if
78
79 my $messages = Add2Whitelist($sender, $userid, $fullname);
80
81 print p "$fullname, your email address, $sender, has been added to ${userid}'s white list.";
82
83 if ($messages > 0) {
84   if ($messages == 1) {
85     print p "Your previous message has been delivered\n";
86   } else {
87     print p "Your previous $messages messages have been delivered\n";
88   } # if
89 } elsif ($messages == -1) {
90   MyError "Unable to deliver message";
91 } else {
92   print p "Unable to find any old messages but future messages will now be delivered.";
93 } # if
94
95 MyFooting;