version 1.4, 2024/02/12 04:04:06
|
version 1.7, 2025/02/26 23:46:22
|
Line 93 sub course_index {
|
Line 93 sub course_index {
|
# Output |
# Output |
$r->print(&Apache::loncommon::start_data_table()); |
$r->print(&Apache::loncommon::start_data_table()); |
my $currentchar=''; |
my $currentchar=''; |
|
my $colheader = '<span class="LC_visually_hidden">'.&mt('Resource(s)').'</span> '; |
|
&Apache::loncommon::set_data_table_count(1); |
foreach my $lword (sort(keys(%indexhash))) { |
foreach my $lword (sort(keys(%indexhash))) { |
unless ($lword=~/\w/) { next; } |
unless ($lword=~/\w/) { next; } |
if ($lword=~/^\d+$/) { next; } |
if ($lword=~/^\d+$/) { next; } |
my $firstchar=substr($lword,0,1); |
my $firstchar=substr($lword,0,1); |
if ($currentchar ne $firstchar) { |
if ($currentchar ne $firstchar) { |
$r->print(&Apache::loncommon::start_data_table_header_row(). |
$r->print(&Apache::loncommon::start_data_table_header_row(). |
'<th>'.$firstchar.'</th><th> </th>'.&Apache::loncommon::end_data_table_header_row()); |
'<th>'.$firstchar.'</th><th>'.$colheader.'</th>'. |
|
&Apache::loncommon::end_data_table_header_row()."\n"); |
$currentchar=$firstchar; |
$currentchar=$firstchar; |
} |
} |
$r->print("\n".&Apache::loncommon::start_data_table_row()."<td>$lword</td><td>"); |
$r->print("\n".&Apache::loncommon::continue_data_table_row()."<td>$lword</td><td>"); |
foreach my $href (split(/\,/,$indexhash{$lword})) { |
foreach my $href (split(/\,/,$indexhash{$lword})) { |
unless ($href) { next; } |
unless ($href) { next; } |
$r->print(' <a href="'.$href.'">'.$indextitles{$href}.'</a>'); |
$r->print(' <a href="'.$href.'">'.$indextitles{$href}.'</a>'); |
} |
} |
$r->print("</td>".&Apache::loncommon::start_data_table_row()); |
$r->print('</td>'.&Apache::loncommon::end_data_table_row()); |
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
} |
} |
Line 171 sub handler {
|
Line 174 sub handler {
|
text => "$crstype Index"}); |
text => "$crstype Index"}); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs("$crstype Index")); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs("$crstype Index")); |
&Apache::lonnavdisplay::startContentScreen($r,'courseindex'); |
&Apache::lonnavdisplay::startContentScreen($r,'courseindex'); |
&course_index($r); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
|
my ($blocked,$blocktext) = |
|
&Apache::loncommon::blocking_status('index',$clientip,$cnum,$cdom); |
|
if ($blocked) { |
|
my $checkrole = "cm./$cdom/$cnum"; |
|
if ($env{'request.course.sec'} ne '') { |
|
$checkrole .= "/$env{'request.course.sec'}"; |
|
} |
|
if ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) && |
|
($env{'request.role'} !~ m{^st\./$cdom/$cnum})) { |
|
undef($blocked); |
|
} |
|
} |
|
if ($blocked) { |
|
$r->print($blocktext); |
|
} else { |
|
&course_index($r); |
|
} |
&Apache::lonnavdisplay::endContentScreen($r); |
&Apache::lonnavdisplay::endContentScreen($r); |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |