diff --git a/Client/Login/login.html b/Client/Login/login.html index 104e6d8e..61d492e1 100644 --- a/Client/Login/login.html +++ b/Client/Login/login.html @@ -7,7 +7,11 @@ - + + + + + @@ -20,20 +24,36 @@
-

+

Bereits registriert? Logg dich ein

-

+

Nicht registriert? Erstelle einen Account

- - + \ No newline at end of file diff --git a/Client/Login/login.js b/Client/Login/login.js index 9069a093..8ef7bf0c 100644 --- a/Client/Login/login.js +++ b/Client/Login/login.js @@ -4,17 +4,12 @@ * @copyright (c) 2008 - 2018 Life of German */ +function registerPlayer() { + + var password = document.getElementById("passwordInputRegister"); + var passwordRepeat = document.getElementById("passwordRepeatInputRegister"); -$('.message a').click(function () { - $('.form-l').animate({ height: "toggle", opacity: "toggle" }, "slow"); -}); - -$('#registerBtn').click(function () { - - var password = $('#passwordInputRegister').val(); - var passwordRepeat = $('#passwordRepeatInputRegister').val(); - mp.gui.chat.push(password.length); - if (password === "" || passwordRepeat === "") { + if(password === "" || passwordRepeat === "") { showError("Mindestens ein Passwort Feld ist leer!"); return; } @@ -23,38 +18,23 @@ $('#registerBtn').click(function () { showError("Die beiden Passwörter stimmen nicht überein!") return; } - + if (password.length < 8) { showError("Das Passwort muss mindestens 8 Zeichen lang sein"); return; } + $('.isa_error').hide(); + mp.trigger("registerInformationToServer", password); +} - mp.gui.chat.push(password.length); - mp.trigger('registerInformationToServer', password); -}); - -$('#loginBtn').click(function () { +function loginPlayer() { - var password = $('#passwordInputLogin').val(); + let password = document.getElementById("passwordInputLogin"); if (password === "") { showError("Du musst ein Passwort angeben!"); return; } - - mp.trigger('loginInformationToServer', password); - -}); - -$('.quitBtn').click(function () { - resourceCall("Quit"); -}); - -function showError(error) { - $('.isa_error').html(error); - $('.isa_error').slideDown(); -} - -function SendDisplayname(name) { - $("h2#playerName").text(name); + $('.isa_error').hide(); + mp.trigger("loginInformationToServer", password); } \ No newline at end of file diff --git a/Client/Login/main.js b/Client/Login/main.js index 01a7c4fe..03ea055c 100644 --- a/Client/Login/main.js +++ b/Client/Login/main.js @@ -4,7 +4,11 @@ * @copyright (c) 2008 - 2018 Life of German */ -let loginBrowser; +var loginBrowser; +loginBrowser = mp.browsers.new('package://Login/login.html'); +mp.gui.chat.activate(false); +mp.gui.cursor.show(true); + mp.events.add('loginInformationToServer', (password) => { @@ -13,22 +17,38 @@ mp.events.add('loginInformationToServer', (password) => { }); mp.events.add('registerInformationToServer', (password) => { - mp.gui.chat.push("registerInformationToServer called"); mp.events.callRemote('OnPlayerRegister', password); }); -mp.events.add('showLogin', (player) => { - loginBrowser = mp.browsers.new('package://Login/login.html'); +mp.events.add('showLogin',() => { + loginBrowser = mp.browsers.new('package://Login/login.html'); mp.gui.cursor.show(true); - mp.gui.cursor.visible = true; }); -mp.events.add('registerSuccess', (player) => { - loginBrowser.destroy(); - mp.gui.chat.activate(true); +mp.events.add('registerSuccess', () => { + mp.gui.chat.push("Erfolgreich registriert!") + if (loginBrowser) + { + loginBrowser.destroy(); + } mp.gui.cursor.show(false); - mp.gui.cursor.visible = false; - mp.gui.chat.push("Erfolgreich registriert."); + mp.gui.chat.activate(true); + +}); +mp.events.add('loginSuccess', () => { + mp.gui.chat.push("Erfolgreich eingeloggt!") + if (loginBrowser) + { + loginBrowser.destroy(); + } + mp.gui.cursor.show(false); + mp.gui.chat.activate(true); + +}); + +mp.events.add('loginFail', (reason) => { + + mp.gui.chat.push(reason); }); diff --git a/Server/Events/Login.cs b/Server/Events/Login.cs index cf3362f2..ec749d05 100644 --- a/Server/Events/Login.cs +++ b/Server/Events/Login.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using GTANetworkAPI; @@ -16,7 +17,27 @@ namespace reallife_gamemode.Server.Events [RemoteEvent("OnPlayerLogin")] public void OnPlayerLogin(Client player, string password) { - + var checkPassword = ""; + using (var loginContext = new Model.DatabaseContext()) + { + var user = loginContext.Users.SingleOrDefault(b => b.Name == player.Name); + if(user.Password == null) + { + player.TriggerEvent("loginFail", "Benutzer existiert nicht! Registriere dich zuerst!"); + } + else + { + checkPassword = user.Password; + } + } + if(checkPassword == NAPI.Util.GetHashSha256(password)) + { + player.TriggerEvent("loginSuccess"); + } + else + { + player.TriggerEvent("loginFail","Passwort inkorrekt!"); + } } [Command("login")] public void CmdLogin(Client player) @@ -27,13 +48,13 @@ namespace reallife_gamemode.Server.Events public void OnPlayerRegister(Client player, string password) { - using (var loginContext = new Model.DatabaseContext()) + using (var registerContext = new Model.DatabaseContext()) { var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) }; - loginContext.Users.Add(user); - loginContext.SaveChanges(); + registerContext.Users.Add(user); + registerContext.SaveChanges(); } player.TriggerEvent("registerSuccess"); } - } + } }