SourceForge logo
SourceForge logo
Menu

phpwiki-checkins

From: Reini U. <ru...@us...> - 2004年12月26日 17:14:14
Update of /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv892/WikiDB/backend
Modified Files:
	ADODB.php 
Log Message:
fix ADODB MostPopular, avoid limit -1, pass hits on empty data
Index: ADODB.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend/ADODB.php,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -2 -b -p -d -r1.68 -r1.69
--- ADODB.php	22 Dec 2004 18:33:25 -0000	1.68
+++ ADODB.php	26 Dec 2004 17:14:03 -0000	1.69
@@ -197,6 +197,8 @@ extends WikiDB_backend
 
 function _extract_page_data($data, $hits) {
- if (empty($data)) return array();
- else return array_merge(array('hits' => $hits), $this->_unserialize($data));
+ if (empty($data))
+ return array('hits' => $hits);
+ else 
+ return array_merge(array('hits' => $hits), $this->_unserialize($data));
 }
 
@@ -800,5 +802,5 @@ extends WikiDB_backend
 * Find highest or lowest hit counts.
 */
- function most_popular($limit=0, $sortby='-hits') {
+ function most_popular($limit=20, $sortby='-hits') {
 $dbh = &$this->_dbh;
 extract($this->_table_names);
@@ -816,12 +818,17 @@ extends WikiDB_backend
 } else
 $orderby = " ORDER BY hits $order";
- $limit = $limit ? $limit : -1;
-
- $result = $dbh->SelectLimit("SELECT " 
+ $sql = "SELECT " 
 . $this->page_tbl_fields
 . " FROM $nonempty_tbl, $page_tbl"
 . " WHERE $nonempty_tbl.id=$page_tbl.id"
 . $where
- . $orderby, $limit);
+ . $orderby;
+ if ($limit) {
+ // extract from,count from limit
+ list($offset,$count) = $this->limit($limit);
+ $result = $dbh->SelectLimit($sql, $count, $offset);
+ } else {
+ $result = $dbh->Execute($sql);
+ }
 return new WikiDB_backend_ADODB_iter($this, $result, $this->page_tbl_field_list);
 }
@@ -883,17 +890,20 @@ extends WikiDB_backend
 $limit = -$limit;
 }
- $limit = $limit ? $limit : -1;
 $where_clause = $join_clause;
 if ($pick)
 $where_clause .= " AND " . join(" AND ", $pick);
-
- // FIXME: use SQL_BUFFER_RESULT for mysql?
- // Use SELECTLIMIT for portability
- $result = $dbh->SelectLimit("SELECT "
+ $sql = "SELECT "
 . $this->page_tbl_fields . ", " . $this->version_tbl_fields
 . " FROM $table"
 . " WHERE $where_clause"
- . " ORDER BY mtime $order",
- $limit);
+ . " ORDER BY mtime $order";
+ // FIXME: use SQL_BUFFER_RESULT for mysql?
+ if ($limit) {
+ // extract from,count from limit
+ list($offset,$count) = $this->limit($limit);
+ $result = $dbh->SelectLimit($sql, $count, $offset);
+ } else {
+ $result = $dbh->Execute($sql);
+ }
 //$result->fields['version'] = $result->fields[6];
 return new WikiDB_backend_ADODB_iter($this, $result, 
@@ -915,5 +925,4 @@ extends WikiDB_backend
 $exclude = " AND $page_tbl.pagename NOT IN ".$this->_sql_set($exclude);
 
- $limit = $limit ? $limit : -1;
 /* 
 all empty pages, independent of linkstatus:
@@ -932,5 +941,11 @@ extends WikiDB_backend
 . $exclude
 . $orderby;
- $result = $dbh->SelectLimit($sql, $limit);
+ if ($limit) {
+ // extract from,count from limit
+ list($offset,$count) = $this->limit($limit);
+ $result = $dbh->SelectLimit($sql, $count, $offset);
+ } else {
+ $result = $dbh->Execute($sql);
+ }
 return new WikiDB_backend_ADODB_iter($this, $result, array('pagename','wantedfrom'));
 }
@@ -1375,4 +1390,7 @@ extends WikiDB_backend_search
 
 // $Log$
+// Revision 1.69 2004年12月26日 17:14:03 rurban
+// fix ADODB MostPopular, avoid limit -1, pass hits on empty data
+//
 // Revision 1.68 2004年12月22日 18:33:25 rurban
 // fix page _id_cache logic for _get_pageid create_if_missing
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /