First implementation #1

Closed
krombel wants to merge 22 commits from first_implementation into master
5 changed files with 45 additions and 39 deletions
Showing only changes of commit b8f8fc1f69 - Show all commits

View File

@@ -3,4 +3,4 @@ $homeserver = "example.com";
$access_token = "To be used for sending the registration notification"; $access_token = "To be used for sending the registration notification";
$register_room = '"$registerRoomID:example.com'; $register_room = '"$registerRoomID:example.com';
$registration_shared_secret = "To be used for actually register the user"; $registration_shared_secret = "To be used for actually register the user";
?> ?>

View File

@@ -2,8 +2,8 @@
$db_file = "db_file.sqlite"; $db_file = "db_file.sqlite";
// create database file when not existent yet // create database file when not existent yet
if (!file_exists($db_file)) { if (!file_exists($db_file)) {
$db = new PDO('sqlite:' . $db_file); $db = new PDO('sqlite:' . $db_file);
$db->exec("CREATE TABLE registrations( $db->exec("CREATE TABLE registrations(
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name TEXT, first_name TEXT,
@@ -14,16 +14,16 @@ if (!file_exists($db_file)) {
verify_token TEXT, verify_token TEXT,
request_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"); request_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");
} }
else { else {
// establish connection // establish connection
$db = new PDO('sqlite:' . $db_file); $db = new PDO('sqlite:' . $db_file);
$ins_stmt = $db->prepare("INSERT INTO registrations $ins_stmt = $db->prepare("INSERT INTO registrations
(first_name, last_name, note, email, username, verify_token) (first_name, last_name, note, email, username, verify_token)
VALUES (:first_name, :last_name, :note, :email, :username, :verify_token); VALUES (:first_name, :last_name, :note, :email, :username, :verify_token)");
} }
// set writeable when not set already // set writeable when not set already
if (!is_writable($db_file)) { if (!is_writable($db_file)) {
chmod($db_file, 0777); chmod($db_file, 0777);
} }
?> ?>

View File

@@ -1,13 +1,14 @@
<?php <?php
$language = array( $language = array(
"UNKNOWN_SESSION" => "Sitzungstoken nicht vorhanden oder ungültig.", "NO_CONFIGURATION" => "Es konnte keine Konfiguration gefunden werden.",
"UNKNOWN_USERNAME" => "Nutzername fehlt", "UNKNOWN_SESSION" => "Sitzungstoken nicht vorhanden oder ungültig.",
"USERNAME_LENGTH_INVALID" => "Entweder mehr als 20 oder weniger als 3 Zeichen für den Nutzernamen verwendet", "UNKNOWN_USERNAME" => "Nutzername fehlt",
"USERNAME_NOT_ALNUM" => "Nutzername ist nicht alphanumerisch", "USERNAME_LENGTH_INVALID" => "Entweder mehr als 20 oder weniger als 3 Zeichen für den Nutzernamen verwendet",
"PASSWORD_NOT_MATCH" => "Passwörter stimmen nicht überein", "USERNAME_NOT_ALNUM" => "Nutzername ist nicht alphanumerisch",
"NOTE_LENGTH_EXEEDED" => "Notiz ist länger als die erlaubten 50 Zeichen", "PASSWORD_NOT_MATCH" => "Passwörter stimmen nicht überein",
"EMAIL_INVALID_FORMAT" => "Keine valide E-Mail-Adresse angegeben", "NOTE_LENGTH_EXEEDED" => "Notiz ist länger als die erlaubten 50 Zeichen",
"FIRSTNAME_INVALID_FORMAT" => "Vorname hat ungültiges Format", "EMAIL_INVALID_FORMAT" => "Keine valide E-Mail-Adresse angegeben",
"SIRNAME_INVALID_FORMAT" => "Nachname hat ungültiges Format", "FIRSTNAME_INVALID_FORMAT" => "Vorname hat ungültiges Format",
"SIRNAME_INVALID_FORMAT" => "Nachname hat ungültiges Format",
); );
?> ?>

View File

@@ -1,5 +1,5 @@
<?php <?php
$lang = "en"; $lang = "de";
if(isset($_GET['lang'])){ if(isset($_GET['lang'])){
$lang = $_GET['lang']; $lang = $_GET['lang'];
} }

View File

@@ -1,8 +1,12 @@
<html> <html>
<head> <head>
<?php <?php
include config.php; require_once "../language.php";
include language.php; if (!file_exists("../config.php")) {
print($language["NO_CONFIGURATION"]);
exit();
}
require_once "../config.php";
// enforce admin via https // enforce admin via https
if (!isset($_SERVER['HTTPS'])) { if (!isset($_SERVER['HTTPS'])) {
@@ -161,27 +165,28 @@ body{
</div> </div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
var first_name = document.getElementById("first_name"); var first_name = document.getElementById("first_name");
first_name.oninvalid = function(event) { first_name.oninvalid = function(event) {
event.target.setCustomValidity("Vorname muss das Format <Großbuchstabe><Kleinbuchstaben> haben"); event.target.setCustomValidity("Vorname muss das Format <Großbuchstabe><Kleinbuchstaben> haben");
} }
first_name.onkeyup = function(event) { first_name.onkeyup = function(event) {
event.target.setCustomValidity(""); event.target.setCustomValidity("");
} }
var last_name = document.getElementById("last_name"); var last_name = document.getElementById("last_name");
last_name.oninvalid = function(event) { last_name.oninvalid = function(event) {
event.target.setCustomValidity("Nachname muss das Format <Großbuchstabe><Kleinbuchstaben> haben"); event.target.setCustomValidity("Nachname muss das Format <Großbuchstabe><Kleinbuchstaben> haben");
} }
last_name.onkeyup = function(event) { last_name.onkeyup = function(event) {
event.target.setCustomValidity(""); event.target.setCustomValidity("");
} }
var user_name = document.getElementById("username"); var user_name = document.getElementById("username");
user_name.oninvalid = function(event) { user_name.oninvalid = function(event) {
event.target.setCustomValidity("Nutzername darf zwischen 3 und 20 kleine Buchstaben und Zahlen enthalten"); event.target.setCustomValidity("Nutzername darf zwischen 3 und 20 kleine Buchstaben und Zahlen enthalten");
} }
user_name.onkeyup = function (event) { user_name.onkeyup = function (event) {
event.target.setCustomValidity(""); event.target.setCustomValidity("");
} }
</script> </script>
</body> </body>
</html> </html>
<?php } ?>