Alexander Nicolaysen Sørnes : vendor: Make tables sortable

Chris Morgan cmorgan at winehq.org
Mon Nov 26 20:05:37 CST 2007


Module: appdb
Branch: master
Commit: 9d5882d8008df54680183d656a092b76fb693895
URL:    http://source.winehq.org/git/appdb.git/?a=commit;h=9d5882d8008df54680183d656a092b76fb693895

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Mon Nov 26 23:47:51 2007 +0100

vendor: Make tables sortable

---

 include/vendor.php |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/include/vendor.php b/include/vendor.php
index 4ec6597..409467f 100644
--- a/include/vendor.php
+++ b/include/vendor.php
@@ -213,7 +213,12 @@ class Vendor {
       echo  '<input type="hidden" name="iVendorId" value="'.$this->iVendorId.'">',"\n";
     }
 
-    function objectGetEntries($bQueued, $bRejected, $iRows = 0, $iStart = 0)
+    public static function objectGetSortableFields()
+    {
+        return array('vendorName');
+    }
+
+    function objectGetEntries($bQueued, $bRejected, $iRows = 0, $iStart = 0, $sOrderBy = 'vendorName', $bAscending = TRUE)
     {
         /* Vendor queueing is not implemented yet */
         if($bQueued)
@@ -223,11 +228,13 @@ class Vendor {
         if($bRejected)
             return FALSE;
 
+        $sOrder = $bAscending ? 'ASC' : 'DESC';
+
         if(!$iRows)
             $iRows = Vendor::objectGetEntriesCount($bQueued, $bRejected);
 
         $hResult = query_parameters("SELECT * FROM vendor
-                       ORDER BY vendorName LIMIT ?,?",
+                       ORDER BY $sOrderBy $sOrder LIMIT ?,?",
                            $iStart, $iRows);
 
         if(!$hResult)
@@ -238,9 +245,9 @@ class Vendor {
 
     function objectGetHeader()
     {
-        $oTableRow = new TableRow();
+        $oTableRow = new TableRowSortable();
         
-        $oTableRow->AddTextCell("Name");
+        $oTableRow->AddSortableTextCell('Name', 'vendorName');
 
         $oTableRow->AddTextCell("Website");
 




More information about the wine-cvs mailing list