[+] [lginm.js|public] export function lgin(){ if(!document.querySelector('#dia2')) document.body.insertAdjacentHTML('beforeend', ` `); if(!dia2.showModal) {dia2.showModal=function(){this.hidden=false}; dia2.close=function(){this.hidden=true}; dia2.setAttribute('open',''); dia2.hidden=true} //mypoly if(document.querySelector('#Login')) document.querySelector('#LOGIN').textContent=document.querySelector('#Login').textContent // dia2.showModal() document.querySelector('#dia2 form').onsubmit = function(){login(); this.parentNode.close(); return false} Logout.onclick=logout //function(){logout()} // var sha256 = function(s) {return SHA256.hash(s)} function login() { var sid = "{.cookie|HFS_SID_.}" //getCookie('HFS_SID'); if (!sid) return true; //let the form act normally var usr = user.value; var pwd = pw.value; var xhr = new XMLHttpRequest(); xhr.open("POST", "/?mode=login"); // /~login var formData = new FormData(); formData.append("user",usr) if (typeof SHA256 != 'undefined') formData.append("passwordSHA256",sha256(sha256(pwd).toLowerCase()+sid).toLowerCase()); else formData.append("password",pwd) xhr.onload=function(){if(xhr.response=='ok') { if(document.querySelector("#dia2 input[type=checkbox]").checked) localStorage.login=JSON.stringify([usr,pwd]); else localStorage.removeItem('login'); // location.replace(document.referrer)} else {alert("user or password don't match");document.querySelector("#dia2 form").reset()}} xhr.send(formData) return false; } function logout() {fetch("/?mode=logout").then(res => location.reload()); return false} if('%user%') {user.placeholder="%user%"; user.classList.add("outbox")} document.querySelector("#dia2 input[type=checkbox]").onchange=function(){if(!this.checked) localStorage.removeItem('login')} if(localStorage.login) document.querySelector("#dia2 input[type=checkbox]").checked=true if(!'%user%' && localStorage.login) {var tmp=JSON.parse(localStorage.login); user.value=tmp[0]; pw.value=tmp[1]; var myform=document.querySelector("#dia2 form"); if (myform.requestSubmit) myform.requestSubmit(); else myForm.submit()} pw.oncontextmenu=function(){this.type = this.type=='text'?'password':'text'} // cpw.onclick= function() {if(pw.value && !pw.value.match(/{\..*\|/)) {var xhr=new XMLHttpRequest();xhr.open('POST','?mode=section&id=changepwd');xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xhr.onload=function(){dia2.close()}; xhr.send('token={.cookie|HFS_SID_.}&new='+btoa(unescape(encodeURIComponent(pw.value))))} else {pw.style.display='block';dia2.showModal()}; return false} //var i; var { .$sha256.js.} } [changepwd|public] {.if|{.member of|can change password.}|{:{.set account||password={.base64decode|{.postvar|new.}.}.}ok:}|ko.} [login|public]