--- loncom/interface/lonhtmlcommon.pm 2004/01/15 20:22:47 1.40
+++ loncom/interface/lonhtmlcommon.pm 2004/02/03 21:31:52 1.44
@@ -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.44 2004/02/03 21:31:52 albertel 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
@@ -782,7 +827,9 @@ Returns: none
sub Create_PrgWin {
my ($r, $title, $heading, $number_to_do)=@_;
$r->print('");
+ "popwin.document.close();}".
+ "\nwindow.setTimeout(openpopwin,0)");
my %prog_state;
$prog_state{'done'}=0;
@@ -876,14 +923,19 @@ 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;
+ my $path=$prefix.'/';
foreach (split('/',$uri)) {
unless ($_) { next; }
- $path.='/'.$_;
- $output.=''.$_.'/';
+ $path.=$_;
+ unless ($path eq $uri) { $path.='/'; }
+ my $linkpath=$path;
+ if ($form) {
+ $linkpath="javascript:$form.action='$path';$form.submit();";
+ }
+ $output.=''.$_.'/';
}
} else {
$output.=$uri;