From ae83ea1404948ddcd4624beeb413f2a257e0b335 Mon Sep 17 00:00:00 2001 From: Krombel Date: Mon, 26 Mar 2018 23:13:26 +0200 Subject: [PATCH 1/3] further implementing of multilanguage --- config.sample.php | 3 ++ lang/lang.en-gb.php | 41 +++++++++++++++ lang/mail.de-de.php | 124 ++++++++++++++++++++++++++++++++++++++++++++ lang/mail.en-gb.php | 118 +++++++++++++++++++++++++++++++++++++++++ language.php | 6 ++- mail_templates.php | 113 ++++------------------------------------ 6 files changed, 300 insertions(+), 105 deletions(-) create mode 100644 lang/lang.en-gb.php create mode 100644 lang/mail.de-de.php create mode 100644 lang/mail.en-gb.php diff --git a/config.sample.php b/config.sample.php index 6028e67..8d8f1df 100644 --- a/config.sample.php +++ b/config.sample.php @@ -22,5 +22,8 @@ $config = [ // credentials for sqlite not used "databaseUser" => "dbUser123", "databasePass" => "secretPassword", + + // default language: one of [ en-gb | de-de ] + "defaultLanguage" => "en-gb" ] ?> diff --git a/lang/lang.en-gb.php b/lang/lang.en-gb.php new file mode 100644 index 0000000..e6e2b20 --- /dev/null +++ b/lang/lang.en-gb.php @@ -0,0 +1,41 @@ + "No configuration found", + "UNKNOWN_SESSION" => "Session token not found of invalid.", + "UNKNOWN_USERNAME" => "username unknown", + "UNKNOWN_TOKEN" => "Token is unknown", + "USERNAME_LENGTH_INVALID" => "Username cpnsists pf more than 20 or less than 3 characters", + "USERNAME_NOT_ALNUM" => "Username is not alphanumeric", + "USERNAME_PENDING_REGISTRATION" => "This username is locked for registration. Try again later or try again with a different username", + "USERNAME_REGISTERED" => "This username is already registered. Please try again with another username", + "PASSWORD_NOT_MATCH" => "passwords do not match", + "NOTE_LENGTH_EXEEDED" => "Note consists of more than 50 characters", + "EMAIL_INVALID_FORMAT" => "no valid email address", + "FIRSTNAME_INVALID_FORMAT" => "First name with invalid formatting", + "SIRNAME_INVALID_FORMAT" => "Sirname with invalid formatting", + "SEND_MAIL_FAIL" => "Email could not be sent", + "SEND_MATRIX_FAIL" => "Sending a message to the admins failed", + "REGISTRATION_REQUEST_FAILED" => "Registration request failed", + "REGISTRATION_FAILED" => "Registration failed", + "VERIFICATION_SUCEEDED" => "Verification suceeded", + "VERIFICATION_FAILED" => "Verification failed", + "VERIFICATION_SUCCESS_BODY" => "Thank you. The admins got informed", + "ADMIN_VERIFY_SITE_TITLE" => "Handle registration request", + "ADMIN_REGISTER_ACCEPTED_BODY" => "The registration request got accepted. The user got notified per email.", + "ADMIN_REGISTER_DECLINED_BODY" => "The registration request got declined. The user got notified per email.", +); +?> diff --git a/lang/mail.de-de.php b/lang/mail.de-de.php new file mode 100644 index 0000000..1e06948 --- /dev/null +++ b/lang/mail.de-de.php @@ -0,0 +1,124 @@ + diff --git a/lang/mail.en-gb.php b/lang/mail.en-gb.php new file mode 100644 index 0000000..af94c8d --- /dev/null +++ b/lang/mail.en-gb.php @@ -0,0 +1,118 @@ + diff --git a/language.php b/language.php index e7ef71c..843d89e 100644 --- a/language.php +++ b/language.php @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -$lang = "de-de"; +require_once("config.php"); +$lang=$config["defaultLanguage"]; + if(isset($_GET['lang'])){ $lang = filter_var($_GET['lang'], FILTER_SANITIZE_STRING); } $lang_file = dirname(__FILE__) . "/lang/lang.".$lang.".php"; if (!file_exists($lang_file)) { - error_log("Translation for " . $lang . " not found. Fallback to 'de-de'"); + error_log("Translation for '" . $lang . "' not found. Fallback to 'de-de'"); $lang = "de-de"; } require_once($lang_file); diff --git a/mail_templates.php b/mail_templates.php index 951d94c..1473799 100644 --- a/mail_templates.php +++ b/mail_templates.php @@ -13,109 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -function send_mail($receiver, $subject, $body) { - include("config.php"); - $headers = "From: " . $config["register_email"] . "\r\n" - . "Content-Type: text/plain;charset=utf-8"; - return mail($receiver, $subject, $body, $headers); +require_once("config.php"); +$lang=$config["defaultLanguage"]; +if(isset($_GET['lang'])){ + $lang = filter_var($_GET['lang'], FILTER_SANITIZE_STRING); } - -function send_mail_pending_verification($homeserver, $user, $receiver, $verify_url) { - $subject = "Bitte bestätige Registrierung auf $homeserver"; - $body = "Guten Tag " . $user . ", - -Du hast anscheinend versucht dich auf $homeserver zu registrieren. -Hier gibt es eine zweistufige Registrierung. - -Wir möchten dich bitten, dass du kurz bestätigst, dass du die Registrierung durchgeführt hast. -Gehe dafür auf folgenden Link: -$verify_url - -Erst anschließend werden die Administratoren über deine Registrierungsanfrage informiert. - -Hinweis: Du hast ca. 48 Stunden Zeit um die Bestätigung durchzuführen. -Danach ist eine Re-Registrierung mit deinem gewünschten Nutzernamen für andere wieder möglich. - -Vielen Dank für dein Verständnis. - -Das Administratoren-Team von " . $homeserver; - return send_mail($receiver, $subject, $body ); -} - -function send_mail_pending_approval($homeserver, $user, $receiver) { - $subject = "Registrierung wartet auf Bestätigung durch Administratoren"; - $body = "Guten Tag " . $user . ", - -Deine Registrierungsanfrage wurde verifiziert und wird nun durch die Administratoren überprüft. - -Du bekommst eine weitere E-Mail, sobald deine Registrierung bestätigt oder ablehnt wurde. - -Vielen Dank für dein Verständnis. - -Das Administratoren-Team von " . $homeserver; - return send_mail($receiver, $subject, $body ); -} - -function send_mail_registration_allowed_but_failed($homeserver, $user, $receiver) { - $subject = "Registrierung auf $homeserver genehmigt."; - $body = "Guten Tag " . $user . ", - -Deine Registrierungsanfrage wurde durch die Administratoren bestätigt. - -Leider ist beim Registrieren ein Fehler aufgetaucht. Der Registrierungversuch wird bald wiederholt. -Wir hoffen, das Problem ist bald behoben. -Wir melden uns, wenn die Registrierung erfolgreich war. - -Das Administratoren-Team von " . $homeserver; - return send_mail($receiver, $subject, $body); - -} - -function send_mail_registration_success($homeserver, $user, $receiver, $username, $password, $howToURL) { - $subject = "Registrierung auf $homeserver erfolgreich."; - $body = "Guten Tag " . $user . ", - -Deine Registrierungsanfrage wurde durch die Administratoren bestätigt. - -Zum Anmelden kannst du folgende Zugangsdaten verwenden: -Nutzername: $username -Passwort: $password - -Hinweis: Das Passwort kannst du aktuell über die App selbst ändern. Auch wenn das Passwort nirgends -im Klartext gespeichert wird, kann jemand Zugriff auf diese Mail erlangen und so den Zugriff bekommen. -"; -/* -Wichtig: Bitte ändere das Passwort direkt nach der Anmeldung. -Es wird zwar von unserer Seite nicht gespeichert, doch fremde könnten Zugriff auf diese E-Mail -erhalten und so deinen Account kompromittieren. - */ -if (!empty($howToURL)) { - $body .= " -Zu weiteren Hilfestellungen findest du hier eine Auflistung von verschiedenen -Anleitungen zu verschiedenen Clients: -$howToURL\n"; -} - $body .= " -Viel Spaß bei der Verwendung von $homeserver. -Bei Fragen findest du nach der Anmeldung ein paar Räume in denen du sie stellen kannst. - -Das Administratoren-Team von " . $homeserver; - return send_mail($receiver, $subject, $body); - -} -function send_mail_registration_decline($homeserver, $user, $receiver, $reason) { - $subject = "Registrierung auf $homeserver abgelehnt."; - $body = "Guten Tag " . $user . ", - -Deine Registrierungsanfrage wurde durch die Administratoren abgelehnt.\n"; - - if (empty($reason)) { - $body .= "\nEs wurde kein Grund angegeben\n"; - } else { - $body .= "\nAls Grund wurde folgendes angegeben:\n$reason\n"; - } - - $body .= "\nDas Administratoren-Team von " . $homeserver; - return send_mail($receiver, $subject, $body ); +$lang_file = dirname(__FILE__) . "/lang/mail.".$lang.".php"; +if (!file_exists($lang_file)) { + error_log("Mail templates for '" . $lang . "' not found. Fallback to 'de-de'"); + $lang = "de-de"; } +require_once($lang_file); +unset($lang_file); ?> -- 2.39.5 From 3882015836f684deb62b6b7236449e3aaa862267 Mon Sep 17 00:00:00 2001 From: Krombel Date: Sun, 15 Apr 2018 22:33:09 +0200 Subject: [PATCH 2/3] transform further strings --- lang/lang.de-de.php | 6 ++++++ lang/lang.en-gb.php | 6 ++++++ public/index.php | 12 ++++++------ public/verify.php | 4 ++-- public/verify_admin.php | 6 +++--- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lang/lang.de-de.php b/lang/lang.de-de.php index 3dd390b..b3a2735 100644 --- a/lang/lang.de-de.php +++ b/lang/lang.de-de.php @@ -15,7 +15,11 @@ * limitations under the License. */ $language = array( + "ACCEPT" => "Akzeptieren", + "DECLINE" => "Ablehnen", + "SUCCESS" => "Erfolgreich", "NO_CONFIGURATION" => "Es konnte keine Konfiguration gefunden werden.", + "UNKNOWN_ERROR" => "Unbekannter Fehler", "UNKNOWN_SESSION" => "Sitzungstoken nicht vorhanden oder ungültig.", "UNKNOWN_USERNAME" => "Nutzername fehlt", "UNKNOWN_TOKEN" => "Token ist unbekannt", @@ -30,6 +34,7 @@ $language = array( "SIRNAME_INVALID_FORMAT" => "Nachname hat ungültiges Format", "SEND_MAIL_FAIL" => "Senden der E-Mail fehlgeschlagen", "SEND_MATRIX_FAIL" => "Senden einer Nachricht an die Administratoren fehlgeschlagen", + "TASK_CHECK_YOUR_EMAIL_VERIFY" => "Bitte prüfe deine E-Mails um deine Adresse zu bestätigen", "REGISTRATION_REQUEST_FAILED" => "Registrierungsanfrage ist fehlgeschlagen", "REGISTRATION_FAILED" => "Registrierung ist fehlgeschlagen", "VERIFICATION_SUCEEDED" => "Verifizierung erfolgreich", @@ -38,5 +43,6 @@ $language = array( "ADMIN_VERIFY_SITE_TITLE" => "Registrierungsanfrage bearbeiten", "ADMIN_REGISTER_ACCEPTED_BODY" => "Die Registrierungsanfrage wurde akzeptiert. Der Nutzer wurde per Mail informiert.", "ADMIN_REGISTER_DECLINED_BODY" => "Die Registrierungsanfrage wurde angelehnt. Der Nutzer wurde per Mail informiert.", + "JUMP_TO_HOMEPAGE" => "Zur Startseite", ); ?> diff --git a/lang/lang.en-gb.php b/lang/lang.en-gb.php index e6e2b20..04f5b0d 100644 --- a/lang/lang.en-gb.php +++ b/lang/lang.en-gb.php @@ -14,7 +14,11 @@ * limitations under the License. */ $language = array( + "ACCEPT" => "Accept", + "DECLINE" => "Decline", + "SUCCESS" => "Success", "NO_CONFIGURATION" => "No configuration found", + "UNKNOWN_ERROR" => "Unknown Error", "UNKNOWN_SESSION" => "Session token not found of invalid.", "UNKNOWN_USERNAME" => "username unknown", "UNKNOWN_TOKEN" => "Token is unknown", @@ -29,6 +33,7 @@ $language = array( "SIRNAME_INVALID_FORMAT" => "Sirname with invalid formatting", "SEND_MAIL_FAIL" => "Email could not be sent", "SEND_MATRIX_FAIL" => "Sending a message to the admins failed", + "TASK_CHECK_YOUR_EMAIL_VERIFY" => "Please check your emails to verify your email address", "REGISTRATION_REQUEST_FAILED" => "Registration request failed", "REGISTRATION_FAILED" => "Registration failed", "VERIFICATION_SUCEEDED" => "Verification suceeded", @@ -37,5 +42,6 @@ $language = array( "ADMIN_VERIFY_SITE_TITLE" => "Handle registration request", "ADMIN_REGISTER_ACCEPTED_BODY" => "The registration request got accepted. The user got notified per email.", "ADMIN_REGISTER_DECLINED_BODY" => "The registration request got declined. The user got notified per email.", + "JUMP_TO_HOMEPAGE" => "To homepage", ); ?> diff --git a/public/index.php b/public/index.php index 269f26e..2eb1889 100644 --- a/public/index.php +++ b/public/index.php @@ -74,7 +74,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { if (!isset($res["verify_token"])) { error_log("sth. went wrong. registration did not throw but admin_token not set"); - throw Exception("Unknown Error"); + throw Exception("UNKNOWN_ERROR"); } $verify_token = $res["verify_token"]; @@ -86,11 +86,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $mx_db->setRegistrationStateVerify( ($success ? RegisterState::PendingEmailVerify : RegisterState::PendingEmailSend), $verify_token); - print("Erfolgreich"); + print("" . $language["SUCCESS"] . ""); print(""); - print("

Erfolgreich

"); - print("

Bitte überprüfe deine E-Mails um deine E-Mail-Adresse zu bestätigen.

"); - print("Zur Registrierungsseite"); + print("

" . $language["SUCCESS"] . "

"); + print("

" . $language["TASK_CHECK_YOUR_EMAIL_VERIFY"] . "

"); + print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } catch (Exception $e) { print("" . $language["REGISTRATION_REQUEST_FAILED"] . ""); print(""); @@ -100,7 +100,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { } else { print("

" . $e->getMessage() . "

"); } - print("Zur Registrierungsseite"); + print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } } else { $_SESSION["token"] = bin2hex(random_bytes(16)); diff --git a/public/verify.php b/public/verify.php index cedb9a7..1da639b 100644 --- a/public/verify.php +++ b/public/verify.php @@ -75,7 +75,7 @@ try { print(""); print("

" . $language["VERIFICATION_SUCEEDED"] . "

"); print("

" . $language["VERIFICATION_SUCCESS_BODY"] . "

"); - print("Zur Registrierungsseite"); + print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } catch (Exception $e) { print("" . $language["VERIFICATION_FAILED"] . ""); print(""); @@ -85,7 +85,7 @@ try { } else { print("

" . $e->getMessage() . "

"); } - print("Zur Registrierungsseite"); + print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } ?> diff --git a/public/verify_admin.php b/public/verify_admin.php index 99cdb76..15fa147 100644 --- a/public/verify_admin.php +++ b/public/verify_admin.php @@ -155,8 +155,8 @@ try { value="" disabled=true> - - + " class="btn btn-info btn-block"> + " class="btn btn-info btn-block"> @@ -177,7 +177,7 @@ try { } else { print("

" . $e->getMessage() . "

"); } - print("Zur Registrierungsseite"); + print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } ?> < /body> -- 2.39.5 From 2d7dffb426d73943595bfa4365e46d8db0eaf64a Mon Sep 17 00:00:00 2001 From: Krombel Date: Mon, 16 Apr 2018 14:07:33 +0200 Subject: [PATCH 3/3] finish translation --- lang/lang.de-de.php | 24 +++++++++++++++++++++--- lang/lang.en-gb.php | 19 +++++++++++++++++++ public/index.php | 37 ++++++++++++++++++------------------- public/verify.php | 18 ++++++++++++------ public/verify_admin.php | 2 +- 5 files changed, 71 insertions(+), 29 deletions(-) diff --git a/lang/lang.de-de.php b/lang/lang.de-de.php index b3a2735..ded1271 100644 --- a/lang/lang.de-de.php +++ b/lang/lang.de-de.php @@ -1,5 +1,4 @@ "Akzeptieren", "DECLINE" => "Ablehnen", "SUCCESS" => "Erfolgreich", + "FIRST_NAME" => "Vorname", + "LAST_NAME" => "Nachname", + "USERNAME" => "Nutzername (für den Login)", + "PASSWORD" => "Passwort", + "PASSWORD_CONFIRM" => "Passwort bestätigen", + "EMAIL_ADDRESS" => "E-Mail-Adresse", + "REGISTER" => "Registrieren", + "NOTE" => "Hinweis", "NO_CONFIGURATION" => "Es konnte keine Konfiguration gefunden werden.", "UNKNOWN_ERROR" => "Unbekannter Fehler", "UNKNOWN_SESSION" => "Sitzungstoken nicht vorhanden oder ungültig.", @@ -29,14 +36,16 @@ $language = array( "USERNAME_REGISTERED" => "Dieser Nutzername wurde bereits registriert. Bitte wähle einen anderen Nutzernamen", "PASSWORD_NOT_MATCH" => "Passwörter stimmen nicht überein", "NOTE_LENGTH_EXEEDED" => "Notiz ist länger als die erlaubten 50 Zeichen", + "PLACEHOLDER_NOTE_ABOUT_YOURSELF" => "Notiz zu dir (max. 50 Zeichen)", "EMAIL_INVALID_FORMAT" => "Keine valide E-Mail-Adresse angegeben", - "FIRSTNAME_INVALID_FORMAT" => "Vorname hat ungültiges Format", - "SIRNAME_INVALID_FORMAT" => "Nachname hat ungültiges Format", + "FIRSTNAME_INVALID_FORMAT" => "Vorname muss das Format haben", + "SIRNAME_INVALID_FORMAT" => "Nachname muss das Format haben", "SEND_MAIL_FAIL" => "Senden der E-Mail fehlgeschlagen", "SEND_MATRIX_FAIL" => "Senden einer Nachricht an die Administratoren fehlgeschlagen", "TASK_CHECK_YOUR_EMAIL_VERIFY" => "Bitte prüfe deine E-Mails um deine Adresse zu bestätigen", "REGISTRATION_REQUEST_FAILED" => "Registrierungsanfrage ist fehlgeschlagen", "REGISTRATION_FAILED" => "Registrierung ist fehlgeschlagen", + "REGISTRATION_FAILED_FOR" => "Registrierung für @user ist fehlgeschlagen", "VERIFICATION_SUCEEDED" => "Verifizierung erfolgreich", "VERIFICATION_FAILED" => "Verifizierung fehlgeschlagen", "VERIFICATION_SUCCESS_BODY" => "Vielen Dank. Die Administratoren wurden informiert", @@ -44,5 +53,14 @@ $language = array( "ADMIN_REGISTER_ACCEPTED_BODY" => "Die Registrierungsanfrage wurde akzeptiert. Der Nutzer wurde per Mail informiert.", "ADMIN_REGISTER_DECLINED_BODY" => "Die Registrierungsanfrage wurde angelehnt. Der Nutzer wurde per Mail informiert.", "JUMP_TO_HOMEPAGE" => "Zur Startseite", + "TOPIC_PLEASE_REGISTER" => "Bitte für @homeserver registrieren2-Schritt-Registrierung", + "NOTE_FOR_REGISTRATION" => "@homeserver ist ein geschlossenes Chat-Netzwerk in dem jeder Nutzer bestätigt werden muss.
+ Du bekommst eine E-Mail wenn jemand deine Mitgliedschaft bestätigt hat. An diese wird auch dein initiales Passwort gesendet. + Hinterlasse also bitte einen Hinweis zu dir (den nur die Administratoren sehen werden).
+ Liebe Grüße vom Team von @homeserver", + "MSG_USER_WANTS_REGISTER" => "@name möchte sich registrieren und hat folgende Notiz hinterlassen: + @note \r\nZum Bearbeiten hier klicken:\r\n @adminUrl", + "MSG_USER_WANTS_REGISTER_FORMATTED" => "@name möchte sich registrieren und hat folgende Notiz hinterlassen:
+ @note
Zum Bearbeiten hier klicken", ); ?> diff --git a/lang/lang.en-gb.php b/lang/lang.en-gb.php index 04f5b0d..281d569 100644 --- a/lang/lang.en-gb.php +++ b/lang/lang.en-gb.php @@ -17,6 +17,14 @@ $language = array( "ACCEPT" => "Accept", "DECLINE" => "Decline", "SUCCESS" => "Success", + "FIRST_NAME" => "First name", + "LAST_NAME" => "Last name", + "USERNAME" => "username (for login)", + "PASSWORD" => "Password", + "PASSWORD_CONFIRM" => "Confirm password", + "EMAIL_ADDRESS" => "EMail Address", + "REGISTER" => "Register", + "NOTE" => "Note", "NO_CONFIGURATION" => "No configuration found", "UNKNOWN_ERROR" => "Unknown Error", "UNKNOWN_SESSION" => "Session token not found of invalid.", @@ -28,6 +36,7 @@ $language = array( "USERNAME_REGISTERED" => "This username is already registered. Please try again with another username", "PASSWORD_NOT_MATCH" => "passwords do not match", "NOTE_LENGTH_EXEEDED" => "Note consists of more than 50 characters", + "PLACEHOLDER_NOTE_ABOUT_YOURSELF" => "Note about yourself (max. 50 characters)", "EMAIL_INVALID_FORMAT" => "no valid email address", "FIRSTNAME_INVALID_FORMAT" => "First name with invalid formatting", "SIRNAME_INVALID_FORMAT" => "Sirname with invalid formatting", @@ -36,6 +45,7 @@ $language = array( "TASK_CHECK_YOUR_EMAIL_VERIFY" => "Please check your emails to verify your email address", "REGISTRATION_REQUEST_FAILED" => "Registration request failed", "REGISTRATION_FAILED" => "Registration failed", + "REGISTRATION_FAILED_FOR" => "Registrierung für @user ist fehlgeschlagen", "VERIFICATION_SUCEEDED" => "Verification suceeded", "VERIFICATION_FAILED" => "Verification failed", "VERIFICATION_SUCCESS_BODY" => "Thank you. The admins got informed", @@ -43,5 +53,14 @@ $language = array( "ADMIN_REGISTER_ACCEPTED_BODY" => "The registration request got accepted. The user got notified per email.", "ADMIN_REGISTER_DECLINED_BODY" => "The registration request got declined. The user got notified per email.", "JUMP_TO_HOMEPAGE" => "To homepage", + "TOPIC_PLEASE_REGISTER" => "Please register for @homeserver2-Step-Registration", + "NOTE_FOR_REGISTRATION" => "@homeserver is a closed chat network where every user has to be confirmed.
+ You will get an email once sb. approved your registration. An initial password will be send to you afterwards. + Please leave a note about yourself (that will only be shown to the admins).
+ Greetings from the team of @homeserver", + "MSG_USER_WANTS_REGISTER" => "@name wants to register and left the following note: + @note \r\nTo handle that request:\r\n @adminUrl", + "MSG_USER_WANTS_REGISTER_FORMATTED" => "@name wants to register and left the following note:
+ @note
To handle that request click here", ); ?> diff --git a/public/index.php b/public/index.php index 2eb1889..12fac63 100644 --- a/public/index.php +++ b/public/index.php @@ -129,7 +129,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
-

Bitte für registrieren2-Schritt-Registrierung

+

$config["homeserver"] ]); ?>

@@ -137,53 +137,52 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ placeholder="" pattern="[A-Z][a-z]+">
+ placeholder="" pattern="[A-Z][a-z]+">
- + " required>
- + ">
+ placeholder="" pattern="[a-z1-9]{3,20}" required>
- + " required>
- + " required>
"> - + " class="btn btn-info btn-block"> -

Hinweis:
- ist ein geschlossenes Chat-Netzwerk in dem jeder Nutzer bestätigt werden muss.
- Du bekommst eine E-Mail wenn jemand deine Mitgliedschaft bestätigt hat. An diese wird auch dein initiales Passwort gesendet. - Hinterlasse also bitte einen Hinweis zu dir (der nur den entsprechenden Personen gezeigt wird).
- Liebe Grüße vom Team von -

+ " . $language["NOTE"] . ":
"; + echo strtr($language["NOTE_FOR_REGISTRATION"], [ "@homeserver" => $config["homeserver"] ]); + echo "

"; + } ?>
@@ -192,21 +191,21 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {