<?php

/**
 *--------------------------------------
 * 管理
 *--------------------------------------
 * @project		: uwa
 * @author		: cblee
 * @created		: 2012-09-28
 * @copyright	: (c)2012 AsThis
 *--------------------------------------
 */

class ManageCtrlr extends Ctrlr
{
	public function __construct()
	{
		parent::__construct();

		/* 检查入口 */
		session_start();
		if(!isset($_SESSION['admin_enter']) or 1 != $_SESSION['admin_enter'])
		{
			redirect(Url::U('home@index/index'));
			exit();
		}

		/* 登录检查*/
		if(!ASession::get('admin_id'))
		{
			redirect(Url::U('login/index'));
			exit();
		}

		/* 所有需检查权限 */
		if(!ASession::get('all_permission'))
		{
			$allPermission = M('AdminPermission')->get_allPermission();
			ASession::set('all_permission', explode(',', $allPermission));
		}

		/* 拥有权限 */
		if(!ASession::get('my_permission'))
		{
			$myRole = M('AdminRole')->get_roleInfo(ASession::get('admin_role_id'));
			ASession::set('my_permission', explode(',', $myRole['ar_permission']));
		}

		/* 当前权限需求 */
		$permissionCode = CTRLR_NAME.':'.ACTN_NAME;

		/* 检查权限 */
		if(in_array($permissionCode, ASession::get('all_permission')))
		{
			if(!in_array('_all', ASession::get('my_permission')) && !in_array($permissionCode, ASession::get('my_permission')))
			{
				$this->error(L('PERMISSION_LIMIT'), AServer::get_preUrl());
			}
		}

		$LICENCE = get_licence();
		$this->assign('LICENCE', $LICENCE);
	}
}

?>