--- loncom/lonnet/perl/lonnet.pm	2005/05/03 19:22:22	1.632
+++ loncom/lonnet/perl/lonnet.pm	2005/05/05 20:55:04	1.634
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.632 2005/05/03 19:22:22 albertel Exp $
+# $Id: lonnet.pm,v 1.634 2005/05/05 20:55:04 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -3902,7 +3902,8 @@ sub unmark_as_readonly {
     # unmarks $file_name (if $file_name is defined), or all files locked by $what 
     # for portfolio submissions, $what contains [$symb,$crsid] 
     my ($domain,$user,$what,$file_name) = @_;
-    my $symb_crs = join('',@$what);
+    my $symb_crs = $what;
+    if (ref($what)) { $symb_crs=join('',@$what); }
     my %current_permissions = &dump('file_permissions',$domain,$user);
     my ($tmp)=keys(%current_permissions);
     if ($tmp=~/^error:/) { undef(%current_permissions); }
@@ -4145,6 +4146,12 @@ sub get_courseresdata {
     return $result;
 }
 
+sub devalidateuserresdata {
+    my ($uname,$udom)=@_;
+    my $hashid="$udom:$uname";
+    &devalidate_cache_new('userres',$hashid);
+}
+
 sub get_userresdata {
     my ($uname,$udom)=@_;
     #most student don\'t have any data set, check if there is some data
@@ -4168,7 +4175,8 @@ sub get_userresdata {
 		 $uname." at ".$udom.": ".
 		 $tmp."</font>");
     } elsif ($tmp=~/error: 2 /) {
-	&EXT_cache_set($udom,$uname);
+	#&EXT_cache_set($udom,$uname);
+	&do_cache_new('userres',$hashid,undef,600);
     }
     return $tmp;
 }
@@ -4212,7 +4220,7 @@ sub EXT_cache_status {
 sub EXT_cache_set {
     my ($target_domain,$target_user) = @_;
     my $cachename = 'cache.EXT.'.$target_user.'.'.$target_domain;
-    &appenv($cachename => time);
+    #&appenv($cachename => time);
 }
 
 # --------------------------------------------------------- Value of a Variable