Example #1
0
 /**
  * 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);
 }