version 1.88, 2015/06/09 21:22:55
|
version 1.88.2.2, 2018/04/29 00:31:25
|
Line 80 sub handler {
|
Line 80 sub handler {
|
my %domconfig = |
my %domconfig = |
&Apache::lonnet::get_dom('configuration',['coursecategories'],$codedom); |
&Apache::lonnet::get_dom('configuration',['coursecategories'],$codedom); |
my $knownuser = &user_is_known(); |
my $knownuser = &user_is_known(); |
my $canviewall = &canview_all(); |
my $canviewall = &canview_all($knownuser,$codedom); |
|
|
my ($cathash,$cattype); |
my ($cathash,$cattype); |
if (ref($domconfig{'coursecategories'}) eq 'HASH') { |
if (ref($domconfig{'coursecategories'}) eq 'HASH') { |
Line 742 sub additional_filters {
|
Line 742 sub additional_filters {
|
$showhidden_status = 'checked="checked" '; |
$showhidden_status = 'checked="checked" '; |
} |
} |
my @currstatuses = &Apache::loncommon::get_env_multiple('form.showcounts'); |
my @currstatuses = &Apache::loncommon::get_env_multiple('form.showcounts'); |
my $dc_title = &Apache::lonnet::plaintext('dc'); |
|
my ($details_text,$hidden_text,$statusdisplay,$cellborder); |
my ($details_text,$hidden_text,$statusdisplay,$cellborder); |
my $wasactivedisplay = 'none'; |
my $wasactivedisplay = 'none'; |
if ($env{'form.showdetails'}) { |
if ($env{'form.showdetails'}) { |
Line 756 sub additional_filters {
|
Line 755 sub additional_filters {
|
$cellborder = 'border-left: 0px'; |
$cellborder = 'border-left: 0px'; |
} |
} |
if ($env{'form.currcat_0'} eq 'communities::0') { |
if ($env{'form.currcat_0'} eq 'communities::0') { |
$details_text = &mt('Show full details for each community ([_1] only)',$dc_title); |
$details_text = &mt('Show full details for each community (domain staff only)'); |
$hidden_text = &mt('Include communities set to be hidden from catalog ([_1] only)',$dc_title); |
$hidden_text = &mt('Include communities set to be hidden from catalog (domain staff only)'); |
} else { |
} else { |
$details_text = &mt('Show full details for each course ([_1] only)',$dc_title); |
$details_text = &mt('Show full details for each course (domain staff only)'); |
$hidden_text = &mt('Include courses set to be hidden from catalog ([_1] only)',$dc_title); |
$hidden_text = &mt('Include courses set to be hidden from catalog (domain staff only)'); |
} |
} |
if ($is_dc) { |
if ($is_dc) { |
$output .= '<span class="LC_nobreak">'. |
$output .= '<span class="LC_nobreak">'. |
Line 875 sub user_is_dc {
|
Line 874 sub user_is_dc {
|
} |
} |
|
|
sub canview_all { |
sub canview_all { |
|
my ($knownuser,$codedom) = @_; |
my $canviewall = 0; |
my $canviewall = 0; |
my $page = 'coursecatalog'; |
my $page = 'coursecatalog'; |
if (&LONCAPA::lonauthcgi::can_view($page)) { |
if (&LONCAPA::lonauthcgi::can_view($page)) { |
$canviewall = 1; |
$canviewall = 1; |
} elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page)) { |
} elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page)) { |
$canviewall= 1; |
$canviewall= 1; |
|
} elsif (($knownuser) && ($codedom ne '')) { |
|
if (&Apache::lonnet::allowed('dcd',$codedom)) { |
|
$canviewall = 1; |
|
} |
} |
} |
return $canviewall; |
return $canviewall; |
} |
} |
Line 1603 sub identify_sections {
|
Line 1607 sub identify_sections {
|
sub get_valid_classes { |
sub get_valid_classes { |
my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_; |
my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_; |
my $response; |
my $response; |
my %validations; |
my (@sections,@xlists,%possclasses,%okclasses,%validations); |
@{$validations{'sections'}} = (); |
@{$validations{'sections'}} = (); |
@{$validations{'xlists'}} = (); |
@{$validations{'xlists'}} = (); |
my $totalitems = 0; |
my $totalitems = 0; |
if ($seclist) { |
if ($seclist) { |
foreach my $sec (split(/, /,$seclist)) { |
@sections = split(/,\s+/,$seclist); |
|
map { $possclasses{$crscode.$_} = 1; } @sections; |
|
} |
|
if ($xlist_items) { |
|
@xlists = split(/,\s+/,$xlist_items); |
|
map { $possclasses{$_} = 1; } @xlists; |
|
} |
|
my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners, |
|
\%possclasses); |
|
if (keys(%okclasses)) { |
|
foreach my $sec (@sections) { |
my $class = $crscode.$sec; |
my $class = $crscode.$sec; |
if (&Apache::lonnet::auto_validate_class_sec($cdom,$cnum,$owners, |
if ($okclasses{$crscode.$sec}) { |
$class) eq 'ok') { |
|
if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) { |
if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) { |
push(@{$validations{'sections'}},$sec); |
push(@{$validations{'sections'}},$sec); |
$totalitems ++; |
$totalitems ++; |
} |
} |
} |
} |
} |
} |
} |
foreach my $item (@xlists) { |
if ($xlist_items) { |
if ($okclasses{$item}) { |
foreach my $item (split(/, /,$xlist_items)) { |
if (!grep(/^\Q$item\E$/,@{$validations{'xlists'}})) { |
if (&Apache::lonnet::auto_validate_class_sec($cdom,$cnum,$owners, |
|
$item) eq 'ok') { |
|
if (!grep(/^\Q$item$\E/,@{$validations{'xlists'}})) { |
|
push(@{$validations{'xlists'}},$item); |
push(@{$validations{'xlists'}},$item); |
$totalitems ++; |
$totalitems ++; |
} |
} |