Diff for /loncom/interface/lonparmset.pm between versions 1.10 and 1.11

version 1.10, 2000/11/24 20:00:27 version 1.11, 2000/11/24 21:41:43
Line 43  my $fcat; Line 43  my $fcat;
 # -------------------------------------------- Figure out a cascading parameter  # -------------------------------------------- Figure out a cascading parameter
   
 sub parmval {  sub parmval {
     my ($what,$id)=@_;      my ($what,$id,$def)=@_;
     my $result='';      my $result='';
       @outpar=();
 # ----------------------------------------------------- Cascading lookup scheme  # ----------------------------------------------------- Cascading lookup scheme
   
        my $symbparm=$symbp{$id}.'.'.$what;         my $symbparm=$symbp{$id}.'.'.$what;
Line 67  sub parmval { Line 68  sub parmval {
        my $courselevelm=         my $courselevelm=
             $ENV{'request.course.id'}.'.'.$mapparm;              $ENV{'request.course.id'}.'.'.$mapparm;
   
 # ----------------------------------------------------------- first, check user  # -------------------------------------------------------- first, check default
         
       if ($uname) {   
        if ($useropt{$courselevelr}) { $outpar[1]=$useropt{$courselevelr};   
                                       $result=1; }  
        if ($useropt{$courselevelm}) { $outpar[2]=$useropt{$courselevelm};   
                                       $result=2; }  
        if ($useropt{$courselevel}) { $outpar[3]=$useropt{$courselevel};    
                                      $result=3; }  
       }  
   
 # -------------------------------------------------------- second, check course         if ($def) { $outpar[11]=$def;
                      $result=11; }
   
        if ($courseopt{$seclevelr}) { $outpar[4]=$courseopt{$seclevelr};    # ----------------------------------------------------- second, check map parms
                                      $result=4; }    
        if ($courseopt{$seclevelm}) { $outpar[5]=$courseopt{$seclevelm};           my $thisparm=$parmhash{$symbparm};
                                      $result=5; }           if ($thisparm) { $outpar[10]=$thisparm;  
        if ($courseopt{$seclevel}) { $outpar[6]=$courseopt{$seclevel};                            $result=10; }
                                     $result=6; }    
   # --------------------------------------------------------- third, check course
   
        if ($courseopt{$courselevelr}) { $outpar[7]=$courseopt{$courselevelr};   
                                         $result=7; }  
        if ($courseopt{$courselevelm}) { $outpar[8]=$courseopt{$courselevelm};   
                                         $result=8; }  
        if ($courseopt{$courselevel}) { $outpar[9]=$courseopt{$courselevel};           if ($courseopt{$courselevel}) { $outpar[9]=$courseopt{$courselevel};  
                                        $result=9; }                                         $result=9; }
   
 # ------------------------------------------------------ third, check map parms         if ($courseopt{$courselevelm}) { $outpar[8]=$courseopt{$courselevelm}; 
                                           $result=8; }
   
        my $thisparm=$parmhash{$symbparm};         if ($courseopt{$courselevelr}) { $outpar[7]=$courseopt{$courselevelr}; 
        if ($thisparm) { $outpar[10]=$thisparm;                                            $result=7; }
                         $result=10; }  
        
 # --------------------------------------------- last, look in resource metadata  
   
         my $filename='/home/httpd/res/'.$bighash{'src_'.$id}.'.meta';         if ($csec) {
         if (-e $filename) {  
             my @content;          if ($courseopt{$seclevel}) { $outpar[6]=$courseopt{$seclevel};  
             {                                      $result=6; }
              my $fh=Apache::File->new($filename);  
              @content=<$fh>;          if ($courseopt{$seclevelm}) { $outpar[5]=$courseopt{$seclevelm};  
             }                                       $result=5; }  
             if (join('',@content)=~   
                  /\<$what[^\>]*\>([^\<]*)\<\/$what\>/) {          if ($courseopt{$seclevelr}) { $outpar[4]=$courseopt{$seclevelr};  
         $outpar[11]=$1;                                        $result=4; }
                 $result=11;    
      }        }
         }  
   # ---------------------------------------------------------- fourth, check user
         
         if ($uname) { 
   
          if ($useropt{$courselevel}) { $outpar[3]=$useropt{$courselevel};  
                                        $result=3; }
   
          if ($useropt{$courselevelm}) { $outpar[2]=$useropt{$courselevelm}; 
                                         $result=2; }
   
          if ($useropt{$courselevelr}) { $outpar[1]=$useropt{$courselevelr}; 
                                         $result=1; }
   
         }
        
     return $result;      return $result;
 }  }
   
Line 295  ENDHEAD Line 298  ENDHEAD
         my $coursespan=$csec?8:5;          my $coursespan=$csec?8:5;
  $r->print(<<ENDTABLEHEAD);   $r->print(<<ENDTABLEHEAD);
 <p><table border=2>  <p><table border=2>
 <tr><td colspan=4></td>  <tr><td colspan=5></td>
 <th colspan=$coursespan>Any User</th>  <th colspan=$coursespan>Any User</th>
 ENDTABLEHEAD  ENDTABLEHEAD
     if ($uname) {      if ($uname) {
  $r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>");   $r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>");
     }      }
     $r->print(<<ENDTABLETWO);      $r->print(<<ENDTABLETWO);
 </tr><tr><td colspan=4></td>  <th rowspan=3>Parameter in Effect</th></tr><tr><td colspan=5></td>
 <th colspan=2>Resource Level</th>  <th colspan=2>Resource Level</th>
 <th colspan=3>in Course</th>  <th colspan=3>in Course</th>
 ENDTABLETWO  ENDTABLETWO
     if ($csec) {      if ($csec) {
  $r->print("<th colspan=3>in Section/Group $csec</th>");   $r->print("<th colspan=3>in Section/Group $csec</th>");
     }      }
     $r->print('</tr><tr>');  
     $r->print(<<ENDTABLEHEADFOUR);      $r->print(<<ENDTABLEHEADFOUR);
 <tr><th>Assessment URL and Title</th>  </tr><tr><th>Assessment URL and Title</th><th>Type</th>
 <th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th>  <th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th>
 <th>from Metadata</th><th>from Enclosing Map</th>  <th>default</th><th>from Enclosing Map</th>
 <th>general</th><th>for Enclosing Map</th><th>for Resource</th>  <th>general</th><th>for Enclosing Map</th><th>for Resource</th>
 ENDTABLEHEADFOUR  ENDTABLEHEADFOUR
     if ($csec) {      if ($csec) {
Line 328  ENDTABLEHEADFOUR Line 330  ENDTABLEHEADFOUR
     @outpar=();      @outpar=();
             my $rid=$_;              my $rid=$_;
             my $thistitle='';              my $thistitle='';
             my @part=(0,1,1);              my %name=   ('0_deadline' => 'deadline');
             my @name=('deadline','sig','tol');              my %part=   ('0_deadline' => '0');
     my @display=('Deadline','Significant Figures','Tolerance');      my %display=('0_deadline' => 'Deadline');
     my @type=('date','int','tolerance');      my %type=   ('0_deadline' => 'date_end');
               my %default=('0_deadline' => time);
             my %metadata=&Apache::lonmeta::unpackagemeta(              my %metadata=&Apache::lonmeta::unpackagemeta(
 &Apache::lonnet::getfile('/home/httpd/html/'.$bighash{'src_'.$rid}.'.meta'),1);  &Apache::lonnet::getfile('/home/httpd/html/'.$bighash{'src_'.$rid}.'.meta'),1);
             map {              map {
                 if ($_=~/^parameter\_(\d+)\_(\w+)$/) {                  if ($_=~/^parameter\_(\d+)\_(\w+)$/) {
     $part[$#part+1]=$1;                      my $hashid=$1.'_'.$2;
                     $name[$#name+1]=$2;      $part{$hashid}=$1;
                     ($type[$#type+1],$display[$#display+1])=                      $name{$hashid}=$2;
                       my $tdef;
                       ($tdef,$display{$hashid})=
  split(/\_\_dis\_\_/,$metadata{$_});   split(/\_\_dis\_\_/,$metadata{$_});
                     unless ($display[$#display]) {      ($type{$hashid},$default{$hashid})=split(/\:/,$tdef);
                         $display[$#display]=$name[$#name];                      unless ($display{$hashid}) {
                           $display{$hashid}=$name{$hashid};
                     }                      }
                 }                  }
                 if ($_ eq 'title') {                  if ($_ eq 'title') {
     $thistitle=$metadata{$_};      $thistitle=$metadata{$_};
                 }                  }
             } keys %metadata;              } keys %metadata;
             my $totalparms=$#name+1;      my $totalparms=scalar keys %name;
             $r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'.              $r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'.
   join(' / ',split(/\//,&Apache::lonnet::declutter($bighash{'src_'.$rid}))).    join(' / ',split(/\//,&Apache::lonnet::declutter($bighash{'src_'.$rid}))).
            '</font></tt><p><b>'.             '</font></tt><p><b>'.
Line 356  ENDTABLEHEADFOUR Line 362  ENDTABLEHEADFOUR
             if ($thistitle) {              if ($thistitle) {
  $r->print(' ('.$thistitle.')');   $r->print(' ('.$thistitle.')');
             }              }
             $r->print('</b></td><td rowspan='.$totalparms.'>');              $r->print('</b></td>');
             $r->print('<tt><font size=-1>'.              $r->print('<td rowspan='.$totalparms.'>'.$typep{$rid}.'</td>');
               $r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'.
       join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');        join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');
             my $i;              map {
             for ($i=0;$i<$totalparms;$i++) {  
                $r->print("<td>$part[$i]</td><td>$display[$i]</td>");          my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_});
                $r->print('<td>'.&valout($outpar[8],$type[$i]).'</td>');  
                $r->print('<td>'.&valout($outpar[7],$type[$i]).'</td>');                 $r->print("<td>$part{$_}</td><td>$display{$_}</td>"); 
   
                  $r->print('<td>'.&valout($outpar[11],$type{$_}).'</td>');
                  $r->print('<td>'.&valout($outpar[10],$type{$_}).'</td>');
                $r->print('<td>'.                 $r->print('<td>'.
                   &plink($type[$i],$display[$i],$outpar[6]).'</td>');                    &plink($type{$_},$display{$_},$outpar[9]).'</td>');
                  $r->print('<td>'.
                     &plink($type{$_},$display{$_},$outpar[8]).'</td>');
                  $r->print('<td>'.
                     &plink($type{$_},$display{$_},$outpar[7]).'</td>');
                if ($csec) {                 if ($csec) {
                   $r->print('<td>'.                   $r->print('<td>'.
                   &plink($type[$i],$display[$i],$outpar[5]).'</td>');                    &plink($type{$_},$display{$_},$outpar[6]).'</td>');
                    $r->print('<td>'.
                     &plink($type{$_},$display{$_},$outpar[5]).'</td>');
                    $r->print('<td>'.
                     &plink($type{$_},$display{$_},$outpar[4]).'</td>');
                }                 }
                $r->print('<td>'.  
                   &plink($type[$i],$display[$i],$outpar[4]).'</td>');  
                if ($uname) {                 if ($uname) {
                 $r->print('<td>'.                   $r->print('<td>'.
                   &plink($type[$i],$display[$i],$outpar[3]).'</td>');                    &plink($type{$_},$display{$_},$outpar[3]).'</td>');
                 if ($csec) {                   $r->print('<td>'.
                   $r->print('<td>'.                    &plink($type{$_},$display{$_},$outpar[2]).'</td>');
                   &plink($type[$i],$display[$i],$outpar[2]).'</td>');                   $r->print('<td>'.
                 }                    &plink($type{$_},$display{$_},$outpar[1]).'</td>');
                 $r->print('<td>'.  
                   &plink($type[$i],$display[$i],$outpar[1]).'</td>');  
                }                 }
                  $r->print('<td>'.&valout($outpar[$result],$type{$_}).'</td>');
                $r->print("</tr>\n<tr>");                 $r->print("</tr>\n<tr>");
    }     } sort keys %name;
 # -------------------------------------------------- End entry for one resource  # -------------------------------------------------- End entry for one resource
  } @ids;   } @ids;
          $r->print('</table></form></body></html>');           $r->print('</table></form></body></html>');
Line 404  __END__ Line 419  __END__
   
   
   
   
   
   
   

Removed from v.1.10  
changed lines
  Added in v.1.11


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