/** * appends sql to given select statement * * @param Zend_Db_Select $_select * @param Tinebase_Backend_Sql_Abstract $_backend */ public function appendFilterSql($_select, $_backend) { if ($this->_value === self::VALUE_NOTSET) { return; } $action = $this->_opSqlMap[$this->_operator]; $db = $_backend->getAdapter(); // prepare value $value = $this->_value ? 1 : 0; if (!empty($this->_options['fields'])) { foreach ((array) $this->_options['fields'] as $fieldName) { $quotedField = $db->quoteIdentifier(strpos($fieldName, '.') === false ? $_backend->getTableName() . '.' . $fieldName : $fieldName); if ($value) { $_select->where($quotedField . $action['sqlop'], $value); } else { $_select->orwhere($quotedField . $action['sqlop'], $value); } } } else { if (!empty($this->_options['leftOperand'])) { $_select->where($this->_options['leftOperand'] . $action['sqlop'], $value); } else { $_select->where($this->_getQuotedFieldName($_backend) . $action['sqlop'], $value); } } }