#!/usr/bin/perl -w -I/usr/local/positive/Perl -I.

use strict;
use Pos::Webtop::webtopFormBuilder;
use CGI qw/:standard/;

my $cgi = CGI->new;
my $wtfb = webtopFormBuilder->new();

my $conf   = new Config::General("/usr/local/positive/conf/PosPerl.conf");
my %config = $conf->getall;

my $WSconf   = new Config::General("/usr/local/positive/conf/WebService.conf");
my %WSconfig = $WSconf->getall;

my $allowedUrl = 0;
my $raddr= $ENV{'REMOTE_ADDR'};

my $request = $cgi->param('q');
$request = "" unless( defined( $request ) && length( $request ) );

my $data = $cgi->param('d');
$data = "" unless( defined( $data ) && length( $data ) );

#
# Make certain origin is valid
#
my $valid = 0;
my $referrer = $ENV{'HTTP_REFERER'};
my( @referrerArr ) = split( "/", $referrer );

#for( my $i=0; $i<scalar( @referrerArr ); $i++ ) {
#	if( $referrerArr[$i] =~ m/^def/ )  {
#		my( @fileArr ) = split( "\\?", $referrerArr[$i] );
#	
#		my $md5 = Digest::MD5->new();
#        	$md5->add( $fileArr[$0] . "\n" );
#       		my $digest = $md5->hexdigest();
#
#		if( $digest eq $config{'webtopReferrer'} ) {
#			$valid = 1;
#			last;
#		}
#	}
#}

warn "$config{'webtopRelease'}:$raddr:core.pl:Bad referrer\n" unless( $valid );
#
#
#

sub exitNow
{
	my $q = $config{'webtopTimedout'};
	my $s = $config{'webtopLanding'};

	my $msg = "$config{'webtopRelease'}:$raddr:exitNow():No session\n";
	my $url = "loginwt.pl?q=$q&s=$s";

	print "Content-Type: text/html\nCache-Control: no-cache\n\n
 
		<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
               	<head>
               	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
		<meta http-equiv=refresh content=\'0; url=${url}\' />
               	</head>
               	</html>
        ";
	
	exit 1;
}

my $rv = $wtfb->init( request=>$request, data=>$data );
if( index( $rv, "ERR" ) == 0 ) { 
	warn "ERROR:$config{'webtopRelease'}:$raddr:information():$rv\n";
}

print "Content-Type: text/html\n\n";
print "$rv";
