diff options
Diffstat (limited to 'app.cgi')
-rwxr-xr-x | app.cgi | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -62,6 +62,14 @@ sub login { my $error = ''; if (defined $ENV{REMOTE_USER}) { $login = $ENV{REMOTE_USER}; + if (defined $ENV{REMOTE_USER_EMAIL}) { + $login .= ": $ENV{REMOTE_USER_EMAIL}"; + } + my $n = join ' ', grep defined $_, map $ENV{$_}, + 'REMOTE_USER_FIRSTNAME', 'REMOTE_USER_LASTNAME'; + if ($n ne '') { + $login = "$n ($login)"; + } } elsif (defined $login) { my $re = qr/^[-a-zA-Z0-9_.]+$/; if ($login eq '' or not $login =~ $re) { @@ -96,7 +104,7 @@ EOS } if (defined $ENV{PATH_INFO}) { - if ($ENV{PATH_INFO} eq $LOGIN) { + if (substr($ENV{PATH_INFO}, 0, length($LOGIN)) eq $LOGIN) { login(); push @nav, qq!<a href="$ENV{SCRIPT_NAME}">Back to application</a>!; } elsif ($ENV{PATH_INFO} eq $LOGOUT) { |