Skip to content

Commit 18ecac7

Browse files
committed
Added register without Minecraft server
1 parent 86ddb87 commit 18ecac7

File tree

8 files changed

+190
-12
lines changed

8 files changed

+190
-12
lines changed

admin.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,13 @@
195195
</div>
196196
<div class="flex-item">
197197
<?php
198+
migrate();
198199
if(isset($_POST["submit"])){
199200
setSetting("lang", $_POST["lang"]);
200201
setSetting("captcha", $_POST["captcha"]);
201202
setSetting("captcha_public", $_POST["captcha-public"]);
202203
setSetting("captcha_private", $_POST["captcha-secret"]);
204+
setSetting("mc_register", $_POST["mcregister"]);
203205
?>
204206
<div class="success">
205207
<?php echo SAVED; ?>
@@ -208,6 +210,7 @@
208210
}
209211
?>
210212
<h1><?php echo SETTINGS; ?></h1>
213+
<h3><?php echo LANGUAGE; ?></h3>
211214
<form action="admin.php" method="post">
212215
<select name="lang">
213216
<?php
@@ -224,6 +227,23 @@
224227
}
225228
?>
226229
</select>
230+
<h3><?php echo MC_REGISTER; ?></h3>
231+
<p><?php echo MC_REGISTER_DESC; ?></p>
232+
<select name="mcregister">
233+
<?php
234+
if(getSetting("mc_register") == "0"){
235+
?>
236+
<option value="0"><?php echo DISABLED; ?></option>
237+
<option value="1"><?php echo ENABLED; ?></option>
238+
<?php
239+
} else {
240+
?>
241+
<option value="1"><?php echo ENABLED; ?></option>
242+
<option value="0"><?php echo DISABLED; ?></option>
243+
<?php
244+
}
245+
?>
246+
</select>
227247
<h3>Captcha</h3>
228248
<select name="captcha">
229249
<?php

assets/languages/lang_de.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
define("SAVED", "Deine Änderungen wurden gespeichert.");
3535
define("CAPTCHA_PUBLIC_KEY", "Dein Webseitenschlüssel");
3636
define("CAPTCHA_PRIVATE_KEY", "Dein privater Schlüssel");
37+
define("LANGUAGE", "Sprache");
38+
define("MC_REGISTER", "Minecraft Registrierung");
39+
define("MC_REGISTER_DESC", "Wenn du diese Funktion aktivierst benötigst du das Minecraft Plugin damit Benutzer sich einen Account anlegen können.");
3740
//Addfaq.php
3841
define("FAQ_CREATE_HEADING", "Neuen FAQ Eintrag erstellen");
3942
define("ADD", "Hinzufügen");
@@ -78,10 +81,19 @@
7881
define("FIRSTLOGIN", "erster Login");
7982
//login.php
8083
define("PASSWORD", "Passwort");
84+
define("PASSWORD_AGAIN", "Passwort wiederholen");
8185
define("LOGIN_ERR", "Der Login ist fehlgeschlagen. Überprüfe deine Eingabe.");
8286
define("LOGIN_BTN", "Erstelle einen neuen Account");
8387
define("LOGIN_BTN_DESC", "<h3>Wie kann ich einen neuen Account erstellen?</h3>
8488
<p>Benutze auf dem Server den Befehl <strong>/ticket createacc Email Passwort</strong> um einen Account zu erstellen.</p>");
89+
//register.php
90+
define("REGISTER", "Registrieren");
91+
define("REGISTER_USER_ERR", "Dieser Benutzername ist bereits vergeben");
92+
define("REGISTER_EMAIL_ERR", "Diese Email ist bereits vergeben");
93+
define("REGISTER_PW_ERR", "Deine Passwörter stimmen nicht überein");
94+
define("REGISTER_OK", "Dein Account wurde erfolgreich erstellt");
95+
define("DISABLED_HEADER", "Fehler");
96+
define("DISABLED_MESSAGE", "Die manuelle Registierung wurde von einem Administrator deaktiviert. Bitte benutze den Befehl auf dem Minecraft Server um einen Account zu erstellen.");
8597
//editaccount.php
8698
define("SAVED_CHANGE", "Deine Änderungen wurden gespeichert.");
8799
define("EDIT_NO_PERMS", "Du kannst diesen Benutzer nicht verändern.");

assets/languages/lang_en.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
define("SAVED", "Your changes was saved.");
3535
define("CAPTCHA_PUBLIC_KEY", "Your website key");
3636
define("CAPTCHA_PRIVATE_KEY", "Your secret key");
37+
define("LANGUAGE", "Language");
38+
define("MC_REGISTER", "Minecraft Register");
39+
define("MC_REGISTER_DESC", "When you enable this function you need the Minecraft plugin that users can create a new account.");
3740
//Addfaq.php
3841
define("FAQ_CREATE_HEADING", "Create FAQ entry");
3942
define("ADD", "Add");
@@ -78,10 +81,19 @@
7881
define("FIRSTLOGIN", "First login");
7982
//login.php
8083
define("PASSWORD", "Password");
84+
define("PASSWORD_AGAIN", "Password again");
8185
define("LOGIN_ERR", "Login failed. Please check your entered username and password.");
8286
define("LOGIN_BTN", "Create a new account");
8387
define("LOGIN_BTN_DESC", "<h3>How I can create a account?</h3>
8488
<p>Use the command <strong>/ticket createacc Email Password</strong> on the Minecraft server to create a command.</p>");
89+
//register.php
90+
define("REGISTER", "Register");
91+
define("REGISTER_USER_ERR", "Sorry but this username is taken");
92+
define("REGISTER_EMAIL_ERR", "Sorry but this email is taken");
93+
define("REGISTER_PW_ERR", "Sorry but your passwords do not match");
94+
define("REGISTER_OK", "Your account was successfully created");
95+
define("DISABLED_HEADER", "Error");
96+
define("DISABLED_MESSAGE", "The manual registration was disabled by an admin. Please use the command at the Minecraft server to create an account.");
8597
//editaccount.php
8698
define("SAVED_CHANGE", "Your changes was successfully saved.");
8799
define("EDIT_NO_PERMS", "You can't edit this user.");

datamanager.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,5 +134,15 @@ function updateLogin($username){
134134
$now = time();
135135
$stmt->bindParam(":value", $now, PDO::PARAM_STR);
136136
$stmt->execute();
137+
}
138+
function migrate(){
139+
//Update 2.3
140+
require("mysql.php");
141+
$stmt = $mysql->prepare("SELECT * FROM settings WHERE NAME = mc_register");
142+
$stmt->execute();
143+
if($stmt->rowCount() == 0){
144+
$stmt = $mysql->prepare("INSERT INTO settings (NAME, VALUE) VALUES ('mc_register', '1')");
145+
$stmt->execute();
146+
}
137147
}
138148
?>

login.php

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -71,20 +71,30 @@
7171
<br>
7272
<hr>
7373
<br>
74-
<button class="btn" onclick="show()"><?php echo LOGIN_BTN; ?></button>
75-
<div id="create-acc" style="display: none;">
76-
<?php echo LOGIN_BTN_DESC; ?>
77-
</div>
78-
<script type="text/javascript">
79-
function show() {
80-
var x = document.getElementById("create-acc");
81-
if (x.style.display === "none") {
82-
x.style.display = "block";
83-
} else {
84-
x.style.display = "none";
74+
<?php
75+
if(getSetting("mc_register") == "0"){
76+
?>
77+
<a href="register.php"><button class="btn"><?php echo REGISTER; ?></button></a>
78+
<?php
79+
} else {
80+
?>
81+
<button class="btn" onclick="show()"><?php echo LOGIN_BTN; ?></button>
82+
<div id="create-acc" style="display: none;">
83+
<?php echo LOGIN_BTN_DESC; ?>
84+
</div>
85+
<script type="text/javascript">
86+
function show() {
87+
var x = document.getElementById("create-acc");
88+
if (x.style.display === "none") {
89+
x.style.display = "block";
90+
} else {
91+
x.style.display = "none";
92+
}
8593
}
94+
</script>
95+
<?php
8696
}
87-
</script>
97+
?>
8898
</div>
8999
</div>
90100
</body>

register.php

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?php
2+
if(!file_exists("mysql.php")){
3+
header("Location: setup/index.php");
4+
exit;
5+
}
6+
session_start();
7+
require("datamanager.php");
8+
require('assets/languages/lang_'.getSetting("lang").'.php');
9+
if(isset($_SESSION["username"])){
10+
?>
11+
<meta http-equiv="refresh" content="0; URL=index.php">
12+
<?php
13+
exit;
14+
}
15+
?>
16+
<!DOCTYPE html>
17+
<html lang="en" dir="ltr">
18+
<head>
19+
<meta charset="utf-8">
20+
<title><?php echo REGISTER; ?></title>
21+
<link rel="stylesheet" href="assets/css/main.css">
22+
<link href="https://fonts.googleapis.com/css?family=Quicksand&display=swap" rel="stylesheet">
23+
</head>
24+
<body>
25+
<div class="flex">
26+
<noscript>
27+
<h1>Please enable JavaScript!</h1>
28+
</noscript>
29+
<div class="flex-item login">
30+
<?php
31+
if(getSetting("mc_register") == "0"){
32+
if(isset($_POST["submit"])){
33+
require("mysql.php");
34+
$stmt = $mysql->prepare("SELECT * FROM accounts WHERE USERNAME = :user");
35+
$stmt->bindParam(":user", $_POST["username"], PDO::PARAM_STR);
36+
$stmt->execute();
37+
$count = $stmt->rowCount();
38+
if($count == 0){
39+
$stmt = $mysql->prepare("SELECT * FROM accounts WHERE EMAIL = :mail");
40+
$stmt->bindParam(":mail", $_POST["email"], PDO::PARAM_STR);
41+
$stmt->execute();
42+
$count = $stmt->rowCount();
43+
if($count == 0){
44+
if($_POST["pw"] == $_POST["pw2"]){
45+
$time = time();
46+
$stmt = $mysql->prepare("INSERT INTO accounts (USERNAME, EMAIL, PASSWORD, LASTLOGIN, FIRSTLOGIN, ACCOUNTRANK) VALUES (
47+
:user, :mail, :pw, :time, :time, 1
48+
)");
49+
$hash = password_hash($_POST["pw"], PASSWORD_BCRYPT);
50+
$stmt->execute(array(":user" => $_POST["username"], ":mail" => $_POST["email"], ":pw" => $hash, ":time" => $time));
51+
?>
52+
<div class="success">
53+
<?php echo REGISTER_OK; ?>
54+
</div>
55+
<?php
56+
} else {
57+
?>
58+
<div class="error">
59+
<?php echo REGISTER_PW_ERR; ?>
60+
</div>
61+
<?php
62+
}
63+
} else {
64+
?>
65+
<div class="error">
66+
<?php echo REGISTER_EMAIL_ERR; ?>
67+
</div>
68+
<?php
69+
}
70+
} else {
71+
?>
72+
<div class="error">
73+
<?php echo REGISTER_USER_ERR; ?>
74+
</div>
75+
<?php
76+
}
77+
}
78+
?>
79+
<h1><?php echo REGISTER; ?></h1>
80+
<form action="register.php" method="post">
81+
<input type="text" name="username" placeholder="<?php echo USERNAME; ?>" required><br>
82+
<input type="email" name="email" placeholder="Email" required><br>
83+
<input type="password" name="pw" placeholder="<?php echo PASSWORD; ?>" required><br>
84+
<input type="password" name="pw2" placeholder="<?php echo PASSWORD_AGAIN; ?>" required><br>
85+
<button type="submit" name="submit"><?php echo REGISTER; ?></button>
86+
</form>
87+
<br>
88+
<hr>
89+
<br>
90+
<a href="login.php"><button class="btn"><?php echo LOGIN; ?></button></a>
91+
<?php
92+
} else {
93+
?>
94+
<h1><?php echo DISABLED_HEADER; ?></h1>
95+
<p><?php echo DISABLED_MESSAGE; ?></p>
96+
<?php
97+
}
98+
?>
99+
</div>
100+
</div>
101+
</body>
102+
</html>

setup/step2.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,12 @@
9494
$settings2 = $mysql->prepare("INSERT INTO settings (NAME, VALUE) VALUES ('captcha', '0')");
9595
$settings3 = $mysql->prepare("INSERT INTO settings (NAME, VALUE) VALUES ('captcha_public', null)");
9696
$settings4 = $mysql->prepare("INSERT INTO settings (NAME, VALUE) VALUES ('captcha_private', null)");
97+
$settings5 = $mysql->prepare("INSERT INTO settings (NAME, VALUE) VALUES ('mc_register', '1')");
9798
$settings1->execute();
9899
$settings2->execute();
99100
$settings3->execute();
100101
$settings4->execute();
102+
$settings5->execute();
101103
$cat1 = $mysql->prepare("INSERT INTO categorys (NAME, STATUS) VALUES ('Question', 0)");
102104
$cat2 = $mysql->prepare("INSERT INTO categorys (NAME, STATUS) VALUES ('Report', 0)");
103105
$cat3 = $mysql->prepare("INSERT INTO categorys (NAME, STATUS) VALUES ('Bugreport', 0)");

setup/step3.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
setSetting("captcha", $_POST["captcha"]);
5151
setSetting("captcha_public", $_POST["captcha-public"]);
5252
setSetting("captcha_private", $_POST["captcha-secret"]);
53+
setSetting("mc_register", $_POST["mcregister"]);
5354
?>
5455
<meta http-equiv="refresh" content="0; URL=../index.php">
5556
<?php
@@ -73,11 +74,20 @@
7374
<div class="flex-item login">
7475
<h1>Setup</h1>
7576
<p>Now you can change the default settings.</p>
77+
<br>
78+
<hr>
79+
<h3>Language</h3>
7680
<form action="step3.php" method="post">
7781
<select name="lang">
7882
<option value="en">English</option>
7983
<option value="de">German (Deutsch)</option>
8084
</select>
85+
<h3>Minecraft Register</h3>
86+
<p>When you enable this function you need the Minecraft plugin that users can create a new account.</p>
87+
<select name="mcregister">
88+
<option value="1">Enabled</option>
89+
<option value="0">Disabled</option>
90+
</select>
8191
<h3>Captcha</h3>
8292
<select name="captcha">
8393
<option value="0">Disabled</option>

0 commit comments

Comments
 (0)