Update of /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25983/WikiDB/backend
Modified Files:
ADODB.php PearDB.php
Log Message:
PageList sortby support in PearDB and ADODB backends
Index: ADODB.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend/ADODB.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -2 -b -p -d -r1.10 -r1.11
--- ADODB.php 25 Jan 2004 04:00:16 -0000 1.10
+++ ADODB.php 25 Jan 2004 08:00:45 -0000 1.11
@@ -501,15 +501,33 @@ extends WikiDB_backend
}
- function get_all_pages($include_deleted) {
+ function get_all_pages($include_deleted,$orderby) {
$dbh = &$this->_dbh;
extract($this->_table_names);
+ if (substr($orderby,0,5) == 'mtime') {
+ //$orderby = $version_tbl . '.' . $orderby;
if ($include_deleted) {
- $result = $dbh->Execute("SELECT * FROM $page_tbl ORDER BY
pagename");
+ $result = $dbh->Execute("SELECT * FROM $page_tbl, $recent_tbl,
$version_tbl"
+ . " WHERE $page_tbl.id=$recent_tbl.id"
+ . " AND $page_tbl.id=$version_tbl.id
AND latestversion=version"
+ . " ORDER BY $orderby");
+ }
+ else {
+ $result = $dbh->Execute("SELECT $page_tbl.*"
+ . " FROM $nonempty_tbl, $page_tbl,
$recent_tbl, $version_tbl"
+ . " WHERE
$nonempty_tbl.id=$page_tbl.id"
+ . " AND $page_tbl.id=$recent_tbl.id"
+ . " AND $page_tbl.id=$version_tbl.id
AND latestversion=version"
+ . " ORDER BY $orderby");
+ }
+ } else {
+ if ($include_deleted) {
+ $result = $dbh->Execute("SELECT * FROM $page_tbl ORDER BY
$orderby");
} else {
$result = $dbh->Execute("SELECT $page_tbl.*"
. " FROM $nonempty_tbl, $page_tbl"
. " WHERE $nonempty_tbl.id=$page_tbl.id"
- . " ORDER BY pagename");
+ . " ORDER BY $orderby");
+ }
}
Index: PearDB.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB/backend/PearDB.php,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -2 -b -p -d -r1.32 -r1.33
--- PearDB.php 4 Mar 2003 05:33:00 -0000 1.32
+++ PearDB.php 25 Jan 2004 08:00:46 -0000 1.33
@@ -420,10 +420,27 @@ extends WikiDB_backend
}
- function get_all_pages($include_deleted) {
+ function get_all_pages($include_deleted,$orderby) {
$dbh = &$this->_dbh;
extract($this->_table_names);
+ if (substr($orderby,0,5) == 'mtime') {
+ //$orderby = $version_tbl . '.' . $orderby;
if ($include_deleted) {
- $result = $dbh->query("SELECT * FROM $page_tbl ORDER BY pagename");
+ $result = $dbh->query("SELECT * FROM $page_tbl, $recent_tbl,
$version_tbl"
+ . " WHERE $page_tbl.id=$recent_tbl.id"
+ . " AND $page_tbl.id=$version_tbl.id AND
latestversion=version"
+ . " ORDER BY $orderby");
+ }
+ else {
+ $result = $dbh->query("SELECT $page_tbl.*"
+ . " FROM $nonempty_tbl, $page_tbl,
$recent_tbl, $version_tbl"
+ . " WHERE $nonempty_tbl.id=$page_tbl.id"
+ . " AND $page_tbl.id=$recent_tbl.id"
+ . " AND $page_tbl.id=$version_tbl.id AND
latestversion=version"
+ . " ORDER BY $orderby");
+ }
+ } else {
+ if ($include_deleted) {
+ $result = $dbh->query("SELECT * FROM $page_tbl ORDER BY
$orderby");
}
else {
@@ -431,7 +448,7 @@ extends WikiDB_backend
. " FROM $nonempty_tbl, $page_tbl"
. " WHERE $nonempty_tbl.id=$page_tbl.id"
- . " ORDER BY pagename");
+ . " ORDER BY $orderby");
+ }
}
-
return new WikiDB_backend_PearDB_iter($this, $result);
}
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
|