<?php 

if (class_exists('SiteUsers'))
{
	$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']) || isset($_GET['location']))
		{
			$path = './?rand='.rand(0, 99999);
			
			// Путь ниже может быть заменен на путь форума
			$user_path = $path;
			
			$bIsForum = false;
	
			/* Если 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)
				{
					$bIsForum = true;
					
					$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/";
						}
					}
				}
			}
			elseif(isset($_GET['location']))
			{
				$path = htmlspecialchars($_GET['location']);
				$bIsForum = true;
			}
	
			?>
			<h1>Добро пожаловать!</h1>
			<p>Вы можете продолжить работу в <b><a href='<?php echo $user_path?>'>кабинете пользователя</a></b><?php if ($bIsForum){echo " или вернуться в <b><a href=\"$path\">форум</a></b>";}?>.
			<br>
			Если Ваш браузер поддерживает автоматическое перенаправление, через 5 секунд Вы <?php if ($bIsForum) {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'));
			}
	
			if (class_exists('messages'))
			{
				$external_propertys[++$i]['xml_name'] = 'link';
				$external_propertys[$i]['value']=array(
				0 => array('xml_name' => 'link_address',
				'value' =>'my_messages/'),
				1 => array('xml_name' => 'link_name',
				'value' =>'Мои сообщения'),
				2 => array('xml_name' => 'link_url_image',
				'value' =>'/images/messages.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 = 'Ошибка! Неправильный пароль.';
		}
		elseif ($site_user_row && $site_user_row['site_users_confirmation'] == 0)
		{
			$error = 'Внимание! Регистрация Ваших данных не подтверждена.
			В Ваш адрес было отправлено письмо с информацией об активации.';
	
			$param_registration['site_user_id'] = $site_user_row['site_users_id'];
			$param_registration['xslname'] = 'ПисьмоПодтверждениеРегистрации';
			$param_registration['site_users_password'] = 'пароль, указанный Вами при регистрации';
	
			// Повторно отправляем пользователю данные для подтверждения регистрации
			$SiteUsers->SendRegistInf($param_registration);		
		}	
		// Пользователь ранее регистрировался, но его регистрация не подтверждена
		else
		{
			$error = 'Пользователь с такими параметрами не зарегистрирован.';
		}
	}
	
	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>
		<div class="gray_button">
			<div>
				<input name="apply" type="submit" value="Войти" />
			</div>
		</div>
		</form>
		
		<p>Первый раз на сайте? &mdash; <a href="/users/registration/">Зарегистрируйтесь</a>!</p>
	
		<p>Забыли пароль? Мы можем его <a href="/users/restore_password/">восстановить</a>.</p>
		<?php 
	}
}
else
{
	?>
	<h1>Пользователи сайта</h1>
	<p>Функционал недоступен, приобретите более старшую редакцию.</p>
	<p>Модуль &laquo;<a href="http://www.hostcms.ru/hostcms/modules/users/">Пользователи сайта</a>&raquo; доступен в редакциях &laquo;<a href="http://www.hostcms.ru/hostcms/editions/corporation/">Корпорация</a>&raquo; и &laquo;<a href="http://www.hostcms.ru/hostcms/editions/business/">Бизнес</a>&raquo;.</p> 
	<?php
}
?>