use warnings;
use FindBin;
-$0 = $FindBin::Script;
+
+local $0 = $FindBin::Script;
use lib "$FindBin::Bin/../lib";
+use lib "$FindBin::Bin/../../lib";
use MAPS;
use MAPSWeb;
use CGI qw (:standard);
-my $userid;
-my $Userid;
-my $fullname = param('fullname');
-my $email = param('email');
-my $old_password = param('old_password');
-my $new_password = param('new_password');
-my $repeated_password = param('repeated_password');
-my $mapspop = param('MAPSPOP');
-my $history = param('history');
-my $days = param('days');
-my $dates = param('dates');
-my $tag_and_forward = param('tag_and_forward');
+my ($userid, $Userid);
+my $name = param 'fullname';
+my $email = param 'email';
+my $old_password = param 'old_password';
+my $new_password = param 'new_password';
+my $repeated_password = param 'repeated_password';
+my $mapspop = param 'MAPSPOP';
+my $history = param 'history';
+my $days = param 'days';
+my $dates = param 'dates';
+my $tag_and_forward = param 'tag_and_forward';
sub Body {
my %options = (
'Tag&Forward' => $tag_and_forward,
);
- if ($old_password && $old_password ne '') {
+ if ($old_password) {
my $dbpassword = UserExists($userid);
my $encrypted_old_password = Encrypt($old_password, $userid);
} # if
} # if
- if (UpdateUser($userid, $fullname, $email, $new_password) != 0) {
+ if ($new_password) {
+ unless ($old_password) {
+ DisplayError "You must provide your old password in order to change it";
+ } else {
+ if ($repeated_password ne $new_password) {
+ DisplayError "Your new password does not match your repeat password";
+ } else {
+ $new_password = Encrypt($new_password, $userid);
+ } # if
+ } # unless
+ } # if
+
+ if (UpdateUser(
+ userid => $userid,
+ name => $name,
+ email => $email,
+ password => $new_password,
+ ) != 0) {
DisplayError "Unable to update user record for user $userid";
} # if
print h2 {-class => 'header',
-align => 'center'},
"${Userid}'s profile has been updated";
+
+ return;
} # Body
$userid = Heading (
'Update Profile',
"Update user's profile",
);
+
+$userid //= $ENV{USER};
+
$Userid = ucfirst $userid;
SetContext($userid);
NavigationBar($userid);
-Body();
-Footing();
+
+Body;
+
+Footing;
+
+exit;
\ No newline at end of file