version 1.257, 2004/04/05 18:16:36
|
version 1.264, 2004/06/29 22:32:11
|
Line 137 sub real_handler {
|
Line 137 sub real_handler {
|
$r->print('</head>'. |
$r->print('</head>'. |
&Apache::loncommon::bodytag('Navigate Course Contents','', |
&Apache::loncommon::bodytag('Navigate Course Contents','', |
$addentries,'','',$ENV{'form.register'})); |
$addentries,'','',$ENV{'form.register'})); |
$r->print('<script>window.focus();</script>'); |
$r->print('<script>window.focus();</script>'. |
|
&Apache::loncommon::help_open_topic('Navigation_Screen'). |
|
&Apache::loncommon::help_open_bug('RAT')); |
|
|
$r->rflush(); |
$r->rflush(); |
|
|
Line 864 sub render_resource {
|
Line 866 sub render_resource {
|
my $filter = $it->{FILTER}; |
my $filter = $it->{FILTER}; |
|
|
my $title = $resource->compTitle(); |
my $title = $resource->compTitle(); |
# if ($src =~ /^\/uploaded\//) { |
|
# $nonLinkedText=$title; |
|
# $title = ''; |
|
# } |
|
my $partLabel = ""; |
my $partLabel = ""; |
my $newBranchText = ""; |
my $newBranchText = ""; |
|
|
Line 973 sub render_resource {
|
Line 972 sub render_resource {
|
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
} |
} |
|
|
# if (!$params->{'resource_nolink'} && $src !~ /^\/uploaded\// && |
if (!$params->{'resource_nolink'} && !$resource->is_sequence()) { |
# !$resource->is_sequence()) { |
|
if (!$params->{'resource_nolink'} && !$resource->is_sequence()) { |
|
$result .= " $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>"; |
$result .= " $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>"; |
} else { |
} else { |
$result .= " $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>"; |
$result .= " $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>"; |
Line 1818 sub generate_course_user_opt {
|
Line 1815 sub generate_course_user_opt {
|
|
|
sub generate_email_discuss_status { |
sub generate_email_discuss_status { |
my $self = shift; |
my $self = shift; |
|
my $symb = shift; |
if ($self->{EMAIL_DISCUSS_GENERATED}) { return; } |
if ($self->{EMAIL_DISCUSS_GENERATED}) { return; } |
|
|
my $cid=$ENV{'request.course.id'}; |
my $cid=$ENV{'request.course.id'}; |
Line 1830 sub generate_email_discuss_status {
|
Line 1828 sub generate_email_discuss_status {
|
$courseLeaveTime : $logoutTime); |
$courseLeaveTime : $logoutTime); |
my %discussiontime = &Apache::lonnet::dump('discussiontimes', |
my %discussiontime = &Apache::lonnet::dump('discussiontimes', |
$cdom, $cnum); |
$cdom, $cnum); |
|
my %lastread = &Apache::lonnet::dump('nohist_'.$cid.'_discuss', |
|
$ENV{'user.domain'},$ENV{'user.name'},'lastread'); |
|
my %lastreadtime = (); |
|
foreach (keys %lastread) { |
|
my $key = $_; |
|
$key =~ s/_lastread$//; |
|
$lastreadtime{$key} = $lastread{$_}; |
|
} |
|
|
my %feedback=(); |
my %feedback=(); |
my %error=(); |
my %error=(); |
my $keys = &Apache::lonnet::reply('keys:'. |
my $keys = &Apache::lonnet::reply('keys:'. |
Line 1863 sub generate_email_discuss_status {
|
Line 1870 sub generate_email_discuss_status {
|
$self->{ERROR_MSG} = \%error; # what is this? JB |
$self->{ERROR_MSG} = \%error; # what is this? JB |
$self->{DISCUSSION_TIME} = \%discussiontime; |
$self->{DISCUSSION_TIME} = \%discussiontime; |
$self->{EMAIL_STATUS} = \%emailstatus; |
$self->{EMAIL_STATUS} = \%emailstatus; |
|
$self->{LAST_READ} = \%lastreadtime; |
|
|
$self->{EMAIL_DISCUSS_GENERATED} = 1; |
$self->{EMAIL_DISCUSS_GENERATED} = 1; |
} |
} |
Line 1931 sub hasDiscussion {
|
Line 1939 sub hasDiscussion {
|
if (!defined($self->{DISCUSSION_TIME})) { return 0; } |
if (!defined($self->{DISCUSSION_TIME})) { return 0; } |
|
|
#return defined($self->{DISCUSSION_TIME}->{$symb}); |
#return defined($self->{DISCUSSION_TIME}->{$symb}); |
return $self->{DISCUSSION_TIME}->{$symb} > |
|
$self->{LAST_CHECK}; |
# backward compatibility (bulletin boards used to be 'wrapped') |
|
my $ressymb = $symb; |
|
if ($ressymb =~ m|adm/(\w+)/(\w+)/(\d+)/bulletinboard$|) { |
|
unless ($ressymb =~ m|bulletin___\d+___adm/wrapper|) { |
|
$ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard'; |
|
} |
|
} |
|
|
|
if ( defined ( $self->{LAST_READ}->{$ressymb} ) ) { |
|
return $self->{DISCUSSION_TIME}->{$ressymb} > $self->{LAST_READ}->{$ressymb}; |
|
} else { |
|
return $self->{DISCUSSION_TIME}->{$ressymb} > $self->{LAST_CHECK}; |
|
} |
} |
} |
|
|
# Private method: Does the given resource (as a symb string) have |
# Private method: Does the given resource (as a symb string) have |
Line 3223 sub is_sequence {
|
Line 3243 sub is_sequence {
|
return $self->navHash("is_map_", 1) && |
return $self->navHash("is_map_", 1) && |
$self->navHash("map_type_" . $self->map_pc()) eq 'sequence'; |
$self->navHash("map_type_" . $self->map_pc()) eq 'sequence'; |
} |
} |
|
sub is_survey { |
|
my $self = shift(); |
|
my $part = shift(); |
|
if ($self->parmval('type',$part) eq 'survey') { |
|
return 1; |
|
} |
|
if ($self->src() =~ /\.(survey)$/) { |
|
return 1; |
|
} |
|
return 0; |
|
} |
|
|
# Private method: Shells out to the parmval in the nav map, handler parts. |
# Private method: Shells out to the parmval in the nav map, handler parts. |
sub parmval { |
sub parmval { |
Line 3399 sub awarded {
|
Line 3430 sub awarded {
|
} |
} |
sub duedate { |
sub duedate { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
|
my $interval=$self->parmval("interval", $part); |
|
if ($interval) { |
|
my $first_access=&Apache::lonnet::get_first_access('map',$self->symb); |
|
if ($first_access) { return ($first_access+$interval); } |
|
} |
return $self->parmval("duedate", $part); |
return $self->parmval("duedate", $part); |
} |
} |
sub maxtries { |
sub maxtries { |
Line 3699 sub extractParts {
|
Line 3735 sub extractParts {
|
} |
} |
} |
} |
} |
} |
|
my $resorder = &Apache::lonnet::metadata($self->src(),'responseorder'); |
|
if ($resorder) { |
|
my @resorder=split(/,/,$resorder); |
|
foreach my $part (keys(%responseIdHash)) { |
|
my %resids = map { ($_,1) } @{ $responseIdHash{$part} }; |
|
my @neworder; |
|
foreach my $possibleid (@resorder) { |
|
if (exists($resids{$possibleid})) { |
|
push(@neworder,$possibleid); |
|
} |
|
} |
|
$responseIdHash{$part}=\@neworder; |
|
} |
|
} |
$self->{RESPONSE_IDS} = \%responseIdHash; |
$self->{RESPONSE_IDS} = \%responseIdHash; |
$self->{RESPONSE_TYPES} = \%responseTypeHash; |
$self->{RESPONSE_TYPES} = \%responseTypeHash; |
} |
} |