コード例 #1
0
require_once SettingsManager::getInstance()->getMainDir() . '/classes/Captcha.php';
if (isset($_GET['action'])) {
    if ($_GET['action'] == 'doregister') {
        $_POST['serverid'] = intval($_POST['serverid']);
        if (!isset($_POST['serverid']) || empty($_POST['serverid'])) {
            // no Server specified
            MessageManager::addWarning(tr('register_fail_noserver'));
        } elseif (!isset($_POST['name']) || empty($_POST['name'])) {
            MessageManager::addWarning(tr('register_fail_noNameFound'));
        } elseif (!isset($_POST['password']) || empty($_POST['password']) || !isset($_POST['password2']) || empty($_POST['password2'])) {
            echo tr('register_fail_noPasswordFound');
        } elseif ($_POST['password'] != $_POST['password2']) {
            MessageManager::addWarning(tr('register_fail_passwordMatch'));
        } elseif (SettingsManager::getInstance()->isForceEmail($_POST['serverid']) && empty($_POST['email'])) {
            MessageManager::addWarning(tr('register_fail_noEmail'));
        } elseif (!empty($_POST['email']) && !HelperFunctions::isValidEmail($_POST['email'])) {
            MessageManager::addWarning(tr('register_fail_emailinvalid'));
        } elseif (SettingsManager::getInstance()->isUseCaptcha() && !Captcha::cap_isCorrect($_POST['spamcheck'])) {
            MessageManager::addWarning(tr('register_fail_wrongCaptcha'));
        }
        // Everything ok, check if auth by mail
        if (SettingsManager::getInstance()->isAuthByMail($_POST['serverid'])) {
            // create Auth by mail (send activation mail)
            // Add unactivated account and send mail
            if (ServerInterface::getInstance()->getServer(intval($_POST['serverid'])) != null) {
                // Server does exist
                DBManager::getInstance()->addAwaitingAccount($_POST['serverid'], $_POST['name'], $_POST['password'], $_POST['email']);
                echo tr('register_success_toActivate');
                Logger::log_registration($_POST['name']);
            } else {
                // Server does not exist, add warning