Diff for /loncom/interface/lonparmset.pm between versions 1.459 and 1.465

version 1.459, 2009/06/10 14:42:24 version 1.465, 2009/07/01 14:35:47
Line 1353  ENDSCRIPT Line 1353  ENDSCRIPT
         if (!($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat})) {          if (!($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat})) {
             $r->print(' style="display:none"');              $r->print(' style="display:none"');
         }          }
         $r->print(' />'          $r->print('>'
                  .($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey} : $tempkey)                   .($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey} : $tempkey)
                  .'</li>'                   .'</li>'
         );          );
Line 1368  ENDSCRIPT Line 1368  ENDSCRIPT
   
     $r->print(&Apache::lonhtmlcommon::row_closure(1));      $r->print(&Apache::lonhtmlcommon::row_closure(1));
 }  }
   # return a hash
   sub categories {
       return ('time_settings' => 'Time Settings',
       'grading' => 'Grading',
       'tries' => 'Tries',
       'problem_appearance' => 'Problem Appearance',
       'behaviour_of_input_fields' => 'Behaviour of Input Fields',
       'hiding' => 'Hiding',
       'high_level_randomization' => 'High Level Randomization',
       'slots' => 'Slots',
       'file_submission' => 'File Submission',
       'misc' => 'Miscellaneous' ); 
   }
   
   # return a hash. Like a look-up table
   sub lookUpTableParameter {
    
       return ( 
           'opendate' => 'time_settings',
           'duedate' => 'time_settings',
           'answerdate' => 'time_settings',
           'interval' => 'time_settings',
           'contentopen' => 'time_settings',
           'contentclose' => 'time_settings',
           'discussend' => 'time_settings',
           'weight' => 'grading',
           'handgrade' => 'grading',
           'maxtries' => 'tries',
           'hinttries' => 'tries',
           'type' => 'problem_appearance',
           'problemstatus' => 'problem_appearance',
           'display' => 'problem_appearance',
           'ordered' => 'problem_appearance',
           'numbubbles' => 'problem_appearance',
           'tol' => 'behaviour_of_input_fields',
           'sig' => 'behaviour_of_input_fields',
           'turnoffunit' => 'behaviour_of_input_fields',
           'hiddenresource' => 'hiding',
           'hiddenparts' => 'hiding',
           'discusshide' => 'hiding',
           'buttonshide' => 'hiding',
           'turnoffeditor' => 'hiding',
           'encrypturl' => 'hiding',
           'randomorder' => 'high_level_randomization',
           'randompick' => 'high_level_randomization',
           'available' => 'slots',
           'useslots' => 'slots',
           'availablestudent' => 'slots',
           'uploadedfiletypes' => 'file_submission',
           'maxfilesize' => 'file_submission',
           'cssfile' => 'misc',
           'mapalias' => 'misc',
           'acc' => 'misc',
           'maxcollaborators' => 'misc',
           'scoreformat' => 'misc',
   
       );    
   }
   
   sub whatIsMyCategory {
       my $name = shift;
       my $catList = shift;
       my @list;
       my %lookUpList = &lookUpTableParameter; #Initilize the lookupList
       my $cat = $lookUpList{$name};
       if (defined($cat)) {
           if (!defined($$catList{$cat})){
               push @list, ($name);
               $$catList{$cat} = \@list;
           } else {
               push @{${$catList}{$cat}}, ($name);     
           }
       } else {
           if (!defined($$catList{'misc'})){
               push @list, ($name);
               $$catList{'misc'} = \@list;
           } else {
               push @{${$catList}{'misc'}}, ($name);     
           }
       }        
   }
   
   sub keysindisplayorderCategory {
       my ($name,$keyorder)=@_;
       return sort {
       $$keyorder{'parameter_0_'.$a} <=> $$keyorder{'parameter_0_'.$b}; 
       } ( @{$name});
   }
   
   
 sub parmboxes {  sub parmboxes {
     my ($r,$allparms,$pscat,$keyorder)=@_;      my ($r,$allparms,$pscat,$keyorder)=@_;
     my $tempkey;      my $tempkey;
       my $tempparameter;
       my %categories = &categories;
       my %categoryList = (
           'time_settings' => [],
           'grading' => [],
           'tries' => [],
           'problem_appearance' => [],
           'behaviour_of_input_fields' => [],
           'hiding' => [],
           'high_level_randomization' => [],
           'slots' => [],
           'file_submission' => [],
           'misc' => [],
      );
   
       foreach $tempparameter (keys %$allparms) {
           &whatIsMyCategory($tempparameter, \%categoryList);
       }
     #part to print the parm-list      #part to print the parm-list
     $r->print('<fieldset id="LC_parm_overview_parm_menu" style="display:none">'      $r->print('<fieldset id="LC_parm_overview_parm_menu" style="display:none">'
              .'<legend>'.&mt('Parameter').'</legend>'               .'<legend>'.&mt('Parameter').'</legend>'
              ."\n"               ."\n"
              .'<table>'               .'<table>'
     );      );
     my $cnt=0;  
   
     $r->print('<tr>');      #Print parameters
     foreach $tempkey (&keysindisplayorder($allparms,$keyorder)) {      my ($category, $list) = undef;
  $r->print("\n".'<td><label><input type="checkbox" name="pscat" ');      while (($category, $list) = each %categoryList) {
  $r->print('value="'.$tempkey.'" ');          if(@$list == 0) {
         $r->print('onclick="checkboxChecked(\''.$tempkey.'\')"');              next;
  if ($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat}) {          } else { 
     $r->print(' checked="checked"');              $r->print('<tr>');
  }              $r->print('<td><b>' .&mt($categories{$category}).'</b></td> </tr> <tr>');
         $r->print(' />'.($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey}              foreach $tempkey (&keysindisplayorderCategory($list,$keyorder)) {
                                                   : $tempkey)              $r->print("\n".'<td><label><input type="checkbox" name="pscat" ');
                   .'</label></td>');              $r->print('value="'.$tempkey.'" ');
   $cnt++;                  $r->print('onclick="checkboxChecked(\''.$tempkey.'\')"');
         if ($cnt==4) {              if ($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat}) {
     $r->print("</tr>\n<tr>");                  $r->print(' checked="checked"');
     $cnt=0;              }
  }                  $r->print(' />'.($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey}
                                                         : $tempkey)
                           .'</label></td>');
               }
               $r->print('</tr>');
           }
     }      }
     $r->print('</tr>'      $r->print( '</table>'
              .'</table>'                 .'<hr />'
              .'<hr />'                 .'<a href="javascript:hideParms()">'
              .'<a href="javascript:hideParms()">'                 .&mt('Hide')
              .&mt('Hide')                 .'</a>'
              .'</a>'  
     );      );
   
     #&shortCuts($r,$allparms,$pscat,$keyorder);      #&shortCuts($r,$allparms,$pscat,$keyorder);
Line 1589  sub displaymenu { Line 1698  sub displaymenu {
   
 sub mapmenu {  sub mapmenu {
     my ($r,$allmaps,$pschp,$maptitles)=@_;      my ($r,$allmaps,$pschp,$maptitles)=@_;
       my $navmap = Apache::lonnavmaps::navmap->new();
       my $tree=[];
       my $treeinfo={};
       if (defined($navmap)) {
           my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);
           my $curRes;
           my $depth = 0;
   
           while ($curRes = $it->next()) {
               if ($curRes == $it->BEGIN_MAP()) {
                   $depth++;
               }
               if ($curRes == $it->END_MAP()) {
                   $depth--;
               }
               if (ref($curRes)) {
                   if (($curRes->is_sequence()) || ($curRes->is_page())) {
                       my $type = 'sequence';
                       if ($curRes->is_page()) {
                           $type = 'page';
                       }
                       my $id= $curRes->id();
                       my ($mapid,$resid)=split(/\./,$id);
                       if(!exists($treeinfo->{$mapid})) {
                           push(@$tree,$mapid);    
                           $treeinfo->{$mapid} = {
                                       depth => $depth,
                                       type  => $type,
                                       };
                       }
                   }
               }
           }
       }
   
     $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder')));      $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder')));
     $r->print('<select name="pschp">');      if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) {
     $r->print('<option value="all">'.&mt('All Maps or Folders').'</option>');          my $icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';
     foreach (sort {$$allmaps{$a} cmp $$allmaps{$b}} keys %{$allmaps}) {          $r->print(&Apache::loncommon::start_data_table()
  $r->print('<option value="'.$_.'"');                   .&Apache::loncommon::start_data_table_row()
  if (($pschp eq $_)) { $r->print(' selected="selected"'); }                   .'<td>'.$icon
  $r->print('>'.$$maptitles{$_}.($$allmaps{$_}!~/^uploaded/?' ['.$$allmaps{$_}.']':'').'</option>');                   .'<label>&nbsp;'
                    .'<input type="radio" name="pschp" checked="checked" value="all" />'
                    .&mt('All Maps or Folders')
                    .'</label></td>'
                    .&Apache::loncommon::end_data_table_row()
           );
           my $whitespace = '<img src="'
                           .&Apache::loncommon::lonhttpdurl("/adm/lonIcons/whitespace_21.gif")
                           .'" alt="" />';
           foreach my $mapid (@{$tree}) {
               # Indentation
               my $depth = $treeinfo->{$mapid}->{'depth'};
               my $indent;
               for (my $i = 0; $i < $depth; $i++) {
                   $indent.= $whitespace;
               }
               $icon =  '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />';
               if ($treeinfo->{$mapid}->{'type'} eq 'page') {
                   $icon = '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />';
               }
               $r->print(&Apache::loncommon::start_data_table_row()
                        .'<td>'.$indent.$icon
                        .'<label>&nbsp;'
                        .'<input type ="radio" name="pschp" value="'.$mapid.'"'
               );
               if ($pschp eq $mapid) {
                   $r->print(' checked="checked"');
               }
               $r->print('/>'
                        .$$maptitles{$mapid}
                        .($$allmaps{$mapid}!~/^uploaded/?' ['.$$allmaps{$mapid}.']':'')
                        .'</label>'
                        .'</td>'
                        .&Apache::loncommon::end_data_table_row()
               );
           }
           $r->print(&Apache::loncommon::end_data_table());
     }      }
     $r->print("</select>");  
   
 }  }
   
 sub levelmenu {  sub levelmenu {

Removed from v.1.459  
changed lines
  Added in v.1.465


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