Diff for /loncom/interface/lonparmset.pm between versions 1.467 and 1.468

version 1.467, 2009/07/14 13:53:03 version 1.468, 2009/07/31 16:09:03
Line 1244  sub isdateparm { Line 1244  sub isdateparm {
     return (($type=~/^date/) && (!($type eq 'date_interval')));      return (($type=~/^date/) && (!($type eq 'date_interval')));
 }  }
   
   #
   # This function prints a list of parameters, which were selected. It also display a link from which you can
   # hide or show the complete parameter list, from which you can choose your parameters. 
   #
 sub parmmenu {  sub parmmenu {
     my ($r,$allparms,$pscat,$keyorder)=@_;      my ($r,$allparms,$pscat,$keyorder)=@_;
     my $tempkey;      my $tempkey;
Line 1330  sub parmmenu { Line 1334  sub parmmenu {
     function checkboxChecked(id) {      function checkboxChecked(id) {
         var li = "_li";          var li = "_li";
         var id_li = id.concat(li);          var id_li = id.concat(li);
   
         if (document.getElementById(id_li).style.display == "none") {          if (document.getElementById(id_li).style.display == "none") {
             document.getElementById(id_li).style.display = "";              document.getElementById(id_li).style.display = "";
         }          }
Line 1532  sub parmboxes { Line 1535  sub parmboxes {
     #&shortCuts($r,$allparms,$pscat,$keyorder);      #&shortCuts($r,$allparms,$pscat,$keyorder);
     $r->print('</fieldset>');      $r->print('</fieldset>');
 }  }
   #
   # This function offers some links on the parameter section to get with one click a group a parameters
   #
 sub shortCuts {  sub shortCuts {
     my ($r,$allparms,$pscat,$keyorder)=@_;      my ($r,$allparms,$pscat,$keyorder)=@_;
   
Line 1696  function group_or_section(caller) { Line 1702  function group_or_section(caller) {
                  ,$chooseopt));                   ,$chooseopt));
 }  }
   
   #
   # This function shows on table Mode the available Parameters for the selected Resources
   #
 sub displaymenu {  sub displaymenu {
     my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_;      my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_;
     $r->print(&Apache::lonhtmlcommon::topic_bar (2,&mt('Select Parameters')));      $r->print(&Apache::lonhtmlcommon::topic_bar (2,&mt('Select Parameters')));
Line 1711  sub displaymenu { Line 1720  sub displaymenu {
 }  }
   
 sub mapmenu {  sub mapmenu {
     my ($r,$allmaps,$pschp,$maptitles)=@_;      my ($r,$allmaps,$pschp,$maptitles, $symbp)=@_;
       my %allmaps_inverted = reverse %$allmaps;
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();
     my $tree=[];      my $tree=[];
     my $treeinfo={};      my $treeinfo={};
Line 1719  sub mapmenu { Line 1729  sub mapmenu {
         my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);          my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);
         my $curRes;          my $curRes;
         my $depth = 0;          my $depth = 0;
           my %parent = ();
           my $startcount = 5;
           my $lastcontainer = $startcount;
   # preparing what is to show ...
         while ($curRes = $it->next()) {          while ($curRes = $it->next()) {
             if ($curRes == $it->BEGIN_MAP()) {              if ($curRes == $it->BEGIN_MAP()) {
                 $depth++;                  $depth++;
                   $parent{$depth}= $lastcontainer;
             }              }
             if ($curRes == $it->END_MAP()) {              if ($curRes == $it->END_MAP()) {
                 $depth--;                  $depth--;
                   $lastcontainer = $parent{$depth};
             }              }
             if (ref($curRes)) {              if (ref($curRes)) {
                   my $symb = $curRes->symb();
                   my $ressymb = $symb;
                 if (($curRes->is_sequence()) || ($curRes->is_page())) {                  if (($curRes->is_sequence()) || ($curRes->is_page())) {
                     my $type = 'sequence';                      my $type = 'sequence';
                     if ($curRes->is_page()) {                      if ($curRes->is_page()) {
                         $type = 'page';                          $type = 'page';
                     }                      }
                     my $id= $curRes->id();                      my $id= $curRes->id();
                     my ($mapid,$resid)=split(/\./,$id);                      my $srcf = $curRes->src();
                     if(!exists($treeinfo->{$mapid})) {                      my $resource_name = &Apache::lonnet::gettitle($srcf);
                         push(@$tree,$mapid);                          if(!exists($treeinfo->{$id})) {
                         $treeinfo->{$mapid} = {                          push(@$tree,$id);
                           my $enclosing_map_folder = &Apache::lonnet::declutter($curRes->enclosing_map_src());    
                           $treeinfo->{$id} = {
                                     depth => $depth,                                      depth => $depth,
                                     type  => $type,                                      type  => $type,
                                       name  => $resource_name,
                                       enclosing_map_folder => $enclosing_map_folder,
                                     };                                      };
                     }                      }
                 }                  }
             }              }
         }          }
     }      }
   # Show it ...
     $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder')));      $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder')));
     if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) {      if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) {
         my $icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';          my $icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';
Line 1762  sub mapmenu { Line 1783  sub mapmenu {
         my $whitespace = '<img src="'          my $whitespace = '<img src="'
                         .&Apache::loncommon::lonhttpdurl("/adm/lonIcons/whitespace_21.gif")                          .&Apache::loncommon::lonhttpdurl("/adm/lonIcons/whitespace_21.gif")
                         .'" alt="" />';                          .'" alt="" />';
         foreach my $mapid (@{$tree}) {          if (exists($$allmaps{1})) {
               $r->print(&Apache::loncommon::start_data_table_row()
                   .'<td>'.$icon
                   .'<label>&nbsp;'
                   .'<input type="radio" name="pschp" value="1"'
               );
               if ($pschp eq 1) {
                   $r->print(' checked="checked"');
               }
               $r->print('/>'
                   .$$maptitles{1}
                   .($$allmaps{1} !~/^uploaded/?' ['.$$allmaps{1}.']':'')
                   .'</label>'
                   .'</td>'
                   .&Apache::loncommon::end_data_table_row()
               );
           }
           foreach my $id (@{$tree}) {
               my ($mapid,$resid)=split(/\./,$id);
             # Indentation              # Indentation
             my $depth = $treeinfo->{$mapid}->{'depth'};              my $depth = $treeinfo->{$id}->{'depth'};
             my $indent;              my $indent;
             for (my $i = 0; $i < $depth; $i++) {              for (my $i = 0; $i < $depth; $i++) {
                 $indent.= $whitespace;                  $indent.= $whitespace;
             }              }
             $icon =  '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';              $icon =  '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';
             if ($treeinfo->{$mapid}->{'type'} eq 'page') {              if ($treeinfo->{$id}->{'type'} eq 'page') {
                 $icon = '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />';                  $icon = '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />';
             }              }
               my $symb_name = $$symbp{$id};
               my ($front, $tail) = split (/___${resid}___/, $symb_name);
               $symb_name = $tail;
             $r->print(&Apache::loncommon::start_data_table_row()              $r->print(&Apache::loncommon::start_data_table_row()
                      .'<td>'.$indent.$icon                       .'<td>'.$indent.$icon
                      .'<label>&nbsp;'                       .'<label>&nbsp;'
                      .'<input type ="radio" name="pschp" value="'.$mapid.'"'                       .'<input type ="radio" name="pschp" value="'.$allmaps_inverted{$symb_name}.'"'
             );              );
             if ($pschp eq $mapid) {              if ($pschp eq $allmaps_inverted{$symb_name}) {
                 $r->print(' checked="checked"');                  $r->print(' checked="checked"');
             }              }
             $r->print('/>'              $r->print('/>'
                      .$$maptitles{$mapid}                       .$treeinfo->{$id}->{name}
                      .($$allmaps{$mapid}!~/^uploaded/?' ['.$$allmaps{$mapid}.']':'')                       .($$allmaps{$mapid}!~/^uploaded/?' ['.$$allmaps{$mapid}.']':'')
                      .'</label>'                       .'</label>'
                      .'</td>'                       .'</td>'
Line 1970  sub assessparms { Line 2012  sub assessparms {
     } else {      } else {
  $udom=$r->dir_config('lonDefDomain');   $udom=$r->dir_config('lonDefDomain');
     }      }
       
   
     my @pscat=&Apache::loncommon::get_env_multiple('form.pscat');      my @pscat=&Apache::loncommon::get_env_multiple('form.pscat');
     my $pschp=$env{'form.pschp'};      my $pschp=$env{'form.pschp'};
Line 2151  ENDPARMSELSCRIPT Line 2194  ENDPARMSELSCRIPT
         $r->print('<div id="parmsel">');          $r->print('<div id="parmsel">');
     }      }
   
     # Display parameter selection boxes      # Display Unit 1 "General Parameters"
     if (!$pssymb) {      if (!$pssymb) {
         $r->print(&Apache::lonhtmlcommon::topic_bar (1,&mt('General Parameters')));          $r->print(&Apache::lonhtmlcommon::topic_bar (1,&mt('General Parameters')));
         $r->print(&Apache::lonhtmlcommon::start_pick_box());          $r->print(&Apache::lonhtmlcommon::start_pick_box());
Line 2160  ENDPARMSELSCRIPT Line 2203  ENDPARMSELSCRIPT
   
  if ($parmlev ne 'general') {   if ($parmlev ne 'general') {
             $r->print(&Apache::lonhtmlcommon::row_closure());              $r->print(&Apache::lonhtmlcommon::row_closure());
     &mapmenu($r,\%allmaps,$pschp,\%maptitles);      &mapmenu($r,\%allmaps,$pschp,\%maptitles, \%symbp);
  }   }
   
         $r->print(&Apache::lonhtmlcommon::row_closure(1));          $r->print(&Apache::lonhtmlcommon::row_closure(1));
         $r->print(&Apache::lonhtmlcommon::end_pick_box());          $r->print(&Apache::lonhtmlcommon::end_pick_box());
              #Display Unit 2 "Select Parameter"   
  &displaymenu($r,\%allparms,\%allparts,\@pscat,\@psprt,\%keyorder);   &displaymenu($r,\%allparms,\%allparts,\@pscat,\@psprt,\%keyorder);
     } else {      } else {
         my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb);          my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb);

Removed from v.1.467  
changed lines
  Added in v.1.468


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