/** * used for the name of the filter fields * Over written here as we need to get the label field for field searches * * @return string element filter name */ function getFilterFullName() { $element =& $this->getElement(); $params =& $this->getParams(); $fields = array('auto-complete', 'field'); if ($params->get('join_val_column_concat') !== '' && in_array($element->filter_type, $fields)) { $tableModel =& $this->getTableModel(); $connection =& $tableModel->getConnection(); if ($params->get('join_conn_id') == $connection->_id) { return htmlspecialchars($this->getJoinLabelColumn(), ENT_QUOTES); } else { // $$$ rob 24/02/11 if the element is not in the same db as the join table then we shouldn't // filter on the concat but simply on the element name. return parent::getFilterFullName(); } } else { $join_db_name = $params->get('join_db_name'); $tableModel =& $this->getTableModel(); $joins =& $tableModel->getJoins(); foreach ($joins as $join) { if ($join->element_id == $element->id) { $join_db_name = $join->table_join_alias; } } if ($element->filter_type == 'field') { $elName = $join_db_name . '___' . $params->get('join_val_column'); } else { $elName = parent::getFilterFullName(); } } return FabrikString::safeColName($elName); }