Pastie: Limit the recent pastes to 10
authorBen Klang <ben@alkaloid.net>
Tue, 18 May 2010 03:53:47 +0000 (23:53 -0400)
committerBen Klang <ben@alkaloid.net>
Tue, 18 May 2010 03:53:47 +0000 (23:53 -0400)
pastie/lib/Driver/Sql.php
pastie/paste.php
pastie/view.php

index e43b41f..c837e0c 100644 (file)
@@ -177,10 +177,10 @@ class Pastie_Driver_Sql extends Pastie_Driver
         }
     }
 
-    public function getPastes($bin)
+    public function getPastes($bin, $limit = null, $start = null)
     {
-        $query = 'SELECT paste_id, paste_uuid, paste_title, paste_syntax, '.
-                 'paste_content, paste_owner, paste_timestamp ' .
+        $query = 'SELECT paste_id, paste_uuid, paste_bin, paste_title, ' .
+                 'paste_syntax, paste_content, paste_owner, paste_timestamp ' .
                  'FROM pastie_pastes WHERE paste_bin = ? ' .
                  'ORDER BY paste_timestamp DESC';
         $values[] = 'default'; // FIXME: Horde_Share
@@ -192,7 +192,14 @@ class Pastie_Driver_Sql extends Pastie_Driver
         Horde::logMessage(sprintf('Pastie_Driver_Sql#getPastes(): %s', $query), 'DEBUG');
 
         /* Execute the query. */
-        $result = $this->_db->query($query, $values);
+        if ($limit !== null) {
+            if ($start === null) {
+                $start = 0;
+            }
+            $result = $this->_db->limitQuery($query, $start, $limit, $values);
+        } else {
+            $result = $this->_db->query($query, $values);
+        }
 
         if ($result instanceof PEAR_Error) {
             throw new Horde_Exception_Prior($result);
index 395b7a1..c35dd85 100644 (file)
@@ -37,7 +37,7 @@ if ($form->validate($vars)) {
 }
 
 try {
-    $recent = $pastie->driver->getPastes('default'); //FIXME: Horde_Share
+    $recent = $pastie->driver->getPastes('default', 10); //FIXME: Horde_Share
 } catch (Horde_Exception $e) {
     $notification->push($e);
 }
index d7735e6..912c8e1 100644 (file)
@@ -19,7 +19,7 @@ $uuid = Horde_Util::getFormData('uuid');
 if (!empty($uuid)) {
     try {
         $paste = $pastie->driver->getPaste(array('uuid' => $uuid));
-        $recent = $pastie->driver->getPastes('default'); //FIXME: Horde_Share
+        $recent = $pastie->driver->getPastes('default', 10); //FIXME: Horde_Share
     } catch (Horde_Exception $e) {
         $notification->push($e);
         $paste = null;