diff --git a/Client/Login/login.html b/Client/Login/login.html
index c8aa0a1c..104e6d8e 100644
--- a/Client/Login/login.html
+++ b/Client/Login/login.html
@@ -1,15 +1,13 @@
-
-
-
+
@@ -22,7 +20,7 @@
@@ -34,63 +32,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/Client/Login/login.js b/Client/Login/login.js
index 69670ba6..9069a093 100644
--- a/Client/Login/login.js
+++ b/Client/Login/login.js
@@ -4,18 +4,57 @@
* @copyright (c) 2008 - 2018 Life of German
*/
-$('#loginBtn').click(() => {
- $('.alert').remove(); //Remove any alerts when we attempt to login/register
- mp.trigger('loginInformationToServer', $('#passwordInputLogin').val());
+
+$('.message a').click(function () {
+ $('.form-l').animate({ height: "toggle", opacity: "toggle" }, "slow");
});
-$('#registerBtn').click(() => {
- $('.alert').remove(); //Remove any alerts when we attempt to login/register
- if ($('#passwordInputRegister').val().length < 8) {
+$('#registerBtn').click(function () {
+
+ var password = $('#passwordInputRegister').val();
+ var passwordRepeat = $('#passwordRepeatInputRegister').val();
+ mp.gui.chat.push(password.length);
+ if (password === "" || passwordRepeat === "") {
+ showError("Mindestens ein Passwort Feld ist leer!");
return;
}
- else {
- mp.trigger('registerInformationToServer', $('#passwordInputRegister').val());
+
+ if (password !== passwordRepeat) {
+ showError("Die beiden Passwörter stimmen nicht überein!")
+ return;
}
-});
\ No newline at end of file
+ if (password.length < 8) {
+ showError("Das Passwort muss mindestens 8 Zeichen lang sein");
+ return;
+ }
+
+ mp.gui.chat.push(password.length);
+ mp.trigger('registerInformationToServer', password);
+});
+
+$('#loginBtn').click(function () {
+
+ var password = $('#passwordInputLogin').val();
+
+ 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);
+}
\ No newline at end of file
diff --git a/Client/Login/main.js b/Client/Login/main.js
index fd346614..01a7c4fe 100644
--- a/Client/Login/main.js
+++ b/Client/Login/main.js
@@ -6,34 +6,29 @@
let loginBrowser;
-mp.events.add('loginInformationToServer', (username, password) => {
+mp.events.add('loginInformationToServer', (password) => {
- mp.events.callRemote('OnPlayerLogin', username, password);
+ mp.events.callRemote('OnPlayerLogin', password);
});
-mp.events.add('registerInformationToServer', (username, password) => {
-
- mp.events.callRemote('OnPlayerRegister', username, password);
+mp.events.add('registerInformationToServer', (password) => {
+ mp.gui.chat.push("registerInformationToServer called");
+ mp.events.callRemote('OnPlayerRegister', password);
});
-/*
-mp.events.add('browserCreated', (browser) => {
- mp.gui.chat.push("Browser created");
- mp.gui.chat.activate(false);
- mp.gui.cursor.show(true);
-});
-*/
mp.events.add('showLogin', (player) => {
- mp.gui.chat.push("show login");
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);
- player.outputChatBox("Erfolgreich registriert");
+ mp.gui.cursor.show(false);
+ mp.gui.cursor.visible = false;
+ mp.gui.chat.push("Erfolgreich registriert.");
});
diff --git a/Server/Events/Login.cs b/Server/Events/Login.cs
index c4db02ee..cf3362f2 100644
--- a/Server/Events/Login.cs
+++ b/Server/Events/Login.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
-using System.Security.Cryptography;
/**
* @overview Life of German Reallife - Event Login (Login.cs)
@@ -22,39 +21,19 @@ namespace reallife_gamemode.Server.Events
[Command("login")]
public void CmdLogin(Client player)
{
- player.Freeze(true);
player.TriggerEvent("showLogin",player);
}
[RemoteEvent("OnPlayerRegister")]
public void OnPlayerRegister(Client player, string password)
{
-
+
using (var loginContext = new Model.DatabaseContext())
{
- var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = ComputeSha256Hash(password) };
+ var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) };
loginContext.Users.Add(user);
loginContext.SaveChanges();
}
- NAPI.Chat.SendChatMessageToPlayer(player, "Registriert, GZ");
player.TriggerEvent("registerSuccess");
- }
-
- static string ComputeSha256Hash(string rawData)
- {
- // Create a SHA256
- using (SHA256 sha256Hash = SHA256.Create())
- {
- // ComputeHash - returns byte array
- byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));
-
- // Convert byte array to a string
- StringBuilder builder = new StringBuilder();
- for (int i = 0; i < bytes.Length; i++)
- {
- builder.Append(bytes[i].ToString("x2"));
- }
- return builder.ToString();
- }
- }
+ }
}
}
diff --git a/Server/Services/HashService.cs b/Server/Services/HashService.cs
deleted file mode 100644
index ae5c3a09..00000000
--- a/Server/Services/HashService.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Security.Cryptography;
-
-/**
-* @overview Life of German Reallife - Event Login (Login.cs)
-* @author VegaZ
-* @copyright (c) 2008 - 2018 Life of German
-*/
-
-namespace reallife_gamemode.Server.Services
-{
- class HashService
- {
-
- }
-}