<?php 
// cldate.php
// SVG Network Clock
// Called by svg_clock.php
// Thanks to The PHP Anthology Volume II: Applications
if (isset($_GET['meter_reading'])) {
   echo "&#x1F305;xxxxxxx &#x1F307;";
   exit;
} else if (isset($_GET['latis']) && isset($_GET['longis'])) {
echo "<html><head>
<style>
/* Thanks to https://www.google.com/search?q=meter+element+change+colour+of+meter&rlz=1C5OZZY_en&oq=meter+element+change+colour+of+meter&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRigATIHCAIQIRifBTIHCAMQIRifBTIHCAQQIRifBTIHCAUQIRifBdIBCTMxMTEwajBqNKgCALACAA&sourceid=chrome&ie=UTF-8  */
/* Styles the filled portion in Webkit browsers */
meter::-webkit-meter-optimum-value {
  background: purple; /* Custom green color */
}

/* Styles the filled portion in Firefox */
meter::-moz-meter-bar {
  background: purple; /* Custom green color */
}

/* To style the unfilled bar in Webkit browsers (the background) */
meter.daytime::-webkit-meter-bar {
    background: lightgray;
}

/* Styles the filled portion in Webkit browsers */
meter.daytime::-webkit-meter-optimum-value {
  background: orange; /* Custom green color */
}

/* Styles the filled portion in Firefox */
meter.daytime::-moz-meter-bar {
  background: orange; /* Custom green color */
}

/* To style the unfilled bar in Webkit browsers (the background) */
meter.daytime::-webkit-meter-bar {
    background: lightgray;
}
</style>
<script type='text/javascript'>
var lastlatif=-999, lastlongif=-999;

function preprogbar() {
  return progbar('&latd=" . $_GET['latis'] . "&longd=" . $_GET['longis'] . "');
}

function progbar(ioissrc) {
  var mnths=['January','February','March','April','May','June','July','August','September','October','November','December'];
  var lowwords=['class','','class'];
  var highwords=['daytime','','nighttime'];
  var sris='';
  var onis='';
  var ssis='';
  var ioff=0;
//  if (iois != null) {
    //alert(1);
//    var aconto = (iois.contentWindow || iois.contentDocument);
    //alert(11);
//    if (aconto != null) {
    //alert(111);
//     if (aconto.document) { aconto = aconto.document; }
    //alert(document.body.innerHTML);
//     if (aconto.body != null) {
    //alert(ioissrc);
       if (ioissrc.indexOf('&longd=') != -1) { 
        sris=document.body.innerHTML.split('unrise: ')[1].split('<')[0];
    //alert(sris + ' ... ' + ioissrc);
        ssis=document.body.innerHTML.split('unset: ')[1].split('<')[0];
        onis=document.body.innerHTML.split('on: ')[1].split('<')[0];
       }
       if (ioissrc.indexOf('?x=first&') != -1) { 
          if (2 == 5 && document.body.innerHTML.indexOf('unrise: ') != -1) {
            alert('sunrise at ' + document.body.innerHTML.split('unrise: ')[1].split('<br>')[0] + ' and sunset at ' + document.body.innerHTML.split('unset: ')[1].split('<br>')[0]);
          }
       } else if ((ioissrc.indexOf('latd=' + lastlatif) == -1 || ioissrc.indexOf('longd=' + lastlongif) == -1) && sris != '') { //www.rjmprogramming.com.au/PHP/SunAngle/sun_information.php?x=first&noxwrite=now&mv=y&latd=27.9861&xd=27.9861&xd=27.9861&xd=27.9861&xd=27.9861&xd=27.9861&xd=27.9861&xd=27.9861&longd=86.923&xd=86.923&xd=86.923&xd=86.923&xd=86.923&xd=86.923&xd=86.923&xd=86.9230
         lastlatif=eval('' + decodeURIComponent((ioissrc + '&').split('latd=')[1].split('&')[0]));
         lastlongif=eval('' + decodeURIComponent((ioissrc + '&').split('longd=')[1].split('&')[0]));
  //alert(0);
         var dgct=new Date();
         var gct=eval('' + dgct.getTime());
         gct+=eval(60000 * eval('' + dgct.getTimezoneOffset()));
         var igct=eval(60 * 60) * eval(('' + new Date(gct)).split(':')[0].split(' ')[eval(-1 + ('' + new Date(gct)).split(':')[0].split(' ').length)]);
         igct+=eval(60) * eval(('' + new Date(gct)).split(':')[1]);
         igct+=eval(1) * eval(('' + new Date(gct)).split(':')[2].split(' ')[0]);
         //gct+=eval(60000 * eval('' + parent.document.getElementById('addthis').value));
         //var pcbtis=parent.document.getElementById('divalert').innerHTML;
         //alert(iois.src + ' ' + eval('' + onis.split('-')[0]) + ',' +  eval('' + mnths.indexOf(onis.split('-')[1])) + ',' +  eval('' + onis.split('-')[2]));
         var gss=new Date(Date.UTC(eval('' + onis.split('-')[0]), eval('' + mnths.indexOf(onis.split('-')[1])), eval('' + onis.split('-')[2]), eval('' + ssis.split(':')[0].replace(/^0/g,'')), eval('' + ssis.split(':')[1].replace(/^0/g,'')), eval('' + ssis.split(':')[2].split(' ')[0].replace(/^0/g,''))));
         var gsr=new Date(Date.UTC(eval('' + onis.split('-')[0]), eval('' + mnths.indexOf(onis.split('-')[1])), eval('' + onis.split('-')[2]), eval('' + sris.split(':')[0].replace(/^0/g,'')), eval('' + sris.split(':')[1].replace(/^0/g,'')), eval('' + sris.split(':')[2].split(' ')[0].replace(/^0/g,''))));
         var igsr=eval(60 * 60) * eval('' + sris.split(':')[0].replace(/^0/g,''));
         var igss=eval(60 * 60) * eval('' + ssis.split(':')[0].replace(/^0/g,''));
         if (igss < igsr) { igss+=eval(24 * 60 * 60);  }
         igsr+=eval(60) * eval('' + sris.split(':')[1].replace(/^0/g,''));
         igsr+=eval(1) * eval('' + sris.split(':')[2].split(' ')[0].replace(/^0/g,''));
         igss+=eval(60) * eval('' + ssis.split(':')[1].replace(/^0/g,''));
         igss+=eval(1) * eval('' + ssis.split(':')[2].split(' ')[0].replace(/^0/g,''));
         if (igct < igss && igct < igsr) {
         //alert('add');
         igct+=eval(24 * 60 * 60);
         if (igct > igss && igct > igsr) {
        // alert('Minus');
         igss+=eval(24 * 60 * 60);
         ioff=2;
         }
         } else if (igct > igss && igct > igsr) {
      //   alert('minus');
         igct-=eval(24 * 60 * 60);
         if (igct < igss && igct < igsr) {
    //     alert('Add');
         igsr-=eval(24 * 60 * 60);
         ioff=2;
         }
         }
         //var gss=new Date(eval('' + onis.split('-')[0]), eval('' + mnths.indexOf(onis.split('-')[1])), eval('' + onis.split('-')[2]), eval('' + ssis.split(':')[0].replace(/^0/g,'')), eval('' + ssis.split(':')[1].replace(/^0/g,'')), eval('' + ssis.split(':')[2].split(' ')[0].replace(/^0/g,'')));
         //gss+=eval(60000 * eval('' + dgct.getTimezoneOffset()));
         //gss.setTime(gss.getTime() + eval(60000 * eval('' + dgct.getTimezoneOffset())));
         //var gsr=new Date(eval('' + onis.split('-')[0]), eval('' + mnths.indexOf(onis.split('-')[1])), eval('' + onis.split('-')[2]), eval('' + sris.split(':')[0].replace(/^0/g,'')), eval('' + sris.split(':')[1].replace(/^0/g,'')), eval('' + sris.split(':')[2].split(' ')[0].replace(/^0/g,'')));
         //gsr+=eval(60000 * eval('' + dgct.getTimezoneOffset()));
         //gsr.setTime(gsr.getTime() + eval(60000 * eval('' + dgct.getTimezoneOffset())));
         //alert('' + igct + ' : ' + ('' + new Date(gct)) + ' ... ' + dgct.getTimezoneOffset() + ' now is ' + gct + ' and sunset=' + gss.getTime() + ' and sunrise=' + gsr.getTime() + ' sr=' + (gct >= eval('' + gsr.getTime()) && gct <= eval('' + gss.getTime()) ? gsr.getTime() : eval(1000 * 60 * 60 * 24) + eval('' + gsr.getTime())));
         // now is 1768106112659 and sunset=1768122672000 and sunrise=1768157674000
         if (eval('' + gsr.getTime()) > eval('' + gss.getTime())) {
         //document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F307;&nbsp;<meter id=myprogress value=' + gct + ' min=' + gsr.getTime() + ' max=' + gss.getTime() + '></meter>&nbsp;&#x1F305;&nbsp;';
 //alert('1');
         //document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F307;&nbsp;<meter id=myprogress value=' + igct + ' min=' + igsr + ' max=' + igss + '></meter>&nbsp;&#x1F305;&nbsp;';
         document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F30' + eval(5 + ioff) + ';&nbsp;<meter id=myprogress value=' + igct + ' min=' + igsr + ' max=' + igss + ' ' + lowwords[ioff] + '=' + highwords[ioff] + '></meter>&nbsp;&#x1F30' + eval(7 - ioff) + ';&nbsp;';
         document.getElementById('xprogbar').style.display='block';
         } else if (eval('' + igct) > eval('' + igss)) { 
 //alert('11');
         //document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F307;&nbsp;<meter id=myprogress value=' + igct + ' min=' + igss + ' max=' + igsr + '></meter>&nbsp;&#x1F305;&nbsp;'; 
         document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F305;&nbsp;<meter id=myprogress value=' + igct + ' min=' + igss + ' max=' + igsr + ' ' + lowwords[ioff] + '=' + highwords[ioff] + '></meter>&nbsp;&#x1F307;&nbsp;'; 
         document.getElementById('xprogbar').style.display='block';
         } else if (eval('' + igct) > eval('' + igsr)) { 
         //document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F307;&nbsp;<meter id=myprogress value=' + igct + ' min=' + igsr + ' max=' + igss + '></meter>&nbsp;&#x1F305;&nbsp;'; 
         document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F30' + eval(5 + ioff) + ';&nbsp;<meter id=myprogress value=' + igct + ' min=' + igsr + ' max=' + igss + ' ' + lowwords[ioff] + '=' + highwords[ioff] + '></meter>&nbsp;&#x1F30' + eval(7 - ioff) + ';&nbsp;'; 
         document.getElementById('xprogbar').style.display='block';
 //alert('111');
         } else if (eval('' + gct) > eval('' + gss.getTime())) { 
 //alert('1111');
         document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F307;&nbsp;<meter id=myprogress value=' + gct + ' min=' + 
         (gct > eval('' + gss.getTime()) ? gss.getTime() : 
         (gct >= eval('' + gsr.getTime()) && gct <= eval('' + gss.getTime()) ? gsr.getTime() : eval(eval(1000 * 60 * 60 * 24) + eval('' + gsr.getTime())))) + 
         ' max=' + 
         (gct > eval('' + gss.getTime()) ? eval(eval(1000 * 60 * 60 * 24)) + eval('' + gsr.getTime()) : 
         (gct >= eval('' + gsr.getTime()) && gct <= eval('' + gss.getTime()) ? gss.getTime() : eval(eval(1000 * 60 * 60 * 24) + eval('' + gss.getTime())))) + '></meter>&nbsp;&#x1F305;&nbsp;';
         document.getElementById('xprogbar').style.display='block';
         } else {
  //alert('11111');
        document.getElementById('xprogbar').innerHTML='&nbsp;&#x1F305;&nbsp;<meter id=myprogress value=' + gct + ' min=' + 
         (gct > eval('' + gss.getTime()) ? gss.getTime() : 
         (gct >= eval('' + gsr.getTime()) && gct <= eval('' + gss.getTime()) ? gsr.getTime() : eval(eval(1000 * 60 * 60 * 24) + eval('' + gsr.getTime())))) + 
         ' max=' + 
         (gct > eval('' + gss.getTime()) ? eval(eval(1000 * 60 * 60 * 24)) + eval('' + gsr.getTime()) : 
         (gct >= eval('' + gsr.getTime()) && gct <= eval('' + gss.getTime()) ? gss.getTime() : eval(eval(1000 * 60 * 60 * 24) + eval('' + gss.getTime())))) + '></meter>&nbsp;&#x1F307;&nbsp;';
         document.getElementById('xprogbar').style.display='block';
         }
       }
//     }
//    }
//  }
}
</script>
</head>
<body id=xprogbar style=display:none; onload=preprogbar();>" . explode('</body>', explode('<body>', file_get_contents('http://www.rjmprogramming.com.au/PHP/SunAngle/sun_information.php?noxwrite=now&mv=y&latd=' . $_GET['latis'] . '&longd=' . $_GET['longis']))[1])[0] . "</body></html>";
   exit;
}
$emflag="";
$midbit="";
$pdt="";
if (isset($_GET['emflag'])) {
  $emflag=" " . explode(' ',str_replace('+',' ',urldecode($_GET['emflag'])))[0];
}
if (isset($_GET['timezone'])) {
  if (str_replace("GMT","",str_replace("+"," ",urldecode($_GET['timezone']))) == "") {
    date_default_timezone_set("UTC");
  } else if (strpos(str_replace("+"," ",urldecode($_GET['timezone'])), "localtime") === false) {
    //$midbit="<a xlink:href=\"http://www.timezoneconverter.com/cgi-bin/zoneinfo?tz=" . urlencode(str_replace("+","_",urldecode($_GET['timezone']))) . "\" target=\"_blank\">" . "http://www.timezoneconverter.com/cgi-bin/zoneinfo?tz=" . urlencode(str_replace("+","_",urldecode($_GET['timezone']))) . "</a>";
    $midbit="http://www.timezoneconverter.com/cgi-bin/zoneinfo?tz=" . urlencode(str_replace("+","_",urldecode($_GET['timezone'])));
    date_default_timezone_set(str_replace("+"," ",urldecode($_GET['timezone'])));
  }
} else {
  date_default_timezone_set("UTC");
}
$thedate=date('l H:i:s d M Y e I~') . $emflag;
if (strpos($thedate, " 1~") !== false) {
  $thedate=str_replace(" 1~", " ", $thedate);
} else if (strpos($thedate, " 0~") !== false) {
  $midbit="";
  $thedate=str_replace(" 0~", " ", $thedate);
}
$csuff='';
if (isset($_GET['both'])) {
$csuff='</text>' . $midbit . '<circle id="cclock" cx="200" cy="200" r="150" fill="navy"/><text>';
} else if (isset($_GET['analogue'])) {
$csuff='</text>' . $midbit . '<circle id="cclock" cx="200" cy="200" r="150" fill="navy"/><text>';
}
if (strpos(('' . $_SERVER['QUERY_STRING']), "localtime") !== false) {
if (strpos(('' . $_SERVER['QUERY_STRING']), "firstcall") !== false) {
if (strpos(('' . $_SERVER['QUERY_STRING']), "nowis=") !== false) {
   if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg')) {
     $fsvg=file_get_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg');
     if (strpos($fsvg, '</text>') !== false) {
       $curts=explode('>', explode('</text>', $fsvg)[0])[-1 + sizeof(explode('>', explode('</text>', $fsvg)[0]))];
       if (strpos($fsvg, '>' . $curts . '</text>')) {
         $pdt=" parent.document.title+=' you started at " . str_replace('+',' ',urldecode($_GET['nowis'])) . " local time';  parent.document.getElementById('myh1').innerHTML+='<font size=1> ... you started at " . str_replace('+',' ',urldecode($_GET['nowis'])) . " local time</font>'; ";
         file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg', str_replace('>' . $curts . '</text>', '>' . str_replace('+',' ',urldecode($_GET['nowis'])) . '</text>', $fsvg));
       }
     }
   }
} else {
   $localtime = localtime();
   if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg')) {
     $fsvg=file_get_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg');
     if (strpos($fsvg, '</text>') !== false) {
       $curts=explode('>', explode('</text>', $fsvg)[0])[-1 + sizeof(explode('>', explode('</text>', $fsvg)[0]))];
       if (strpos($fsvg, '>' . $curts . '</text>')) {
         $pdt=" parent.document.title+=' you started at " . substr(('0' . $localtime[2]),-2,2) . ':' . substr(('0' . $localtime[1]),-2,2) . " local time'; parent.document.getElementById('myh1').innerHTML+='<font size=1> ... you started at " . str_replace('+',' ',urldecode($_GET['nowis'])) . " local time</font>'; ";
         file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'favicon.svg', str_replace('>' . $curts . '</text>', '>' . substr(('0' . $localtime[2]),-2,2) . ':' . substr(('0' . $localtime[1]),-2,2) . '</text>', $fsvg));
       }
     }
   }
}
}
echo "<html><head><script type='text/javascript'> var iwois=null;  </script></head><body><div id=mydiv></div><script type='text/javascript'>
var asuff='" . $midbit . $csuff . "';
var adate = new Date();
var dow=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var his=eval('' + adate.getHours());
var mis=eval('' + adate.getMinutes());
var sis=eval('' + adate.getSeconds());
var ssuff='';
if (('' + adate).indexOf(' GMT') != -1) { ssuff=' GMT' + ('' + adate).split(' GMT')[1]; }
if (1 == 1) {
document.getElementById('mydiv').innerHTML=dow[eval('' + adate.getDay())] + ' ' + ('0' + his).slice(-2) + ':' + ('0' + mis).slice(-2) + ':' + ('0' + sis).split('.')[0].slice(-2) + ' ' + ('0' + adate.getDate()).slice(-2) + ' ' + ('0' + eval(1 + eval('' + adate.getMonth()))).slice(-2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + ('' + adate.getFullYear()) + ' ' + ssuff + asuff;
} else {
document.write(dow[eval('' + adate.getDay())] + ' ' + ('0' + his).slice(-2) + ':' + ('0' + mis).slice(-2) + ':' + ('0' + sis).split('.')[0].slice(-2) + ' ' + ('0' + adate.getDate()).slice(-2) + ' ' + ('0' + eval(1 + eval('' + adate.getMonth()))).slice(-2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + ('' + adate.getFullYear()) + ' ' + ssuff + asuff);
}
var myl=parent.document.getElementById('mylink').href;
if (myl.indexOf('JUNK') != -1) { 
  parent.document.getElementById('mylink').href='/favicon.svg?rand=" . rand(0, 4534567) . "'; " . $pdt . " if (parent.document.URL.indexOf('.htXml?') != -1 && ('' + parent.location.hash).replace('#','') == '') { setTimeout(function(){ parent.location.href=parent.document.URL.replace('.html','.htm') + '&x=' + Math.floor(Math.random() * 1956453456) + '#top'; }, 100); }   
} else if (1 == 8) {
  setTimeout(function(){ top.location.reload(); }, 500); 
}
</script></body></html>";
} else {
if (isset($_GET['both'])) {
echo $thedate . $midbit . '</text>' . $midbit . '<circle id="cclock" cx="200" cy="200" r="150" fill="navy"/><text>';
} else if (isset($_GET['analogue'])) {
echo $thedate . $midbit . '</text>' . $midbit . '<circle id="cclock" cx="200" cy="200" r="150" fill="navy"/><text>';
} else {
echo $thedate . $midbit;
}
}
?>
