Вопрос

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?

Это было полезно?

Решение

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top