index.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <!DOCTYPE html>
  2. <html lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  6. <!--
  7. Copyright 2021, 2024, 5 Mode
  8. This file is part of Avatar Free.
  9. Avatar Free is free software: you can redistribute it and/or modify
  10. it under the terms of the GNU General Public License as published by
  11. the Free Software Foundation, either version 3 of the License, or
  12. (at your option) any later version.
  13. Avatar Free is distributed in the hope that it will be useful,
  14. but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. GNU General Public License for more details.
  17. You should have received a copy of the GNU General Public License
  18. along with Avatar Free. If not, see <https://www.gnu.org/licenses/>.
  19. -->
  20. <title>Avatar Free: everyone its social presence.</title>
  21. <link rel="shortcut icon" href="Public/favicon.ico" />
  22. <meta name="description" content="Welcome to Avatar Fee! Let everyone own its social presence."/>
  23. <meta name="author" content="5 Mode"/>
  24. <meta name="robots" content="index,follow"/>
  25. <meta name="keywords" content="Avatar Free,social,presence,avatarfree.5mode-foss.eu,on,premise,solution"/>
  26. <script src="Public/js/jquery-3.6.0.min.js" type="text/javascript"></script>
  27. <script src="Public/js/common.js" type="text/javascript"></script>
  28. <script src="Public/js/bootstrap.min.js" type="text/javascript"></script>
  29. <link href="Public/css/bootstrap.min.css" type="text/css" rel="stylesheet">
  30. <link href="Public/css/style.css?v=1631827555" type="text/css" rel="stylesheet">
  31. <script>
  32. /*
  33. * Display the current hash for the config file
  34. *
  35. * @returns void
  36. */
  37. function showEncodedPassword() {
  38. if ($("#Password").val() === "") {
  39. $("#Password").addClass("emptyfield");
  40. return;
  41. }
  42. //if ($("#Salt").val() === "") {
  43. // $("#Salt").addClass("emptyfield");
  44. // return;
  45. //}
  46. passw = encryptSha2( $("#Password").val() + $("#Salt").val());
  47. msg = "Please set your hash in the config file with this value";
  48. alert(msg + "\n\n" + passw);
  49. }
  50. function hideTitle() {
  51. $("#myh1").hide("slow");
  52. }
  53. function startApp() {
  54. $("#HCsplash").css("display","none");
  55. //$("#HCsplash").hide("slow");
  56. $(document.body).css("background","#ffffff");
  57. $("#originsDisplay").show();
  58. $("#frmHC").show();
  59. }
  60. function _startApp() {
  61. setTimeout("startApp()", 1000);
  62. }
  63. function setOriginsPos() {
  64. h=parseInt(window.innerHeight);
  65. w=parseInt(window.innerWidth);
  66. mytop = parseInt(window.innerHeight - ($("#originsDisplay").height() + 60));
  67. $("#originsDisplay").css("top", mytop+"px");
  68. setTimeout("hideOrigins()",15000);
  69. }
  70. function hideOrigins() {
  71. $("#originsDisplay").css("visibility","hidden");
  72. }
  73. window.addEventListener("load", function() {
  74. $("#frmHC").hide();
  75. setTimeout("setOriginsPos()", 500);
  76. //Splash
  77. $("#HCsplash").show();
  78. }, true);
  79. window.addEventListener("load", function() {
  80. // Fisnished the Intro load the app..
  81. //document.getElementById("vplayer").onended=_startApp;
  82. setTimeout("_startApp()", 6000);
  83. });
  84. </script>
  85. </head>
  86. <body style="background:#0d0d0d;">
  87. <div id="HCsplash" style="padding-top: 40px; text-align:center;co-lor:#d4b0dc;color:#FFFFFF;font-family:'Press Start 2P';">
  88. <div id="myh1" style="position:relative; top:0px;"><H1>Avatar Free</H1></div><br><br>
  89. <img src="Public/res/AFlogo.png" style="width:310px;">
  90. </div>
  91. <form id="frmHC" method="POST" target="_self" enctype="multipart/form-data" style="display:none;">
  92. <div class="header" style="margin-top:18px;margin-bottom:18px;">
  93. <a href="http://avatarfree.5mode-foss.eu" target="_self" style="color:#000000; text-decoration: none;">&nbsp;<img src="Public/res/AFlogo.png" style="width:22px;">&nbsp;AvatarFree</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://github.com/par7133/AvatarFree" style="color:#000000;"><span style="color:#119fe2">on</span> github</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:code@gaox.io" style="color:#000000;"><span style="color:#119fe2">for</span> feedback</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="tel:+39-378-0812391" style="font-size:13px;background-color:#15c60b;border:2px solid #15c60b;color:#000000;height:27px;text-decoration:none;">&nbsp;&nbsp;get support&nbsp;&nbsp;</a>
  94. </div>
  95. <div style="clear:both; float:left; padding:8px; width:15%; height:750px; border-right: 1px solid #2c2f34; text-align:center;">
  96. <div style="padding-left:10px;text-align: left;">
  97. <a href="https://github.com/par7133/AvatarFree/archive/refs/tags/v1.5.8.zip">Rel. 1.5.8 (zip)</a><br>
  98. <a href="https://github.com/par7133/AvatarFree/archive/refs/tags/v1.5.8.tar.gz">Rel. 1.5.8 (tar.gz)</a><br>
  99. </div>
  100. <br><br>
  101. <div style="float:left;width:210px;text-align:left;">
  102. &nbsp;<input type="text" id="Password" name="Password" placeholder="password" style="font-size:10px; background:#ffffff; color:#000000; width: 90%; height:30px; border-radius:3px;" value="" autocomplete="off"><br>
  103. &nbsp;<input type="text" id="Salt" placeholder="salt" style="position:relative; top:+5px; font-size:10px; background:#ffffff; color:#000000; width: 90%; height:30px; border-radius:3px;" autocomplete="off"><br>
  104. &nbsp;<a href="#" onclick="showEncodedPassword();" style="position:relative; top:+5px; color:#000000; font-size:12px;">Hash Me!</a>
  105. </div>
  106. &nbsp;<br><br><br>
  107. <br><br><br>
  108. </div>
  109. <div style="float:left; width:85%;height:100%; padding:8px;">
  110. <div id="splash" style="border-radius:20px; position:relative; left:+3px; width:98%; background-color:#f0f8fb; padding: 20px; margin-bottom:8px;">
  111. <button type="button" class="close" aria-label="Close" onclick="close-Splash();" style="position:relative; left:-10px;">
  112. <span aria-hidden="true">&times;</span>
  113. </button>
  114. Hello and welcome to Avatar Free!<br><br>
  115. Avatar Free is a light, simple, software on premise to build and own your social presence.<br><br>
  116. Avatar Free is released under GPLv3 license, it is supplied AS-IS and we do not take any responsibility for its misusage.<br><br>
  117. First step, use the password box and salt fields to create the hash to insert in the config file. Remember to manually set there also the salt value.<br><br>
  118. As you are going to run Avatar Free in the PHP process context, using a limited web server or phpfpm user, you must follow some simple directives for an optimal first setup:<br>
  119. <ol>
  120. <li>Check the write permissions of your "data" folder in your web app Private path; and set its path in the config file.</li>
  121. <li>Set the default Locale.</li>
  122. <li>Set FILE_MAX_SIZE (remember that some PHP settings could limit the upload behaviour of Avatar Free too)</li>
  123. <li>Set BLOG_MAX_POSTS to limit the number of visible posts in the blog.</li>
  124. </ol>
  125. <br>
  126. You can access your avatar by http://yourdomain.com/&lt;your_avatar&gt;. Login with the password for the admin view. Drag-n-drop all your resources in the browser window.<br><br>
  127. <a href="/Public/res/screenshot1.png" target="_blank"><img src="/Public/res/screenshot1.png" style="width:230px;margin-top:7px;"></a>&nbsp;&nbsp;<a href="/Public/res/screenshot2.png" target="_blank"><img src="/Public/res/screenshot2.png" style="width:230px;margin-top:7px;"></a><br><br>
  128. Hope you can enjoy it and let us know about any feedback: <a href="mailto:code@gaox.io">code@gaox.io</a>
  129. <br><br><br><br><br><br><br>
  130. </div>
  131. <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  132. </div>
  133. </form>
  134. <div id="originsDisplay" style="display:none">
  135. <br>
  136. &nbsp;<span class="originLabel">Coding:</span>&nbsp;Italy<br>
  137. &nbsp;<span class="originLabel">Server:</span>&nbsp;United States&nbsp;<br>
  138. &nbsp;<span class="originLabel"><a href="http://metrica.yandex.com" class="bbb">Metrics</a>:</span>&nbsp;Russia&nbsp;<br>
  139. <br>
  140. </div>
  141. <div class="footer">
  142. <div id="footerCont">&nbsp;</div>
  143. <div id="footer"><span style="background:#E1E1E1;color:black;opacity:1.0;margin-right:10px;">&nbsp;&nbsp;<a href="https://5mode.com/dd.html">Disclaimer</a>&nbsp;&nbsp;A <a href="http://5mode.com">5 Mode</a> project and <a href="http://demo.5mode.com">WYSIWYG</a> system. CC</span></div>
  144. </div>
  145. <script>
  146. function setFooterPos2() {
  147. if (document.getElementById("footerCont")) {
  148. //if ($("#Password").val() === "") {
  149. // tollerance = 48;
  150. // } else {
  151. // tollerance = 15;
  152. //}
  153. tollerance = 22;
  154. $("#footerCont").css("top", parseInt( window.innerHeight - $("#footerCont").height() - tollerance ) + "px");
  155. $("#footer").css("top", parseInt( window.innerHeight - $("#footer").height() - tollerance + 6) + "px");
  156. }
  157. }
  158. setFooterPos2();
  159. //window.addEventListener("load", function() {
  160. //
  161. // setTimeout("setFooterPos2()", 4000);
  162. //
  163. //}, true);
  164. </script>
  165. <!-- Yandex.Metrika counter -->
  166. <script type="text/javascript" >
  167. (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  168. m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  169. (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  170. ym(90189010, "init", {
  171. clickmap:true,
  172. trackLinks:true,
  173. accurateTrackBounce:true
  174. });
  175. </script>
  176. <noscript><div><img src="https://mc.yandex.ru/watch/90189010" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  177. <!-- /Yandex.Metrika counter -->
  178. </body>
  179. </html>