From 199d69917b210225bae181ee599516f36e9e45e7 Mon Sep 17 00:00:00 2001 From: Ben Klang Date: Mon, 17 May 2010 23:53:47 -0400 Subject: [PATCH] Pastie: Limit the recent pastes to 10 --- pastie/lib/Driver/Sql.php | 15 +++++++++++---- pastie/paste.php | 2 +- pastie/view.php | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pastie/lib/Driver/Sql.php b/pastie/lib/Driver/Sql.php index e43b41fc9..c837e0c0d 100644 --- a/pastie/lib/Driver/Sql.php +++ b/pastie/lib/Driver/Sql.php @@ -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); diff --git a/pastie/paste.php b/pastie/paste.php index 395b7a140..c35dd8534 100644 --- a/pastie/paste.php +++ b/pastie/paste.php @@ -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); } diff --git a/pastie/view.php b/pastie/view.php index d7735e6d4..912c8e1d9 100644 --- a/pastie/view.php +++ b/pastie/view.php @@ -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; -- 2.11.0