我想通过定义的自定义过滤器过滤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中使用仅针对错误的高级自定义过滤器,以及如何使用?
答案 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());
因此返回所需的行,另外还使用当前项目进行过滤。