--- loncom/interface/lonmenu.pm 2012/08/27 15:53:40 1.369.2.22
+++ loncom/interface/lonmenu.pm 2012/09/25 23:01:00 1.369.2.23
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.369.2.22 2012/08/27 15:53:40 raeburn Exp $
+# $Id: lonmenu.pm,v 1.369.2.23 2012/09/25 23:01:00 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1975,8 +1975,22 @@ sub roles_selector {
} else {
$ccrole = 'cc';
}
- my $priv;
+ my ($priv,$gotsymb,$destsymb);
my $destinationurl = $ENV{'REQUEST_URI'};
+ if ($destinationurl =~ /\?symb=/) {
+ $gotsymb = 1;
+ } elsif ($destinationurl =~ m{^/enc/}) {
+ my $plainurl = &Apache::lonenc::unencrypted($destinationurl);
+ if ($plainurl =~ /\?symb=/) {
+ $gotsymb = 1;
+ }
+ }
+ unless ($gotsymb) {
+ $destsymb = &Apache::lonnet::symbread();
+ if ($destsymb ne '') {
+ $destsymb = &Apache::lonenc::check_encrypt($destsymb);
+ }
+ }
my $reqprivs = &required_privs();
if (ref($reqprivs) eq 'HASH') {
my $destination = $destinationurl;
@@ -2064,7 +2078,12 @@ sub roles_selector {
$role_selector .= "\n".'';
}
}
- $role_selector .= ''."\n".
+ $role_selector .= ''."\n";
+ if ($destsymb ne '') {
+ $role_selector .= ''."\n";
+ }
+ $role_selector .=
''."\n".
''."\n".