X-Git-Url: https://git.treefish.org/wirbrennen/flipacoin.git/blobdiff_plain/3b3d3fe4ea7feca2525038b4f44cb1f0b6b7b37c..ecf67a02ed091b109a8b08f00fc70555b666ea9e:/flipacoin.cgi?ds=sidebyside diff --git a/flipacoin.cgi b/flipacoin.cgi index 95bf6c1..cba07b1 100755 --- a/flipacoin.cgi +++ b/flipacoin.cgi @@ -15,10 +15,28 @@ my $flippedcoinsindb=0; my $template; +sub setprotocolparam { + { + no warnings 'uninitialized'; + if( length $ENV{HTTPS} ) { + $template->param(PROTOCOL => "https"); + } + else { + $template->param(PROTOCOL => "http"); + } + } +} + sub printpage { $template->param(COINLIFETIME => $COINLIFETIME); $template->param(FLIPPEDCOINSINDB => $flippedcoinsindb); $template->param(COINSINDB => $coinsindb); + + my $rootloc = $ENV{SCRIPT_FILENAME}; + $rootloc =~ s/$ENV{DOCUMENT_ROOT}//g; + $rootloc =~ s/\/[^\/]*$//g; + $template->param( ROOTURL => $ENV{HTTP_HOST} . $rootloc ); + print "Content-type: text/html\n\n", $template->output; } @@ -85,7 +103,7 @@ elsif ( length($requestedcoinid) == 0 && $requestedaction eq "create" ) { $template = HTML::Template->new(filename => 'created.html'); $template->param(NEWCOINID => $newcoinid); - $template->param(HTTP_HOST => $ENV{HTTP_HOST}); + setprotocolparam(); } elsif ( length($requestedcoinid) > 0 ) { if ( ! exists $coins_db{$requestedcoinid} ) { @@ -98,22 +116,23 @@ elsif ( length($requestedcoinid) > 0 ) { $template = HTML::Template->new(filename => 'usecoin.html'); $template->param(REQUESTEDCOINID => $requestedcoinid); - $template->param(HTTP_HOST => $ENV{HTTP_HOST}); $template->param(COINCREATIONTIME => localtime($coininfo[0]).""); + setprotocolparam(); if ( $coininfosize == 1 && $requestedaction eq "" ) { - $template->param(NOTYETFLIPPED => 1); + $template->param(STATUS_NOTYETFLIPPED => 1); } elsif ( $coininfosize == 1 && $requestedaction eq "flip" ) { $result = int(rand(2)); $coins_db{$requestedcoinid} = $coins_db{$requestedcoinid} . "," . time . "," . $result; - $template->param(COINSTATUS => "Just flipped"); + $template->param(STATUS_JUSTFLIPPED => 1); $template->param(COINRESULT => translateresult($result)); } elsif ( $coininfosize == 3 ) { - $template->param(COINSTATUS => "Flipped @ " . localtime($coininfo[1])); + $template->param(STATUS_FLIPPED => 1); + $template->param(COINFLIPPEDTIME => localtime($coininfo[1]).""); $template->param(COINRESULT => translateresult($coininfo[2])); } }