File:
[LON-CAPA] /
loncom /
cgi /
imagechoice.pl
Revision
1.4:
download - view:
text,
annotated -
select for diffs
Sat May 10 22:59:04 2003 UTC (21 years, 7 months ago) by
www
Branches:
MAIN
CVS tags:
version_2_9_X,
version_2_9_99_0,
version_2_9_1,
version_2_9_0,
version_2_8_X,
version_2_8_99_1,
version_2_8_99_0,
version_2_8_2,
version_2_8_1,
version_2_8_0,
version_2_7_X,
version_2_7_99_1,
version_2_7_99_0,
version_2_7_1,
version_2_7_0,
version_2_6_X,
version_2_6_99_1,
version_2_6_99_0,
version_2_6_3,
version_2_6_2,
version_2_6_1,
version_2_6_0,
version_2_5_X,
version_2_5_99_1,
version_2_5_99_0,
version_2_5_2,
version_2_5_1,
version_2_5_0,
version_2_4_X,
version_2_4_99_0,
version_2_4_2,
version_2_4_1,
version_2_4_0,
version_2_3_X,
version_2_3_99_0,
version_2_3_2,
version_2_3_1,
version_2_3_0,
version_2_2_X,
version_2_2_99_1,
version_2_2_99_0,
version_2_2_2,
version_2_2_1,
version_2_2_0,
version_2_1_X,
version_2_1_99_3,
version_2_1_99_2,
version_2_1_99_1,
version_2_1_99_0,
version_2_1_3,
version_2_1_2,
version_2_1_1,
version_2_1_0,
version_2_12_X,
version_2_11_X,
version_2_11_5_msu,
version_2_11_5,
version_2_11_4_uiuc,
version_2_11_4_msu,
version_2_11_4,
version_2_11_3_uiuc,
version_2_11_3_msu,
version_2_11_3,
version_2_11_2_uiuc,
version_2_11_2_msu,
version_2_11_2_educog,
version_2_11_2,
version_2_11_1,
version_2_11_0_RC3,
version_2_11_0_RC2,
version_2_11_0_RC1,
version_2_11_0,
version_2_10_X,
version_2_10_1,
version_2_10_0_RC2,
version_2_10_0_RC1,
version_2_10_0,
version_2_0_X,
version_2_0_99_1,
version_2_0_2,
version_2_0_1,
version_2_0_0,
version_1_99_3,
version_1_99_2,
version_1_99_1_tmcc,
version_1_99_1,
version_1_99_0_tmcc,
version_1_99_0,
version_1_3_X,
version_1_3_3,
version_1_3_2,
version_1_3_1,
version_1_3_0,
version_1_2_X,
version_1_2_99_1,
version_1_2_99_0,
version_1_2_1,
version_1_2_0,
version_1_1_X,
version_1_1_99_5,
version_1_1_99_4,
version_1_1_99_3,
version_1_1_99_2,
version_1_1_99_1,
version_1_1_99_0,
version_1_1_3,
version_1_1_2,
version_1_1_1,
version_1_1_0,
version_1_0_99_3,
version_1_0_99_2,
version_1_0_99_1,
version_1_0_99,
version_1_0_3,
version_1_0_2,
version_1_0_1,
version_1_0_0,
version_0_99_5,
version_0_99_4,
version_0_99_3,
version_0_99_2,
version_0_99_1,
version_0_99_0,
loncapaMITrelate_1,
language_hyphenation_merge,
language_hyphenation,
conference_2003,
bz6209-base,
bz6209,
bz5969,
bz2851,
PRINT_INCOMPLETE_base,
PRINT_INCOMPLETE,
HEAD,
GCI_3,
GCI_2,
GCI_1,
BZ5971-printing-apage,
BZ5434-fox,
BZ4492-merge,
BZ4492-feature_horizontal_radioresponse,
BZ4492-feature_Support_horizontal_radioresponse,
BZ4492-Support_horizontal_radioresponse
Does coordinate pairs now.
#!/usr/bin/perl
#
# $Id: imagechoice.pl,v 1.4 2003/05/10 22:59:04 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/cgi-bin/plot.gif
#
# http://www.lon-capa.org/
#
use strict;
$|=1;
my %data;
foreach (split/&/,$ENV{'QUERY_STRING'}) {
my ($name,$value)=split/=/;
$data{$name}=$value;
}
my $filename = $data{'file'};
my $formname = $data{'formname'};
my $formx = $data{'formx'};
my $formy = $data{'formy'};
my $mode=$data{'mode'};
my $formwidth = $data{'formwidth'};
my $formheight = $data{'formheight'};
my $formcoord=$data{'formcoord'};
# unescape filename
$filename =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
#
# Single coordinate, defined - store it
#
if ((defined($data{'x'})) && (defined($data{'y'})) &&
($mode ne 'pairtwo') && ($mode ne 'pairthree')) {
my $output='';
if ($data{'formwidth'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formwidth'}.
'.value=document.pickimg.width;';
}
if ($data{'formheight'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formheight'}.
'.value=document.pickimg.height;';
}
if ($data{'formx'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formx'}.
'.value='.$data{'x'}.';';
}
if ($data{'formy'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formy'}.
'.value='.$data{'y'}.';';
}
print <<"ENDSUBM";
Content-type: text/html
<html>
<script>
function submitthis() {
$output
self.close();
}
</script>
<body bgcolor="#FFFFFF" onLoad="submitthis()">
<h3>Position Selected</h3>
<img name="pickimg" src="$filename" />
</body>
</html>
ENDSUBM
#
# Coordinate Pair, Second Coordinate
#
} elsif ($mode eq 'pairthree') {
my $output='';
my $outputpair="($data{'selx'},$data{'sely'})-($data{'x'},$data{'y'})";
if ($data{'formwidth'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formwidth'}.
'.value=document.pickimg.width;';
}
if ($data{'formheight'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formheight'}.
'.value=document.pickimg.height;';
}
if ($data{'formcoord'}) {
$output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formcoord'}.
'.value="'.$outputpair.'";';
}
print <<"ENDCOORDSUB";
Content-type: text/html
<html>
<script>
function submitthis() {
$output
self.close();
}
</script>
<body bgcolor="#FFFFFF" onLoad="submitthis()">
<h3>Coordinates Selected</h3>
<img name="pickimg" src="$filename" />
</body>
</html>
ENDCOORDSUB
#
# First and second call
#
} else {
my $heading='Position';
my $nextstage='';
if ($mode eq 'pair') {
$heading='First Coordinate';
$nextstage='<input type="hidden" name="mode" value="pairtwo" />';
} elsif ($mode eq 'pairtwo') {
$heading='Second Coordinate';
$nextstage=<<ENDNEXTSTAGE;
<input type="hidden" name="mode" value="pairthree" />
<input type="hidden" name="selx" value="$data{'x'}" />
<input type="hidden" name="sely" value="$data{'y'}" />
ENDNEXTSTAGE
}
print <<"END";
Content-type: text/html
<html>
<body bgcolor="#FFFFFF">
<h3>Select $heading on Image</h3>
<form>
<input type="hidden" name="formname" value="$formname" />
<input type="hidden" name="formx" value="$formx" />
<input type="hidden" name="formy" value="$formy" />
<input type="hidden" name="formcoord" value="$formcoord" />
<input type="hidden" name="formwidth" value="$formwidth" />
<input type="hidden" name="formheight" value="$formheight" />
<input type="hidden" name="file" value="$filename" />
$nextstage
<input type="image" src="$filename" />
</form>
</body>
</html>
END
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>