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 @@
-
-
+
\ 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");
}
- }
+ }
}