--- loncom/interface/coursecatalog.pm 2019/07/23 13:58:53 1.102
+++ loncom/interface/coursecatalog.pm 2021/04/29 17:45:22 1.103
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for displaying the course catalog interface
#
-# $Id: coursecatalog.pm,v 1.102 2019/07/23 13:58:53 raeburn Exp $
+# $Id: coursecatalog.pm,v 1.103 2021/04/29 17:45:22 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,6 +59,7 @@ sub handler {
my $serverdefdom = &Apache::lonnet::default_login_domain();
my $codedom = $serverdefdom;
+ my $hostname = $r->hostname();
if (($env{'user.domain'} ne '') && ($env{'user.domain'} ne 'public')) {
$codedom = $env{'user.domain'};
@@ -138,7 +139,7 @@ sub handler {
}
my $js = ''."\n";
$r->print(&Apache::loncommon::start_page('Search for a Course/Community',$js));
@@ -191,7 +192,8 @@ sub handler {
if ($courseinfo{$codedom.'_'.$cnum}{'showsyllabus'}) {
my $usehttp = 0;
if (($ENV{'SERVER_PORT'} == 443) && ($courseinfo{$codedom.'_'.$cnum}{'extsyllplain'})) {
- unless (&Apache::lonnet::uses_sts()) {
+ unless ((&Apache::lonnet::uses_sts()) ||
+ (&Apache::lonnet::waf_allssl($hostname))) {
$usehttp = 1;
}
}
@@ -253,7 +255,8 @@ sub handler {
&validate_input($codedom,\@cats,\%maxd,$cathash);
my ($numtitles,@codetitles);
if (($env{'form.coursenum'} ne '') && ($knownuser)) {
- &course_details($r,$codedom,$formname,$domdesc,\@trails,\%allitems,\@codetitles);
+ &course_details($r,$codedom,$formname,$domdesc,$hostname,\@trails,
+ \%allitems,\@codetitles);
} else {
my ($catlinks,$has_subcats,$selitem) = &category_breadcrumbs($codedom,@cats);
my $wasacctext = &get_wasactive_text();
@@ -299,7 +302,7 @@ function setCourseId(caller) {
}
ENDSCRIPT
- $catjs .= &courselink_javascript($r);
+ $catjs .= &courselink_javascript($hostname);
if (&user_is_dc($codedom) || $canviewall) {
$catjs .= < "0",
marginheight => "0",);
my $js = ''."\n";
+ &courselink_javascript($hostname).''."\n";
my $start_page =
&Apache::loncommon::start_page('Course/Community Catalog',$js,
{'add_entries' => \%add_entries, });
@@ -728,8 +731,7 @@ END
}
sub courselink_javascript {
- my ($r) = @_;
- my $hostname = $r->hostname();
+ my ($hostname) = @_;
return <<"END";
function ToSyllabus(cdom,cnum,usehttp) {
@@ -1512,7 +1514,8 @@ sub construct_data_table {
foreach my $course (@{$Sortby{$item}}) {
$output.=&Apache::loncommon::start_data_table_row();
$output.=&courseinfo_row($courseinfo{$course},$knownuser,$details,
- \$count,$now,$course,$trails,$allitems,\%numbers,$canviewall);
+ \$count,$now,$course,$trails,$allitems,
+ \%numbers,$canviewall,$hostname);
$output.=&Apache::loncommon::end_data_table_row();
}
}
@@ -1834,7 +1837,8 @@ sub count_students {
}
sub courseinfo_row {
- my ($info,$knownuser,$details,$countref,$now,$course,$trails,$allitems,$numbers,$canviewall) = @_;
+ my ($info,$knownuser,$details,$countref,$now,$course,$trails,$allitems,
+ $numbers,$canviewall,$hostname) = @_;
my ($cdom,$cnum,$title,$ownerlast,$code,$owner,$seclist,$xlist_items,
$accessdates,$showsyllabus,$counts,$autoenrollment,$output,$categories,
$extsyllplain);
@@ -1881,7 +1885,8 @@ sub courseinfo_row {
if ($showsyllabus) {
my $usehttp = 0;
if (($ENV{'SERVER_PORT'} == 443) && ($extsyllplain)) {
- unless (&Apache::lonnet::uses_sts()) {
+ unless ((&Apache::lonnet::uses_sts()) ||
+ (&Apache::lonnet::waf_allssl(hostname))) {
$usehttp = 1;
}
}