--- loncom/lonsql 2002/06/17 20:25:51 1.45 +++ loncom/lonsql 2002/06/18 15:04:05 1.46 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.45 2002/06/17 20:25:51 www Exp $ +# $Id: lonsql,v 1.46 2002/06/18 15:04:05 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -190,32 +190,52 @@ sub logthis { print $fh "$local ($$): $message\n"; } - - -# -------------------------------------------- Return path to profile directory - -sub propath { - my ($udom,$uname)=@_; - $udom=~s/\W//g; - $uname=~s/\W//g; - my $subdir=$uname.'__'; - $subdir =~ s/(.)(.)(.).*/$1\/$2\/$3/; - my $proname="$perlvar{'lonUsersDir'}/$udom/$subdir/$uname"; - return $proname; -} - # ------------------------------------------------------------------ Course log sub courselog { my ($path,$command)=@_; - return 'not_yet_implemented'; + my %filters=(); + foreach (split(/\=/,&unescape($command))) { + my ($name,$value)=split(/\=/,$_); + $filters{$name}=$value; + } + my @results=(); + open(IN,$path.'/activity.log') or return ('file_error'); + while ($line=) { + chomp($line); + my ($timestamp,$host,$log)=split(/\:/,$line); + foreach (split(/\&/,&unescape($log))) { + my ($res,$uname,$udom,$action,$values)=split(/\:/,$_); + my $include=1; + } + } + close IN; + return join('&',sort(@results)); } # -------------------------------------------------------------------- User log sub userlog { my ($path,$command)=@_; - return 'not_yet_implemented'; + my %filters=(); + foreach (split(/\=/,&unescape($command))) { + my ($name,$value)=split(/\=/,$_); + $filters{$name}=$value; + } + my @results=(); + open(IN,$path.'/activity.log') or return ('file_error'); + while ($line=) { + chomp($line); + my ($timestamp,$host,$log)=split(/\:/,$line); + $log=&unescape($log); + my $include=1; + if (($filters{'action'} eq 'log') && ($log!~/^Log/)) { $include=0; } + if ($include) { + push(@results,$timestamp.':'.$log); + } + } + close IN; + return join('&',sort(@results)); } @@ -430,7 +450,12 @@ sub make_new_child { $result.=$customresult; } # ------------------------------------------------------------ end of sql query - } + } + + # result does need to be escaped + + $result=&escape($result); + # reply with result, append \n unless already there $result.="\n" unless ($result=~/\n$/);