<?php
ini_set('session.cookie_path', '/');
ini_set('session.cookie_domain', $config['COOKIE_DOMAIN']); 
require_once($config['ROOT_MVC'].'mvc.php');
$config['PATH_TPL'] = $config['ROOT'].'shop/demo/tpl/';
$config['STATIC_ACTION_FLAG'] = 1;
$config['URL_PATH'] = 'shop'.$config['SHOPID'];
//$config['ROUTE'] = [''];
mvc::execute($config);
mvc::$cfg['STATIC_ACTION_FLAG'] = 0;

$tokenInfo = [
	'uid'=>$_SESSION['_userid'],
	'from'=>'PJD',
	'ip'=>LibFc::GetClientIp(),
	'devcode'=>session_id(),
	'shopid'=>$config['SHOPID'],
	'port'=>$_SERVER['REMOTE_PORT']
];
$apiFun = mvc::$URL_CLASS.'/'.mvc::$URL_METHOD;
mvc::$URL_PARAMS['shopid'] = $config['SHOPID'];
$OthMonitor = new OthMonitor();
$OthMonitor->checkPjDMainPass($apiFun, $tokenInfo);
$OthMonitor->collMainTongji($tokenInfo);

$Params = mvc::$URL_PARAMS;
//店铺页面配置
$pageConfigAll = require(mvc::$cfg['ROOT_SHOP'].'page.config.php');
//action/function?a=1112.....
mvc::$cfg['pageName'] = mvc::$URL_CLASS.'/'.mvc::$URL_METHOD;
mvc::$cfg['tplName'] = $pageConfigAll['tplName'];

if(isset($pageConfigAll[mvc::$cfg['pageName']]))
{
	$pageConfing = $pageConfigAll[mvc::$cfg['pageName']];
	
	//头部和底部公共模块配置
	$pageConfing['modules']['top'] = $pageConfigAll['public']['top'];
	$pageConfing['modules']['foot'] = $pageConfigAll['public']['foot'];

	//模块配置
	$pageData = [];
	//店铺基本信息、店铺名称、域名等提前加载
	$ShopBase = new ShopBase();
	$B2cBase = new B2cBase();
	
	// 黑名单检查：已登录用户若在黑名单中，阻止访问
	if (!empty($_SESSION['_userid'])) {
		$blackCheck = $B2cBase->get('sh_member_black', ['meb_uid'],
			sprintf(" and meb_uid = %d and meb_shop_id = %d", $_SESSION['_userid'], mvc::$cfg['SHOPID']), true);
		if (!empty($blackCheck['data'])) {
			exit('账号无法访问此目录，请联系目录方');
		}
	}

	$shopInfo = $ShopBase->getShopInfo(mvc::$cfg['SHOPID']);
	if(empty($shopInfo['shop_show_b2c']))
	{
		exit('此店铺的所有配件不支持查看！');
	}

	//获取权限
	$permissionArr = [];
	$B2cShop  = new B2cShop();
	$result = $B2cShop->getGzhUserRule(mvc::$cfg['SHOPID'],$_SESSION['_userid']);
	if($result['data']) $permissionArr = array_column($result['data'], 'smr_code');
	mvc::$cfg['permissionArr'] = $permissionArr;
	//$shopInfo['shop_domain'] = mvc::$cfg['HOST']['b2c'].'shop'.mvc::$cfg['SHOPID'].'/';
	LibTpl::Set('shopInfoData', $shopInfo);
	$allModuleConfig = require(mvc::$cfg['ROOT_SHOP_SYS'].'module.config.php');
	$moduleTpl = [];

	//加载该店铺的模块数据
	$htmlArr = [];
	$shopCssJs = ['css'=>[], 'js'=>[]];
	foreach($pageConfing['modules'] as $location=>$moduleArr)
	{
		$htmlArr[$location] = [];
		//此位置的所有模块
		foreach($moduleArr as $moduleVal)
		{
			if($moduleVal['module'] == 'itemSearch'){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin();
			}
			//系统模块配置
			$sysModulConfig = $allModuleConfig[$moduleVal['module']];
			//模块需要加载的数据
			if(!empty($sysModulConfig['data']))
			{
				$class = new $sysModulConfig['data']['class'];
				LibTpl::Set($moduleVal['module'].'Config', $moduleVal['config']);
				LibTpl::Set($moduleVal['module'].'Data', call_user_func_array(array($class, $sysModulConfig['data']['function']), [mvc::$cfg['SHOPID'], $moduleVal['config']]));
				// print_r($moduleVal['module'].'Data');
				// print_r(call_user_func_array(array($class, $sysModulConfig['data']['function']), [mvc::$cfg['SHOPID'], $moduleVal['config']]));
			}
			//模块需要调用的模板
			if(!empty($sysModulConfig['tpl']))
			{
				$htmlArr[$location][] = LibTpl::Fetch($sysModulConfig['tpl']);
			}
			//模块需要加载的CSS
			if(isset($sysModulConfig['css']))
			{
				$shopCssJs['css'] = array_merge($shopCssJs['css'], $sysModulConfig['css']);
			}
			//模块需要加载的JS
			if(isset($sysModulConfig['js']))
			{
				$shopCssJs['js'] = array_merge($shopCssJs['js'], $sysModulConfig['js']);
			}
		}
	}
	// print_r($itemSearchData['arr']['keyword']);
	//加载模块样式和JS
	$shopCssJs['css'] = array_unique($shopCssJs['css']);
	$shopCssJs['js'] = array_unique($shopCssJs['js']);
	LibTpl::Set('shopCssJs', $shopCssJs);

	$headArr = [
		'title'=> $pageConfing['title'].'-'.$shopInfo['shop_name'].'-跑街的',	
		'keyword'=>'欢迎前来跑街的-'.$shopInfo['shop_name'].' 旺铺，众多商品任你选购',	
		'des'=>$shopInfo['shop_profile']
	];
	LibTpl::Set('htmlArr', $htmlArr);
	LibTpl::Set('headArr', $headArr);
	LibTpl::Put($pageConfing['layout']);
}