--- loncom/cgi/imagechoice.pl 2003/04/19 23:52:37 1.2 +++ loncom/cgi/imagechoice.pl 2003/05/10 22:59:04 1.4 @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# $Id: imagechoice.pl,v 1.2 2003/04/19 23:52:37 www Exp $ +# $Id: imagechoice.pl,v 1.4 2003/05/10 22:59:04 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,28 +37,33 @@ 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; - -if ((defined($data{'x'})) && (defined($data{'y'}))) { +# +# Single coordinate, defined - store it +# +if ((defined($data{'x'})) && (defined($data{'y'})) && + ($mode ne 'pairtwo') && ($mode ne 'pairthree')) { my $output=''; if ($data{'formwidth'}) { - $output.='parent.'.$data{'formname'}.'.'.$data{'formwidth'}. + $output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formwidth'}. '.value=document.pickimg.width;'; } if ($data{'formheight'}) { - $output.='parent.'.$data{'formname'}.'.'.$data{'formheight'}. + $output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formheight'}. '.value=document.pickimg.height;'; } if ($data{'formx'}) { - $output.='parent.'.$data{'formname'}.'.'.$data{'formx'}. + $output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formx'}. '.value='.$data{'x'}.';'; } if ($data{'formy'}) { - $output.='parent.'.$data{'formname'}.'.'.$data{'formy'}. + $output.='opener.document.forms.'.$data{'formname'}.'.'.$data{'formy'}. '.value='.$data{'y'}.';'; } print <<"ENDSUBM"; @@ -68,6 +73,7 @@ Content-type: text/html @@ -76,20 +82,72 @@ Content-type: text/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 + + + + +

Coordinates Selected

+ + + +ENDCOORDSUB +# +# First and second call +# } else { + my $heading='Position'; + my $nextstage=''; + if ($mode eq 'pair') { + $heading='First Coordinate'; + $nextstage=''; + } elsif ($mode eq 'pairtwo') { + $heading='Second Coordinate'; + $nextstage=< + + +ENDNEXTSTAGE + } print <<"END"; Content-type: text/html -

Select Position on Image

+

Select $heading on Image

+ +$nextstage