douxuanou2787 2013-04-25 12:52
浏览 77
已采纳

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

I want to filter my bugs in MantisBT 1.2.14 only by a defined custom filter. I can load the filter from the database by using

$t_filter = filter_ensure_valid_filter( filter_get_row($t_filter_id) );

Then I try to get the rows by this filter with:

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

with all paramaters but $t_filter equals null. Here it turns out, that always all bugs are loaded.

I tried

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

which should set the project to filter on, but with no success.

I Also tried to do it like it is done in the view_all_bug_page.php of mantis:

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

But here (I guess) it is additionally using the current project from cache for filtering.

Is it possible to use only advanced custom filters on bugs in MantisBT, and how?

  • 写回答

1条回答 默认 最新

  • dqd2800 2013-06-06 11:48
    关注

    The solution was: one has to use the filter string from the $t_filter array.

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

    So the wanted rows are returned and additionally the current project is used to filter.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?