diff --git a/plugins/views/views_php_handler_filter.inc b/plugins/views/views_php_handler_filter.inc index 6f3b07e..105b73b 100644 --- a/plugins/views/views_php_handler_filter.inc +++ b/plugins/views/views_php_handler_filter.inc @@ -112,6 +112,7 @@ class views_php_handler_filter extends views_handler_filter { if (!empty($this->options['php_filter'])) { $function = create_function('$view, $handler, &$static, $row, $data', $this->options['php_filter'] . ';'); ob_start(); + $result = array(); foreach ($this->view->result as $i => $row) { $normalized_row = new stdClass; foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) { @@ -122,11 +123,12 @@ class views_php_handler_filter extends views_handler_filter { $normalized_row->{$this->view->base_field} = $row->{$this->view->base_field}; } - if ($function($this->view, $this, $this->php_static_variable, $normalized_row, $row)) { - unset($this->view->result[$i]); - $this->view->total_rows--; + if (!$function($this->view, $this, $this->php_static_variable, $normalized_row, $row)) { + $result[] = $this->view->result[$i]; } } + $this->view->result = $result; + $this->view->total_rows = sizeof($result); ob_end_clean(); } }