/** * Build query prefilter where part * * @param PlgFabrik_Element $element Element model * * @return string */ public function buildQueryPrefilterWhere($element) { $elementName = FabrikString::safeColName($element->getFullName(false, false)); $filters = $this->getFilterArray(); $keys = array_keys($filters); $valueKeys = array_keys(FArrayHelper::getValue($filters, 'value', array())); foreach ($valueKeys as $i) { if ($filters['search_type'][$i] != 'prefilter' || $filters['key'][$i] != $elementName) { foreach ($keys as $key) { unset($filters[$key][$i]); } } } list($sqlNoFilter, $sql) = $this->_filtersToSQL($filters); $where = str_replace('WHERE', '', $sql); if ($where != '') { $where = ' AND ' . $where; } return $where; }