--- loncom/interface/lonnavmaps.pm 2011/12/20 22:41:31 1.473 +++ loncom/interface/lonnavmaps.pm 2011/12/28 04:11:05 1.478 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.473 2011/12/20 22:41:31 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.478 2011/12/28 04:11:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees @@ -464,7 +464,7 @@ returns 4 =item add_linkitem() -=item show_linkitems() +=item show_linkitems_toolbar() =back @@ -632,10 +632,10 @@ sub getDescription { return &mt('Reserved - next open [_1]', timeToHumanString($slot_time,'start')); } elsif ($slot_status == $res->RESERVABLE) { - return &mt('Reservable ending [_1]', + return &mt('Reservable, reservations close [_1]', timeToHumanString($slot_time,'end')); } elsif ($slot_status == $res->RESERVABLE_LATER) { - return &mt('Reservable starting [_1]', + return &mt('Reservable, reservations open [_1]', timeToHumanString($slot_time,'start')); } elsif ($slot_status == $res->NOT_IN_A_SLOT) { return &mt('Reserve a time/place to work'); @@ -896,6 +896,7 @@ sub part_status_summary { return 4; } sub render_resource { my ($resource, $part, $params) = @_; + my $editmapLink; my $nonLinkedText = ''; # stuff after resource title not in link my $link = $params->{"resourceLink"}; @@ -977,6 +978,14 @@ sub render_resource { $linkopen = ""; $linkclose = ""; } + if ((&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) && + ($resource->symb=~/\_\_\_[^\_]+\_\_\_uploaded/)) { + my $icon = &Apache::loncommon::lonhttpdurl('/res/adm/pages').'/editmap.png'; + $editmapLink=' '. + ''. + ''.&mt('Edit Content').''. + ''; + } } if ($resource->randomout()) { @@ -1010,8 +1019,10 @@ sub render_resource { # Is this the current resource? if (!$params->{'displayedHereMarker'} && $resource->symb() eq $params->{'here'} ) { - $curMarkerBegin = ''; - $curMarkerEnd = ''; + unless ($resource->is_map()) { + $curMarkerBegin = ''; + $curMarkerEnd = ''; + } $params->{'displayedHereMarker'} = 1; } @@ -1030,7 +1041,7 @@ sub render_resource { if (!$params->{'resource_nolink'} && !$resource->is_sequence() && !$resource->is_empty_sequence) { $result .= "$curMarkerBegin$title$partLabel$curMarkerEnd$nonLinkedText"; } else { - $result .= "$curMarkerBegin$linkopen$title$partLabel$curMarkerEnd$nonLinkedText"; + $result .= "$curMarkerBegin$linkopen$title$partLabel$curMarkerEnd$editmapLink$nonLinkedText"; } return $result; @@ -1044,6 +1055,7 @@ sub render_communication_status { my $linkopen = ""; my $linkclose = ""; my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc"); + if ($resource->hasDiscussion()) { $discussionHTML = $linkopen . ''.&mt('New Discussion').'' . @@ -1132,14 +1144,6 @@ sub render_long_status { $result .= getDescription($resource, $part); if ($color) {$result .= ""; } } - if ($resource->is_map()) { - if (&Apache::lonnet::allowed('mdc')) { - if ($resource->symb=~/\_\_\_[^\_]+\_\_\_uploaded/) { - $result.=" ". - "".&mt("Edit Content").' '; - } - } - } if ($resource->is_map() && &advancedUser() && $resource->randompick()) { $result .= &mt('(randomly select [_1])', $resource->randompick()); } @@ -1462,8 +1466,10 @@ sub render { $link .= '&register='.$env{'form.register'}; } if ($args->{'caller'} eq 'navmapsdisplay') { - &add_linkitem($args->{'linkitems'},'changefolder', - "location.href='$link'",$text); + unless ($args->{'notools'}) { + &add_linkitem($args->{'linkitems'},'changefolder', + "location.href='$link'",$text); + } } else { $result.= ''.&mt($text).''; } @@ -1471,7 +1477,7 @@ sub render { } # Check for any unread discussions in all resources. - if ($args->{'caller'} eq 'navmapsdisplay') { + if (($args->{'caller'} eq 'navmapsdisplay') && (!$args->{'notools'})) { &add_linkitem($args->{'linkitems'},'clearbubbles', 'document.clearbubbles.submit()', 'Mark all posts read'); @@ -1504,18 +1510,20 @@ END } $result.=''; } + if (($args->{'caller'} eq 'navmapsdisplay') && + (&Apache::lonnet::allowed('mdc',$env{'request.course.id'}))) { + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($env{'course.'.$env{'request.course.id'}.'.url'} eq + "uploaded/$cdom/$cnum/default.sequence") { + &add_linkitem($args->{'linkitems'},'edittoplevel', + "javascript:gocmd('/adm/coursedocs','editdocs');", + 'Content Editor'); + } + } if ($args->{'caller'} eq 'navmapsdisplay') { - $result .= ''; - $result .= ''; - $result.=''; - $result.=&show_linkitems_toolbar($args->{'linkitems'}); - if ($args->{'sort_html'}) { - $result.=''. - ''; - } - $result .= '
'. - &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').' '.&mt('Tools:').'   '.$args->{'sort_html'}.'
'; + $result .= &show_linkitems_toolbar($args,$condition); } elsif ($args->{'sort_html'}) { $result.=$args->{'sort_html'}; } @@ -1853,41 +1861,65 @@ sub add_linkitem { } sub show_linkitems_toolbar { - my ($linkitems,$condition)=@_; - my @linkorder = ('firsthomework','everything','uncompleted', - 'changefolder','clearbubbles'); - my $result .=''."\n". - ''."\n". - ''. - ''."\n"; return $result; } - 1; @@ -5115,10 +5147,6 @@ sub check_for_slot { my $start = $slots{$slot_name}->{'starttime'}; my $ip = $slots{$slot_name}->{'ip'}; if ($self->simpleStatus() == OPEN) { - my @proctors; - if ($slots{$slot_name}->{'proctor'} ne '') { - @proctors = split(',',$slots{$slot_name}->{'proctor'}); - } if ($end > $now) { if ($start > $now) { return (RESERVED_LATER,$start,$slot_name); @@ -5172,7 +5200,7 @@ sub check_for_slot { $env{'user.domain'}); if (ref($reservable) eq 'HASH') { if ((ref($reservable->{'now_order'}) eq 'ARRAY') && (ref($reservable->{'now'}) eq 'HASH')) { - foreach my $slot (@{$reservable->{'now_order'}}) { + foreach my $slot (reverse (@{$reservable->{'now_order'}})) { if (($reservable->{'now'}{$slot}{'symb'} eq '') || ($reservable->{'now'}{$slot}{'symb'} eq $symb)) { return(RESERVABLE,$reservable->{'now'}{$slot}{'endreserve'}); @@ -5180,7 +5208,7 @@ sub check_for_slot { } } if ((ref($reservable->{'future_order'}) eq 'ARRAY') && (ref($reservable->{'future'}) eq 'HASH')) { - foreach my $slot (reverse (@{$reservable->{'future_order'}})) { + foreach my $slot (@{$reservable->{'future_order'}}) { if (($reservable->{'future'}{$slot}{'symb'} eq '') || ($reservable->{'future'}{$slot}{'symb'} eq $symb)) { return(RESERVABLE_LATER,$reservable->{'future'}{$slot}{'startreserve'});