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); ?>