--- loncom/lonenc.pm	2005/04/07 06:56:20	1.11
+++ loncom/lonenc.pm	2006/03/22 19:55:39	1.13
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # URL translation for encrypted filenames
 #
-# $Id: lonenc.pm,v 1.11 2005/04/07 06:56:20 albertel Exp $
+# $Id: lonenc.pm,v 1.13 2006/03/22 19:55:39 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -110,8 +110,8 @@ sub remove_noise {
 }
 
 sub encrypted {
-    my $uri=shift;
-    if ($env{'request.role.adv'}) { return($uri); }
+    my ($uri,$force_enc) = @_;
+    if (!$force_enc && $env{'request.role.adv'}) { return($uri); }
     my $seed=&encryptseed();
     unless ($seed) {
 	return $uri;
@@ -147,15 +147,18 @@ sub check_decrypt {
 }
 
 sub encrypt_ref {
-    my ($token,$elements)=@_;
+    my ($token,$elements,$force_enc)=@_;
     my $html;
-    if ($env{'request.enc'}) {
+    if ($force_enc || $env{'request.enc'}) {
 	while (my ($name,$value)= each(%{ $elements })) {
 	    if (!$value) { next; }
 	    my $href=&Apache::lonnet::hreflocation($Apache::lonxml::pwd[-1],$value);
-	    if ($href !~ /^http:/) { $href=&Apache::lonenc::encrypted($href); }
+	    if ($href !~ /^http:/) {
+		$href = &Apache::lonenc::encrypted($href,$force_enc);
+	    }
 	    $token->[2]->{$name}=$href;
 	}
+	delete($token->[2]->{'encrypturl'});
 	$html = &Apache::edit::rebuild_tag($token);
     } else {
 	$html = $token->[4];