From: <al...@us...> - 2008-08-26 18:40:32
|
Revision: 643 http://sciret.svn.sourceforge.net/sciret/?rev=643&view=rev Author: alpeb Date: 2008-08-26 18:40:30 +0000 (Tue, 26 Aug 2008) Log Message: ----------- PDO is giving me too much headeaches when not using the latest php versions, so I'll be using mysqli instead Modified Paths: -------------- trunk/config.ini.php.template trunk/index.php trunk/models/ArticleGateway.php trunk/models/ArticleIterator.php Modified: trunk/config.ini.php.template =================================================================== --- trunk/config.ini.php.template 2008-08-26 18:40:02 UTC (rev 642) +++ trunk/config.ini.php.template 2008-08-26 18:40:30 UTC (rev 643) @@ -13,7 +13,7 @@ ), 'database' => array ( - 'adapter' => 'pdo_mysql', + 'adapter' => 'mysqli', 'params' => array ( 'host' => 'localhost', Modified: trunk/index.php =================================================================== --- trunk/index.php 2008-08-26 18:40:02 UTC (rev 642) +++ trunk/index.php 2008-08-26 18:40:30 UTC (rev 643) @@ -69,7 +69,6 @@ /************************** * DATABASE /**************************/ -$config->database->params->driver_options = array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true); $db = Zend_Db::factory($config->database); if ($config->environment->loglevel == Zend_Log::DEBUG) { $profiler = new DBProfiler(); Modified: trunk/models/ArticleGateway.php =================================================================== --- trunk/models/ArticleGateway.php 2008-08-26 18:40:02 UTC (rev 642) +++ trunk/models/ArticleGateway.php 2008-08-26 18:40:30 UTC (rev 643) @@ -106,6 +106,7 @@ } $result = DB::getInstance()->query($query); + $resultSet = $result->fetchAll(Zend_Db::FETCH_ASSOC); if ($numRecords != -1) { $query2 = 'SELECT FOUND_ROWS()'; @@ -116,7 +117,7 @@ $totalNumItems = $result->rowCount(); } - return new ArticleIterator($result, $totalNumItems); + return new ArticleIterator($resultSet, $totalNumItems); } function getSearchResults( $searchQuery, @@ -161,6 +162,7 @@ } $result = DB::getInstance()->query($query, array($searchQuery, $searchQuery)); } + $resultSet = $result->fetchAll(Zend_Db::FETCH_ASSOC); if ($numRecords != -1) { $query2 = 'SELECT FOUND_ROWS()'; @@ -171,7 +173,7 @@ $totalNumItems = $result->rowCount(); } - return new ArticleIterator($result, $totalNumItems); + return new ArticleIterator($resultSet, $totalNumItems); } function getAdvancedSearchResults( $allWords, Modified: trunk/models/ArticleIterator.php =================================================================== --- trunk/models/ArticleIterator.php 2008-08-26 18:40:02 UTC (rev 642) +++ trunk/models/ArticleIterator.php 2008-08-26 18:40:30 UTC (rev 643) @@ -12,17 +12,24 @@ class ArticleIterator { var $resultSet; var $totalNumItems; + private $_cursor = 0; function ArticleIterator($resultSet, $totalNumItems) { - $this->resultSet = $resultSet; - $this->totalNumItems = $totalNumItems; + if (is_a($resultSet, 'Zend_Db_Statement_Interface')) { + $this->resultSet = $resultSet->fetchAll(Zend_Db::FETCH_ASSOC); + } else { + $this->resultSet = $resultSet; + } + $this->totalNumItems = $totalNumItems; } function fetch() { - if (!$row = $this->resultSet->fetch()) { + if (!isset($this->resultSet[$this->_cursor])) { return false; } + $row = $this->resultSet[$this->_cursor]; + $article = new Article; $article->setId($row['art_id']); $article->setIsBookmark($row['is_bookmark']); @@ -50,6 +57,8 @@ $article->setNumFiles($row['num_files']); } + $this->_cursor++; + return $article; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |