';
return $catlinks;
}
+sub get_depth_values {
+ my $currdepth = 0;
+ my $deeper = 0;
+ if ($env{'form.catalog_maxdepth'} ne '') {
+ $currdepth = $env{'form.catalog_maxdepth'};
+ if ($env{'form.currcat_'.$currdepth} eq '') {
+ $deeper = $currdepth;
+ } else {
+ $deeper = $currdepth + 1;
+ }
+ }
+ return ($currdepth,$deeper);
+}
+
+sub additional_filters {
+ my ($codedom) = @_;
+ my $output = '
';
+ my $show_selfenroll_status;
+ if ($env{'form.showselfenroll'}) {
+ $show_selfenroll_status = 'checked="checked" ';
+ }
+ if (&user_is_dc($codedom)) {
+ my $showdetails_status;
+ if ($env{'form.showdetails'}) {
+ $showdetails_status = 'checked="checked" ';
+ }
+ my $showhidden_status;
+ if ($env{'form.showhidden'}) {
+ $showhidden_status = 'checked="checked" ';
+ }
+ my $dc_title = &Apache::lonnet::plaintext('dc');
+ $output .= '
'."\n".
+ ''."\n".'
'.
+ ''."\n".'
';
+ }
+ $output .= '
'.
+ '
';
+ return $output;
+}
+
sub user_is_dc {
my ($codedom) = @_;
if (exists($env{'user.role.dc./'.$codedom.'/'})) {
@@ -566,9 +615,14 @@ sub search_official_courselist {
$instcode = '.';
}
}
- my %courses = &Apache::lonnet::courseiddump($domain,'.',1,$instcode,'.','.',
- undef,undef,'Course',1,
- $env{'form.showselfenroll'});
+ my $showhidden;
+ if (&user_is_dc($domain)) {
+ $showhidden = $env{'form.showhidden'};
+ }
+ my %courses =
+ &Apache::lonnet::courseiddump($domain,'.',1,$instcode,'.','.',undef,undef,
+ 'Course',1,$env{'form.showselfenroll'},undef,
+ $showhidden,'coursecatalog');
return %courses;
}
@@ -582,9 +636,14 @@ sub search_courselist {
}
my %courses;
if ($filter ne '') {
- %courses = &Apache::lonnet::courseiddump($domain,'.',1,'.','.','.',
- undef,undef,'Course',1,
- $env{'form.showselfenroll'},$filter);
+ my $showhidden;
+ if (&user_is_dc($domain)) {
+ $showhidden = $env{'form.showhidden'};
+ }
+ %courses =
+ &Apache::lonnet::courseiddump($domain,'.',1,'.','.','.',undef,undef,
+ '.',1,$env{'form.showselfenroll'},
+ $filter,$showhidden,'coursecatalog');
}
return %courses;
}
@@ -603,7 +662,7 @@ sub print_course_listing {
if ($env{'form.coursenum'} ne '') {
%courses = &Apache::lonnet::courseiddump($domain,'.',1,'.','.',
$env{'form.coursenum'},
- undef,undef,'Course',1);
+ undef,undef,'.',1);
if (keys(%courses) == 0) {
$output .= &mt('The courseID provided does not match a course in this domain.');
return $output;
@@ -618,8 +677,10 @@ sub print_course_listing {
$output = &mt('No courses match the criteria you selected.');
return $output;
}
- if ($knownuser && !$env{'form.showdetails'}) {
- $output = &mt('Note for students: If you are officially enrolled in a course but the course is not listed in your LON-CAPA courses, click the "Show more details" link for the specific course and check the default access dates and/or automated enrollment settings.
');
+ if (($knownuser) && (!$env{'form.showdetails'}) && (!&user_is_dc($domain))) {
+ $output = ''.&mt('Note for students:').' '
+ .&mt('If you are officially enrolled in a course but the course is not listed in your LON-CAPA courses, click the "Show more details" link for the specific course and check the default access dates and/or automated enrollment settings.')
+ .'
';
}
}
my $now = time;
@@ -798,7 +859,7 @@ sub build_courseinfo_hash {
if ( defined($coursehash{'default_enrollment_end_date'}) ) {
$endaccess = &Apache::lonlocal::locallocaltime($coursehash{'default_enrollment_end_date'});
if ($coursehash{'default_enrollment_end_date'} == 0) {
- $endaccess = "No ending date";
+ $endaccess = &mt('No ending date');
}
}
if ($startaccess) {
@@ -807,6 +868,33 @@ sub build_courseinfo_hash {
if ($endaccess) {
$accessdates .= &mt('To: ').$endaccess.' ';
}
+ if (($selfenroll_types ne '') &&
+ ($selfenroll_end > 0 && $selfenroll_end > $now)) {
+ my ($selfenroll_start_access,$selfenroll_end_access);
+ if (($coursehash{'default_enrollment_start_date'} ne
+ $coursehash{'internal.selfenroll_start_access'}) ||
+ ($coursehash{'default_enrollment_end_date'} ne
+ $coursehash{'internal.selfenroll_end_access'})) {
+ if ( defined($coursehash{'internal.selfenroll_start_access'}) ) {
+ $selfenroll_start_access = &Apache::lonlocal::locallocaltime($coursehash{'internal.selfenroll_start_access'});
+ }
+ if ( defined($coursehash{'default_enrollment_end_date'}) ) {
+ $selfenroll_end_access = &Apache::lonlocal::locallocaltime($coursehash{'internal.selfenroll_end_access'});
+ if ($coursehash{'internal.selfenroll_end_access'} == 0) {
+ $selfenroll_end_access = &mt('No ending date');
+ }
+ }
+ if ($selfenroll_start_access || $selfenroll_end_access) {
+ $accessdates .= '