register_new_matrix_user aktiviert, mangels synapse noch ungetestet

This commit is contained in:
bernd 2021-03-03 14:37:42 +01:00
parent f57612c00f
commit e6140b3b20

View file

@ -38,13 +38,15 @@ class Registrator extends BaseClass {
return false;
}
$this->log->d("Validation started for token: {$_GET['token']}");
$this->log->n("Validation started for token: {$_GET['token']}");
if ($this->checkToken() === true) {
if ($this->generateToken(32) === true) {
if ($this->generateToken(24) === true) {
if ($this->registerMXID($this->token) === true) {
$message = "Your temporary password is {$this->token}. Please
immediately change your password!";
if ($this->removeRequest() === true) {
$nick = htmlspecialchars($this->dataSet[0]['nick']);
$message = "We have successfull registered your
account. Your temporary password is:<br/>{$this->token}
<br/>Please immediately change your password!";
return true;
}
}
@ -71,7 +73,7 @@ class Registrator extends BaseClass {
$count = count($this->dataSet);
if ($count === 0) {
$this->log->d("Token {$_GET['token']} not found in database");
$this->log->e("Token {$_GET['token']} not found in database");
} else if ($count > 1) {
$this->log->e("Error: More than one token found");
} else {
@ -84,14 +86,25 @@ class Registrator extends BaseClass {
private function registerMXID(string $tmp_passwd): bool {
/**
* Registriert den Nutzer am Matrixserver. Dazu wird ein zufälliger
* String erzeugt und zusammen mit dem Nick ein CLI Tool aus dem Paket
* Paket von matrix-synapse aufgerufen.
* Registriert den Nutzer am Matrixserver. Dazu bekommt die Funktion
* einen zufällig erzeugten String als vorläufiges Passwort
* übergeben. Dieser wird zusammen mit dem Nick aus der Datenbank an
* den Befehl 'register_new_matrix_user' übergeben.
*/
// $cmd = "register_new_matrix_user -u {$this->dataSet[0]['nick']} -p {$tmp_pass}";
// $response = system($cmd);
return true;
$response = null;
$output = null;
$nick = escapeshellarg($this->dataSet[0]['nick']);
$pass = escapeshellarg($tmp_passwd);
$cmd = "register_new_matrix_user -u " . $nick . " -p " . $pass;
exec($cmd, $output, $response);
if ($response === 1) {
$this->log->n("Account for '{$nick}' successfull registered");
return true;
} else {
$this->log->e("Failed to register account for {$nick}");
}
return false;
}
private function removeRequest(): bool {
@ -109,6 +122,7 @@ class Registrator extends BaseClass {
$this->log->e("Error: {$e->getMessage()}");
return false;
}
$this->log->n("Request for {$nick} ($token) successfull removed");
return true;
}