Diff for /rat/lonratparms.pm between versions 1.14 and 1.28

version 1.14, 2003/02/25 21:49:45 version 1.28, 2009/04/23 17:26:27
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::lonlocal;
   use Apache::lonnet;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     $r->content_type('text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
Line 58  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 73  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';  
     }  
     if ($uri=~/\.(problem|exam|quiz|assess|survey|form|library)\.meta$/) {  
  $content{'parameter_hiddenparts'}='';  
         $type{'parameter_hiddenparts'}='string';  
  $display{'parameter_hiddenparts'}=  
     'A comma separted list of Part Ids to not display.';  
     }  
 # ---------------------------------------------------------- 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
     $r->print(<<ENDHEADER);      my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
 <html>  
 <head>      my %lt=&Apache::lonlocal::texthash('pa' => 'Parameter',
 <title>The LearningOnline Network with CAPA</title>                 'de' => 'Default',
 <script language="JavaScript">         'va' => 'Value',
          'se' => 'Set?');
       my $js = (<<ENDHEADER);
   <script type="text/javascript">
   
     function pclose() {      function pclose() {
         parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",          parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",
Line 116  sub handler { Line 90  sub handler {
         parmwin.close();          parmwin.close();
     }      }
   
     function pjump(type,dis,value,marker,ret,call) {      $pjump_def
         parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)  
                  +"&value="+escape(value)+"&marker="+escape(marker)  
                  +"&return="+escape(ret)  
                  +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",  
                  "height=350,width=350,scrollbars=no,menubar=no");  
   
     }  
   
     function stpr() {      function stpr() {
         eval("document.parameters."+document.parameters.pres_marker.value+          eval("document.parameters."+document.parameters.pres_marker.value+
Line 134  sub handler { Line 101  sub handler {
   
 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>  ';
 <body bgcolor="#FFFFFF">      my $start_page =
 <h1>Set Resource Parameters in Map</h1>   &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>Parameter</th><th>Default</th><th>Value</th><th>Set?</th></tr>  <tr><th>$lt{'pa'}</th><th>$lt{'de'}</th><th>$lt{'va'}</th><th>$lt{'se'}</th></tr>
 ENDDOCUMENT  ENDDOCUMENT
     foreach (keys(%content)) {  
         my $cur=$content{$_};  ###    %display=&Apache::lonlocal::texthash(%display);
         # Should if(defined($value{$_})) be if(exists($value{$_})) ?      my $enter=&mt('Enter');
         if (defined($value{$_})) { $cur=$value{$_}; };      foreach my $key (sort(keys(%content))) {
           my $cur=$content{$key};
           # Should if(defined($value{$key})) be if(exists($value{$key})) ?
           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="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.14  
changed lines
  Added in v.1.28


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.