Diff for /loncom/interface/lonparmset.pm between versions 1.62 and 1.65

version 1.62, 2002/08/17 20:04:18 version 1.65, 2002/08/28 19:48:57
Line 249  sub startpage { Line 249  sub startpage {
     my ($r,$id,$udom,$csec,$uname)=@_;      my ($r,$id,$udom,$csec,$uname)=@_;
     $r->content_type('text/html');      $r->content_type('text/html');
     $r->send_http_header;      $r->send_http_header;
    
       my $bodytag=&Apache::loncommon::bodytag('Set Course Parameters','',
                                               'onUnload="pclose()"');
     $r->print(<<ENDHEAD);      $r->print(<<ENDHEAD);
 <html>  <html>
 <head>  <head>
Line 303  sub startpage { Line 306  sub startpage {
     }      }
 </script>  </script>
 </head>  </head>
 <body bgcolor="#FFFFFF" onUnload="pclose()">  $bodytag
 <h1>Set Course Parameters for Course:  
 $ENV{'course.'.$ENV{'request.course.id'}.'.description'}</h1>  
 <form method="post" action="/adm/parmset" name="envform">  <form method="post" action="/adm/parmset" name="envform">
 <h3>Course Environment</h3>  <h3>Course Environment</h3>
 <input type="submit" name="crsenv" value="Set Course Environment">  <input type="submit" name="crsenv" value="Set Course Environment">
Line 437  sub get_env_multiple { Line 438  sub get_env_multiple {
     return(@values);      return(@values);
 }  }
   
   =pod
   
   =item B<extractResourceInformation>: Given the course data hash, extractResourceInformation extracts lots of information about the course's resources into a variety of hashes.
   
   Input: See list below:
   
   =over 4
   
   =item B<ids>: An array that will contain all of the ids in the course.
   
   =item B<typep>: hash, id->type, where "type" contains the extension of the file, thus, I<problem exam quiz assess survey form>.
   
   =item B<keyp>: hash, id->key list, will contain a comma seperated list of the meta-data keys available for the given id
   
   =item B<allparms>: hash, name of parameter->display value (what is the display value?)
   
   =item B<allparts>: hash, part identification->text representation of part, where the text representation is "[Part $part]"
   
   =item B<allkeys>: hash, full key to part->display value (what's display value?)
   
   =item B<allmaps>: hash, ???
   
   =item B<fcat>: ???
   
   =item B<defp>: hash, ???
   
   =item B<mapp>: ??
   
   =item B<symbp>: hash, id->full sym?
   
   =back
   
   =cut
   
   sub extractResourceInformation {
       my $bighash = shift;
       my $ids = shift;
       my $typep = shift;
       my $keyp = shift;
       my $allparms = shift;
       my $allparts = shift;
       my $allkeys = shift;
       my $allmaps = shift;
       my $fcat = shift;
       my $defp = shift;
       my $mapp = shift;
       my $symbp = shift;
   
       foreach (keys %$bighash) {
    if ($_=~/^src\_(\d+)\.(\d+)$/) {
       my $mapid=$1;
       my $resid=$2;
       my $id=$mapid.'.'.$resid;
       my $srcf=$$bighash{$_};
       if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {
    $$ids[$#$ids+1]=$id;
    $$typep{$id}=$1;
    $$keyp{$id}='';
    foreach (split(/\,/,&Apache::lonnet::metadata($srcf,'allpossiblekeys'))) {
     if ($_=~/^parameter\_(.*)/) {
                       my $key=$_;
                       my $allkey=$1;
                       $allkey=~s/\_/\./g;
                       my $display= &Apache::lonnet::metadata($srcf,$key.'.display');
                       my $name=&Apache::lonnet::metadata($srcf,$key.'.name');
                       my $part= &Apache::lonnet::metadata($srcf,$key.'.part');
                       my $parmdis = $display;
                       $parmdis =~ s|(\[Part.*$)||g;
                       my $partkey = $part;
                       $partkey =~ tr|_|.|;
                       $$allparms{$name} = $parmdis;
                       $$allparts{$part} = "[Part $part]";
                       $$allkeys{$allkey}=$display;
                       if ($allkey eq $fcat) {
           $$defp{$id}= &Apache::lonnet::metadata($srcf,$key);
       }
       if ($$keyp{$id}) {
           $$keyp{$id}.=','.$key;
       } else {
           $$keyp{$id}=$key;
       }
     }
    }
    $$mapp{$id}=
       &Apache::lonnet::declutter($$bighash{'map_id_'.$mapid});
                   $$mapp{$mapid}=$$mapp{$id};
    $$allmaps{$mapid}=$$mapp{$id};
    $$symbp{$id}=$$mapp{$id}.
    '___'.$resid.'___'.
       &Apache::lonnet::declutter($srcf);
                   $$symbp{$mapid}=$$mapp{$id}.'___(all)';
       }
    }
       }
   }
   
 ##################################################  ##################################################
 ##################################################  ##################################################
   
Line 451  Inputs: $r Line 548  Inputs: $r
   
 Returns: nothing  Returns: nothing
   
   Variables used (guessed by Jeremy):
   
   =over 4
   
   =item B<pscat>: ParameterS CATegories? ends up a list of the types of parameters that exist, e.g., tol, weight, acc, opendate, duedate, answerdate, sig, maxtries, type.
   
   =item B<psprt>: ParameterS PaRTs? a list of the parts of a problem that we are displaying? Used to display only selected parts?
   
   =item B<allmaps>:
   
   =back
   
 =cut  =cut
   
 ##################################################  ##################################################
Line 580  sub assessparms { Line 689  sub assessparms {
  $r->print("Unable to access parameter data. (File $ENV{'request.course.fn'}_parms.db not tieable)");   $r->print("Unable to access parameter data. (File $ENV{'request.course.fn'}_parms.db not tieable)");
  return ;   return ;
     }      }
   
 # --------------------------------------------------------- Get all assessments  # --------------------------------------------------------- Get all assessments
     foreach (keys %bighash) {      extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp);
  if ($_=~/^src\_(\d+)\.(\d+)$/) {  
     my $mapid=$1;  
     my $resid=$2;  
     my $id=$mapid.'.'.$resid;  
     my $srcf=$bighash{$_};  
     if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {  
  $ids[$#ids+1]=$id;  
  $typep{$id}=$1;  
  $keyp{$id}='';  
  foreach (split(/\,/,&Apache::lonnet::metadata($srcf,'keys'))) {  
   if ($_=~/^parameter\_(.*)/) {  
                     my $key=$_;  
                     my $allkey=$1;  
                     $allkey=~s/\_/\./g;  
                     my $display= &Apache::lonnet::metadata($srcf,$key.'.display');  
                     my $name=&Apache::lonnet::metadata($srcf,$key.'.name');  
                     my $part= &Apache::lonnet::metadata($srcf,$key.'.part');  
                     my $parmdis = $display;  
                     $parmdis =~ s|(\[Part.*$)||g;  
                     my $partkey = $part;  
                     $partkey =~ tr|_|.|;  
                     $allparms{$name} = $parmdis;  
                     $allparts{$part} = "[Part $part]";  
                     $allkeys{$allkey}=$display;  
                     if ($allkey eq $fcat) {  
         $defp{$id}= &Apache::lonnet::metadata($srcf,$key);  
     }  
     if ($keyp{$id}) {  
         $keyp{$id}.=','.$key;  
     } else {  
         $keyp{$id}=$key;  
     }  
   }  
  }  
  $mapp{$id}=  
     &Apache::lonnet::declutter($bighash{'map_id_'.$mapid});  
                 $mapp{$mapid}=$mapp{$id};  
  $allmaps{$mapid}=$mapp{$id};  
  $symbp{$id}=$mapp{$id}.  
  '___'.$resid.'___'.  
     &Apache::lonnet::declutter($srcf);  
                 $symbp{$mapid}=$mapp{$id}.'___(all)';  
     }  
  }  
     }  
     $mapp{'0.0'} = '';      $mapp{'0.0'} = '';
     $symbp{'0.0'} = '';      $symbp{'0.0'} = '';
 # ---------------------------------------------------------- Anything to store?  # ---------------------------------------------------------- Anything to store?
Line 725  sub assessparms { Line 791  sub assessparms {
     if ($pscat[0] eq "all" || !@pscat) {@pscat = (keys %allparms);}      if ($pscat[0] eq "all" || !@pscat) {@pscat = (keys %allparms);}
     if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);}      if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);}
 # ------------------------------------------------------------------ Start page  # ------------------------------------------------------------------ Start page
   
     &startpage($r,$id,$udom,$csec,$uname);      &startpage($r,$id,$udom,$csec,$uname);
 #    if ($ENV{'form.url'}) {  #    if ($ENV{'form.url'}) {
 # $r->print('<input type="hidden" value="'.$ENV{'form.url'}.  # $r->print('<input type="hidden" value="'.$ENV{'form.url'}.
Line 1221  Returns: nothing Line 1288  Returns: nothing
 sub crsenv {  sub crsenv {
     my $r=shift;      my $r=shift;
     my $setoutput='';      my $setoutput='';
       my $bodytag=&Apache::loncommon::bodytag(
                                'Set Course Environment Parameters');
     my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};      my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
     my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};      my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
 # -------------------------------------------------- Go through list of changes  # -------------------------------------------------- Go through list of changes
Line 1362  sub crsenv { Line 1431  sub crsenv {
 <head>  <head>
 <title>LON-CAPA Course Environment</title>  <title>LON-CAPA Course Environment</title>
 </head>  </head>
 <body bgcolor="#FFFFFF">  $bodytag
 <h1>Set Course Parameters</h1>  
 <form method="post" action="/adm/parmset" name="envform">  <form method="post" action="/adm/parmset" name="envform">
 <h2>Course: $ENV{'course.'.$ENV{'request.course.id'}.'.description'}</h2>  
 <h3>Course Environment</h3>  
 $setoutput  $setoutput
 <p>  <p>
 <table border=2>  <table border=2>

Removed from v.1.62  
changed lines
  Added in v.1.65


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