add mail_templates and prepare cron.php
This commit is contained in:
50
cron.php
Normal file
50
cron.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
// This file is meant to do tasks that failed on the first attempt
|
||||||
|
|
||||||
|
|
||||||
|
$sql = "SELECT first_name, last_name, username, email, state FROM registrations WHERE admin_token = '" . $token
|
||||||
|
. "' AND state = " . RegisterState::PendingAdminVerify . " LIMIT 1;";
|
||||||
|
foreach ($db->query($sql) as $row) {
|
||||||
|
// will only be executed once
|
||||||
|
$first_name = $row["first_name"];
|
||||||
|
$last_name = $row["last_name"];
|
||||||
|
$username = $row["username"];
|
||||||
|
$email = $row["email"];
|
||||||
|
$state = $row["state"];
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
switch ($state) {
|
||||||
|
case RegisterState::RegistrationAccepted:
|
||||||
|
// Registration got accepted but registration failed
|
||||||
|
|
||||||
|
// register user
|
||||||
|
require_once("MatrixConnection.php");
|
||||||
|
$mxConn = new MatrixConnection($homeserver, $access_token);
|
||||||
|
|
||||||
|
// generate a password with 8 characters
|
||||||
|
$password = bin2hex(openssl_random_pseudo_bytes(4));
|
||||||
|
|
||||||
|
$res = $mxConn->register($username, $password, $shared_secret);
|
||||||
|
if ($res) {
|
||||||
|
// send registration_success
|
||||||
|
send_mail_registration_success($homeserver, $first_name . " " . $last_name, $email, $username, $password, $howToURL);
|
||||||
|
} else {
|
||||||
|
send_mail_registration_allowed_but_failed($homeserver, $first_name . " " . $last_name, $email);
|
||||||
|
$mxMsg = new MatrixMessage();
|
||||||
|
$mxMsg->set_type("m.text");
|
||||||
|
$mxMsg->set_body("Fehler beim Registrieren von " . $first_name . " " . $last_name . ".");
|
||||||
|
$mxConn->send($mxMsg);
|
||||||
|
throw new Exception($language["REGISTRATION_FAILED"]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RegisterState::RegistrationDeclined:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
print("Error while handling cron for " . $first_name . " " . $last_name . " (" . $username . ")");
|
||||||
|
print($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
90
mail_templates.php
Normal file
90
mail_templates.php
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
function send_mail($receiver, $subject, $body) {
|
||||||
|
$headers = "From: registration@cg-s.tk\r\n"
|
||||||
|
. "Content-Type: text/plain;charset=utf-8";
|
||||||
|
return mail($receiver, $subject, $body, $headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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 E-Mail auf diese Adresse sobald sie die Registrierung bestätigen oder ablehnen.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Zu weiteren Hilfestellungen findest du hier eine Auflistung von verschiedenen
|
||||||
|
Anleitungen zu verschiedenen Clients:
|
||||||
|
$howToURL
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Als Grund wurde folgendes angegeben:
|
||||||
|
$reason
|
||||||
|
|
||||||
|
Das Administratoren-Team von " . $homeserver;
|
||||||
|
return send_mail($receiver, $subject, $body );
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
Reference in New Issue
Block a user