WebClock/clock.php
20xd6 e9425d87d2 Fix error adding class to copy buttons
The quotes arround the class assignment had not been properly escaped.
This was causing PHP to fail and return a blank page.
2021-11-23 08:54:28 -05:00

125 lines
6.6 KiB
PHP

<!DOCTYPE html>
<?php
/* Catches the form post to update the timezone.
* If there is no form submission it will just inishilize the
* timezone variables to be passed to the JS.
*/
if(isset($_POST['formSubmit'])){
$selectedTimezone = $_POST['userTimezone'];
if(!isset($selectedTimezone)){
//I don't have any error message set here. It will just reload the page.
} else{
$origHour = date('O');
$originalTZ = date_default_timezone_get();
date_default_timezone_set($selectedTimezone);
$scriptHour = date('O');
$scriptTZ = date_default_timezone_get();
}
if($_POST['originalTZ']){
$orig_TZ_display = True;
}
} else{
$selectedTimezone = date_default_timezone_get();
$scriptTZ = date_default_timezone_get();
}
?>
<html>
<head>
<title id='time_title'>
<?php
echo "Time is: " . date("H:i:s e");
?>
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="author" content="efrick"/>
<link href="/styles.css" type="text/css" rel="stylesheet"/>
<link href="clock.css" type="text/css" rel="stylesheet"/>
<script>var current_tz=<?php echo json_encode($scriptTZ) . ',original_tz = ' . json_encode($originalTZ) . ',display_origTZ = ' . json_encode($orig_TZ_display);?></script>
<script type="text/javascript" src="clock.js"></script>
</head>
<body>
<h1>
Date and Time
</h1>
<div class="body">
<?php //Print default time and date values for the JS to update.
echo "The full date and time:".
"<br><span>".
"<p id='time_body'>".
date("D, M d, Y, H:i:s") .
"</p><p> GMT". date("O T") ."</p><button class=\"time_copy_btn\" onclick='copy_timestamp(\"time_body\")'>Copy Timestamp</button>\n\t\t</span>";
if($_POST['originalTZ']){// if the user want display the browser detected timezone as well as the selected one.
date_default_timezone_set($originalTZ);
echo'<h3>Time in original Timezone</h3>'.
'<span><p id="time_original">'.
date("D, M d, Y, H:i:s") .
"</p><p> GMT". date("O T") ."</p><button class=\"time_copy_btn\" onclick='copy_timestamp(\"time_original\")'>Copy Timestamp</button></span>";
date_default_timezone_set($scriptTZ);
}
if($_POST['displayOffset']){
$tzDifferance = (-1 * ($origHour - $scriptHour)) * 0.01;
echo '<p>The difference between the timezones is ' . $tzDifferance . ' hours</p>';
}
?>
<div class="tz_select">
<p>
If the detcted timezone is not correct selct your timezone from the dropdown below.
</p>
</div>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<!---
Dropdown menu to select the timezone you wish to use if the
autoselected one isn't right/what you want.
-->
<select name="userTimezone" class="tz_select">
<option value="Pacific/Kwajalein" >(GMT -12:00) Eniwetok, Kwajalein</option>
<option value="Pacific/Midway" >(GMT -11:00) Midway Island, Samoa</option>
<option value="Pacific/Honolulu">(GMT -10:00 Hawaii No DST</option>
<option value="America/Adak" >(GMT -10:00) Hawaii</option>
<option value="America/Anchorage" >(GMT -9:00) Alaska</option>
<option value="America/Los_Angeles" >(GMT -8:00) Pacific Time (US &amp; Canada)</option>
<option value="America/Denver" >(GMT -7:00) Mountain Time (US &amp; Canada)</option>
<option value="America/Chicago" >(GMT -6:00) Central Time (US &amp; Canada), Mexico City</option>
<option value="America/New_York" >(GMT -5:00) Eastern Time (US &amp; Canada), Bogota, Lima</option>
<option value="America/Caracas">(GMT -4:30) Caracas</option>
<option value="America/Halifax" >(GMT -4:00) Atlantic Time (Canada), La Paz, Santiago</option>
<option value="America/St_Johns">(GMT -3:30) Newfoundland</option>
<option value="America/Sao_Paulo" >(GMT -3:00) Brazil, Buenos Aires, Georgetown</option>
<option value="America/Noronha" >(GMT -2:00) Mid-Atlantic</option>
<option value="Atlantic/Azores" >(GMT -1:00 hour) Azores, Cape Verde Islands</option>
<option value="UTC" selected="selected">(GMT) Western Europe Time, London, Lisbon, Casablanca, Greenwich</option>
<option value="Europe/Paris">(GMT +1:00 hour) Brussels, Copenhagen, Madrid, Paris</option>
<option value="Europe/Kaliningrad" >(GMT +2:00) Kaliningrad, South Africa, Cairo</option>
<option value="Europe/Moscow">(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg</option>
<option value="Asia/Tehran" >(GMT +3:30) Tehran</option>
<option value="Asia/Muscat" >(GMT +4:00) Abu Dhabi, Muscat, Yerevan, Baku, Tbilisi</option>
<option value="Asia/Kabul" >(GMT +4:30) Kabul</option>
<option value="Asia/Karachi" >(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent</option>
<option value="Asia/Calcutta" >(GMT +5:30) Mumbai, Kolkata, Chennai, New Delhi</option>
<option value="Asia/Kathmandu">(GMT +5:45) Kathmandu</option>
<option value="Asia/Almaty" >(GMT +6:00) Almaty, Dhaka, Colombo</option>
<option value="Asia/Yangon" >(GMT +6:30) Yangon, Cocos Islands</option>
<option value="Asia/Bangkok" >(GMT +7:00) Bangkok, Hanoi, Jakarta</option>
<option value="Asia/Hong_Kong" >(GMT +8:00) Beijing, Perth, Singapore, Hong Kong</option>
<option value="Asia/Tokyo" >(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk</option>
<option value="Australia/Darwin" >(GMT +9:30) Adelaide, Darwin</option>
<option value="Australia/Sydney" >(GMT +10:00) Eastern Australia, Guam, Vladivostok</option>
<option value="Asia/Magadan" >(GMT +11:00) Magadan, Solomon Islands, New Caledonia</option>
<option value="Asia/Kamchatka" >(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka</option>
</select>
<input type="submit" name="formSubmit" value="Update" >
<br/>
<label for="originalTZ">Display original timezone</label>
<input type="checkbox" name="originalTZ" value="origTZ">
<span class="chkbox">
<label for="displayOffset">Display offset of selected timezones</label>
<input type="checkbox" name="displayOffset" value="disOS"/>
</span>
</form>
<p id="JStz"><?php echo date("e");?></p>
</div><!--end of "body" div-->
</body>
</html>