trim((string)($_POST['tenant_name'] ?? '')), 'tenant_slug' => trim((string)($_POST['tenant_slug'] ?? '')), 'display_name' => trim((string)($_POST['display_name'] ?? '')), 'email' => trim((string)($_POST['email'] ?? '')), 'customer_type' => (string)($_POST['customer_type'] ?? ''), ]; if ($_SERVER['REQUEST_METHOD'] === 'POST') { app_require_csrf(); if (!app_rate_limit_check($pdo, 'register_ip:' . app_client_ip(), 5, 3600)) { $errors = ['Zu viele Registrierungsversuche. Bitte versuche es später erneut.']; } else { $result = saas_register_tenant_owner($pdo, [ 'tenant_name' => $values['tenant_name'], 'tenant_slug' => $values['tenant_slug'], 'display_name' => $values['display_name'], 'email' => $values['email'], 'password' => (string)($_POST['password'] ?? ''), 'password_confirm' => (string)($_POST['password_confirm'] ?? ''), 'customer_type' => $values['customer_type'], 'accept_terms' => !empty($_POST['accept_terms']), 'acknowledge_privacy' => !empty($_POST['acknowledge_privacy']), 'accept_dpa' => !empty($_POST['accept_dpa']), ]); if ($result['ok']) { $contractMail = saas_send_registration_contract_mail( $values['email'], $values['tenant_name'], (string)$result['identity']['tenant_slug'], $values['customer_type'] ); $verificationMail = ['ok' => true]; if (!empty($result['email_verification_token'])) { $verificationMail = saas_send_email_verification_mail($values['email'], (string)$result['email_verification_token']); } // Betreiber-Push ueber die Neuanmeldung. Bewusst hier statt in // saas_register_tenant_owner(), damit die check-*-Skripte in // scripts/ keine Pushes ausloesen. Das Ergebnis wird nicht // ausgewertet: ein fehlgeschlagener Push darf die Registrierung // nie stoppen, er landet nur im PHP-Error-Log. pushover_notify_new_tenant( $values['tenant_name'], (string)$result['identity']['tenant_slug'], $values['email'], $values['customer_type'] ); saas_session_login($result['identity']); if (empty($contractMail['ok'])) { $_SESSION['saas_contract_mail_failed'] = true; } if (empty($verificationMail['ok'])) { $_SESSION['saas_verification_mail_failed'] = true; } if (saas_should_show_auth_links() && !empty($result['email_verification_token'])) { $_SESSION['saas_dev_email_verification_token'] = (string)$result['email_verification_token']; } header('Location: konto.php?registered=1'); exit; } $errors = $result['errors']; } } ?>
Lege kostenlos einen neuen Kundenbereich an. Das Angebot kann privat oder geschäftlich genutzt werden.