submit-url.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Submit Your Website</title>
  5. <link rel="icon" type="image/png" href="assets/images/icon/icon.png">
  6. <style type="text/css">
  7. html, body{
  8. padding: 0;
  9. margin: 0;
  10. font-family: sans-serif;
  11. }
  12. .logo-container{
  13. width: 130px;
  14. position: absolute;
  15. left: 50%;
  16. top: 10%;
  17. transform: translate(-50%);
  18. }
  19. .form-container{
  20. position: absolute;
  21. top: 40%;
  22. left: 50%;
  23. transform: translate(-50%);
  24. padding: 5px 40px 35px 40px;
  25. box-shadow: 0px 0px 5px 2px lightgrey;
  26. }
  27. h1{
  28. font-weight: bold;
  29. text-align: center;
  30. }
  31. .input-group{
  32. width: 700px;
  33. height: 35px;
  34. display: flex;
  35. border: 2px solid #19d135;
  36. }
  37. .input-container{
  38. width: 85%;
  39. box-sizing: border-box;
  40. }
  41. .button-container{
  42. width: 15%;
  43. box-sizing: border-box;
  44. background-color: #19d135;
  45. }
  46. #url-input{
  47. width: 100%;
  48. height: 100%;
  49. box-sizing: border-box;
  50. background: transparent;
  51. border: none;
  52. padding: 0px 10px;
  53. font-style: italic;
  54. }
  55. #submit-btn{
  56. width: 100%;
  57. height: 100%;
  58. box-sizing: border-box;
  59. background: transparent;
  60. border: none;
  61. color: #fff;
  62. font-weight: bold;
  63. font-size: 15px;
  64. cursor: pointer;
  65. }
  66. .button-container:active{
  67. background: lightgreen;
  68. }
  69. #error-massege{
  70. color: red;
  71. width: 100%;
  72. box-sizing: border-box;
  73. font-size: 12px;
  74. padding: 2px;
  75. }
  76. .console{
  77. position: absolute;
  78. width: 705px;
  79. top: 65%;
  80. left: 50%;
  81. transform: translate(-50%);
  82. padding: 5px 40px 10px 40px;
  83. max-height: 150px;
  84. overflow: auto;
  85. box-shadow: inset 0px 0px 100px 2px lightgrey;
  86. -webkit-user-select: none; /* Safari */
  87. -moz-user-select: none; /* Firefox */
  88. -ms-user-select: none; /* IE10+/Edge */
  89. user-select: none; /* Standard */
  90. }
  91. /*------------------------------------------*/
  92. .loader-div{
  93. margin: auto;
  94. width: 100%;
  95. height: 100vh;
  96. border: 1px solid lightgrey;
  97. position: relative;
  98. background: transparent;
  99. background-color: rgba(0, 0, 0, 0.6);
  100. }
  101. .loaders-container{
  102. animation: spin 2s linear infinite;
  103. position: absolute;
  104. top: 50%;
  105. left: 50%;
  106. -ms-transform: translateX(-50%) translateY(-50%);
  107. -webkit-transform: translate(-50%,-50%);
  108. transform: translate(-50%,-50%);
  109. }
  110. @keyframes spin {
  111. 0% { transform: rotate(0deg); }
  112. 100% { transform: rotate(360deg); }
  113. }
  114. .loader1{
  115. border: 16px solid #f3f3f3;
  116. border-radius: 50%;
  117. border-top: 16px solid #3498db;
  118. width: 60px;
  119. height: 60px;
  120. position: absolute;
  121. top: 50%;
  122. left: 50%;
  123. -ms-transform: translateX(-50%) translateY(-50%);
  124. -webkit-transform: translate(-50%,-50%);
  125. transform: translate(-50%,-50%);
  126. }
  127. /*.loader2{
  128. width: 100px;
  129. height: 100px;
  130. border: 10px solid blue;
  131. position: absolute;
  132. top: 50%;
  133. left: 50%;
  134. -ms-transform: translateX(-50%) translateY(-50%);
  135. -webkit-transform: translate(-50%,-50%);
  136. transform: translate(-50%,-50%) rotate(45deg);
  137. border-image: linear-gradient(45deg, red, blue, green, orange);
  138. border-image-slice: 1;
  139. }*/
  140. </style>
  141. <script type="text/javascript" src="assets/js/jquery/jquery.js"></script>
  142. </head>
  143. <body>
  144. <div class="logo-container">
  145. <img src="assets/images/logo/logo.png" width="100%">
  146. </div>
  147. <div class="form-container" id="form-container">
  148. <h1>Submit Your Website or Url</h1>
  149. <form action="crawler.php" method="post">
  150. <div class="input-group">
  151. <div class="input-container">
  152. <input type="text" id="url-input" name="url" placeholder="Your website address with scheme.. e.g: http://tenminit.com">
  153. </div>
  154. <div class="button-container">
  155. <button id="submit-btn" type="button">Submit</button>
  156. </div>
  157. </div>
  158. <small id="error-massege"></small>
  159. </form>
  160. </div>
  161. <div class="loader-div" id="spinner" oncontextmenu="return false">
  162. <h1>It will take maximum 20 minute to crawl your website.</h1>
  163. <div class="loaders-container">
  164. <div class="loader1"></div>
  165. </div>
  166. </div>
  167. <div class="console" id="console">
  168. Console: <br>
  169. </div>
  170. <script type="text/javascript">
  171. function validUrl(){
  172. var url_input = document.getElementById('url-input').value;
  173. var submit_btn = document.getElementById('submit-btn');
  174. try{
  175. var url = new URL(url_input);
  176. submit_btn.setAttribute("type", "submit");
  177. document.getElementById('error-massege').innerHTML = "Correct url :)";
  178. document.getElementById('error-massege').style.color = "green";
  179. }
  180. catch(err){
  181. submit_btn.setAttribute("type", "button");
  182. document.getElementById('error-massege').innerHTML = "Enter a valid url with http or https... e.g: https://www.w3schools.com";
  183. document.getElementById('error-massege').style.color = "red";
  184. }
  185. }
  186. $("input").keydown(function(){
  187. validUrl();
  188. });
  189. $('#submit-btn').hover(function(){
  190. validUrl();
  191. });
  192. var spinner = $('#spinner');
  193. var submit_console = $('#console');
  194. var form_container = $('#form-container');
  195. spinner.hide();
  196. submit_console.hide();
  197. form_container.show();
  198. $('form').submit(function(e) {
  199. e.preventDefault();
  200. var url = $("#url-input").val();
  201. form_container.hide();
  202. spinner.show();
  203. submit_console.show();
  204. $.ajax({
  205. type: 'POST',
  206. url: 'crawler.php',
  207. dataType:'html',
  208. data: { url:url },
  209. success:function(data,status){
  210. $('#console').load('crawler.php');
  211. }
  212. }).done(function(resp) {
  213. spinner.hide();
  214. form_container.show();
  215. });
  216. });
  217. </script>
  218. </body>
  219. </html>