'.&mt('Domain:').' | '.
&Apache::loncommon::select_dom_form($codedom,'showdom','',1,$onchange));
@@ -326,73 +345,71 @@ sub category_breadcrumbs {
my ($dom,@cats) = @_;
my $crumbsymbol = ' ▶ ';
my ($currdepth,$deeper) = &get_depth_values();
- my $currcat_str = '';
- my $catlinks = ' | '.&mt('Catalog:').' | ';
+ my $currcat_str =
+ ''.
+ '';
+ my $catlinks = ''.&mt('Catalog:').' | ';
my $has_subcats;
my $selitem;
- for (my $i=0; $i<$deeper; $i++) {
- $currcat_str .= '';
- my ($cattitle,$shallower);
- if ($i == 0) {
- if (ref($cats[0]) eq 'ARRAY') {
- if (@{$cats[0]} > 1) {
- $cattitle = &mt('Main Categories');
- }
+ if (ref($cats[0]) eq 'ARRAY') {
+ if (@{$cats[0]} == 0) {
+ $catlinks .= &mt('No categories defined in this domain');
+ } elsif (@{$cats[0]} == 1) {
+ if ($cats[0][0] eq 'instcode') {
+ $catlinks .= &mt('Official courses (with institutional codes)');
+ $env{'form.currcat_0'} = 'instcode::0';
+ } elsif ($cats[0][0] eq 'communities') {
+ $catlinks .= &mt('Communities');
+ $env{'form.currcat_0'} = 'communities::0';
+ } else {
+ my $name = $cats[0][0];
+ my $item = &escape($name).'::0';
+ $catlinks .= $name;
+ $env{'form.currcat_0'} = $item;
+ }
+ $currcat_str .= '';
+ } else {
+ $catlinks .= &main_category_selector(@cats);
+ if (($env{'form.currcat_0'} ne '') &&
+ ($env{'form.currcat_0'} ne 'instcode::0')) {
+ $catlinks .= $crumbsymbol;
+ } else {
+ $catlinks .= ' | ';
}
- } else {
- $shallower = $i-1;
- my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower});
- $cattitle = $cat;
- }
- if ($cattitle ne '') {
- $catlinks .= ''.$cattitle.''.$crumbsymbol.' | ';
}
+ } else {
+ $catlinks .= &mt('Official courses (with institutional codes)');
+ $env{'form.currcat_0'} = 'instcode::0';
+ $currcat_str .= '';
}
- if ($deeper == 0) {
- $catlinks .= '';
- if (ref($cats[0]) eq 'ARRAY') {
- if ((@{$cats[0]} == 1) && (@cats == 1)) {
- if ($cats[0][0] eq 'instcode') {
- $catlinks .= &mt('Official courses (with institutional codes)').
- '';
- $env{'form.currcat_0'} = 'instcode::0';
- } else {
- my $name = $cats[0][0];
- my $item = &escape($name).'::0';
- $catlinks .= $name.
- '';
- $env{'form.currcat_0'} = $item;
- }
- } else {
- $has_subcats = 1;
- my $buttontext = &mt('Show subcategories');
- $selitem = 'currcat_0';
- $catlinks .= ' |
| ';
return ($catlinks,$has_subcats,$selitem);
}
+sub main_category_selector {
+ my (@cats) = @_;
+ my $maincatlinks = ''."\n";
+ }
+ return $maincatlinks;
+}
+
sub get_depth_values {
my $currdepth = 0;
my $deeper = 0;
@@ -476,10 +521,15 @@ sub additional_filters {
if ($env{'form.showselfenroll'}) {
$show_selfenroll_status = 'checked="checked" ';
}
+ my $selfenroll_text;
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $selfenroll_text = &mt('Only show communities which allow self-enrollment');
+ } else {
+ $selfenroll_text = &mt('Only show courses which allow self-enrollment');
+ }
$output .= ' '.
' | ';
if (&user_is_dc($codedom)) {
my $showdetails_status;
@@ -491,14 +541,20 @@ sub additional_filters {
$showhidden_status = 'checked="checked" ';
}
my $dc_title = &Apache::lonnet::plaintext('dc');
+ my ($details_text,$hidden_text);
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $details_text = &mt('Show full details for each community ([_1] only)',$dc_title);
+ $hidden_text = &mt('Include communities set to be hidden from catalog ([_1] only)',$dc_title);
+ } else {
+ $details_text = &mt('Show full details for each course ([_1] only)',$dc_title);
+ $hidden_text = &mt('Include courses set to be hidden from catalog ([_1] only)',$dc_title);
+ }
$output .= ''."\n".
''."\n".' | '.
''."\n".' | ';
}
$output .= '
';
@@ -559,13 +615,18 @@ sub search_courselist {
} else {
$filterstr = $filter;
}
- my $showhidden;
+ my ($showhidden,$typefilter);
if (&user_is_dc($domain)) {
$showhidden = $env{'form.showhidden'};
}
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $typefilter = 'Community';
+ } else {
+ $typefilter = '.';
+ }
%courses =
&Apache::lonnet::courseiddump($domain,'.',1,'.','.','.',undef,undef,
- '.',1,$env{'form.showselfenroll'},
+ $typefilter,1,$env{'form.showselfenroll'},
$filterstr,$showhidden,'coursecatalog');
}
return %courses;
@@ -587,7 +648,11 @@ sub print_course_listing {
$env{'form.coursenum'},
undef,undef,'.',1);
if (keys(%courses) == 0) {
- $output .= &mt('The courseID provided does not match a course in this domain.');
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $output .= &mt('The courseID provided does not match a community in this domain.');
+ } else {
+ $output .= &mt('The courseID provided does not match a course in this domain.');
+ }
return $output;
}
} else {
@@ -597,7 +662,11 @@ sub print_course_listing {
%courses = &search_courselist($domain,$subcats);
}
if (keys(%courses) == 0) {
- $output = &mt('No courses match the criteria you selected.');
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $output = &mt('No communities match the criteria you selected.');
+ } else {
+ $output = &mt('No courses match the criteria you selected.');
+ }
return $output;
}
if (($knownuser) && (!$env{'form.showdetails'}) && (!&user_is_dc($domain))) {
@@ -652,10 +721,14 @@ sub construct_data_table {
}
if ($knownuser) {
if ($details) {
- $output .=
- ' | '.&mt('Default Access Dates for Students').' | '.
- ''.&mt('Student Counts').' | '.
- ''.&mt('Auto-enrollment of[_1]registered students',' ').' | ';
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $output .= ''.&mt('Default Access Dates for Members').' | ';
+ } else {
+ $output .=
+ ''.&mt('Default Access Dates for Students').' | '.
+ ''.&mt('Student Counts').' | '.
+ ''.&mt('Auto-enrollment of[_1]registered students',' ').' | ';
+ }
} else {
$output .= ''.&mt('Details').' | ';
}
@@ -733,7 +806,7 @@ sub build_courseinfo_hash {
}
}
foreach my $owner (@owners) {
- my ($ownername,$ownerdom) = @_;
+ my ($ownername,$ownerdom);
if ($owner =~ /:/) {
($ownername,$ownerdom) = split(/:/,$owner);
} else {
@@ -924,10 +997,14 @@ sub courseinfo_row {
''.$ownerlast.' | ';
if ($knownuser) {
if ($details) {
- $output .=
- ''.$accessdates.' | '.
- ''.$counts.' | '.
- ''.$autoenrollment.' | ';
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $output .= ''.$accessdates.' | ';
+ } else {
+ $output .=
+ ''.$accessdates.' | '.
+ ''.$counts.' | '.
+ ''.$autoenrollment.' | ';
+ }
} else {
$output .= "".&mt('Show more details').' | ';
}
---|