protected function addConditionsToBuilder($builder, $filters)
{
foreach ($filters as $filterItem) {
$id = $filterItem['id'];
if ($id === "_ck_all_summary") {
$target_cols = $this->summary_cols;
$exprList = array();
foreach ($target_cols as $colKey) {
/**
* @var $col SQLColumn
*/
$col = $this->columns[$colKey];
$val = $col->cleanValue($filterItem['value']);
$exprString = $col->addFilterToBuilder($builder, $builder->expr(), $filterItem['type'], $val);
$exprList[] = $exprString;
$composite = call_user_func_array(array($builder->expr(), "orX"), $exprList);
$builder->andWhere($composite);
}
}
if (isset($this->columns[$id])) {
/**
* @var $col SQLColumn
*/
$col = $this->columns[$id];
$val = $col->cleanValue($filterItem['value']);
$exprString = $col->addFilterToBuilder($builder, $builder->expr(), $filterItem['type'], $val);
$builder->andWhere($exprString);
}
}
}