]> git.treefish.org Git - wirbrennen/flipacoin.git/blobdiff - flipacoin.cgi
Creating correct rooturl.
[wirbrennen/flipacoin.git] / flipacoin.cgi
index 15ac6a46ea8c7c667aef4fcfb8cd4fa79a605401..cba07b1e87a45d519c25b15dd67d56691cc990ca 100755 (executable)
@@ -15,11 +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);
-    $template->param(HTTP_HOST => $ENV{HTTP_HOST});
+    
+    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;
 }
 
@@ -86,6 +103,7 @@ elsif ( length($requestedcoinid) == 0 && $requestedaction eq "create" ) {
 
     $template = HTML::Template->new(filename => 'created.html');
     $template->param(NEWCOINID => $newcoinid);
+    setprotocolparam();
 }
 elsif ( length($requestedcoinid) > 0 ) {
     if ( ! exists $coins_db{$requestedcoinid} ) {
@@ -99,6 +117,7 @@ elsif ( length($requestedcoinid) > 0 ) {
 
     $template->param(REQUESTEDCOINID => $requestedcoinid);
     $template->param(COINCREATIONTIME => localtime($coininfo[0])."");
+    setprotocolparam();
 
     if ( $coininfosize == 1 && $requestedaction eq "" ) {
        $template->param(STATUS_NOTYETFLIPPED => 1);