<?php
/*
* @package LabCMS
* @copyright (c) 2006 Alexander Levin aka Loki (loki_angel@mail.ru)
* @support http://labcms.ru
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
	if (!is_array($config))
	{
		//если система только что установлена, то надо дать возможность админу забыть пароль:)
		$config['allow_ask_new_pass']=true;
		Tpl::i()->assign('config', $config);
	}
	
	include_once dirname(__FILE__).'/auth.class.php';
	$auth=new Auth();

	Tpl::i()->assign('image_types', $auth->types);
	
	$mod_template='form.tpl';
	
	if($_GET["action"]=='profile' && ((!$_GET['var1'] && !User::i()->isGuest()) || ($_GET['var1']!=User::i()->id && access('view_user'))))
	{
		if (intval($_GET['var1'])<0) return LabCMS::i()->error("Пользователь не найден");
		$user_id=($_GET['var1']?$_GET['var1']:User::i()->id);
		$user = $auth->getUserInfo($user_id);
		if (!$user) return LabCMS::i()->error("Пользователь не найден");
		$mod_template='view.tpl';

		LabVars::$title = "Профиль :: " . $user["login"];
		addBreadcrumb($user["login"], LabCMS::i()->url());
		
		Tpl::i()->assign("user", $user);
	}
	elseif (User::i()->id>0)
	{
		if($_GET["action"]=='edit')
		{
			$auth->editInfo();
			addBreadcrumb(User::i()->login, _url(false, 'profile'));
			addBreadcrumb('Изменение данных');
		}
		elseif($_GET["action"]=='change_pass')
		{
			$auth->changePass();
			addBreadcrumb(User::i()->login, _url(false, 'profile'));
			addBreadcrumb('Изменение пароля');
		}
		elseif($_GET["action"]=='openid' && $config['use_openid'])
		{
			$auth->OpenId();
			addBreadcrumb(User::i()->login, _url(false, 'profile'));
			addBreadcrumb('Управление OpenId');
		}
		elseif($_GET["action"]=='add_openid' && $config['use_openid'])
		{
			if ($auth->addOpenId()) refresh('', LabCMS::i()->url(false, 'openid'));
		}
		elseif($_GET['action']=='logout' && User::i()->id>0)
		{
			$auth->logout(empty($_REQUEST['redirect'])?null:(string)$_REQUEST['redirect']);
		}
		else 
		{
			$mod_template='login.tpl';
		}
	}
	else
	{
		if($_GET["action"]=='reg_openid' && $config['allow_register'])
		{
			$auth->registerByOpenId();
		}
		elseif($_GET["action"]=='register' && $config['allow_register'])
		{
			$auth->register();
			addBreadcrumb('Регистрация');
		}
		elseif($_GET["action"]=='get_code' && $config['activation'])
		{
			$auth->reGetCode();
		}
		elseif($_GET["action"]=='activation' && $config['activation'])
		{
			$auth->activation();
		}
		elseif($_GET["action"]=='retrive' && $config['allow_ask_new_pass'])
		{
			$auth->retrivePassword();
		}
		elseif($_GET["action"]=='lost' && $config['allow_ask_new_pass'])
		{
			$auth->lostPassword();
			addBreadcrumb('Напомнить пароль');
		}
		elseif($_GET["action"]=='openid_auth' && $config['use_openid'])
		{
			$mod_template='login.tpl';
			$auth->authByOpenID();
		}
		else
		{
			$mod_template='login.tpl';
			$auth->login();
			addBreadcrumb('Авторизация');
		}
	}
