<?php 
$error='';

$SiteUsers = & singleton('SiteUsers');

/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_chamber = to_str($GLOBALS['LA']['xsl_chamber']);

/* Получаем идентификатор текущего пользователя */
$user_id = $SiteUsers->GetCurrentSiteUser();

/* Переходим в кабинет пользователя, если user авторизирован */
if ($user_id > 0)
{
	if (isset($_POST['apply']))
	{
		$path = './';

		/* Если user логинился с форума, то вернется на ту же страницу с которой логинился,
		в противном случае попадёт в кабинет пользователя */
		$forums_conference_id = to_int($_POST['conference_id']);
		if ($forums_conference_id > 0)
		{
			$forum = new Forums();
			$path = $forum->GetConferencePath($forums_conference_id);

			$forums_id = to_int($_POST['forums_id']);
			if ($forums_id > 0)
			{
				$path .= "$forums_id/";

				$current_page = to_int($_POST['current_page']);
				if ($current_page > 1)
				{
					$path .=  "page-$current_page/";
				}

				$theme_id = to_int($_POST['theme_id']);
				if ($theme_id > 0)
				{
					$path .= "$theme_id/";

					$current_page_message = to_int($_POST['current_page_message']);
					if ($current_page_message > 1)
					{
						$path .= "page-$current_page_message/";
					}
				}
			}
		}

	    ?>
		<h1>Добро пожаловать!</h1>
		<p>Вы можете продоложить работу в <b><a href='./'>кабинете пользователя</a></b> <?php if ($path!='./'){echo "или вернуться в <b><a href='$path'>форум</a></b>";}?>.
		<br>
		Если Ваш браузер поддерживает автоматическое перенаправление через 5 секунд Вы <?php if ($path!='./'){echo "вернетесь в форум";}else{echo "перейдете в кабинет пользователя";}?>. Если Вы не хотите ждать перейдите по соответствующей ссылке.</p>
		
		<script language="JavaScript" type="text/javascript">
		<!--
		function set_location()
		{
			location="<?php echo $path;?>";
		}
		setTimeout('set_location()', 5000);
		//-->
		</script>
		<?php 
	}
	else
	{
		/* Формируем список меню кабинета */
		$external_propertys[$i = 0]['xml_name']='link';
		$external_propertys[$i]['value']=array(
		0 => array('xml_name' => 'link_address',
		'value' =>'registration/'),
		1 => array('xml_name' => 'link_name',
		'value' =>'Личная информация'),
		2 => array('xml_name' => 'link_url_image',
		'value' =>'/images/user_info.gif'));

		if (class_exists("Maillist"))
		{
			$external_propertys[++$i]['xml_name']='link';
			$external_propertys[$i]['value']=array(
			0 => array('xml_name' => 'link_address',
			'value' =>'maillist/'),
			1 => array('xml_name' => 'link_name',
			'value' =>'Рассылки'),
			2 => array('xml_name' => 'link_url_image',
			'value' =>'/images/maillist.gif'));
		}

		if (class_exists('shop'))
		{
			$external_propertys[++$i]['xml_name']='link';
			$external_propertys[$i]['value']=array(
			0 => array('xml_name' => 'link_address',
			'value' =>'order/'),
			1 => array('xml_name' => 'link_name',
			'value' =>'Мои заказы'),
			2 => array('xml_name' => 'link_url_image',
			'value' =>'/images/my_orders.gif'));

			$affiliate = new affiliate();

			// Получим идентификаторы групп пользователей, в которой состоит текущий пользователь
			$site_users_groups_row = $SiteUsers->GetGroupsForUser($user_id);

			// Проверим, есть ли для текущей группы пользователей сайта доступные партнерские программы
			$affiliate_res = $affiliate->GetAllAffiliatePlans($site_users_groups_row);

			if ($affiliate_res && mysql_num_rows($affiliate_res) > 0)
			{
				$external_propertys[++$i]['xml_name']='link';
				$external_propertys[$i]['value']=array(
				0 => array('xml_name' => 'link_address',
				'value' =>'affiliats/'),
				1 => array('xml_name' => 'link_name',
				'value' =>'Партнерские программы'),
				2 => array('xml_name' => 'link_url_image',
				'value' =>'/images/partner_program.gif'));
			}
		}

		if (class_exists('SiteUsers'))
		{
			$external_propertys[++$i]['xml_name']='link';
			$external_propertys[$i]['value']=array(
			0 => array('xml_name' => 'link_address',
			'value' =>'account/'),
			1 => array('xml_name' => 'link_name',
			'value' =>'Лицевой счет'),
			2 => array('xml_name' => 'link_url_image',
			'value' =>'/images/user_bill.gif'));
		}

		if (class_exists('helpdesk'))
		{
			$external_propertys[++$i]['xml_name']='link';
			$external_propertys[$i]['value']=array(
			0 => array('xml_name' => 'link_address',
			'value' =>'helpdesk/'),
			1 => array('xml_name' => 'link_name',
			'value' =>'Служба техподдержки'),
			2 => array('xml_name' => 'link_url_image',
			'value' =>'/images/help.gif'));
		}

		if (class_exists('shop'))
		{
			$external_propertys[++$i]['xml_name']='link';
			$external_propertys[$i]['value']=array(
			0 => array('xml_name' => 'link_address',
			'value' =>'my_advertisement/'),
			1 => array('xml_name' => 'link_name',
			'value' =>'Мои объявления'),
			2 => array('xml_name' => 'link_url_image',
			'value' =>'/images/bulletin_board.gif'));
		}

		$external_propertys[++$i]['xml_name']='link';
		$external_propertys[$i]['value']=array(
		0 => array('xml_name' => 'link_address',
		'value' =>'?action=exit'),
		1 => array('xml_name' => 'link_name',
		'value' =>'Выход'),
		2 => array('xml_name' => 'link_url_image',
		'value' =>'/images/user_exit.gif'));

		/* Получаем данные о пользователе */
		$user_row = $SiteUsers->GetListPrimaryProperties($user_id);

		if ($user_row)
		{
			/* Отображает кабинет пользователя */
			$SiteUsers->ShowUserOffice($xsl_chamber, $external_propertys);

			/* Применяем изменения подписки почтовых рассылок */
			if (isset($_POST['renewmaillist']))
			{
				$maillist = new Maillist();
				$maillist->RenewMaillist($user_id, $_POST);
			}
		}
		else
		{
			echo "Пользователь не найден!";
		}
	}
}
// Нажали кнопку войти
elseif (isset($_POST['apply']))
{
	$site_user_login = to_str($_POST['site_user_login']);

	// Получаем информацию о пользователе по логину
	$site_user_row = $SiteUsers->GetSiteUserByLogin($site_user_login);

	// Пользователь ранее не регистрировался
	if (!$site_user_row || $site_user_row['site_users_confirmation'] == 1)
	{
		$error = 'Пользователь с такими параметрами не зарегистрирован.';
	}
	// Пользователь ранее регистрировался, но его регистрация не подтверждена
	else
	{
		$error = 'Внимание! Регистрация Ваших данных не подтверждена.
		В Ваш адрес было отправлено письмо с информацией об активации.';

		$param_registration['site_user_id'] = $site_user_row['site_users_id'];
		$param_registration['xslname'] = 'ПисьмоПодтверждениеРегистрации';
		$param_registration['site_users_password'] = 'пароль, указанный Вами при регистрации';

		// Повторно отправляем пользователю данные для подтверждения регистрации
		$SiteUsers->SendRegistInf($param_registration);
	}
}

if ($user_id <= 0)
{
	?>
	<h1>Личный кабинет</h1>
	<?php echo !empty($error) ? '<div id="error">'.$error.'</div>' : ''?>
	<form action="/users/" method="post">
	<p>Пользователь:
	<br /><input name="site_user_login" type="text" size="30" class="large_input" />
	</p>
	<p>Пароль:
	<br /><input name="site_user_password" type="password" size="30" class="large_input" />
	</p>
	<p>
	<input name="remember_me" id="remember_me" type="checkbox" /> <label for="remember_me">Запомнить меня на сайте.</label>
	</p>
	<p>
	<input name="apply" type="submit" value="Войти" class="large_input" />
	</p>
	</form>
	
	<p>Первый раз на сайте? &mdash; <a href="/users/registration/">Зарегистрируйтесь</a>!</p>

	<p>Забыли пароль? Мы можем его <a href="/users/restore_password/">восстановить</a>.</p>
	<?php 
}
?>