Diff for /loncom/interface/lonnavmaps.pm between versions 1.444 and 1.448

version 1.444, 2010/02/28 22:36:38 version 1.448, 2010/06/16 23:42:55
Line 538  my $hurryUpColor = "#FF0000"; Line 538  my $hurryUpColor = "#FF0000";
 my $future_slots_checked = 0;  my $future_slots_checked = 0;
 my $future_slots = 0;  my $future_slots = 0;
   
 sub close {  
     if ($env{'environment.remotenavmap'} ne 'on') { return ''; }  
     return(<<ENDCLOSE);  
 <script type="text/javascript">  
 window.status='Accessing Nav Control';  
 menu=window.open("/adm/rat/empty.html","loncapanav",  
                  "height=600,width=400,scrollbars=1");  
 window.status='Closing Nav Control';  
 menu.close();  
 window.status='Done.';  
 </script>  
 ENDCLOSE  
 }  
   
 sub update {  
     if ($env{'environment.remotenavmap'} ne 'on') { return ''; }  
     if (!$env{'request.course.id'}) { return ''; }  
     if ($ENV{'REQUEST_URI'}=~m|^/adm/navmaps|) { return ''; }  
     return(<<ENDUPDATE);  
 <form name="navform"></form>  
 <script type="text/javascript">  
 this.document.navform.action='/adm/navmaps#curloc';  
 this.document.navform.target='loncapanav';  
 this.document.navform.submit();  
 </script>  
 ENDUPDATE  
 }  
   
   
 sub addToFilter {  sub addToFilter {
     my $hashIn = shift;      my $hashIn = shift;
     my $addition = shift;      my $addition = shift;
Line 1015  sub render_resource { Line 986  sub render_resource {
         $nonLinkedText .= ' ('.&mt('[_1] parts', $resource->countParts()).')';          $nonLinkedText .= ' ('.&mt('[_1] parts', $resource->countParts()).')';
     }      }
   
     my $target;  
     if ($env{'environment.remotenavmap'} eq 'on') {  
  $target=' target="loncapaclient" ';  
     }  
     if (!$params->{'resource_nolink'} && !$resource->is_sequence() && !$resource->is_empty_sequence) {      if (!$params->{'resource_nolink'} && !$resource->is_sequence() && !$resource->is_empty_sequence) {
         $result .= "$curMarkerBegin<a $target href=\"$link\">$title$partLabel</a>$curMarkerEnd$nonLinkedText</td>";          $result .= "$curMarkerBegin<a href=\"$link\">$title$partLabel</a>$curMarkerEnd$nonLinkedText</td>";
     } else {      } else {
         $result .= "$curMarkerBegin$linkopen$title$partLabel</a>$curMarkerEnd$nonLinkedText</td>";          $result .= "$curMarkerBegin$linkopen$title$partLabel</a>$curMarkerEnd$nonLinkedText</td>";
     }      }
Line 1033  sub render_communication_status { Line 1000  sub render_communication_status {
     my $discussionHTML = ""; my $feedbackHTML = ""; my $errorHTML = "";      my $discussionHTML = ""; my $feedbackHTML = ""; my $errorHTML = "";
   
     my $link = $params->{"resourceLink"};      my $link = $params->{"resourceLink"};
     my $target;      my $linkopen = "<a href=\"$link\">";
     if ($env{'environment.remotenavmap'} eq 'on') {  
  $target=' target="loncapaclient" ';  
     }  
     my $linkopen = "<a $target href=\"$link\">";  
     my $linkclose = "</a>";      my $linkclose = "</a>";
     my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc");      my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc");
     if ($resource->hasDiscussion()) {      if ($resource->hasDiscussion()) {
Line 1050  sub render_communication_status { Line 1013  sub render_communication_status {
         my $feedback = $resource->getFeedback();          my $feedback = $resource->getFeedback();
         foreach my $msgid (split(/\,/, $feedback)) {          foreach my $msgid (split(/\,/, $feedback)) {
             if ($msgid) {              if ($msgid) {
                 $feedbackHTML .= '&nbsp;<a '.$target.' href="/adm/email?display='                  $feedbackHTML .= '&nbsp;<a href="/adm/email?display='
                     . &escape($msgid) . '">'                      . &escape($msgid) . '">'
                     . '<img alt="'.&mt('New E-mail').'" src="'.$location.'/feedback.gif" title="'.&mt('New E-mail').'"/></a>';                      . '<img alt="'.&mt('New E-mail').'" src="'.$location.'/feedback.gif" title="'.&mt('New E-mail').'"/></a>';
             }              }
Line 1064  sub render_communication_status { Line 1027  sub render_communication_status {
             last if ($errorcount>=10); # Only output 10 bombs maximum              last if ($errorcount>=10); # Only output 10 bombs maximum
             if ($msgid) {              if ($msgid) {
                 $errorcount++;                  $errorcount++;
                 $errorHTML .= '&nbsp;<a '.$target.' href="/adm/email?display='                  $errorHTML .= '&nbsp;<a href="/adm/email?display='
                     . &escape($msgid) . '">'                      . &escape($msgid) . '">'
                     . '<img alt="'.&mt('New Error').'" src="'.$location.'/bomb.gif" title="'.&mt('New Error').'"/></a>';                      . '<img alt="'.&mt('New Error').'" src="'.$location.'/bomb.gif" title="'.&mt('New Error').'"/></a>';
             }              }
Line 1084  sub render_quick_status { Line 1047  sub render_quick_status {
         $params->{'multipart'} && $part eq "0";          $params->{'multipart'} && $part eq "0";
   
     my $link = $params->{"resourceLink"};      my $link = $params->{"resourceLink"};
     my $target;      my $linkopen = "<a href=\"$link\">";
     if ($env{'environment.remotenavmap'} eq 'on') {  
  $target=' target="loncapaclient" ';  
     }  
     my $linkopen = "<a $target href=\"$link\">";  
     my $linkclose = "</a>";      my $linkclose = "</a>";
   
  $result .= '<td class="LC_middle">';   $result .= '<td class="LC_middle">';
Line 1441  sub render { Line 1400  sub render {
     if ($printCloseAll && !$args->{'resource_no_folder_link'}) {      if ($printCloseAll && !$args->{'resource_no_folder_link'}) {
  my ($link,$text);   my ($link,$text);
         if ($condition) {          if ($condition) {
     $link='"navmaps?condition=0&amp;filter=&amp;'.$queryString.      $link='navmaps?condition=0&amp;filter=&amp;'.$queryString.
  '&here='.&escape($here).'"';   '&here='.&escape($here);
     $text='Close all folders';      $text='Close all folders';
         } else {          } else {
     $link='"navmaps?condition=1&amp;filter=&amp;'.$queryString.      $link='navmaps?condition=1&amp;filter=&amp;'.$queryString.
  '&here='.&escape($here).'"';   '&here='.&escape($here);
     $text='Open all folders';      $text='Open all folders';
         }          }
           if ($env{'form.register'}) {
               $link .= '&amp;register='.$env{'form.register'};
           }
  if ($args->{'caller'} eq 'navmapsdisplay') {   if ($args->{'caller'} eq 'navmapsdisplay') {
     &add_linkitem($args->{'linkitems'},'changefolder',      &add_linkitem($args->{'linkitems'},'changefolder',
   'location.href='.$link,$text);    "location.href='$link'",$text);
  } else {   } else {
     $result.='<a href='.$link.'>'.&mt($text).'</a>';      $result.= '<a href="'.$link.'">'.&mt($text).'</a>';
  }   }
         $result .= "\n";          $result .= "\n";
     }      }
Line 1469  sub render { Line 1431  sub render {
  <input type="hidden" name="navurl" value="$ENV{'QUERY_STRING'}" />   <input type="hidden" name="navurl" value="$ENV{'QUERY_STRING'}" />
  <input type="hidden" name="navtime" value="$time" />   <input type="hidden" name="navtime" value="$time" />
 END  END
           if ($env{'form.register'}) {
               $result .= '<input type="hidden" name="register" value="'.$env{'form.register'}.'" />';
           }
         if ($args->{'sort'} eq 'discussion') {           if ($args->{'sort'} eq 'discussion') { 
     my $totdisc = 0;      my $totdisc = 0;
     my $haveDisc = '';      my $haveDisc = '';
Line 1490  END Line 1455  END
  $result.='</form>';   $result.='</form>';
     }      }
   
      
     if ($args->{'caller'} eq 'navmapsdisplay') {      if ($args->{'caller'} eq 'navmapsdisplay') {
         $result .= '<table><tr><td>'.          $result .= '<table><tr><td>'.
                    &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').'</td>';                     &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').'</td>';
  if ($env{'environment.remotenavmap'} ne 'on') {  
     $result .= '<td>&nbsp;</td>';       $result .= '<td>&nbsp;</td>'; 
         } else {   $result.='<td class="LC_middle">'.&mt('Tools:').'</td>';
     $result .= '</tr><tr>';   
         }  
  $result.="<td class=\"LC_middle\">".mt('Tools:')."</td>";  
  $result.=&show_linkitems_toolbar($args->{'linkitems'});   $result.=&show_linkitems_toolbar($args->{'linkitems'});
         if ($args->{'sort_html'}) {          if ($args->{'sort_html'}) {
     if ($env{'environment.remotenavmap'} ne 'on') {              $result.='<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>'.
  $result.='<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>'.                  '<td align="right">'.$args->{'sort_html'}.'</td></tr>';
     '<td align="right">'.$args->{'sort_html'}.'</td></tr>';          }
     } else {  
  $result.='</tr><tr><td align="left"><br />'.  
     $args->{'sort_html'}.'</td></tr>';  
     }  
  }  
         $result .= '</table>';          $result .= '</table>';
     } elsif ($args->{'sort_html'}) {       } elsif ($args->{'sort_html'}) { 
         $result.=$args->{'sort_html'};           $result.=$args->{'sort_html'}; 
Line 1847  sub add_linkitem { Line 1802  sub add_linkitem {
     $$linkitems{$name}{'text'}=&mt($text);      $$linkitems{$name}{'text'}=&mt($text);
 }  }
   
 sub show_linkitems {  
     my ($linkitems)=@_;  
     my @linkorder = ("blank","launchnav","closenav","firsthomework",  
      "everything","uncompleted","changefolder","clearbubbles");  
       
     my $result .= (<<ENDBLOCK);  
               <td align="left">  
 <script type="text/javascript">  
     function changeNavDisplay () {  
  var navchoice = document.linkitems.toplink[document.linkitems.toplink.selectedIndex].value;  
 ENDBLOCK  
     foreach my $link (@linkorder) {  
  $result.= "if (navchoice == '$link') {".  
     $linkitems->{$link}{'cmd'}."}\n";  
     }  
     $result.='}  
               </script>  
                    <form name="linkitems" method="post">  
                        <span class="LC_nobreak"><select name="toplink">'."\n";  
     foreach my $link (@linkorder) {  
  if (defined($linkitems->{$link})) {  
     if ($linkitems->{$link}{'text'} ne '') {  
  $result .= ' <option value="'.$link.'">'.  
     $linkitems->{$link}{'text'}."</option>\n";  
     }  
  }  
     }  
     $result .= '</select>&nbsp;<input type="button" name="chgnav"  
                    value="Go" onClick="javascript:changeNavDisplay()" />  
                 </span></form></td>'."\n";  
   
     return $result;  
 }  
   
 sub show_linkitems_toolbar {  sub show_linkitems_toolbar {
     my ($linkitems,$condition)=@_;      my ($linkitems,$condition)=@_;
     my @linkorder = ("blank","launchnav","closenav","firsthomework",      my @linkorder = ('firsthomework','everything','uncompleted',
      "everything","uncompleted","changefolder","clearbubbles");                       'changefolder','clearbubbles');
           my $result .='<td align="left">'."\n". 
     my $result .='                    '<span class="LC_nobreak">'."\n".
               <td align="left">                   '<ul id="LC_toolbar">';
                        <span class="LC_nobreak">'."\n<ul id=\"LC_toolbar\">";      foreach my $link (@linkorder) {
  foreach my $link (@linkorder) {          my $link_id = 'LC_content_toolbar_'.$link;
         my $link_id = "LC_content_toolbar_".$link;          if (defined($linkitems->{$link})) {
  if (defined($linkitems->{$link})) {              if ($linkitems->{$link}{'text'} ne '') {
     if ($linkitems->{$link}{'text'} ne '') {                  $linkitems->{$link}{'cmd'}=~s/"/'/g;
  $linkitems->{$link}{'cmd'}=~s/"/'/g;                  if ($linkitems->{$link}{'cmd'}) {
  if($linkitems->{$link}{'cmd'}){                      if ($link eq 'changefolder') {
                    if($link eq 'changefolder'){                          if ($condition) {
                       if($condition){$link_id='LC_content_toolbar_changefolder_toggled'}                              $link_id='LC_content_toolbar_changefolder_toggled';
                       else{$link_id='LC_content_toolbar_changefolder'}                          } else {
                    }                              $link_id='LC_content_toolbar_changefolder';
                           $result .=  ' <li><a href="#"'.                          }
      ' onClick="'.$linkitems->{$link}{'cmd'}.'"'.                      }
                                 ' id="'.$link_id.'"'.                      $result .= '<li><a href="#" '.
                                 ' class="LC_toolbarItem"'.                                 'onclick="'.$linkitems->{$link}{'cmd'}.'" '.
    ' title="'.$linkitems->{$link}{'text'}.'"></a></li>'."\n";                                 'id="'.$link_id.'" '.
  }                                 'class="LC_toolbarItem" '.
                                  'title="'.$linkitems->{$link}{'text'}.'">'.
     }                                 '</a></li>'."\n";
  }                  }
               }
           }
     }      }
     $result .= '</ul>';      $result .= '</ul>'.
     $result .= ' </span></td>'."\n";                 '</span></td>'."\n";
   
     return $result;      return $result;
 }  }
   
Line 2382  resource object. Line 2304  resource object.
 Based on the symb of the resource, get a resource object for that  Based on the symb of the resource, get a resource object for that
 resource. This is one of the proper ways to get a resource object.  resource. This is one of the proper ways to get a resource object.
   
 =item * B<getMapByMapPc>(map_pc):  =item * B<getByMapPc>(map_pc):
   
 Based on the map_pc of the resource, get a resource object for  Based on the map_pc of the resource, get a resource object for
 the given map. This is one of the proper ways to get a resource object.  the given map. This is one of the proper ways to get a resource object.
Line 2652  in the filter function. Line 2574  in the filter function.
 Retrieves version infomation for a url. Returns the version (a number, or   Retrieves version infomation for a url. Returns the version (a number, or 
 the string "mostrecent") for resources which have version information in    the string "mostrecent") for resources which have version information in  
 the big hash.  the big hash.
       
 =cut  =cut
   
   
Line 3918  resource of the map. Line 3840  resource of the map.
   
 Returns a string with the type of the map in it.  Returns a string with the type of the map in it.
   
   =item *B<map_hierarchy>:
   
   Returns a string with a comma-separated ordered list of map_pc IDs
   for the hierarchy of maps containing a map, with the top level
   map first, then descending to deeper levels, with the enclosing map last.
   
 =back  =back
   
 =cut  =cut
Line 3948  sub map_type { Line 3876  sub map_type {
     my $pc = $self->map_pc();      my $pc = $self->map_pc();
     return $self->navHash("map_type_$pc", 0);      return $self->navHash("map_type_$pc", 0);
 }  }
   sub map_hierarchy {
       my $self = shift;
       my $pc = $self->map_pc();
       return $self->navHash("map_hierarchy_$pc", 0);
   }
   
 #####  #####
 # Property queries  # Property queries

Removed from v.1.444  
changed lines
  Added in v.1.448


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>