index_old.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. include '../auth.php';
  3. ?>
  4. <html>
  5. <meta name="apple-mobile-web-app-capable" content="yes" />
  6. <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=0.6, maximum-scale=0.6"/>
  7. <html>
  8. <head>
  9. <script type='text/javascript' charset='utf-8'>
  10. // Hides mobile browser's address bar when page is done loading.
  11. window.addEventListener('load', function(e) {
  12. setTimeout(function() { window.scrollTo(0, 1); }, 1);
  13. }, false);
  14. </script>
  15. <title>Home Dynamic</title>
  16. <link rel="stylesheet" href="script/tocas/tocas.css">
  17. <script src="script/tocas/tocas.js"></script>
  18. <script src="script/jquery.min.js"></script>
  19. </head>
  20. <body>
  21. <div class="ts basic menu">
  22. <a href="index.php" class="active item">Home Dynamic</a>
  23. <a href="hds_scan.php" class="item">Scan</a>
  24. <a class="item">Panels</a>
  25. <a class="item">System</a>
  26. </div>
  27. <!-- End of Header -->
  28. <div id="mainmenu" class="ts container"></div>
  29. <script>
  30. var ipTable = "<?php if(file_exists("iptable.txt")){echo file_get_contents("iptable.txt");}?>";
  31. var deviceIPs = ipTable.slice(0, -1).split(",");
  32. var UUID = "";
  33. var webworkers = [];
  34. var loadedDriverList = [];
  35. $(document).ready(function(){
  36. var i = 0;
  37. for (i = 0; i < deviceIPs.length;i++){
  38. $("#mainmenu").append('<div id="header_' + i + '" class="ts horizontal divider">Loading</div>');
  39. $("#mainmenu").append("<duv id='panel_" + i +"' class='ts container'></div>");
  40. $("#mainmenu").append("<duv id='control_" + i +"' class='ts container'></div>");
  41. }
  42. setTimeout(GetAllInfo, 500);
  43. console.log(deviceIPs);
  44. });
  45. function GetAllInfo(){
  46. var i=0;
  47. for (i = 0; i < deviceIPs.length;i++){
  48. GetDeviceInfo(deviceIPs[i],i);
  49. }
  50. }
  51. function GetDeviceInfo(ip,id){
  52. var thisIP = ip;
  53. var thisNumber = id;
  54. $.ajax({
  55. url: "http://" + thisIP + "/info",
  56. async: "false",
  57. timeout: 10000,
  58. error: function(){
  59. $('#panel_' + thisNumber ).html("This device has been offline or its IP has been changed.");
  60. $('#panel_' + thisNumber ).append("<br>Please click <a href='hds_scan.php'>here</a> to update the IP table by performing an IP scan.");
  61. },
  62. success: function(result){
  63. $('#panel_' + thisNumber ).html(" " + result);
  64. $('#panel_' + thisNumber ).append("<br>" + thisIP);
  65. FindDriver(result,id,thisIP);
  66. $('#control_' + thisNumber ).attr("ip",thisIP);
  67. }
  68. });
  69. $.ajax({
  70. url: "http://" + thisIP + "/uuid",
  71. async: "false",
  72. timeout: 10000,
  73. error: function(){
  74. $('#header_' + thisNumber ).html("Unreachable");
  75. },
  76. success: function(result){
  77. $('#header_' + thisNumber ).html(result);
  78. }});
  79. }
  80. function FindDriver(info,id,ip){
  81. var DeviceType = info.split("_");
  82. $.ajax( "loadDriver.php?tp=" + DeviceType[1],
  83. {
  84. type: "GET",
  85. success:function(data) {
  86. if (data.includes("NOT FOUND") == false){
  87. $("#control_" + id).addClass(replaceAll(DeviceType[1],".","_"));
  88. AppendScript("driver/" + DeviceType[1]);
  89. }else{
  90. $("#control_" + id).addClass("Unknown_Device");
  91. $("#control_" + id).append("Driver not found.<br>");
  92. $.get( "http://" + $("#control_" + id).attr("ip") + "/", function( data ) {
  93. $("#control_" + id).append('<details class="ts accordion"><summary><i class="dropdown icon"></i>Module Information Tag</summary><div class="content">' + data + '</div></details>');
  94. });
  95. }
  96. }
  97. });
  98. }
  99. function replaceAll(data,search, replacement) {
  100. return data.split(search).join(replacement);
  101. }
  102. function AppendScript(url){
  103. var script = document.createElement( 'script' );
  104. script.type = 'text/javascript';
  105. script.src = url;
  106. $("body").append( script );
  107. }
  108. function DriverLoaded(needle){
  109. return (loadedDriverList.indexOf(needle) > -1);
  110. }
  111. function DriverFinishedLoading(driverName){
  112. loadedDriverList.push(driverName);
  113. }
  114. </script>
  115. </body>
  116. </html>