Diff for /rat/lonratparms.pm between versions 1.21 and 1.27

version 1.21, 2004/04/24 00:41:51 version 1.27, 2009/04/04 21:46:02
Line 32  use strict; Line 32  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 46  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;
Line 55  sub handler { Line 56  sub handler {
       
 # ---------------------------------------------------------- Current Parameters  # ---------------------------------------------------------- Current Parameters
   
   foreach (split(/\:/,$ENV{'form.parms'})) {    foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {
         if ($_=~/^parameter\_/) {
            $content{$_}=&Apache::lonnet::metadata($uri,$_);
            $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');
            $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display');
         }
     }
   
     foreach (split(/\:/,$env{'form.parms'})) {
       my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_);        my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_);
       unless ($pname) { next; }        unless ($pname) { next; }
       unless ($type{$pname}) { $type{$pname}=$ptype; }        unless ($type{$pname}) { $type{$pname}=$ptype; }
Line 64  sub handler { Line 73  sub handler {
       $type{$pname}=$ptype;        $type{$pname}=$ptype;
       $display{$pname}=&mt('Custom Parameter');        $display{$pname}=&mt('Custom Parameter');
   }     } 
   
   foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) {  
       if ($_=~/^parameter\_/) {  
          $content{$_}=&Apache::lonnet::metadata($uri,$_);  
          $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');  
          $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display');  
       }  
   }  
       
 # --------------------------------------------------- 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() {      function pclose() {
         parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",          parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",
Line 104  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>  ';
 $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.21  
changed lines
  Added in v.1.27


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.