Diff for /loncom/interface/lonparmset.pm between versions 1.25 and 1.29

version 1.25, 2001/03/21 01:45:01 version 1.29, 2001/05/10 01:06:06
Line 11 Line 11
 #  #
 # 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28,  # 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28,
 # 12/08,12/12,  # 12/08,12/12,
 # 16/01/01,02/08,03/20 Gerd Kortemeyer  # 16/01/01,02/08,03/20,03/23,03/24,03/26,05/09 Gerd Kortemeyer
   
 package Apache::lonparmset;  package Apache::lonparmset;
   
Line 36  my %keyp; Line 36  my %keyp;
 my %defp;  my %defp;
   
 my %allkeys;  my %allkeys;
   my %allmaps;
   
 my $uname;  my $uname;
 my $udom;  my $udom;
Line 183  sub handler { Line 184  sub handler {
       $udom=$ENV{'form.udom'};        $udom=$ENV{'form.udom'};
       unless ($udom) { $udom=$r->dir_config('lonDefDomain'); }        unless ($udom) { $udom=$r->dir_config('lonDefDomain'); }
   
         my $pscat=$ENV{'form.pscat'};
         my $pschp=$ENV{'form.pschp'};
         my $pssymb='';
   
   # ----------------------------------------------- Was this started from grades?
   
         if (($ENV{'form.command'} eq 'set') && ($ENV{'form.url'})
             && (!$ENV{'form.dis'})) {
     my $url=$ENV{'form.url'};
             $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
             $pssymb=&Apache::lonnet::symbread($url);
             $pscat='all';
             $pschp='';
         } else {
             $ENV{'form.url'}='';
         }
    
       my $id=$ENV{'form.id'};        my $id=$ENV{'form.id'};
       if (($id) && ($udom)) {        if (($id) && ($udom)) {
           $uname=(&Apache::lonnet::idget($udom,$id))[1];            $uname=(&Apache::lonnet::idget($udom,$id))[1];
Line 235  sub handler { Line 253  sub handler {
            $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) {             $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) {
   
 # --------------------------------------------------------- Get all assessments  # --------------------------------------------------------- Get all assessments
  %allkeys=();   undef %allkeys;
         %defp=();          undef %allmaps;
           undef %defp;
         map {          map {
     if ($_=~/^src\_(\d+)\.(\d+)$/) {      if ($_=~/^src\_(\d+)\.(\d+)$/) {
        my $mapid=$1;         my $mapid=$1;
Line 273  sub handler { Line 292  sub handler {
                       &Apache::lonnet::metadata($srcf,'keys'));                        &Apache::lonnet::metadata($srcf,'keys'));
                    $mapp{$id}=                     $mapp{$id}=
        &Apache::lonnet::declutter($bighash{'map_id_'.$mapid});         &Apache::lonnet::declutter($bighash{'map_id_'.$mapid});
                      $allmaps{$mapid}=$mapp{$id};
                    $symbp{$id}=$mapp{$id}.                     $symbp{$id}=$mapp{$id}.
  '___'.$resid.'___'.   '___'.$resid.'___'.
     &Apache::lonnet::declutter($srcf);      &Apache::lonnet::declutter($srcf);
Line 395  sub handler { Line 415  sub handler {
            if ($fcat eq '') {             if ($fcat eq '') {
               $a<=>$b;                $a<=>$b;
            } else {             } else {
               $outpar[&parmval($fcat,$a,$defp{$a})]<=>                1*$outpar[&parmval($fcat,$a,$defp{$a})]<=>
               $outpar[&parmval($fcat,$b,$defp{$b})];                1*$outpar[&parmval($fcat,$b,$defp{$b})];
            }              } 
         } @ids;         } @ids;
   
 # ------------------------------------------------------------------ Start page  # ------------------------------------------------------------------ Start page
          $r->content_type('text/html');           $r->content_type('text/html');
          $r->send_http_header;           $r->send_http_header;
Line 430  sub handler { Line 451  sub handler {
             document.parmform.action+='#'+document.parmform.pres_marker.value;              document.parmform.action+='#'+document.parmform.pres_marker.value;
             var typedef=new Array();              var typedef=new Array();
             typedef=document.parmform.pres_type.value.split('_');              typedef=document.parmform.pres_type.value.split('_');
              if (document.parmform.pres_type.value!='') {
             if (typedef[0]=='date') {              if (typedef[0]=='date') {
                 eval('document.parmform.recent_'+                  eval('document.parmform.recent_'+
                      document.parmform.pres_type.value+                       document.parmform.pres_type.value+
Line 438  sub handler { Line 460  sub handler {
                 eval('document.parmform.recent_'+typedef[0]+                  eval('document.parmform.recent_'+typedef[0]+
      '.value=document.parmform.pres_value.value;');       '.value=document.parmform.pres_value.value;');
             }              }
      }
             document.parmform.submit();              document.parmform.submit();
         } else {          } else {
             document.parmform.pres_value.value='';              document.parmform.pres_value.value='';
Line 462  or ID Line 485  or ID
 at Domain   at Domain 
 <input type="text" value="$udom" size="6" name="udom">  <input type="text" value="$udom" size="6" name="udom">
 </b>  </b>
 <input type="submit" value="Display">  
 <input type="hidden" value='' name="pres_value">  <input type="hidden" value='' name="pres_value">
 <input type="hidden" value='' name="pres_type">  <input type="hidden" value='' name="pres_type">
 <input type="hidden" value='' name="pres_marker">  <input type="hidden" value='' name="pres_marker"> 
 ENDHEAD  ENDHEAD
       if ($ENV{'form.url'}) {
    $r->print('<input type="hidden" value="'.$ENV{'form.url'}.
         '" name="url"><input type="hidden" name="command" value="set">');
       }
     map {      map {
       $r->print('<input type="hidden" value="'.        $r->print('<input type="hidden" value="'.
           $ENV{'form.recent_'.$_}.'" name="recent_'.$_.'">');            $ENV{'form.recent_'.$_}.'" name="recent_'.$_.'">');
     } ('tolerance','date_default','date_start','date_end','date_interval',      } ('tolerance','date_default','date_start','date_end','date_interval',
        'int','float','string');         'int','float','string');
   
         $r->print('<h2>'.$message.'</h2><p>Sort list by ');          $r->print('<h2>'.$message.'</h2><table><tr><td>Sort list by</td><td>');
  $r->print('<select name="fcat" onChange="this.form.submit();">');   $r->print('<select name="fcat">');
         $r->print('<option value="">Enclosing Map</option>');          $r->print('<option value="">Enclosing Map</option>');
         map {          map {
     $r->print('<option value="'.$_.'"');      $r->print('<option value="'.$_.'"');
             if ($fcat eq $_) { $r->print(' selected'); }              if ($fcat eq $_) { $r->print(' selected'); }
             $r->print('>'.$allkeys{$_}.'</option>');              $r->print('>'.$allkeys{$_}.'</option>');
         } keys %allkeys;          } keys %allkeys;
         $r->print('</select>');         $r->print(
       '</select></tr><tr><td>Select Enclosing Map</td><td><select name=pschp>');
           $r->print('<option value=all>All Maps</option>');
           map {
       $r->print('<option value="'.$_.'"');
               if (($pssymb=~/^$allmaps{$_}/) || 
                   ($pschp eq $_)) { $r->print(' selected'); }
               $r->print('>'.$allmaps{$_}.'</option>');
           } keys %allmaps;
           $r->print(
    '</select></td></tr><tr><td>Select Parameter</td><td><select name=pscat>');
           $r->print('<option value=all>All Parameters</option>');
           map {
       $r->print('<option value="'.$_.'"');
               if ($pscat eq $_) { $r->print(' selected'); }
               $r->print('>'.$allkeys{$_}.'</option>');
           } keys %allkeys;
           $r->print(
   '</select></td></tr></table><br><input name=dis type="submit" value="Display">'
                    );
         if (($pscat) || ($pschp) || ($pssymb)) {
 # ----------------------------------------------------------------- Start Table  # ----------------------------------------------------------------- Start Table
    my $catmarker='parameter_'.$pscat;
           $catmarker=~s/\./\_/g;
         my $coursespan=$csec?8:5;          my $coursespan=$csec?8:5;
  $r->print(<<ENDTABLEHEAD);   $r->print(<<ENDTABLEHEAD);
 <p><table border=2>  <p><table border=2>
Line 516  ENDTABLEHEADFOUR Line 564  ENDTABLEHEADFOUR
          my $defbgone='';           my $defbgone='';
          my $defbgtwo='';           my $defbgtwo='';
   map {    map {
              my $rid=$_;
              my ($inmapid)=($rid=~/\.(\d+)$/);
              if (($pschp eq 'all') || ($allmaps{$pschp} eq $mapp{$rid}) ||
                  ($pssymb eq $mapp{$rid}.'___'.$inmapid.'___'.
                   &Apache::lonnet::declutter($bighash{'src_'.$rid}))) {
 # ------------------------------------------------------ Entry for one resource  # ------------------------------------------------------ Entry for one resource
      if ($defbgone eq '"E0E099"') {       if ($defbgone eq '"E0E099"') {
  $defbgone='"E0E0DD"';   $defbgone='"E0E0DD"';
Line 528  ENDTABLEHEADFOUR Line 581  ENDTABLEHEADFOUR
                  $defbgtwo='"FFFF99"';                   $defbgtwo='"FFFF99"';
      }       }
     @outpar=();      @outpar=();
             my $rid=$_;  
             my $thistitle='';              my $thistitle='';
             my %name=   ();              my %name=   ();
             my %part=   ();              my %part=   ();
Line 551  ENDTABLEHEADFOUR Line 603  ENDTABLEHEADFOUR
     my $totalparms=scalar keys %name;      my $totalparms=scalar keys %name;
     my $isdef=1;      my $isdef=1;
     unless ($totalparms) { $totalparms=1; $isdef=0; }      unless ($totalparms) { $totalparms=1; $isdef=0; }
       if ($pscat ne 'all') { $totalparms=1; }
             $r->print('<td bgcolor='.$defbgone.              $r->print('<td bgcolor='.$defbgone.
                 ' rowspan='.$totalparms.'><tt><font size=-1>'.                  ' rowspan='.$totalparms.'><tt><font size=-1>'.
                 join(' / ',split(/\//,$uri)).                  join(' / ',split(/\//,$uri)).
Line 567  ENDTABLEHEADFOUR Line 620  ENDTABLEHEADFOUR
       join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');        join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');
   if ($isdef) {    if ($isdef) {
             map {              map {
        if (($_ eq $catmarker) || ($pscat eq 'all')) {
        my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_});         my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_});
   
                $r->print("<td bgcolor=".$defbgtwo.                 $r->print("<td bgcolor=".$defbgtwo.
Line 625  ENDTABLEHEADFOUR Line 679  ENDTABLEHEADFOUR
              &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1',               &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1',
                     'parmform.pres','psub').'</td>');                      'parmform.pres','psub').'</td>');
                }                 }
   
                $r->print(                 $r->print(
         '<td bgcolor=#CCCCFF>'.&valout($outpar[$result],$type{$_}).'</td>');          '<td bgcolor=#CCCCFF>'.&valout($outpar[$result],$type{$_}).'</td>');
                $r->print("</tr>\n<tr>");                 $r->print("</tr>\n<tr>");
      }
    } sort keys %name;     } sort keys %name;
  } else {   } else {
     $r->print("</tr>\n<tr>");       $r->print("</tr>\n<tr>");
         }          }
 # -------------------------------------------------- End entry for one resource  # -------------------------------------------------- End entry for one resource
    }
  } @ids;   } @ids;
          $r->print('</table></form></body></html>');           $r->print('</table>');
         }
    $r->print('</form></body></html>');
          untie(%bighash);           untie(%bighash);
  untie(%parmhash);   untie(%parmhash);
       }        }

Removed from v.1.25  
changed lines
  Added in v.1.29


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