version 1.281, 2004/08/29 03:55:24
|
version 1.284, 2004/08/30 18:45:52
|
Line 262 ENDSUBM
|
Line 262 ENDSUBM
|
&Apache::loncommon::bodytag('Navigate Course Contents','', |
&Apache::loncommon::bodytag('Navigate Course Contents','', |
$addentries,$body_only,'', |
$addentries,$body_only,'', |
$ENV{'form.register'})); |
$ENV{'form.register'})); |
$r->print('<script>window.focus();</script>'. |
$r->print('<script>window.focus();</script>'); |
&Apache::loncommon::help_open_menu('','Navigation Screen','Navigation_Screen','',undef,'RAT')); |
|
|
|
$r->rflush(); |
$r->rflush(); |
|
|
# Check that it's defined |
# Check that it's defined |
if (!($navmap->courseMapDefined())) { |
if (!($navmap->courseMapDefined())) { |
|
$r->print(&Apache::loncommon::help_open_menu('','Navigation Screen','Navigation_Screen','',undef,'RAT')); |
$r->print('<font size="+2" color="red">Coursemap undefined.</font>' . |
$r->print('<font size="+2" color="red">Coursemap undefined.</font>' . |
'</body></html>'); |
'</body></html>'); |
return OK; |
return OK; |
Line 396 ENDSUBM
|
Line 396 ENDSUBM
|
</nobr> |
</nobr> |
</form>"); |
</form>"); |
# renderer call |
# renderer call |
&Apache::lonnet::logthis(join(':',keys(%toplinkitems))); |
|
my $renderArgs = { 'cols' => [0,2,3], |
my $renderArgs = { 'cols' => [0,2,3], |
'sort' => $ENV{'form.sort'}, |
'sort' => $ENV{'form.sort'}, |
'url' => '/adm/navmaps', |
'url' => '/adm/navmaps', |
Line 1581 END
|
Line 1580 END
|
} |
} |
|
|
if ($args->{'caller'} eq 'navmapsdisplay') { |
if ($args->{'caller'} eq 'navmapsdisplay') { |
|
$result .= '<table><tr><td>'. |
|
&Apache::loncommon::help_open_menu('','Navigation Screen','Navigation_Screen','',undef,'RAT').'</td>'; |
|
if ($ENV{'environment.remotenavmap'} ne 'on') { |
|
$result .= '<td> </td>'; |
|
} else { |
|
$result .= '</tr><tr>'; |
|
} |
$result.=&show_linkitems($args->{'linkitems'}); |
$result.=&show_linkitems($args->{'linkitems'}); |
if ($args->{'sort_html'}) { |
if ($args->{'sort_html'}) { |
if ($ENV{'environment.remotenavmap'} ne 'on') { |
if ($ENV{'environment.remotenavmap'} ne 'on') { |
Line 1917 sub show_linkitems {
|
Line 1923 sub show_linkitems {
|
"uncompleted","changefolder","clearbubbles"); |
"uncompleted","changefolder","clearbubbles"); |
|
|
my $result .= (<<ENDBLOCK); |
my $result .= (<<ENDBLOCK); |
|
<td align="left"> |
<script type="text/javascript"> |
<script type="text/javascript"> |
function changeNavDisplay () { |
function changeNavDisplay () { |
var navchoice = document.linkitems.toplink[document.linkitems.toplink.selectedIndex].value; |
var navchoice = document.linkitems.toplink[document.linkitems.toplink.selectedIndex].value; |
Line 1927 ENDBLOCK
|
Line 1934 ENDBLOCK
|
} |
} |
$result.='} |
$result.='} |
</script> |
</script> |
<table><tr><td align="left"> |
|
<form name="linkitems" method="post"> |
<form name="linkitems" method="post"> |
<nobr><select name="toplink">'."\n"; |
<nobr><select name="toplink">'."\n"; |
foreach my $link (@linkorder) { |
foreach my $link (@linkorder) { |
Line 4027 sub extractParts {
|
Line 4033 sub extractParts {
|
} |
} |
|
|
|
|
|
# These hashes probably do not need names that end with "Hash".... |
my %responseIdHash; |
my %responseIdHash; |
my %responseTypeHash; |
my %responseTypeHash; |
|
|
Line 4042 sub extractParts {
|
Line 4049 sub extractParts {
|
# So we have to use our knowlege of part names to figure out |
# So we have to use our knowlege of part names to figure out |
# where the part names begin and end, and even then, it is possible |
# where the part names begin and end, and even then, it is possible |
# to construct ambiguous situations. |
# to construct ambiguous situations. |
|
# |
|
my %response_type_by_id; |
foreach (split /,/, $metadata) { |
foreach (split /,/, $metadata) { |
if ($_ =~ /^([a-zA-Z]+)response_(.*)/) { |
if ($_ =~ /^([a-zA-Z]+)response_(.*)/) { |
my $responseType = $1; |
my $responseType = $1; |
Line 4057 sub extractParts {
|
Line 4066 sub extractParts {
|
my $responseId = join('_', @otherChunks); |
my $responseId = join('_', @otherChunks); |
push @{$responseIdHash{$partIdSoFar}}, $responseId; |
push @{$responseIdHash{$partIdSoFar}}, $responseId; |
push @{$responseTypeHash{$partIdSoFar}}, $responseType; |
push @{$responseTypeHash{$partIdSoFar}}, $responseType; |
|
$response_type_by_id{$responseId} = $responseType; |
} |
} |
} |
} |
} |
} |
} |
} |
my $resorder = &Apache::lonnet::metadata($self->src(),'responseorder'); |
my $resorder = &Apache::lonnet::metadata($self->src(),'responseorder'); |
|
# |
|
# Reorder the arrays in the %responseIdHash and %responseTypeHash |
if ($resorder) { |
if ($resorder) { |
my @resorder=split(/,/,$resorder); |
my @resorder=split(/,/,$resorder); |
foreach my $part (keys(%responseIdHash)) { |
foreach my $part (keys(%responseIdHash)) { |
Line 4075 sub extractParts {
|
Line 4087 sub extractParts {
|
$responseIdHash{$part}=\@neworder; |
$responseIdHash{$part}=\@neworder; |
} |
} |
} |
} |
|
# |
|
# Reorder the response types |
|
foreach my $partid (keys(%responseIdHash)) { |
|
delete($responseTypeHash{$partid}); |
|
foreach my $respid (@{$responseIdHash{$partid}}) { |
|
push(@{$responseTypeHash{$partid}}, |
|
$response_type_by_id{$respid}); |
|
} |
|
} |
$self->{RESPONSE_IDS} = \%responseIdHash; |
$self->{RESPONSE_IDS} = \%responseIdHash; |
$self->{RESPONSE_TYPES} = \%responseTypeHash; |
$self->{RESPONSE_TYPES} = \%responseTypeHash; |
} |
} |