--- loncom/interface/lonsearchcourse.pm 2021/11/30 15:55:37 1.7
+++ loncom/interface/lonsearchcourse.pm 2024/02/11 21:41:48 1.10
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Course
#
-# $Id: lonsearchcourse.pm,v 1.7 2021/11/30 15:55:37 raeburn Exp $
+# $Id: lonsearchcourse.pm,v 1.10 2024/02/11 21:41:48 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -136,8 +136,15 @@ sub course_search {
foreach (sort(keys(%hash))) {
if ($c->aborted()) { last; }
if (($_=~/^src\_(.+)$/)) {
- if ($hash{'randomout_'.$1} & !$env{'request.role.adv'}) {
- next;
+ my $rid = $1;
+ unless ($env{'request.role.adv'}) {
+ next if ($hash{'randomout_'.$rid} || $hash{'deeplinkout_'.$rid});
+ if (!$env{'request.deeplink.login'} && $hash{'deeplinkonly_'.$rid}) {
+ my ($value) = map { &unescape($_); } split(/:/,$hash{'deeplinkonly_'.$rid});
+ my ($state,$others,$listed) = split(/,/,$value);
+ next if (($state eq 'only') &&
+ (($listed eq 'absent') || ($listed eq 'grades')));
+ }
}
my $symb=&make_symb($1);
&checkonthis($r,$1,$hash{$_},0,&Apache::lonnet::gettitle($symb),
@@ -261,10 +268,18 @@ sub checkonthis {
}
my $href=$url;
if ($hash{'encrypted_'.$id} && !$env{'request.role.adv'}) {
- $href=&Apache::lonenc::encrypted($href)
- .'?symb='.&Apache::lonenc::encrypted($symb);
+ $href=&Apache::lonenc::encrypted($href);
+ if ($url =~ /\.sequence$/) {
+ $href .= '?navmap=1';
+ } else {
+ $href .= '?symb='.&Apache::lonenc::encrypted($symb);
+ }
} else {
- $href.='?symb='.&escape($symb);
+ if ($href =~ /\.sequence$/) {
+ $href .= '?navmap=1';
+ } else {
+ $href .= '?symb='.&escape($symb);
+ }
}
$r->print(''.($title?$title:$url).
'
');