--- loncom/interface/lonhtmlcommon.pm 2004/01/15 20:22:47 1.40 +++ loncom/interface/lonhtmlcommon.pm 2004/01/26 19:55:44 1.41 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.40 2004/01/15 20:22:47 www Exp $ +# $Id: lonhtmlcommon.pm,v 1.41 2004/01/26 19:55:44 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,6 +90,51 @@ sub authorbombs { ############################################## ############################################## +sub recent_filename { + my $area=shift; + return 'nohist_recent_'.&Apache::lonnet::escape($area); +} + +sub store_recent { + my ($area,$name,$value)=@_; + my $file=&recent_filename($area); + my %recent=&Apache::lonnet::dump($file); + if (scalar(keys(%recent))>10) { +# remove oldest value + my $oldest=time; + my $delkey=''; + foreach (keys %recent) { + my $thistime=(split(/\&/,$recent{$_}))[0]; + if ($thistime<$oldest) { + $oldest=$thistime; + $delkey=$_; + } + } + &Apache::lonnet::del($file,[$delkey]); + } +# store new value + &Apache::lonnet::put($file,{ $name => + time.'&'.&Apache::lonnet::escape($value) }); +} + +sub select_recent { + my ($area,$fieldname,$event)=@_; + my %recent=&Apache::lonnet::dump(&recent_filename($area)); + my $return="\n\n"; + return $return; +} + + =pod =item textbox @@ -876,14 +921,18 @@ sub Close_PrgWin { # ------------------------------------------------------- Puts directory header sub crumbs { - my ($uri,$target,$prefix)=@_; + my ($uri,$target,$prefix,$form)=@_; my $output='
'.$prefix.'/'; if ($ENV{'user.adv'}) { my $path=$prefix; foreach (split('/',$uri)) { unless ($_) { next; } $path.='/'.$_; - $output.=''.$_.'/'; + my $linkpath=$path; + if ($form) { + $linkpath="javascript:$form.action='$path';$form.submit();"; + } + $output.=''.$_.'/'; } } else { $output.=$uri;