//OpenForum/Authentication/login.sjsvar result = false; var name = login.getUser().getName(); var password = "" + login.getPassword(); //Emergency Entrance //if(name=="Admin") { //result = true; // var sessionId = sessionStore.createSession(name); // login.setSessionId( sessionId ); //} else { var config = openForum.retrieveObject("config"); var dbAlias = config.getValue("database"); var authenticationConfig = JSON.parse(file.getAttachment("/OpenForum/Users/Admin","authentication.config")); var magic = authenticationConfig.magic; var db = js.getApi("/OpenForum/AddOn/SQL"); var data = JSON.parse( "{" + db.query(dbAlias,"select password from member where alias='" + name + "' and created_date>0") + "}" ); if(data.table.rowCount==="1") { var storedMagicPassword = data.table.rows.row0.cell0; var magicPassword = ""+js.generateMD5( password + magic ); var siteHashA = ""+file.getAttachment("/OpenForum/Authentication","authentication.hash.a"); var siteHashB = ""+file.getAttachment("/OpenForum/Authentication","authentication.hash.b"); var hashedPasswordA = ""+js.generateMD5( storedMagicPassword + siteHashA ); var hashedPasswordB = ""+js.generateMD5( storedMagicPassword + siteHashB ); if( storedMagicPassword.toUpperCase()==magicPassword.toUpperCase() || hashedPasswordA.toUpperCase()==password.toUpperCase() || hashedPasswordB.toUpperCase()==password.toUpperCase() ) { result = true; if(typeof(sessionStore) != "undefined") { var sessionId = sessionStore.createSession(name); login.setSessionId( sessionId ); } } login.clearPassword(); //} } result=result;