BugFree 的一个 bug 修正

这两天配置 BugFree v1.12 的过程中发现了一个 bug,在后台管理中,添加项目后,页面左侧的项目列表中并不会出现新加的项目。必须全部关闭当前的窗口,然后重新登录后才有。查看代码后发现问题在于 BugFree 在 session 中缓存了当前的 user 的 ACL. 添加新项目后这个信息在 Session 中并不会刷新。简单起见,我做了如下修改:

在 /Include/FunctionsMain.inc.php 中,找到:

function bugGetUserACL($BugUserName)
{
    
global $MyDB;
    
global $BugConfig;
    
global $MyJS;

    
/* Register Session already. */
    
if(!empty($_SESSION["BugUserACL"]))
    {
        
return true;
    }

    
// more code
}

注释掉 "return true;" 这一行即可做到每次从数据库里读取信息,从而保证实时性。这样做可能存在的缺陷是丧失了用 session 做一些缓存的优势,不过我考虑对 mysql 的整个访问次数也不会因为这个增加多少,管不了那么多了,解决问题才是最重要的。

posted on 2005-12-15 18:24  NeilChen  阅读(312)  评论(0编辑  收藏  举报

导航