Плагин User Self-Registration обеспечивает форму регистрации для новых пользователей с созданием учетной записи, а также письма подтверждения регистрации пользователю и администратору сайта.
Скачиваем плагин register-0.9.4.war по адресу http://code.google.com/p/vosao/downloads/detail?name=register-0.9.4.war&can=2&q=.
В панели управления сайтом открываем Расширения | Конфигурация расширений, и с помощью кнопки Установка или Обновление устанавливаем плагин.
После установки в панели управления сайтом открываем страницу плагина Расширение для регистрации пользователей.
Во вкладке Конфигурация расширения:
В поле Адреса эл. почты администраторов (через запятую) указываем адрес администратора сайта, который будет фигурировать в качестве адреса отправителя в письме подтверждения пользователю и на который будет отослано письмо подтверждения для администратора.
При отмеченном флажке Отсылать письмо о подтверждении администратору администратору отправляется письмо для подтверждения регистрации пользователя.
При отмеченном флажке Отправлять подтверждение пользователю пользователю отправляется письмо для подтверждения регистрации.
В поле Период активации регистрации (в днях) указывается период ожидания подтверждения.
При отмеченном флажке Включить защиту от спама captcha на странице, содержащей форму регистрации, отображается капча.
В поле URL страницы подтверждения регистрации указывается адрес страницы, на которую переходят по ссылке из письма подтверждения регистрации.
Нажимаем кнопку Сохранить.
Для активации капчи в форме регистрации недостаточно отметить флажок Включить защиту от спама captcha. Необходимо также:
Посетить страницу сервиса http://www.google.com/recaptcha и получить публичный и приватный ключи сервиса reCaptcha.
В панели управления сайтом открыть Конфигурация | Настройки сайта и отметить флажок Разрешить использование reCaptcha на сайте, в полях Публичный ключ сервиса reCaptcha и Приватный ключ сервиса reCaptcha ввести полученные ключи, поле чего нажать кнопку Сохранить.
Для создания страницы подтверждения регистрации в панели управления сайтом откроем Контент и создадим страницу, на которой укажем:
Поздравляем, Вы успешно завершили свою регистрацию на сайте!
Для локализации плагина в его настройках откроем вкладку Шаблоны и изменим тексты формы регистрации и писем подтверждения, после чего нажмем кнопку Сохранить.
Для создания страницы регистрации пользователя в панели управления сайтом откроем Контент и создадим страницу, на которой укажем:
${plugin.register.renderForm()}
Ссылку на страницу регистрации разместим в шаблоне сайта.
Для создания формы входа пользователя на сайт, в шаблон сайта добавим следующий код:
<script src="/static/js/jquery.cookie.js" type="text/javascript"></script>
$(document).ready(function() {
if (jQuery.cookie('user')){
$('#user').empty();
$('#user').prepend('<h4 style="color:darkred;">Привет! '+jQuery.cookie('user')+'</h4><p><a id="logout" href="/_ah/logout">Выйти</a></p>');
$("#logout").click(function() {
jQuery.cookie('user', null);
});
}
});
<h3>Вход в аккаунт</h3>
<div id="user">
<div id="login-form">
<form>
<div>
<label style="color:darkred;">Email</label>
<input type="text" id="loginEmail" />
</div>
<div>
<label style="color:darkred;">Пароль</label>
<input type="password" id="loginPassword" />
</div>
<div id="login-messages"> </div>
<div>
<input style="color:darkred;" type="button" value="Отправить" onclick="onLogin()" />
</div>
</form>
</div>
<div style="clear:both"> </div>
<script type="text/javascript">
function onLogin() {
var email = $('#loginEmail').val();
var password = $('#loginPassword').val();
if (email == '') {
Vosao.errorMessage('#login-messages', 'Введите Email!');
}
else {
Vosao.jsonrpc.loginFrontService.login(function (r, e) {
if (Vosao.serviceFailed(e)) return;
if (r.result == 'success') {
jQuery.cookie('user', email);
document.location.href=document.location.href;
}
else {
$('#login-messages').html('<span style="color:red">' + r.message + '</span>');
}
}, email, password);
}
}
</script>
<h4 style="padding-left:5px;"><a href="/registration">Зарегистрироваться</a> </h4>
</div>