# HG changeset patch # User Dominic Cleal # Date 1232894792 0 # Node ID 257e748cd08ec55c1f35888151b2d5cd95c7329e # Parent 50d8619bce3241b00e3c951eda5894af8aca92ed# Parent ccd5e74fa58e7609ee58e5cf3af2f374b1773ef0 Merging -df diff -r 50d8619bce32 -r 257e748cd08e reproctool.cgi --- a/reproctool.cgi Sun Jan 25 14:11:12 2009 +0000 +++ b/reproctool.cgi Sun Jan 25 14:46:32 2009 +0000 @@ -5,6 +5,7 @@ use CGI; use DBI; +use XML::DOM; # Settings my $img_http_path = '/itemimgs'; @@ -24,6 +25,58 @@ exit; } +# Generate the first page, where eve-central mineral prices are prefilled. +# TODO: depending on the traffic, cache these eve-central prices. +my $str_items; +if (! ($str_items = $cgi->param('items')) ) +{ + my $min; + my $eveCentralURL = 'http://eve-central.com/api/evemon'; + my $xmlParser = XML::DOM::Parser->new(); + my $xmlDoc = $xmlParser->parsefile($eveCentralURL); + + # What evenutally will be printed. + my $inputPage = < + + +
+ + + +END + # Lists the name of the minerals. + foreach $min ($xmlDoc->getElementsByTagName('mineral')) + { + $inputPage .= sprintf( " \n", + $min->getElementsByTagName('name')->item(0)->getFirstChild->getNodeValue ); + } + +$inputPage .= < + +END + foreach $min ($xmlDoc->getElementsByTagName('mineral')) + { + $inputPage .= sprintf( " \n", + $min->getElementsByTagName('name')->item(0)->getFirstChild->getNodeValue, + $min->getElementsByTagName('price')->item(0)->getFirstChild->getNodeValue ); + } + + $inputPage .= < +
%s
+ +
+ + + +END + + print $inputPage; + exit 0; +} + # Inputs my $str_items = $cgi->param('items') or user_error('Items missing'); my $cols = $cgi->param('cols') || 4;