#!/usr/bin/perl

use DateTime;
use DateTime::TimeZone;
use DBI;
use DBD::mysql;

local ($buffer, @pairs, $pair, $name, $value, %FORM);
# Read in text
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;

if ($ENV{'REQUEST_METHOD'} eq "GET") {
   $buffer = $ENV{'QUERY_STRING'};
}

# Split information into name/value pairs
@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
   ($name, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~ s/%(..)/pack("C", hex($1))/eg;
   $FORM{$name} = $value;
}

$first_name = $FORM{first_name};
$last_name  = $FORM{last_name};
$blogp  = $FORM{blogp};
$oneletter = substr( $first_name, 0, 1 );

$dt = DateTime->now;    # same as ( epoch => time )

$dttz = DateTime::TimeZone->new( name => 'local' )->name();

$dt->set_time_zone( $dttz );
 
$year  = $dt->year;
$month = $dt->month;        # 1-12
 
$day = $dt->day;            # 1-31
 
$dow = $dt->day_of_week;    # 1-7 (Monday is 1)
 
$hour   = $dt->hour;        # 0-23
$minute = $dt->minute;      # 0-59
 
$second = $dt->second;      # 0-61 (leap seconds!)
 
$doy = $dt->day_of_year;    # 1-366 (leap years)
 
$doq = $dt->day_of_quarter; # 1..
 
$qtr = $dt->quarter;        # 1-4

$dmy = $dt->dmy('/');    # 06/12/2002
 
$hms = $dt->hms;         # 14:02:29

$tt = "";
$cont = "";

print "Content-type:text/html\r\n\r\n";
print "<html>";
print "<head>";
print "<title>Hello - Second CGI Program</title>";
print "<script type=text/javascript>";
print " var ls='', ns='', qwr=''; ";
print " function zeroize(iinsf) { var insf=iinsf; var sep='/', i=0; while (insf.substring(i).substring(0,1) >= '0' && insf.substring(i).substring(0,1) <= '9') { i++; } sep=insf.substring(i).substring(0,1); ";
print "   var arr=insf.split(sep); ";
print "   if (eval('' + arr.length) >= 3) { ";
print "    if (eval('' + arr[1].length) == 1) { insf=insf.replace(sep + arr[1] + sep, sep + '0' + arr[1] + sep);  } ";
print "    if (eval('' + arr[0].length) == 1) { insf='0' + insf;  } ";
print "    arr=insf.split(' ')[1].split(':'); ";
print "    if (eval('' + arr.length) >= 3) { ";
print "      if (insf.indexOf(' pm') != -1) { insf=insf.replace(' ' + arr[0].trim() + ':', ' ' + eval(12 + eval('' + arr[0].trim())) + ':').replace(' pm', ' ');  arr=insf.split(' ')[1].split(':');   } ";
print "      if (eval(-1 + eval('' + arr[1])) == eval('' + document.getElementById('mystime').innerHTML.split(':')[1])) {  insf=insf.replace(':' + arr[1] + ':', ':' + document.getElementById('mystime').innerHTML.split(':')[1] + ':');  arr[1]='zz';   } "; 
print "      if (eval('' + arr[1].length) == 1) { insf=insf.replace(':' + arr[1] + ':', ':0' + arr[1] + ':');  } ";
print "      if (eval('' + arr[0].trim().length) == 1) { insf=insf.replace(arr[0].trim() + ':', '0' + arr[0].trim() + ':');  } ";
print "    } ";
print "   } ";
print "   return insf; ";
print " } ";
print " function loctime() { if (ls == '') { ";
print "   qwr='' + Intl.DateTimeFormat().resolvedOptions().timeZone; ";
print "   var d = new Date(); ";
print "   d.toLocaleString('en-US', { timeZone: qwr }); ";
print "   ns=document.getElementById('mystime').innerHTML.split(':')[2].split(' ')[0]; ";
print "   ls=zeroize(('' + d.toLocaleString()).replace(',','')) + ' <a onclick=alert(qwr); style=cursor:pointer;text-decoration:underline;>GMT' + d.toString().split(' GMT')[1] + '</a>'; } if (!document.getElementById('mytime')) { setTimeout(loctime,1000); } else { ";
print "   document.getElementById('mytime').innerHTML=ls.replace(':' + ls.split(':')[2].split(' ')[0] + ' ', ':' + ns + ' '); } ";
print " } ";
print "</script>";
print "</head>";
print "<body onload=setTimeout(loctime,1000);>";

if ($blogp == "") { $blogp = $first_name; } else { $oneletter = substr( $blogp, 0, 1 ); }

if (ord($oneletter) >= ord("0") && ord($oneletter) <= ord("9")){
 # /*** mysql hostname ***/
 $hostname = 'dbhost';

 # /*** mysql username ***/
 $username = 'username';

 # /*** mysql ***/
 $password = 'password';

 $dbname = 'dbname';

 $tname = 'table_name';
 $hostname = "DBI:mysql:$dbname:$hostname";

 $dbh = DBI->connect($hostname, $username, $password);

 $sth = $dbh->prepare("SELECT post_title, post_content FROM $tname WHERE ID=?");
 
 $sth->execute( $blogp );
 
 #while ( @row = $sth->fetchrow_array ) {
 while (($tt, $cont) = $sth->fetchrow_array()) {
  print "<details id=myd><summary id=mys><h1><a target=_blank href='//www.rjmprogramming.com.au/ITblog/?p=$blogp'>$tt</a></h1></summary>$cont</details>\n";
  # print "@row\n";
 }
 # }
}

print "</h4><br><br><iframe id=myif src='/hello_get.html' style='width:100%; height:1500px;'></iframe></body>";
print "</html>";

1;
