`
hegz
  • 浏览: 439464 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

FLEA_Rbac_UsersManager 类中的fetchRoles()方法的bug修正

PHP 
阅读更多

影响版本:1.7.1524及早期版本。

 

原有代码在 PHP5 环境下正常,但在 PHP4 环境下,由于代码:

$link->assocTDG->rolesNameField
 

没有数据 ,导致无法获取帐号的角色名。

 

代码修正如下:

/**
     * 返回指定用户的角色名数组(适用于 PHP 5.X)
     *
     * @param array $user
     *
     * @return array
     */
    function fetchRoles($user)
    {
        if ($this->existsLink($this->rolesField)) {
            $link =& $this->getLink($this->rolesField);
            $rolenameField = $link->assocTDG->rolesNameField;
            // 修正开始
            if(!$rolenameField) {
                $rolenameField = 'rolename';
            }
            // 修正结束
        } else {
            $rolenameField = 'rolename';
        }

        if (!isset($user[$this->rolesField]) ||
            !is_array($user[$this->rolesField])) {
            return array();
        }
        $roles = array();
        foreach ($user[$this->rolesField] as $role) {
            if (!is_array($role)) {
                return array($user[$this->rolesField][$rolenameField]);
            }
            $roles[] = $role[$rolenameField];
        }
        return $roles;
    }

 

该bug已于2008年5月30日提交,但由于FleaPHP的维护基本停止,错误代码一直到现在都得不到修正。

 

 

 

分享到:
评论

相关推荐

    flea_market-master_个性化购物网站_tide1tv_presseqr_

    【标题】"flea_market-master_个性化购物网站_tide1tv_presseqr_" 指的是一个基于开源项目实现的个性化购物网站系统,特别针对跳蚤市场进行了优化设计。这个项目可能结合了“tide1tv”和“presseqr”两个技术组件,...

    fleamarket_sample_kagawa-a-master.rar

    【标题】"fleamarket_sample_kagawa-a-master.rar" 指的可能是一个开源项目或软件示例,其核心是围绕“fleamarket”(跳蚤市场或二手交易)的应用场景,可能是一个在线市场平台的代码库。"Kagawa-a-master"可能代表...

    fleamarket_7.13.76.5.apk

    fleamarket_7.13.76.5.apk

    fleaphp常用方法分页之Pager使用方法

    本文将深入讲解FleaPHP分页辅助类`FLEA_Helper_Pager`的使用方法以及相关参数。 `FLEA_Helper_Pager`主要负责处理数据的分页展示,它可以根据不同的数据源进行适配,以实现灵活的分页逻辑。在构造函数中,我们可以...

    FleaMarket.zip

    "FleaMarket.zip" 是一个包含源代码的压缩文件,很可能是一个Android或Java项目的结构。从提供的文件列表来看,我们可以分析出这个项目的一些关键组成部分和开发环境的设置。 1. **gradlew.bat**: 这是一个批处理...

    FLEA框架中文API

    最近学了FLEA,觉得还行,但是资料比较少,发现很多朋友找不到FLEA的API,现在把他共享出来,供大家学习参考!

    Fleaphp 常用方法.doc

    在FleaPHP开源应用程序开发框架中,有几个关键的系统方法,它们是开发高效Web应用的基础。下面我们将详细探讨这些方法: 1. **FLEA::initWebControls()**: 这个函数用于初始化WebControls,它返回一个`FLEA_...

    Fleaphp常见函数功能与用法示例

    1. `FLEA_Db_TableDataGateway::update()` 这个函数用于更新指定ID的记录。在示例中,我们看到如何通过传递一个包含字段和新值的关联数组来修改记录。例如,更新uid为22的记录,将name字段设为"11",pass字段设为...

    php FLEA中二叉树数组的遍历输出

    最近在做一个项目其中涉及到“无限级回复”,FLEA中中有一个关于数组的辅助类:FLEA_Helper_Array,这个类里面有一个非常强大的数组处理方法:array_to_tree,这个方法可以把二维数组转换为二叉树结构

    fleamarket_sample_79a

    您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明...FLEAMARKET DB设计用户テーブル柱子类型选项昵称细绳null:假电子邮件细绳...

    fleamarket_sample_76b

    自述文件 用户テーブル 柱子 类型 选项 昵称 细绳 null:假 ...细绳 ...has_many:todo_lists,dependent::destroy has_many:user_evaluations,dependent::destroy has_many:seller_items(foreign_key:“ ...

    fleamarket_sample_74e

    自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明......

    fleamarket_sample_kagawa-e

    自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明......

    fleamarket_sample_kagawa-a

    自述文件用户テーブル柱子类型选项昵称串null:false,唯一:true 电子邮件串null:假加密密码串null:假姓串null:假名串null:假姓氏假名串null:假first_name_kana 串null:假生日日期null:假协会has_one:贷方...

    com.taobao.fleamarket

    com.taobao.fleamarket最新包,用于淘宝二手android客户端应用。

Global site tag (gtag.js) - Google Analytics