# The LearningOnline Network with CAPA # Set parameters inside of the RAT # # $Id: lonratparms.pm,v 1.8 2001/11/29 19:23:49 www Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # 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 # package Apache::lonratparms; use strict; use Apache::Constants qw(:common); sub handler { my $r = shift; $r->content_type('text/html'); $r->send_http_header; return OK if $r->header_only; # Get query string for limited number of parameters map { my ($name, $value) = split(/=/,$_); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; if (($name eq 'url') || ($name eq 'parms') || ($name eq 'resid')) { unless ($ENV{'form.'.$name}) { $ENV{'form.'.$name}=$value; } } } (split(/&/,$ENV{'QUERY_STRING'})); # ------------------------------------------------------------------- Read file my $uri=$ENV{'form.url'}.'.meta'; my %content; my %type; my %display; my %value; map { if ($_=~/^parameter\_/) { $content{$_}=&Apache::lonnet::metadata($uri,$_); $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type'); $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display'); } } split(/\,/,&Apache::lonnet::metadata($uri,'keys')); # ---------------------------------------------------------- Current Parameters map { my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_); unless ($type{$pname}) { $type{$pname}=$ptype; } $value{$pname}=$pvalue; } split(/\:/,$ENV{'form.parms'}); # --------------------------------------------------- Print input screen header $r->print(< The LearningOnline Network with CAPA

Set Resource Parameters in Map

ENDDOCUMENT map { my $cur=$content{$_}; if (defined($value{$_})) { $cur=$value{$_}; }; $r->print(''); } keys %content; $r->print( '
ParameterDefaultValueSet?
'.$display{$_}.'
'.$_. '
 '.$content{$_}. ' Enter". 'print(' checked'); } $r->print('>

'); return OK; } 1; __END__