Diff for /loncom/interface/lonparmset.pm between versions 1.211 and 1.212

version 1.211, 2005/06/06 02:25:09 version 1.212, 2005/06/06 15:13:46
Line 927  sub levelmenu { Line 927  sub levelmenu {
   
 sub sectionmenu {  sub sectionmenu {
     my ($r,$selectedsections)=@_;      my ($r,$selectedsections)=@_;
       my %sectionhash=();
   
     my ($classlist,$field_names) =       if (&Apache::loncommon::get_sections(
  &Apache::loncoursedata::get_classlist(                   $env{'course.'.$env{'request.course.id'}.'.domain'},
        $env{'request.course.id'},                   $env{'course.'.$env{'request.course.id'}.'.num'},
        $env{'course.'.$env{'request.course.id'}.'.domain'},   \%sectionhash)) {
        $env{'course.'.$env{'request.course.id'}.'.num'});   $r->print('<select name="Section" multiple="true" size="8" >');
     my %Sections=();   foreach my $s ('all',sort keys %sectionhash) {
     while (my ($student,$student_data) = each (%$classlist)) {      $r->print('    <option value="'.$s.'"');
  my $studenthash = ();      foreach (@{$selectedsections}) {
         for (my $i=0; $i< scalar(@$field_names);$i++) {   if ($s eq $_) {
             my $field = $field_names->[$i];      $r->print(' selected');
             # Store the data      last;
             $studenthash->{$field}=$student_data->[$i];   }
         }      }
  my $section = $studenthash->{'section'};      $r->print('>'.$s."</option>\n");
         if (! defined($section) || $section =~/^\s*$/ || $section == -1) {   }
             $studenthash->{'section'} = 'none';   $r->print("</select>\n");
             $section = $studenthash->{'section'};  
         }  
         $Sections{$section}++;  
     }  
     my @Sections = sort {$a cmp $b} keys(%Sections);  
     unshift(@Sections,'all');  
   
     $r->print('<select name="Section" multiple="true" size="8" >');  
   
     foreach my $s (@Sections) {  
         $r->print('    <option value="'.$s.'"');  
         foreach (@{$selectedsections}) {  
             if ($s eq $_) {  
                 $r->print(' selected');  
                 last;  
             }  
         }  
         $r->print('>'.$s."</option>\n");  
     }      }
     $r->print("</select>\n");  
 }  }
   
 sub keysplit {  sub keysplit {
Line 1212  sub assessparms { Line 1194  sub assessparms {
     } else {      } else {
         my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb);          my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb);
         $r->print(&mt('Specific Resource').": ".$resource.          $r->print(&mt('Specific Resource').": ".$resource.
                   '<input type="hidden" value="'.$pssymb.'" name="symb">');                    '<input type="hidden" value="'.$pssymb.'" name="symb"><br />');
     }      }
     &usermenu($r,$uname,$id,$udom,$csec);          &usermenu($r,$uname,$id,$udom,$csec);    
   
Line 1967  sub storedata { Line 1949  sub storedata {
     }      }
     if ($cmd eq 'set') {      if ($cmd eq 'set') {
  my $data=$env{$_};   my $data=$env{$_};
  if ($$olddata{$thiskey} ne $data) {                   my $typeof=$env{'form.typeof_'.$thiskey};
     if ($$olddata{$thiskey} ne $data) { 
     if ($tuname) {      if ($tuname) {
  if (&Apache::lonnet::put('resourcedata',{$tkey=>$data},$tudom,$tuname) eq 'ok') {   if (&Apache::lonnet::put('resourcedata',{$tkey=>$data,
    $tkey.'.type' => $typeof},
    $tudom,$tuname) eq 'ok') {
     $r->print('<br />'.&mt('Stored modified parameter for').' '.      $r->print('<br />'.&mt('Stored modified parameter for').' '.
       &Apache::loncommon::plainname($tuname,$tudom));        &Apache::loncommon::plainname($tuname,$tudom));
  } else {   } else {
Line 1979  sub storedata { Line 1964  sub storedata {
  &Apache::lonnet::devalidateuserresdata($tuname,$tudom);   &Apache::lonnet::devalidateuserresdata($tuname,$tudom);
     } else {      } else {
  $newdata{$thiskey}=$data;   $newdata{$thiskey}=$data;
                     }     $newdata{$thiskey.'.type'}=$typeof; 
                      } 
  }   }
     } elsif ($cmd eq 'del') {      } elsif ($cmd eq 'del') {
  if ($tuname) {   if ($tuname) {
Line 1995  sub storedata { Line 1981  sub storedata {
  }   }
     } elsif ($cmd eq 'datepointer') {      } elsif ($cmd eq 'datepointer') {
  my $data=&Apache::lonhtmlcommon::get_date_from_form($env{$_});   my $data=&Apache::lonhtmlcommon::get_date_from_form($env{$_});
                   my $typeof=$env{'form.typeof_'.$thiskey};
  if (defined($data) and $$olddata{$thiskey} ne $data) {    if (defined($data) and $$olddata{$thiskey} ne $data) { 
     if ($tuname) {      if ($tuname) {
  if (&Apache::lonnet::put('resourcedata',{$tkey=>$data},$tudom,$tuname) eq 'ok') {   if (&Apache::lonnet::put('resourcedata',{$tkey=>$data,
    $tkey.'.type' => $typeof},
    $tudom,$tuname) eq 'ok') {
     $r->print('<br />'.&mt('Stored modified date for').' '.&Apache::loncommon::plainname($tuname,$tudom));      $r->print('<br />'.&mt('Stored modified date for').' '.&Apache::loncommon::plainname($tuname,$tudom));
  } else {   } else {
     $r->print('<h2><font color="red">'.      $r->print('<h2><font color="red">'.
Line 2005  sub storedata { Line 1994  sub storedata {
  }   }
  &Apache::lonnet::devalidateuserresdata($tuname,$tudom);   &Apache::lonnet::devalidateuserresdata($tuname,$tudom);
     } else {      } else {
  $newdata{$thiskey}=$data;    $newdata{$thiskey}=$data;
    $newdata{$thiskey.'.type'}=$typeof; 
     }      }
  }   }
     }      }
Line 2026  sub storedata { Line 2016  sub storedata {
     }      }
     if ($putentries) {      if ($putentries) {
  if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') {   if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') {
     $r->print('<h2>'.&mt('Stored [_1] parameter(s)</h2>',$putentries));      $r->print('<h3>'.&mt('Stored [_1] parameter(s)',$putentries/2).'</h3>');
  } else {   } else {
     $r->print('<h2><font color="red">'.      $r->print('<h2><font color="red">'.
       &mt('Error storing parameters').'</font></h2>');        &mt('Error storing parameters').'</font></h2>');
Line 2201  ENDOVER Line 2191  ENDOVER
     &partmenu($r,\%allparts,\@psprt);      &partmenu($r,\%allparts,\@psprt);
     $r->print('</td><td>');      $r->print('</td><td>');
     &sectionmenu($r,\@selected_sections);      &sectionmenu($r,\@selected_sections);
     $r->print('</td></tr></table>');      $r->print('</td></tr></table>'.
             '<p><input type="submit" name="dis" value="'.&mt('Display').'" /></p>');
   
 # Build the list data hash from the specified parms  # Build the list data hash from the specified parms
   
Line 2212  ENDOVER Line 2202  ENDOVER
     foreach my $cat (@pscat) {      foreach my $cat (@pscat) {
  foreach my $section (@selected_sections) {   foreach my $section (@selected_sections) {
     foreach my $part (@psprt) {      foreach my $part (@psprt) {
                 my $newparmkey=$env{'request.course.id'};                  my $rootparmkey=$env{'request.course.id'};
                 if (($section ne 'all') && ($section ne 'none') && ($section)) {                  if (($section ne 'all') && ($section ne 'none') && ($section)) {
     $newparmkey.='.['.$section.']';      $rootparmkey.='.['.$section.']';
  }   }
  if ($parmlev eq 'general') {   if ($parmlev eq 'general') {
 # course-level parameter  # course-level parameter
       my $newparmkey=$rootparmkey.'.'.$part.'.'.$cat;
       $$listdata{$newparmkey}=1;
       $$listdata{$newparmkey.'.type'}=$defkeytype{$cat};
  } elsif ($parmlev eq 'map') {   } elsif ($parmlev eq 'map') {
     foreach my $map (keys %allmaps) {  # map-level parameter
  if (($pschp ne 'all') && ($pschp ne $map)) { next; }      foreach my $mapid (keys %allmaps) {
  $newparmkey.='.'.$allmaps{$map}.'.'.$part.'.'.$cat;   if (($pschp ne 'all') && ($pschp ne $mapid)) { next; }
    my $newparmkey=$rootparmkey.'.'.$allmaps{$mapid}.'___(all).'.$part.'.'.$cat;
                         $$listdata{$newparmkey}=1;                          $$listdata{$newparmkey}=1;
                         $$listdata{$newparmkey.'.type'}=$defkeytype{$cat};                          $$listdata{$newparmkey.'.type'}=$defkeytype{$cat};
     }      }
 # map-level parameter  
  } else {   } else {
 # resource-level parameter  # resource-level parameter
       foreach my $rid (@ids) {
    my ($map,$resid,$url)=&Apache::lonnet::decode_symb($symbp{$rid});
    if (($pschp ne 'all') && ($allmaps{$pschp} ne $map)) { next; }
    my $newparmkey=$rootparmkey.'.'.$symbp{$rid}.'.'.$part.'.'.$cat;
                           $$listdata{$newparmkey}=1;
                           $$listdata{$newparmkey.'.type'}=$defkeytype{$cat};
       }
  }   }
     }      }
  }   }
     }      }
   
       if (($env{'form.store'}) || ($env{'form.dis'})) {
   
    if ($env{'form.store'}) { &storedata($r,$crs,$dom); }
     $r->print(join("\n<br />",keys %{$listdata}));  
   
     if ($env{'form.dis'}) {  
   
  &storedata($r,$crs,$dom);  
   
 # Read modified data  # Read modified data
   
Line 2251  ENDOVER Line 2246  ENDOVER
  &listdata($r,$resourcedata,$listdata);   &listdata($r,$resourcedata,$listdata);
     }      }
     $r->print(&tableend().      $r->print(&tableend().
      '<p><input type="submit" name="dis" value="'.&mt('Submit').'" /></p></form></body></html>');       ((($env{'form.store'}) || ($env{'form.dis'}))?'<p><input type="submit" name="store" value="'.&mt('Store').'" /></p>':'').
         '</form></body></html>');
 }  }
   
 sub overview {  sub overview {

Removed from v.1.211  
changed lines
  Added in v.1.212


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