修复设置SESSION前缀情况下模板中$Think.session失效

浏览:853 发布日期:2015/06/19 分类:系统代码
修复设置SESSION前缀情况下模板中$Think.session失效
设置SESSION前缀情况下模板中类似$Think.session.admin.info失效
ThinkPHP\Library\Think\Template.class.php 605行开始case 'COOKIE':
    if(isset($vars[3])) {
        $parseStr = '$_COOKIE[\''.$vars[2].'\'][\''.$vars[3].'\']';
    }else{
        $parseStr = 'cookie(\''.$vars[2].'\')';
    }
    break;
case 'SESSION':
    if(isset($vars[3])) {
        $parseStr = '$_SESSION[\''.$vars[2].'\'][\''.$vars[3].'\']';
    }else{
        $parseStr = 'session(\''.$vars[2].'\')';
    }
    break;
修改为case 'COOKIE':
    if(isset($vars[3])) {
        $prefix=C('COOKIE_PREFIX');
        $prefixStr=empty($prefix) ? '' : "['".$prefix."']";
        $parseStr = '$_COOKIE'.$prefixStr.'[\''.$vars[2].'\'][\''.$vars[3].'\']';
    }else{
        $parseStr = 'cookie(\''.$vars[2].'\')';
    }
    break;
case 'SESSION':
    if(isset($vars[3])) {
        $prefix=C('SESSION_PREFIX');
        $prefixStr=empty($prefix) ? '' : "['".$prefix."']";
        $parseStr = '$_SESSION'.$prefixStr.'[\''.$vars[2].'\'][\''.$vars[3].'\']';
    }else{
        $parseStr = 'session(\''.$vars[2].'\')';
    }
    break;
评论( 相关
后面还有条评论,点击查看>>