Annotation of rat/lonratparms.pm, revision 1.8
1.1 www 1: # The LearningOnline Network with CAPA
2: # Set parameters inside of the RAT
3: #
1.8 ! www 4: # $Id: gplheader.pl,v 1.1 2001/11/29 18:19:27 www Exp $
! 5: #
! 6: # Copyright Michigan State University Board of Trustees
! 7: #
! 8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
! 9: #
! 10: # LON-CAPA is free software; you can redistribute it and/or modify
! 11: # it under the terms of the GNU General Public License as published by
! 12: # the Free Software Foundation; either version 2 of the License, or
! 13: # (at your option) any later version.
! 14: #
! 15: # LON-CAPA is distributed in the hope that it will be useful,
! 16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 18: # GNU General Public License for more details.
! 19: #
! 20: # You should have received a copy of the GNU General Public License
! 21: # along with LON-CAPA; if not, write to the Free Software
! 22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! 23: #
! 24: # /home/httpd/html/adm/gpl.txt
! 25: #
! 26: # http://www.lon-capa.org/
! 27: #
1.1 www 28: # (Search Catalog
29: #
30: # (Internal Server Error Handler
31: #
32: # (Login Screen
33: # 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,
34: # 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer)
35: #
36: # 3/1/1 Gerd Kortemeyer)
37: #
38: # 3/1 Gerd Kortemeyer)
39: #
1.7 www 40: # 03/03/01,06/15,06/25,06/26,06/30,07/02,07/03,07/04 Gerd Kortemeyer
1.1 www 41: #
42: package Apache::lonratparms;
43:
44: use strict;
45: use Apache::Constants qw(:common);
46:
47: sub handler {
48: my $r = shift;
49: $r->content_type('text/html');
50: $r->send_http_header;
51: return OK if $r->header_only;
52:
1.2 www 53: # Get query string for limited number of parameters
54:
55: map {
56: my ($name, $value) = split(/=/,$_);
57: $value =~ tr/+/ /;
58: $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
59: if (($name eq 'url') || ($name eq 'parms') ||
60: ($name eq 'resid')) {
61: unless ($ENV{'form.'.$name}) {
62: $ENV{'form.'.$name}=$value;
63: }
64: }
65: } (split(/&/,$ENV{'QUERY_STRING'}));
66:
67:
68: # ------------------------------------------------------------------- Read file
69:
70: my $uri=$ENV{'form.url'}.'.meta';
1.3 www 71:
72: my %content;
73: my %type;
1.5 www 74: my %display;
1.3 www 75: my %value;
76:
1.2 www 77: map {
1.4 www 78: if ($_=~/^parameter\_/) {
79: $content{$_}=&Apache::lonnet::metadata($uri,$_);
1.5 www 80: $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');
81: $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display');
1.4 www 82: }
1.2 www 83: } split(/\,/,&Apache::lonnet::metadata($uri,'keys'));
84:
1.3 www 85: # ---------------------------------------------------------- Current Parameters
1.2 www 86:
1.3 www 87: map {
88: my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_);
1.5 www 89: unless ($type{$pname}) { $type{$pname}=$ptype; }
1.3 www 90: $value{$pname}=$pvalue;
1.5 www 91: } split(/\:/,$ENV{'form.parms'});
1.3 www 92:
93: # --------------------------------------------------- Print input screen header
94: $r->print(<<ENDHEADER);
1.1 www 95: <html>
96: <head>
97: <title>The LearningOnline Network with CAPA</title>
1.3 www 98: <script language="JavaScript">
1.7 www 99:
100: function pclose() {
101: parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",
102: "height=350,width=350,scrollbars=no,menubar=no");
103: parmwin.close();
104: }
105:
106: function pjump(type,dis,value,marker,ret,call) {
107: parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)
108: +"&value="+escape(value)+"&marker="+escape(marker)
109: +"&return="+escape(ret)
110: +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",
111: "height=350,width=350,scrollbars=no,menubar=no");
112:
113: }
114:
115: function stpr() {
116: eval("document.parameters."+document.parameters.pres_marker.value+
117: ".value=document.parameters.pres_value.value");
118: pclose();
119: }
120:
121:
1.3 www 122: function setparms() {
123: ENDHEADER
1.6 www 124: $r->print('var colon=""; opener.objparms['.$ENV{'form.resid'}.']="";');
1.3 www 125: map {
126: $r->print("\nif (document.parameters.def_".$_.
1.5 www 127: '.checked) { opener.objparms['.$ENV{'form.resid'}.
1.6 www 128: ']+=colon+"'.$type{$_}.
129: '___'.$_.'___"+document.parameters.'.$_.'.value; colon=":"; }');
1.3 www 130: } keys %content;
131: $r->print(<<ENDDOCUMENT);
1.6 www 132: opener.save();
1.3 www 133: window.close();
134: }
135: </script>
1.1 www 136: </head>
137: <body bgcolor="#FFFFFF">
1.2 www 138: <h1>Set Resource Parameters in Map</h1>
1.4 www 139: <form action="javascript:setparms();" method="post" name="parameters">
1.7 www 140: <input type="hidden" value='' name="pres_value">
141: <input type="hidden" value='' name="pres_type">
142: <input type="hidden" value='' name="pres_marker">
1.4 www 143: <table border=2>
144: <tr><th>Parameter</th><th>Default</th><th>Value</th><th>Set?</th></tr>
1.1 www 145: ENDDOCUMENT
1.2 www 146: map {
1.5 www 147: my $cur=$content{$_};
148: if (defined($value{$_})) { $cur=$value{$_}; };
149: $r->print('<tr><td><b>'.$display{$_}.'</b><br><tt>'.$_.
150: '</tt></td><td> '.$content{$_}.
1.7 www 151: '</td><td><input type="text" size="10" name="'.$_.'" value="'.$cur.
152: '"> <a href='."'".'javascript:pjump("'.
153: $type{$_}.'","'.
154: $display{$_}.'",document.parameters.'.$_.
155: '.value,"'.$_.'","parameters.pres","stpr");'."'>Enter</a>".
156: '</td><td><input type="checkbox" name="def_'.$_.
157: '"');
1.6 www 158: if ($value{$_}) { $r->print(' checked'); }
159: $r->print('></td></tr>');
1.2 www 160: } keys %content;
1.3 www 161: $r->print(
162: '</table><br><input type="submit" value="Set"></form></body></html>');
1.1 www 163: return OK;
164: }
165:
166: 1;
167: __END__
1.7 www 168:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>