如何自定义过滤MantisBT中的错误

时间:2013-04-25 12:52:51

标签: php mantis

我想通过定义的自定义过滤器过滤MantisBT 1.2.14 中的错误。 我可以使用

从数据库加载过滤器
$t_filter = filter_ensure_valid_filter( filter_get_row($t_filter_id) );

然后我尝试通过以下方式获取此过滤器的行:

$t_rows = filter_get_bug_rows( $f_page_number, $t_per_page, 
                               $t_page_count,$t_bug_count, $t_filter );

所有参数但$t_filter等于null。事实证明,总是会加载所有错误。

我试过

$t_rows = filter_get_bug_rows( $f_page_number, $t_per_page, $t_page_count, 
                               $t_bug_count, $t_filter, $t_filter['project_id'] );

应将项目设置为过滤,但没有成功。

我也尝试这样做,就像在螳螂的view_all_bug_page.php中完成的那样:

$t_rows = filter_get_bug_rows( $f_page_number, $t_per_page, $t_page_count, 
                               $t_bug_count, null, null, null, true );

但是在这里(我猜)它还使用缓存中的当前项目进行过滤。

是否可以在MantisBT中使用仅针对错误的高级自定义过滤器,以及如何使用?

1 个答案:

答案 0 :(得分:1)

解决方案是:必须使用$t_filter数组中的过滤字符串

# get filter string
$t_filter_string = explode('#', $t_filter['filter_string'], 2);

# get bug rows with unserialized filter string
$t_rows = filter_get_bug_rows($f_page_number, $t_per_page, $t_page_count, 
                              $t_bug_count, unserialize($t_filter_string[1]),
                              helper_get_current_project());

因此返回所需的行,另外还使用当前项目进行过滤。