chunk.lockscreen.tpl 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <!DOCTYPE html>
  2. <html lang="[[+lang]]">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>[[+title]]</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  7. <style>
  8. .lockscreen {
  9. background-image: url([[+assets_url]]components/admintools/images/lockscreen.jpg);
  10. }
  11. @media only screen and (max-width : 767px) {
  12. .lockscreen {
  13. background-image: url([[+assets_url]]components/admintools/images/lockscreen800.jpg);
  14. }
  15. }
  16. @media only screen and (min-width : 768px) and (max-width: 1223px) {
  17. .lockscreen {
  18. background-image: url([[+assets_url]]components/admintools/images/lockscreen1280.jpg);
  19. }
  20. }
  21. .lockscreen .container {
  22. background-color: rgba(255,255,255,0.1);
  23. margin: 5% auto 0;
  24. padding: 20px;
  25. text-align: center;
  26. width: 250px;
  27. }
  28. .lockscreen .form-element {
  29. box-sizing: border-box;
  30. font-size: 14px;
  31. margin: 5px 0;
  32. padding: 6px 12px;
  33. width: 220px;
  34. }
  35. .lockscreen .username {
  36. font-size: 20px;
  37. color: #fff;
  38. padding: 10px;
  39. }
  40. .lockscreen input {
  41. border: 1px solid transparent;
  42. }
  43. .lockscreen input:focus {
  44. border-color: #45a2ec;
  45. outline: 0;
  46. }
  47. .lockscreen .btn {
  48. display: inline-block;
  49. color: #fff;
  50. background-color: #3697CD;
  51. font-weight: bold;
  52. line-height: 1.6;
  53. text-align: center;
  54. vertical-align: middle;
  55. cursor: pointer;
  56. border: 1px solid #3CA4DE;
  57. }
  58. .btn:hover {
  59. color: #fff;
  60. background-color: #286090;
  61. border-color: #1e4c74;
  62. }
  63. </style>
  64. </head>
  65. <body class="lockscreen">
  66. <div class="container">
  67. <div class="photo"><img src="[[+photo]]" alt="avatar" onsubmit="return false;"></div>
  68. <div class="username">[[+username]]</div>
  69. <form name="unlockform" action="[[+form_action]]" method="POST">
  70. <div>
  71. <input id="unlock_code" class="form-element" type="password" name="unlock_code" placeholder="[[+input_placeholder]]" required>
  72. </div>
  73. <div>
  74. <button class="form-element btn submit-btn">[[%admintools_unlock]]</button>
  75. </div>
  76. </form>
  77. </div>
  78. <script>
  79. document.forms[0].addEventListener("submit", function(event) {
  80. event.preventDefault();
  81. let body = "admintools_action=unlock&action=mgr/system/unlock&unlock_code=" + encodeURIComponent(unlock_code.value) + "&HTTP_MODAUTH=[[+auth]]";
  82. let xhr = new XMLHttpRequest();
  83. xhr.open(this.getAttribute('method'), this.getAttribute('action'), true);
  84. xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  85. xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  86. xhr.onreadystatechange = function() {
  87. if (this.readyState == 4 && this.status == 200) {
  88. document.location.reload();
  89. }
  90. };
  91. xhr.send(body);
  92. });
  93. </script>
  94. </body>
  95. </html>