mobileremote.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <?php
  2. include_once '../auth.php';
  3. if(!file_exists("data")){
  4. mkdir("data",0777,true);
  5. }
  6. if (isset($_GET['comm']) && isset($_GET['rid'])){
  7. $rid = $_GET['rid'];
  8. $rid = explode(",",$rid)[0];
  9. file_put_contents("data/" . $rid . ".inf",$_GET['comm']);
  10. echo "DONE";
  11. exit(0);
  12. }
  13. ?>
  14. <html>
  15. <head>
  16. <link rel="stylesheet" href="../script/tocas/tocas.css">
  17. <script src="../script/tocas/tocas.js"></script>
  18. <meta name="viewport" content="width=device-width, initial-scale=0.9, shrink-to-fit=no">
  19. <script src="../script/jquery.min.js"></script>
  20. <script src="../script/ao_module.js"></script>
  21. <style>
  22. body{
  23. background-color:#0c0c0c;
  24. color:white;
  25. }
  26. .white{
  27. color:white !important;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <br>
  33. <div class="ts container">
  34. <div class="ts center aligned grid">
  35. <div class="row">
  36. <div class="sixteen wide column">
  37. <div class="ts white header">
  38. <i class="options icon"></i>RemotePlay Remote
  39. </div>
  40. </div>
  41. </div>
  42. <div class="row">
  43. <div class="sixteen wide column">
  44. <p class="white">Target RemotePlay ID</p>
  45. <div class="ts basic mini fluid input">
  46. <input id="remoteID" class="white" type="text">
  47. </div>
  48. </div>
  49. </div>
  50. <div class="row">
  51. <div class="five wide column">
  52. </div>
  53. <div class="six wide column">
  54. <button class="ts huge basic white icon button" onClick="ffwd();"><i class="fast forward icon"></i></button>
  55. </div>
  56. <div class="five wide column">
  57. </div>
  58. </div>
  59. <div class="row">
  60. <div class="five wide right aligned column">
  61. <button class="ts huge basic white icon button" onClick="bwd();"><i class="backward icon"></i></button>
  62. </div>
  63. <div class="six wide column">
  64. <button class="ts huge basic white icon button" onClick="stop();"><i class="stop icon"></i></button>
  65. </div>
  66. <div class="five wide left aligned column">
  67. <button class="ts huge basic white icon button" onClick="fwd();"><i class="forward icon"></i></button>
  68. </div>
  69. </div>
  70. <div class="row">
  71. <div class="five wide column">
  72. </div>
  73. <div class="six wide column">
  74. <button class="ts huge basic white icon button" onClick="fbwd();"><i class="fast backward icon"></i></button>
  75. </div>
  76. <div class="five wide column">
  77. </div>
  78. </div>
  79. <div class="row">
  80. <div class="five wide right aligned column">
  81. <button class="ts huge basic white icon button" onClick="play();"><i class="play icon"></i></button>
  82. </div>
  83. <div class="six wide column"></div>
  84. <div class="five wide left aligned column">
  85. <button class="ts huge basic white icon button" onClick="volup();"><i class="volume up icon"></i></button>
  86. </div>
  87. </div>
  88. <div class="row">
  89. <div class="five wide right aligned column">
  90. <button class="ts huge basic white icon button" onClick="pause();"><i class="pause icon"></i></button>
  91. </div>
  92. <div class="six wide column"></div>
  93. <div class="five wide left aligned column">
  94. <button class="ts huge basic white icon button" onClick="voldown();"><i class="volume down icon"></i></button>
  95. </div>
  96. </div>
  97. <div class="row">
  98. <div class="sixteen wide column">
  99. <br>
  100. <div class="ts separated mini buttons">
  101. <button class="ts huge basic white button" onClick="mute();"><i class="volume off icon"></i>Mute</button>
  102. <button class="ts huge basic white button" onClick="reset();"><i class="home icon"></i>Reset</button>
  103. <button class="ts huge basic white button" onClick="newsession();"><i class="add icon"></i>New Session</button>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="ts snackbar">
  110. <div class="content"></div>
  111. <a class="action"></a>
  112. </div>
  113. <script>
  114. /* for iOS or iPadOS patch (tested on iPhone8 and iPad Gen6) */
  115. /* end */
  116. var rid = "";
  117. ao_module_setWindowSize(500,320);
  118. $("#vol").on("change",function(){
  119. sendCommand("setVol",$(this).val());
  120. });
  121. $("#remoteID").on("change",function(){
  122. ao_module_saveStorage("remoteplay","remoteID",$(this).val());
  123. rid = $(this).val();
  124. });
  125. function play(){
  126. sendCommand("play","");
  127. }
  128. function pause(){
  129. sendCommand("pause","");
  130. }
  131. function fwd(){
  132. sendCommand("fwd","");
  133. }
  134. var ffwding = false;
  135. function ffwd(){
  136. if(ffwding){
  137. clearInterval(timer_1);
  138. ffwding = false;
  139. $(".button").removeAttr("disabled");
  140. }else{
  141. timer_1 = setInterval(fwd, 1000);
  142. ffwding = true;
  143. $(".button").attr("disabled","disabled");
  144. $(".fast.forward.icon").parent().removeAttr("disabled");
  145. }
  146. }
  147. function bwd(){
  148. sendCommand("bwd","");
  149. }
  150. var fbwding = false;
  151. function fbwd(){
  152. if(fbwding){
  153. clearInterval(timer_1);
  154. fbwding = false;
  155. $(".button").removeAttr("disabled");
  156. }else{
  157. timer_1 = setInterval(bwd, 1000);
  158. fbwding = true;
  159. $(".button").attr("disabled","disabled");
  160. $(".fast.backward.icon").parent().removeAttr("disabled");
  161. }
  162. }
  163. function stop(){
  164. sendCommand("stop","");
  165. }
  166. function volup(){
  167. sendCommand("volup","");
  168. }
  169. function voldown(){
  170. sendCommand("voldown","");
  171. }
  172. function mute(){
  173. sendCommand("setVol","0");
  174. $("#vol").val(0);
  175. }
  176. function reset(){
  177. sendCommand("reset","");
  178. }
  179. function newsession(){
  180. sendCommand("newsession","");
  181. }
  182. function sendCommand(comm,value){
  183. var fullcomm = comm + "," + value;
  184. $.get("remote.php?comm=" + fullcomm + "&rid=" + rid,function(data){
  185. if (data.includes("ERROR")){
  186. }
  187. });
  188. }
  189. $(document).ready(function(){
  190. var previousRemoteID = ao_module_getStorage("remoteplay","remoteID");
  191. if (previousRemoteID !== undefined){
  192. $("#remoteID").val(previousRemoteID);
  193. rid = previousRemoteID;
  194. }
  195. });
  196. </script>
  197. </body>
  198. </html>