Source for file Register.class.php
Documentation is available at Register.class.php
* Содержит класс Register
* @copyright Energine 2006
//require_once('core/modules/share/components/DBDataSet.class.php');
//require_once('core/framework/User.class.php');
//require_once('core/framework/Mail.class.php');
* @param Document $document
public function __construct($name, $module, Document $document, array $params = null) {
parent::__construct($name, $module, $document, $params);
* Переопределен параметр active
* Вызывается AJAXом при заполнении формы регистрации
protected function check(){
if($_SESSION['captchaChecked'] = $result = (
($_SESSION['captchaCode'] == sha1($_POST['captcha']))
$login = trim($_POST['login']);
array('COUNT(u_id) as number'),
array('u_name' => $login)
$message = ($result)? $this->translate('TXT_LOGIN_AVAILABLE'): $this->translate('TXT_LOGIN_ENGAGED');
$message = $this->translate('TXT_BAD_CAPTCHA');
$this->response->setHeader('Content-Type', 'text/javascript; charset=utf-8');
* Обработка возможных ошибок сохранения + редирект на страницу результата
protected function save() {
$_SESSION['saved'] = true;
$this->response->redirectToCurrentSection('success/');
$mailer->setSubject($this->translate('TXT_SUBJ_REGISTER'));
'login' => $this->user->getValue('u_name'),
'name' => $this->user->getValue('u_fullname'),
$mailer->addTo($this->user->getValue('u_name'));
catch (Exception $error) {
* Получает список доступных полей из таблицы пользователей и генерит форму
//u_id и u_is_active нам не нужны ни при каких раскладах
//Тут таки нужно вернуться к параметру confirmationNeeded
* Выводит результат регистрации.
//если в сессии нет переменной saved значит этот метод пытаются вызвать напрямую. Не выйдет!
if (!isset ($_SESSION['saved'])) {
//unset($_SESSION['saved']);
if ($textBlock = $this->document->componentManager->getComponentByName('RegTextBlock')) {
$dataDescription->addFieldDescription($ddi);
$di = new Field('success_message');
|