THINKPHP框架代码_个人修复

浏览:1205 发布日期:2015/01/23 分类:系统代码 关键字: THINKPHP 核心代码 个人修复
TP_个人修改核心文件部分_持续更新
(1)关联模型更新/删除,condition与pk互斥问题
ThinkPHP\Library\Think\Model\RelationModel.class.php 273行
源代码:if(!empty($val['condition'])) {
    $mappingCondition   =   $val['condition'];
}else{
    $mappingCondition               =   array();
    $mappingCondition[$mappingFk]   =   $pk;
}
修改为:$mappingCondition               =   array();
if(!empty($val['condition'])) {
    $mappingCondition['_string']   =   $val['condition'];
}
$mappingCondition[$mappingFk]   =   $pk;
(2)标签库taglib,autoBuildVar统一格式
ThinkPHP\Library\Think\Template\Taglib.class.php 161行
源代码:if(0===strpos($val,'$')) {
    $name .= '["{'.$val.'}"]';
}else{
    $name .= '["'.$val.'"]';
}
修改为if(0===strpos($val,'$')) {
    $name .= '[\'{'.$val.'}\']';
}else{
    $name .= '[\''.$val.'\']';
}
(3)修正设置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;
评论( 相关
后面还有条评论,点击查看>>