<?php

if (class_exists('shop'))
{
	$shop = & singleton('shop');
	//$shop->use_cookies_read_control = true;
}

if (class_exists('SiteUsers'))
{
	$kernel = & singleton('kernel');
	
	$SiteUsers = & singleton('SiteUsers');
	
	// Нажали кнопку войти
	if (isset($_POST['apply']))
	{
		/* Проверяем доступность пользователя */
		$user_id = $SiteUsers->ValidUser(to_str($_POST['site_user_login']), to_str($_POST['site_user_password']));
	
		if ($user_id > 0)
		{
			if (isset($_POST['remember_me']))
			{
				$expires = 2678400; // 31 день
			}
			else
			{
				$expires = 86400; // 1 день
			}
	
			// Авторизируем пользователя
			$SiteUsers->SetCurrentSiteUser($user_id, $expires);
		}
	
		// Если была AJAX-авторизация -- отправим ответ
		if (isset($_REQUEST['action']))
		{
			$JsHttpRequest = new JsHttpRequest('UTF-8');
	
			if ($user_id > 0)
			{
				ob_start();
	
				/* Формируем список меню кабинета */
				$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("ЛичныйКабинетПользователяAjax", $external_propertys);
				}
				else
				{
					$GLOBALS['_RESULT']['message'] = "Пользователь не найден!";
				}
	
				$GLOBALS['_RESULT']['content'] = ob_get_clean();
			}
			else
			{
				$GLOBALS['_RESULT']['message'] = "Неправильный логин или пароль!";
			}
	
			echo $JsHttpRequest->LOADER;
			exit ();
		}
	}
	
	// Подтверждение регистрации пользователем
	if (isset($_GET['accept']))
	{
		// подтверждаем регистрацию.
		$SiteUsers_id = $SiteUsers->SetConfirmation($_GET['accept']);
	
		// авторизируем пользователя
		$SiteUsers->SetCurrentSiteUser($SiteUsers_id);
	}
	
	// Отмена регистрации пользователем
	if (isset($_GET['cancel']))
	{
		if ($SiteUsers->Unregistration($_GET['cancel']))
		{
			// Отменяем авторизацию текущего пользователя
			$SiteUsers->UnsetCurrentSiteUser();
		}
	}
	
	// Пользователь выходит из кабинета
	if (isset($_GET['action']) && $_GET['action']=='exit')
	{
		// Отменяем авторизацию текущего пользователя
		$SiteUsers->UnsetCurrentSiteUser();
	}
	
	// Для страницы авторизации изменим TITLE
	if ($SiteUsers->GetCurrentSiteUser() == 0)
	{
		// Заголовок страницы
		$kernel->set_title('Авторизация пользователя');
	}
}
?>