Diff for /rat/lonratparms.pm between versions 1.19 and 1.29

version 1.19, 2003/10/23 21:01:54 version 1.29, 2011/12/08 22:11:48
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # (Search Catalog  
 #  
 # (Internal Server Error Handler  
 #  
 # (Login Screen  
 # 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,  
 # 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer)  
 #  
 # 3/1/1 Gerd Kortemeyer)  
 #  
 # 3/1 Gerd Kortemeyer)  
 #  
 # 03/03/01,06/15,06/25,06/26,06/30,07/02,07/03,07/04 Gerd Kortemeyer  
 # 03/11/02 Matthew Hall  
 #  
 package Apache::lonratparms;  package Apache::lonratparms;
   
 use strict;  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::lonlocal;  use Apache::lonlocal;
   use Apache::lonnet;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 60  sub handler { Line 47  sub handler {
   
 # ------------------------------------------------------------------- Read file  # ------------------------------------------------------------------- Read file
   
   my $uri=$ENV{'form.url'}.'.meta';    my $uri=$env{'form.url'}.'.meta';
       
   my %content;    my %content;
   my %type;    my %type;
   my %display;    my %display;
   my %value;    my %value;
       
   # ---------------------------------------------------------- Current Parameters
   
   foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {    foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {
       if ($_=~/^parameter\_/) {        if ($_=~/^parameter\_/) {
          $content{$_}=&Apache::lonnet::metadata($uri,$_);           $content{$_}=&Apache::lonnet::metadata($uri,$_);
Line 75  sub handler { Line 64  sub handler {
       }        }
   }    }
   
 # -------------------------------------- Additional parms for certain resources    foreach (split(/\:/,$env{'form.parms'})) {
   
     if ($uri=~/\.(sequence|page)\.meta$/) {  
         $content{'parameter_randompick'}='';  
         $type{'parameter_randompick'}='int_pos';  
  $display{'parameter_randompick'}='Randomly pick number of resources';  
           
         $content{'parameter_randompickseed'}='';  
         $type{'parameter_randompickseed'}='int_pos';  
  $display{'parameter_randompickseed'}=  
  'Random seed for randomly picking number of resources (optional, only set if you know what you are doing)';  
     } else {  
         $content{'parameter_mapalias'}='';  
         $type{'parameter_mapalias'}='string';  
  $display{'parameter_mapalias'}='Resource alias name for conditions';  
     }  
 # ---------------------------------------------------------- Current Parameters  
   
   foreach (split(/\:/,$ENV{'form.parms'})) {  
       my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_);        my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_);
         unless ($pname) { next; }
       unless ($type{$pname}) { $type{$pname}=$ptype; }        unless ($type{$pname}) { $type{$pname}=$ptype; }
       $value{$pname}=$pvalue;        $value{$pname}=$pvalue;
         $content{$pname}=$pvalue;
         $type{$pname}=$ptype;
         $display{$pname}=&mt('Custom Parameter');
   }     } 
       
 # --------------------------------------------------- Print input screen header  # --------------------------------------------------- Print input screen header
     my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();      my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
     my $bodytag=&Apache::loncommon::bodytag('Set Resource Parameters in Map');  
     my %lt=&Apache::lonlocal::texthash('pa' => 'Parameter',      my %lt=&Apache::lonlocal::texthash('pa' => 'Parameter',
                'de' => 'Default',                 'de' => 'Default',
        'va' => 'Value',         'va' => 'Value',
        'se' => 'Set');         'se' => 'Set?');
        my $js = (<<ENDHEADER);
     $r->print(<<ENDHEADER);  <script type="text/javascript">
 <html>  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 <script language="JavaScript">  
   
     function pclose() {  
         parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",  
                  "height=350,width=350,scrollbars=no,menubar=no");  
         parmwin.close();  
     }  
   
     $pjump_def      $pjump_def
   
     function stpr() {      function stpr() {
         eval("document.parameters."+document.parameters.pres_marker.value+          eval("document.parameters."+document.parameters.pres_marker.value+
             ".value=document.parameters.pres_value.value");              ".value=document.parameters.pres_value.value");
         pclose();          modalWindow.close();
     }      }
   
   
 function setparms() {  function setparms() {
 ENDHEADER  ENDHEADER
     $r->print('var colon=""; opener.objparms['.$ENV{'form.resid'}.']="";');      $js .= 'var colon=""; opener.objparms['.$env{'form.resid'}.']="";';
     map {      foreach my $key (keys(%content)) {
        $r->print("\nif (document.parameters.def_".$_.   $js .= "\nif (document.parameters.def_".$key.
        '.checked) { opener.objparms['.$ENV{'form.resid'}.         '.checked) { opener.objparms['.$env{'form.resid'}.
        ']+=colon+"'.$type{$_}.         ']+=colon+"'.$type{$key}.
        '___'.$_.'___"+document.parameters.'.$_.'.value; colon=":"; }');          '___'.$key.'___"+document.parameters.'.$key.'.value; colon=":"; }'; 
     } keys %content;      }
     $r->print(<<ENDDOCUMENT);      $js .= '
     opener.save();      opener.save();
     window.close();      window.close();
 }  }
 </script>  </script>
 </head>  ';
 $bodytag      my $start_page =
    &Apache::loncommon::start_page('Set Resource Parameters in Map',$js);
   
       $r->print(<<ENDDOCUMENT);
   $start_page
 <form action="javascript:setparms();" method="post" name="parameters">  <form action="javascript:setparms();" method="post" name="parameters">
 <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" />
 <table border=2>  <table border="2">
 <tr><th>$lt{'pa'}</th><th>$lt{'de'}</th><th>$lt{'va'}</th><th>$lt{'se'}?</th></tr>  <tr><th>$lt{'pa'}</th><th>$lt{'de'}</th><th>$lt{'va'}</th><th>$lt{'se'}</th></tr>
 ENDDOCUMENT  ENDDOCUMENT
   
 ###    %display=&Apache::lonlocal::texthash(%display);  ###    %display=&Apache::lonlocal::texthash(%display);
     my $enter=&mt('Enter');      my $enter=&mt('Enter');
     foreach (sort(keys(%content))) {      foreach my $key (sort(keys(%content))) {
         my $cur=$content{$_};          my $cur=$content{$key};
         # Should if(defined($value{$_})) be if(exists($value{$_})) ?          # Should if(defined($value{$key})) be if(exists($value{$key})) ?
         if (defined($value{$_})) { $cur=$value{$_}; };          if (defined($value{$key})) { $cur=$value{$key}; };
         $r->print(<<"END");          $r->print(<<"END");
 <tr><td><b>$display{$_}</b><br><tt>$_</tt></td>  <tr><td><b>$display{$key}</b><br /><tt>$key</tt></td>
 <td>&nbsp;$content{$_}</td>  <td>&nbsp;$content{$key}</td>
 <td><input type="text" size="10" name="$_" value="$cur">&nbsp;  <td><input type="text" size="10" name="$key" value="$cur" />&nbsp;
 <a href='javascript:pjump("$type{$_}","$display{$_}",document.parameters.$_.value,"$_","parameters.pres","stpr");'>$enter</a></td>  <a href='javascript:pjump("$type{$key}","$display{$key}",document.parameters.$key.value,"$key","parameters.pres","stpr");'>$enter</a></td>
 <td><input type="checkbox" name="def_$_"   <td><input type="checkbox" name="def_$key" 
 END  END
         if ($value{$_}) { $r->print(' checked'); }          if ($value{$key}) { $r->print(' checked="checked"'); }
         $r->print('></td></tr>');          $r->print(' /></td></tr>');
     }      }
     $r->print(      $r->print('</table><br />
         '</table><br><input type="submit" value="'.&mt('Set').'"></form></body></html>');                 <input type="submit" value="'.&mt('Set').'" /></form>'.
         &Apache::loncommon::end_page());
     return OK;      return OK;
 }   } 
   
 1;  1;
 __END__  __END__
   
   
   
   =head1 NAME
   
   Apache::lonratparams
   
   =head1 SYNOPSIS
   
   Handler to set resource parameters inside of
   the RAT based on metadata.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 HANDLER SUBROUTINE
   
   handler()
   
   =head1 OTHER SUBROUTINES
   
   =over
   
   =item *
   
   none
   
   =back
   
   =cut
   

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


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.