#!/usr/bin/perl -w #------------------------------------------------------------------------------- # Perl Script manage_users.cgi # 02/12/2011 by R. Tulloch #Revised 2/25/2017 R Tulloch # Based on lots of other folks work that went before me # licensed under the GNU General Public License ver. 2.0 # see the accompaning LICENSE file #------------------------------------------------------------------------------- use strict; use diagnostics -verbose; use warnings; use CGI; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use CGI qw(:standard escapeHTML); use CGI qw/:standard/; use lib qw(/usr/local/apache/lib/perl); use CGI::Session; #use CGI::Switch; #use feature ':5.12'; #use feature 'switch'; use Time::HiRes qw(usleep); #local ($CGI::DISABLE_UPLOADS, $CGI::POST_MAX); $CGI::DISABLE_UPLOADS = 1; # Disable uploads $CGI::POST_MAX = 32 * 1024; # limit posts to 32K max use lib qw(/home/jalamior/www/httpsdocs/cgi-bin/lib/perl); #use Switch; #use lib qw(/home/httpd/vhosts/jala-mi.org/cgi-bin/lib/perl); #use lib qw(/srv/www/cgi-bin/lib/perl); use manageusers qw(GetUserSessionCookie CheckForAuthorizedUser ProcessLostDataRequest ProcessLoginRequest LoginUser LogoutUser UpdateUserData GetUserLostData print_md5_javascript CheckValidLoginChar CheckValidEmailChar); #use Trace; #------------------------------------------------------------------------------- # Admin Configuration Section #------------------------------------------------------------------------------- #Association name and acronym my $fbformtitle = "Jackson Area Landlords "; my $fbacronym = "JALA"; #Only change page titles. my $htmlFeedbackheader='User Feedback Form'; my $htmlInvalidLoginheader='Invalid Login Data Feedback Form'; my $htmlInvalidUpdateheader='Invalid Update Input Data Feedback Form'; my $htmlLoginheader='Login Form'; my $htmlUpdateUserheader='Update User Information'; my $htmlRequestMissingheader='Lost Information Request'; my $htmlheader2 = ''; my $htmlheader3 = ''; #our $loggedon_id =0; my $accessAdmin = 0; $accessAdmin = $manageusers::adminaccess; #warn("accessAdmin = '$accessAdmin'"); #------------------------------------------------------------------------------- # Non-Configuarable #------------------------------------------------------------------------------- my $query = new CGI; my $cgiURL = CGI::url(); my %params = CGI::Vars(); #Error Handling BEGIN { my $blank = " "; require 5.004; use CGI::Carp qw(fatalsToBrowser carpout); my $logfile = '/home/jalamior/public_html/httpsdocs/cgi-bin/logs/errorLog/errorFile.log'; open LOG, ">>$logfile" or die "Couldn't append to $logfile: $!\n"; carpout(\*LOG); }; #------------------------------------------------------------------------------- # CGI Switch Tree #------------------------------------------------------------------------------- Main(); sub Main { my $action = $query->param('action'); { #warn("Request for LoginForm manage_users.cgi: '$action'"); ($action eq "GetLoginForm") && do { manageusers::OpenConnection(); #warn("Just before ProcessLoginRequest - create session = '$query'"); my ($result,$message0,$message1,$message2) = ProcessLoginRequest($query); warn("result = '$result' message0 = '$message0' message1 = '$message1' message2 = '$message2'"); if(!$result){ #warn("Tell client that login failed"); manageusers::CloseConnection(); LoginUserFailedForm("The Login Request failed due to some internal errot. Please try again or contact the office."); exit(0); #return; #exit; } elsif ($result == 1) { warn("Already logged in so send client already logged in form This is in the initial action GetLoginForm"); manageusers::CloseConnection(); CreateAlreadyLoggedinForm($message0); exit (0); #return; } elsif ($result == 2){ #warn("Not logged in so send client login form"); manageusers::CloseConnection(); CreateLoginForm($message0, $message1, $message2); exit(0); #return; #exit; } };