1

我只想通过定义的自定义过滤器过滤 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中的错误使用高级自定义过滤器,以及如何使用?

4

1 回答 1

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());

因此返回想要的行,另外当前项目用于过滤。

于 2013-06-06T11:48:14.117 回答