HC.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /**
  2. * Copyright (c) 2016, 2024, the Open Gallery's contributors
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are met:
  7. * * Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * * Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. * * Neither Open Gallery nor the names of its contributors
  13. * may be used to endorse or promote products derived from this software
  14. * without specific prior written permission.
  15. *
  16. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  17. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  18. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  19. * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY
  20. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  21. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  22. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  23. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  25. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. *
  27. * home.js
  28. *
  29. * JS file for Home page
  30. *
  31. * @author Daniele Bonini <my25mb@aol.com>
  32. * @copyrights (c) 2016, 2024, the Open Gallery's contributors
  33. * @license https://opensource.org/licenses/BSD-3-Clause
  34. */
  35. function closeSplash() {
  36. $("#hideSplash").val("1");
  37. $("#splash").hide();
  38. }
  39. /**
  40. * Encrypt the given string
  41. *
  42. * @param {string} string - The string to encrypt
  43. * @returns {string} the encrypted string
  44. */
  45. function encryptSha2(string) {
  46. var jsSHAo = new jsSHA("SHA-256", "TEXT", 1);
  47. jsSHAo.update(string);
  48. return jsSHAo.getHash("HEX");
  49. }
  50. function setFooterPos() {
  51. if (document.getElementById("footerCont")) {
  52. tollerance = 25;
  53. $("#footerCont").css("top", parseInt( window.innerHeight - $("#footerCont").height() - tollerance ) + "px");
  54. $("#footer").css("top", parseInt( window.innerHeight - $("#footer").height() - tollerance ) + "px");
  55. }
  56. }
  57. function showEncodedPassword() {
  58. if ($("#Password").val() === "") {
  59. $("#Password").addClass("emptyfield");
  60. return;
  61. }
  62. if ($("#Salt").val() === "") {
  63. $("#Salt").addClass("emptyfield");
  64. return;
  65. }
  66. passw = encryptSha2( $("#Password").val() + $("#Salt").val());
  67. msg = "Please set your password in the config file with this value:";
  68. alert(msg + "\n\n" + passw);
  69. }
  70. function upload() {
  71. $("input#files").click();
  72. }
  73. $("input#files").on("change", function(e) {
  74. frmHC.submit();
  75. });
  76. $("#Password").on("keydown", function(e){
  77. $("#Password").removeClass("emptyfield");
  78. });
  79. $("#Salt").on("keydown", function(e){
  80. $("#Salt").removeClass("emptyfield");
  81. });
  82. window.addEventListener("load", function() {
  83. setTimeout("setFooterPos()", 3000);
  84. $(".footer").css("width", parseInt(window.innerWidth)+"px");
  85. $("#footerCont").css("width", parseInt(window.innerWidth)+"px");
  86. document.getElementById("CommandLine").focus();
  87. }, true);
  88. window.addEventListener("resize", function() {
  89. setTimeout("setFooterPos()", 3000);
  90. $(".footer").css("width", parseInt(window.innerWidth)+"px");
  91. $("#footerCont").css("width", parseInt(window.innerWidth)+"px");
  92. }, true);