log->info('SqlResultSetAdapter called'); $this->oResultSet = $oResultSet; if (PEAR::isError($oResultSet)) { $this->broken = true; } } function isEmpty () { global $default; $default->log->info('Checked if SqlResultSetAdapter was empty'); if ($this->broken) { return $this->oResultSet; } return ($this->oResultSet->numRows() == 0); } function next () { global $default; $default->log->info('Got next result from SqlResultSetAdapter'); if ($this->broken) { return $this->oResultSet; } $aNextResult = $this->oResultSet->fetchRow(DB_FETCHMODE_ASSOC); if ($aNextResult === null) { return null; } return new SqlResultAdapter ($aNextResult); } } class SqlResultAdapter { function SqlResultAdapter ($oResult) { $this->oResult = $oResult; } function get ($sField) { global $default; $default->log->info('Getting ' . $sField . ' field from SqlResultAdapter'); return $this->oResult[$sField]; } } class PatternTableSqlQuery extends PatternTableGeneric { function PatternTableSqlQuery($sTmpQuery, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $aTmpLinkURLs = null, $aTmpDBQueryStringColumns = null, $aNewQueryStringVariableNames = null) { $oResult = DBUtil::runQuery($sTmpQuery); $oResultSet =& new SqlResultSetAdapter ($oResult); $this->PatternTableGeneric($oResultSet, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $aTmpLinkURLs, $aTmpDBQueryStringColumns, $aNewQueryStringVariableNames); } } ?>