示例#1
0
文件: data.php 项目: Nazg-Gul/gate
        return false;
    }
    return user_create_received(false);
}
$f = new CVCForm();
$f->Init('', 'action=.?action\\=register' . ($redirect != '' ? '&redirect\\=' . prepare_arg($redirect) : '') . ';method=POST;add_check_func=check;caption=Зарегистрироваться;backlink=' . prepare_arg($redirect));
$rn = new CVCCaptcha();
$rn->Init();
// Fields
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Код с картинки</td><td style="padding: 0 2px;"><div>' . $rn->OuterHTML() . '</div><input type="text" class="txt block" name="keystring" value=""></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Ваше имя</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="name" name="name" value="' . htmlspecialchars(stripslashes($name)) . '"></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Логин</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="login" name="login" value="' . htmlspecialchars(stripslashes($login)) . '"></td></tr>' . '</table>' . '<button class="block" type="button" onclick="check_login ();" style="margin-top: 4px;">Проверить</button>' . '<div id="login_check_res" style="display: none;"></div>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Пароль</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd" name="passwd" onkeyup="check_passwd ();" onchange="check_passwd ();"></td></tr>' . '<tr><td>Подтверждение</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd_confirm" name="passwd_confirm"  onkeyup="check_passwd ();" onchange="check_passwd ();"><div id="passwd_msg"></div></td></tr>' . '</table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">E-Mail</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="email" name="email" value="' . htmlspecialchars(stripslashes($email)) . '"></td></tr></table>' . '<button class="block" type="button" onclick="check_frm_email ();" style="margin-top: 4px;">Проверить</button>' . '<div id="email_check_res" style="display: none;"></div>'));
$f->AppendCUstomField(array('src' => '<center><input type="checkbox" class="cb" value="1" name="agree" id="agree">Я согласен с <a href="' . config_get('document-root') . '/articles/rules" target="blank">правилами</a> этого ресурса</center>'));
if ($action == 'register') {
    if (!register()) {
        formo('title=Форма регистрации пользователя');
        $f->Draw();
        formc();
    } else {
        $id = user_id_by_login(stripslashes($login));
        $reglink = config_get('http-document-root') . '/login/registration/confirm/?id=' . $id . '&hash=' . md5(stripslashes($login) . '##VERY_RANDOM_SEED##' . stripslashes($email) . '##' . $id);
        sendmail_tpl(stripslashes($email), 'Регистрация в системе ' . config_get('site-name'), 'registration', array('login' => stripslashes($login), 'passwd' => stripslashes($passwd), 'reglink' => $reglink));
        add_info('Новый пользователь был успешно добавлен в базу, но в данный момент он неактивирован и вход в систему от его имени пока невозможен.' . 'Письмо с подробной информации об активации пользователя было выслано по электронному адресу ' . $email . ($redirect != '' ? '<br><br><a href="' . htmlspecialchars($redirect) . '">Вернуться в предыдущий раздел</a>' : ''));
    }
} else {
    formo('title=Форма регистрации пользователя');
    $f->Draw();
    formc();
}
示例#2
0
文件: data.php 项目: Nazg-Gul/gate
function send()
{
    global $keystring, $login, $email;
    $hash = md5('#RANDOM_PREFIX#' . mtime() . '#RANDOM_SEPARATOR#' . $login . '#WITH#' . $email . '#RANDOM_SUFFIX#');
    if ($_SESSION['CAPTCHA_Keystring'] == '' || strtolower($keystring) != $_SESSION['CAPTCHA_Keystring']) {
        add_info('Вы не прошли тест Тьюринга на подтверждение того, что вы не бот.');
        return false;
    }
    $r = db_row_value('user', "(`login` =\"{$login}\") AND (`email`=\"{$email}\") AND (`authorized`=1)");
    if ($r['id'] == '') {
        add_info('Неверное сочетание login <-> email');
        return false;
    }
    $s = unserialize($r['settings']);
    if ($s['restore_timestamp'] && time() - $s['restore_timestamp'] < config_get('restore-timeout')) {
        add_info('Вы не можете просить восстановку пароля так часто');
        return false;
    }
    $s['restore_hash'] = $hash;
    $s['restore_timestamp'] = time();
    db_update('user', array('settings' => db_string(serialize($s))), '`id`=' . $r['id']);
    $link = config_get('http-document-root') . '/login/restore/confirm/?id=' . $r['id'] . '&hash=' . $hash;
    sendmail_tpl(stripslashes($email), 'Восстановление пароля в системе ' . config_get('site-name'), 'restore', array('login' => stripslashes($login), 'email' => stripslashes($email), 'link' => $link));
    return true;
}