ASNMTAP
view release on metacpan or search on metacpan
lib/ASNMTAP/Asnmtap/Applications/CGI.pm view on Meta::CPAN
$session->param('iconDelete', 1);
$session->param('iconEdit', 1);
$session->param('iconDetails', 1);
} elsif ( $CuserType eq "4" ) { # Administrator
$session->param('iconAdd', 1);
$session->param('iconEdit', 1);
$session->param('iconDetails', 1);
} elsif ( $CuserType eq "2" ) { # Moderator
$session->param('iconEdit', 1);
$session->param('iconDetails', 1);
} elsif ( $CuserType eq "1" ) { # Member
$session->param('iconDetails', 1);
} elsif ( $CuserType ne "0" ) { # Guest
$errorUserAccessControl = "You are onto the wrong place to be!";
}
$session->param('iconQuery', 1);
$session->param('iconTable', 1);
$session->param('remoteUser', $CremoteUser);
$session->param('remoteAddr', $CremoteAddr);
$session->param('remoteNetmask', $CremoteNetmask);
$session->param('givenName', $CgivenName);
$session->param('familyName', $CfamilyName);
$session->param('email', $Cemail);
$session->param('keyLanguage', $CkeyLanguage);
$session->param('password', $Cpassword);
$session->param('userType', $CuserType);
$session->param('pagedir', $Cpagedir);
$session->param('activated', $Cactivated);
}
}
}
$password = $Cpassword;
} else {
$errorUserAccessControl = "Remote User, Password and/or Time stamp are missing";
}
}
if (defined $errorUserAccessControl) {
$logonRequest = "logonView";
my $trials = $session->param('~login-trials') || 0;
$session->param('~login-trials', ++$trials);
if ( $debug eq 'T' and defined $queryString ) {
my %query = map { my($k, $v) = split(/=/) } split(/&/, $queryString);
while (my ($key, $value) = each(%query)) { print "$key=$value<br>\n"; }
print "<$password> " if (defined $password);
print "<$logonPassword><br>\n";
}
}
if( $logonRequest eq "logonView" ) {
$logonTimestamp = time();
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, 'Logon', 3600, '', 'F', "<script language=\"JavaScript1.2\" type=\"text/javascript\" src=\"$HTTPSURL/md5.js\"></script>", $sessionID);
print "<br>\n<table WIDTH=\"100%\" border=0><tr><td class=\"HelpPluginFilename\">\n<font size=\"+1\">$errorUserAccessControl</font>\n</td></tr></table>\n<br>\n" if ( defined $errorUserAccessControl );
print <<HTML;
<script language="JavaScript1.2" type="text/javascript">
function validateForm() {
// The password must contain at least 1 number, at least 1 lower case letter, and at least 1 upper case letter.
var objectRegularExpressionPasswordFormat = /\^[\\w|\\W]*(?=[\\w|\\W]*\\d)(?=[\\w|\\W]*[a-z])(?=[\\w|\\W]\*[A-Z])[\\w|\\W]*\$/;
if ( document.usac.remoteUser.value == null || document.usac.remoteUser.value == '' ) {
document.usac.remoteUser.focus();
alert('Please enter a remote user!');
return false;
}
if ( document.usac.logonPassword.value == null || document.usac.logonPassword.value == '' ) {
document.usac.logonPassword.focus();
alert('Please enter a password!');
return false;
} else {
if ( ! objectRegularExpressionPasswordFormat.test(document.usac.logonPassword.value) ) {
document.usac.logonPassword.focus();
alert('Please re-enter password: Bad password format!');
return false;
}
document.usac.logonPassword.value = hex_md5(document.usac.logonPassword.value);
}
return true;
}
</script>
<br>
<form action="$ENV{SCRIPT_NAME}" method="post" name="usac" onSubmit="return validateForm();">
<input type="hidden" name="pagedir" value="$pagedir">
<input type="hidden" name="pageset" value="$pageset">
<input type="hidden" name="debug" value="$debug">
<input type="hidden" name="CGISESSID" value="$sessionID">
<input type="hidden" name="logonRequest" value="logonCheck">
<input type="hidden" name="logonTimestamp" value="$logonTimestamp">
HTML
if ( defined $queryString ) {
my %query = map { my($k, $v) = split(/=/) } split(/&/, $queryString);
while (my ($key, $value) = each(%query)) { print "<input type=\"hidden\" name=\"$key\" value=\"$value\">\n"; }
}
print <<HTML;
<table border="0" cellspacing="0" cellpadding="0">
<tr><td><b>Remote User: </b></td><td>
<input type="text" name="remoteUser" value="" size="15" maxlength="15">
</td></tr><tr><td><b>Password: </b></td><td>
<input type="password" name="logonPassword" value="" size="15" maxlength="32"> The password must contain at least 1 number, at least 1 lower case letter, and at least 1 upper case letter.
</td></tr><tr align="left"><td align="right"><br><input type="submit" value="Logon"></td><td><br><input type="reset" value="Reset"></td></tr>
</table>
</form>
<br>
HTML
$errorUserAccessControl = $logonRequest;
}
} elsif( $logonRequest eq "logoff" ) {
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, "Logoff", 3600, '', 'F', '', $sessionID);
$errorUserAccessControl = "Logged off remote user: " .$session->param('givenName'). " " .$session->param('familyName');
print "<br>\n<h1 align=\"center\">$errorUserAccessControl</h1>\n";
$session->delete();
return ("", 0, 0, 0, 0, 1, 1, $errorUserAccessControl, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, $subTitle);
}
$subTitle = setAccessControlParameters( $level, $pagedir, $pageset, $debug, $cgi, $session, $sessionID, $subTitle, $queryString );
return ($sessionID, $session->param('iconAdd'), $session->param('iconDelete'), $session->param('iconDetails'), $session->param('iconEdit'), $session->param('iconQuery'), $session->param('iconTable'), $errorUserAccessControl, $session->param('remote...
}
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
sub do_action_DBI {
my ($rv, $dbh, $sql, $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug) = @_;
my $sth = $dbh->prepare( $sql ) or $rv = error_trap_DBI(*STDOUT, "Cannot dbh->prepare: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI(*STDOUT, "Cannot sth->execute: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID) if $rv;
my $numberRecordsIntoQuery = ($rv) ? $sth->fetchrow_array() : 0;
$sth->finish() or $rv = error_trap_DBI(*STDOUT, "Cannot sth->finish: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID) if $rv;
return ($rv, $numberRecordsIntoQuery);
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub error_trap_DBI {
my ($HTML, $error_message, $debug, $pagedir, $pageset, $htmlTitle, $subTitle, $refresh, $onload, $sessionID) = @_;
my $subject = "$htmlTitle / error_trap_DBI: " . get_datetimeSignal();
my $message = get_datetimeSignal() . "\npagedir : $pagedir\npageset : $pageset\nhtml title: $htmlTitle\n\nerror message:\n$error_message\n\n--> ERROR: $DBI::err ($DBI::errstr)\n";
my $returnCode = sending_mail ( $SERVERLISTSMTP, $SENDEMAILTO, $SENDMAILFROM, $subject, $message, $debug );
( run in 0.325 second using v1.01-cache-2.11-cpan-483215c6ad5 )