--- loncom/cgi/userstatus.pl 2006/09/01 10:54:08 1.14 +++ loncom/cgi/userstatus.pl 2007/10/02 01:36:31 1.16 @@ -1,7 +1,7 @@ #!/usr/bin/perl $|=1; # User Status -# $Id: userstatus.pl,v 1.14 2006/09/01 10:54:08 albertel Exp $ +# $Id: userstatus.pl,v 1.16 2007/10/02 01:36:31 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -32,7 +32,7 @@ use lib '/home/httpd/lib/perl/'; use LONCAPA::Configuration; use LONCAPA; use HTTP::Headers; -use IO::File; +use GDBM_File; my %usercount; @@ -98,15 +98,11 @@ sub main { &add_count('Domain',$userinfo{'user.domain'},$userclass); unless ($oneline) { - my $fh=IO::File->new($$perlvar{'lonIDsDir'}.'/'.$filename); - while (my $line=<$fh>) { - chomp($line); - my ($name,$value)=split(/\=/,$line); - $name = &unescape($name); - $value = &unescape($value); - $userinfo{$name}=$value; + if (!tie(%userinfo,'GDBM_File', + $$perlvar{'lonIDsDir'}.'/'.$filename, + &GDBM_READER(),0640)) { + next; } - $fh->close(); if (!$justsummary) { $users{$userclass}{$filename} .= ''. @@ -115,7 +111,9 @@ sub main { $userinfo{'environment.middlename'}.' '. $userinfo{'environment.generation'}." (". $userinfo{'user.name'}."\@".$userinfo{'user.domain'}. - ")\nLogin time: ". + ")\n". + "

$filename

". + "Login time: ". localtime($userinfo{'user.login.time'}). ' Browser: '.$userinfo{'browser.type'}. " on ".$userinfo{'browser.os'}."Client: ". @@ -148,6 +146,7 @@ sub main { "
"; } } + untie(%userinfo); } if (!$oneline && !$justsummary) { foreach my $class (@actl) {