--- loncom/Lond.pm 2015/05/21 23:40:17 1.7 +++ loncom/Lond.pm 2018/09/02 01:58:30 1.8.2.1 @@ -1,6 +1,6 @@ # The LearningOnline Network # -# $Id: Lond.pm,v 1.7 2015/05/21 23:40:17 raeburn Exp $ +# $Id: Lond.pm,v 1.8.2.1 2018/09/02 01:58:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -409,6 +409,9 @@ sub dump_course_id_handler { unless ($hasuniquecode) { $hasuniquecode = '.'; } + if ($reqinstcode ne '') { + $reqinstcode = &unescape($reqinstcode); + } my $unpack = 1; if ($description eq '.' && $instcodefilter eq '.' && $ownerfilter eq '.' && $typefilter eq '.') { @@ -779,6 +782,34 @@ sub dump_profile_database { return $qresult; } +sub is_course { + my ($cdom,$cnum) = @_; + + return unless (($cdom =~ /^$LONCAPA::match_domain$/) && + ($cnum =~ /^$LONCAPA::match_courseid$/)); + my $hashid = $cdom.':'.$cnum; + my ($iscourse,$cached) = + &Apache::lonnet::is_cached_new('iscourse',$hashid); + unless (defined($cached)) { + my $hashref = + &tie_domain_hash($cdom, "nohist_courseids", &GDBM_WRCREAT()); + if (ref($hashref) eq 'HASH') { + my $esc_key = &escape($cdom.'_'.$cnum); + if (exists($hashref->{$esc_key})) { + $iscourse = 1; + } else { + $iscourse = 0; + } + &Apache::lonnet::do_cache_new('iscourse',$hashid,$iscourse,3600); + unless (&untie_domain_hash($hashref)) { + &logthis("Failed to untie tied hash for nohist_courseids.db for $cdom"); + } + } else { + &logthis("Failed to tie hash for nohist_courseids.db for $cdom"); + } + } + return $iscourse; +} 1;