time.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. include '../../../auth.php';
  3. ?>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <link rel="stylesheet" href="../../../script/tocas/tocas.css">
  9. <script type='text/javascript' src="../../../script/tocas/tocas.js"></script>
  10. <script src="../../../script/jquery.min.js"></script>
  11. <title>Default Page</title>
  12. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  13. <style>
  14. </style>
  15. </head>
  16. <body style="background-color: rgb(247, 247, 247);">
  17. <div class="ts container">
  18. <br>
  19. <div class="ts segment">
  20. <div class="ts header">
  21. Current system time
  22. <div class="sub header">You could see the system time right here.</div>
  23. </div>
  24. </div>
  25. <div class="ts divider"></div>
  26. <div class="ts segment">
  27. <div class="ts divided items">
  28. <h2 class="ts header" id="CurrTime">Loading...</h2>
  29. <br>
  30. <p id="timediff"></p>
  31. <div id="messagediv">
  32. </div>
  33. </div>
  34. </div>
  35. <div class="ts snackbar">
  36. <div class="content"></div>
  37. </div>
  38. <script>
  39. startup();
  40. var cur = new Date("1900-01-01T00:00:00");
  41. var tz = "";
  42. function startup(){
  43. //Please ADD ALL LOAD ON STARTUP SCRIPT HERE
  44. UpdateTime();
  45. setInterval(ShowTime, 1000);
  46. setInterval(UpdateTime, 30000);
  47. os();
  48. }
  49. function ShowTime(){
  50. cur.setSeconds(cur.getSeconds() + 1);
  51. var formatted = cur.toLocaleDateString('en-US') + " " + cur.toLocaleTimeString('en-US');
  52. $( "#CurrTime" ).html(formatted + " ("+ tz + ")");
  53. }
  54. function UpdateTime(){
  55. $.getJSON("opr.php?opr=query", function (data) {
  56. cur = new Date(data["time"].replace(/-/g,"/"));
  57. /* then it becomes YYYY-mm-ddTHH:mm:ss */
  58. tz = data["f_timezone"];
  59. var timediff = (new Date() - cur);
  60. if(timediff >= 0 && Math.abs(timediff) <= 216000000){
  61. $("#timediff").text("This computer was " + convert(timediff) + " ahead.");
  62. }else{
  63. $("#timediff").text("This computer was lagging behind " + convert((-1*timediff)) + ".");
  64. }
  65. if(Math.abs(timediff) >= 216000000){
  66. $("#timediff").text("Either server or client side time error.");
  67. }
  68. //Daylight message
  69. if(data["existdaylight"]){
  70. if(data["nextdaylightremains"] <= 14){
  71. if(data["nextdst"]){
  72. if(data["nextdaylightremains"] == 0){
  73. $("#messagediv").html('<div class="ts inverted primary message"><p>Daylight Saving time starts today. The clock is set go forward 1 hour after that day.</p></div>');
  74. }else{
  75. $("#messagediv").html('<div class="ts inverted primary message"><p>Daylight Saving time starts after ' + data["nextdaylightremains"] + ' days. The clock is set go forward 1 hour after that day.</p></div>');
  76. }
  77. }else{
  78. if(data["nextdaylightremains"] == 0){
  79. $("#messagediv").html('<div class="ts inverted primary message"><p>Daylight Saving time starts today. The clock is set go forward 1 hour after that day.</p></div>');
  80. }else{
  81. $("#messagediv").html('<div class="ts inverted primary message"><p>Daylight Saving time ends after ' + data["nextdaylightremains"] + ' days. The clock is set go back 1 hour after that day.</p></div>');
  82. }
  83. }
  84. }else{
  85. $("#messagediv").html("<div></div>");
  86. }
  87. }
  88. });
  89. }
  90. function convert(timediff){
  91. console.log(timediff);
  92. if(timediff < 1000){
  93. return timediff + "ms";
  94. }else if(timediff < 60000){
  95. return Math.floor(timediff/1000) + "s " + convert(timediff-Math.floor(timediff/1000)*1000);
  96. }else if(timediff < 3600000){
  97. return Math.floor(timediff/60000) + "m " + convert(timediff-Math.floor(timediff/60000)*60000);
  98. }else if(timediff < 216000000){ //original was 216000000
  99. return Math.floor(timediff/3600000) + "h " + convert(timediff-Math.floor(timediff/3600000)*3600000);
  100. }
  101. }
  102. function msg(content) {
  103. ts('.snackbar').snackbar({
  104. content: content,
  105. actionEmphasis: 'negative',
  106. });
  107. }
  108. function os(){
  109. <?php
  110. if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
  111. echo "console.log('WIN');";
  112. }else{
  113. echo "console.log('LINUX');";
  114. }
  115. ?>
  116. }
  117. </script>
  118. </body>
  119. </html>