<?php
$SiteUsers = & singleton('SiteUsers');
/* XSL шаблоны */
$xsl_letter = to_str($GLOBALS['LA']['xsl_letter']);
$xsl_registration = to_str($GLOBALS['LA']['xsl_registration']);
if (class_exists("Maillist"))
{
$maillist = new Maillist();
}
/* Идентификатор текущего пользователя */
$site_users_id = $SiteUsers->GetCurrentSiteUser();
/* Если пользователь авторизирован, то показываем ему его анкетные данные, иначе страницу регистрации */
if ($site_users_id)
{
$title = 'Анкетные данные';
/* удаление значения дополнительного свойства типа "файл" */
if (isset($_GET['delete_value_property']))
{
$SiteUsers->SetValueExtraProperty($site_users_id, '',
array('id' => to_int($_GET['delete_value_property']),
'delete' => true));
}
}
else
{
$title = 'Регистрация нового пользователя';
}
// Добавляем/редактируем информацию о пользователе
if (isset($_POST['add_user']))
{
/* пароль необязателен при обновлении данных о пользователе */
if (isset($_POST['site_users_login']) &&
($site_users_id > 0 || isset($_POST['site_users_password']) && strlen($_POST['site_users_password']) > 0)
&& isset($_POST['site_users_email'])
&& isset($_POST['site_users_password_retry'])
&& strpos($_POST['site_users_login'], 'http://') === false // Логин не начинается с http://
)
{
if (to_str($_POST['site_users_password']) == to_str($_POST['site_users_password_retry']))
{
$param['site_users_login'] = to_str($_POST['site_users_login']);
$param['site_users_password'] = to_str($_POST['site_users_password']);
$param['site_users_email'] = to_str($_POST['site_users_email']);
$param['site_users_name'] = to_str($_POST['site_users_name']);
$param['site_users_surname'] = to_str($_POST['site_users_surname']);
$param['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$param['site_users_phone'] = to_str($_POST['site_users_phone']);
$param['site_users_fax'] = to_str($_POST['site_users_fax']);
$param['site_users_site'] = to_str($_POST['site_users_site']);
$param['site_users_icq'] = to_str($_POST['site_users_icq']);
$param['site_users_country'] = to_str($_POST['site_users_country']);
$param['site_users_postcode'] = to_str($_POST['site_users_postcode']);
$param['site_users_city'] = to_str($_POST['site_users_city']);
$param['site_users_address'] = to_str($_POST['site_users_address']);
$param['site_users_company'] = to_str($_POST['site_users_company']);
/* если пользователь авторизован */
if ($site_users_id)
{
$param['site_users_confirmation'] = 1;
/* обновляем данные о пользователе */
$result = $SiteUsers->UpdateSiteUser($site_users_id, $param);
if ($result > 0)
{
?>
<h1>Ваши анкетные данные успешно изменены</h1>
<p>Если Ваш браузер поддерживает автоматическое перенаправление через 5 секунд Вы перейдете в <a href="../">кабинет пользователя</a>. Если Вы не хотите ждать перейдите по соответствующей ссылке.</p>
<script language="JavaScript" type="text/javascript">
<!--
function set_location()
{
location="../";
}
setTimeout('set_location()', 5000);
//-->
</script>
<?php
}
}
else
{
/* Начинаем проверку кода подтверждения */
$Captcha = new Captcha();
/* Если неправильно введен код подтверждения */
if (!$Captcha->ValidCaptcha(to_str($_POST['captcha_key']),to_str($_POST['captcha_keystring'])))
{
$result = -5; /* Неправильно введен код подтверждения */
}
else
{
/* Группа по умолчанию */
$param['site_users_group_id'] = $SiteUsers->GetDefaultGroup();
$param['xslname'] = $xsl_letter;
// добавляем пользователя
$result = $SiteUsers->InsertSiteUser($param);
if ($result > 0)
{
// Проверяем куки пользователя на предмет наличия в них логина аффилиата
if (isset($_COOKIE['affiliate_name']))
{
$affiliate = new affiliate();
$affiliate_login = quote_smart($_COOKIE['affiliate_name']);
$affiliate_row = $SiteUsers->GetSiteUserByLogin($affiliate_login);
if ($affiliate_row)
{
$affiliate_id = $affiliate_row['site_users_id'];
// Проводим вставку пользователя аффилиата
$affiliate->InsertAffiliate(array('site_users_id' => $result, 'affiliate_plans_id' => 0, 'affiliate_site_users_id' => $affiliate_id, 'affiliate_active' => 1));
}
}
?>
<h1>Спасибо за регистрацию</h1>
<p>Для продолжения работы необходимо подтвердить регистрацию Ваших данных.
В Ваш адрес отправлено письмо, содержащее ссылку для подтверждения регистрации.</p>
<p>Если Ваш браузер поддерживает автоматическое перенаправление через 10 секунд Вы перейдете на страницу <a href="../">идентификации пользователя</a>. Если Вы не хотите ждать перейдите по соответствующей ссылке.</p>
<script language="JavaScript" type="text/javascript">
<!--
function set_location()
{
location="../";
}
setTimeout('set_location()', 10000);
//-->
</script>
<?php
// Обрабатываем подписку пользователя
if (class_exists("Maillist"))
{
$maillist->RenewMaillist($result, $_POST);
}
}
}
}
/* Обновление/вставка прошли успешно */
if ($result > 0)
{
/* Обновляем значения дополнительных свойств */
$property_list = $SiteUsers->GetListExtraProperties($result);
foreach ($property_list as $key => $value)
{
if (isset($_FILES[$value['site_users_extra_property_name']]))
{
$SiteUsers->SetValueExtraProperty($result, $_FILES[$value['site_users_extra_property_name']], array('id' => $value['site_users_extra_property_id']));
}
elseif ($value['site_users_extra_property_type'] != 'hidden')
{
$SiteUsers->SetValueExtraProperty($result, to_str($_POST[$value['site_users_extra_property_name']]), array('id' => $value['site_users_extra_property_id']));
}
}
}
else
{
/*
Таблица значений $result
-5 -- Неправильно введен код подтверждения
-3 -- Пользователь с таким логином зарегистрирован ранее
-2 -- Пользователь с таким e-mail зарегистрирован ранее
-1 -- Введен некорректный e-mail
*/
$SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration, array('error' => $result, 'page_title' => $title));
}
}
else
{
$error = -6; // Неверно введен повтор пароля
$SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration, array('error' => $error, 'page_title' => $title));
}
}
else
{
$error = -4; // Пожалуйста, задайте все обязательные параметры.
$SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration,
array('error' => $error, 'page_title' => $title));
}
}
else
{
// выводим форму регистрации
$SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration, array('page_title' => $title));
}
?>
куда?)))