public function __construct(Doctrine_Table $table, $fieldName) { $this->_table = $table; $columnList = $this->_table->getColumnNames(); //Check if the identity and credential are one of the column names... if (!in_array($fieldName, $columnList)) { throw new Zend_Auth_Adapter_Exception("Invalid Column names are given as '{$fieldName}'"); } $this->_fieldName = $fieldName; }
public function __construct(Doctrine_Table $table, $identityCol, $credentialCol) { $this->_table = $table; $columnList = $this->_table->getColumnNames(); //Check if the identity and credential are one of the column names... if (!in_array($identityCol, $columnList) || !in_array($credentialCol, $columnList)) { throw new Zend_Auth_Adapter_Exception("Invalid Column names are given as '{$identityCol}' and '{$credentialCol}'"); } $this->_credentialCol = $credentialCol; //Assign the column names... $this->_identityCol = $identityCol; }
public function parseClause($originalClause, $recursive = false) { $clause = $this->_tokenizer->bracketTrim($originalClause); $brackets = false; if ($clause !== $originalClause) { $brackets = true; } $foreignId = current(array_diff($this->_table->getColumnNames(), array('keyword', 'field', 'position'))); $terms = $this->_tokenizer->sqlExplode($clause, ' OR ', '(', ')'); $ret = array(); if (count($terms) > 1) { $leavesOnly = true; foreach ($terms as $k => $term) { if ($this->isExpression($term)) { $ret[$k] = $this->parseClause($term, true); $leavesOnly = false; } else { $ret[$k] = $this->parseTerm($term); } } $return = implode(' OR ', $ret); if ($leavesOnly && $recursive) { $return = sprintf($this->_condition, 'IN') . $return . ')'; $brackets = false; } } else { $terms = $this->_tokenizer->sqlExplode($clause, ' ', '(', ')'); if (count($terms) === 1 && !$recursive) { $return = $this->parseTerm($clause); } else { foreach ($terms as $k => $term) { $term = trim($term); if ($term === 'AND') { continue; } if (substr($term, 0, 1) === '-') { $operator = 'NOT IN'; $term = substr($term, 1); } else { $operator = 'IN'; } if ($this->isExpression($term)) { $ret[$k] = $this->parseClause($term, true); } else { $ret[$k] = sprintf($this->_condition, $operator) . $this->parseTerm($term) . ')'; } } $return = implode(' AND ', $ret); } } if ($brackets) { return '(' . $return . ')'; } else { return $return; } }