From c7ede0038e98b386cbd1ef333d89faa2568b1cb1 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 12 May 2011 17:37:31 -0700 Subject: Now we have some basic functionality --- htdocs/src/PostIterator.inc.php | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'htdocs/src/PostIterator.inc.php') diff --git a/htdocs/src/PostIterator.inc.php b/htdocs/src/PostIterator.inc.php index 6106f23..52eb750 100644 --- a/htdocs/src/PostIterator.inc.php +++ b/htdocs/src/PostIterator.inc.php @@ -14,11 +14,15 @@ class PostIterator implements Iterator { private $where; private $rows; private $position; + private $order; + private $limit; public function __construct() { $this->where = array(); $this->rows = array(); $this->position = 0; + $this->order = "created desc"; + $this->limit = 0; } public function filterStage($stage) { @@ -29,6 +33,14 @@ class PostIterator implements Iterator { $this->where[] = "source_id='$source'"; } + public function orderBy($order) { + $this->order = $order; + } + + public function limit($limit) { + $this->limit = limit; + } + public function rewind() { $this->position = 0; } @@ -50,13 +62,19 @@ class PostIterator implements Iterator { } public function query() { - $query = "SELECT * FROM post"; + $query = "SELECT *, UNIX_TIMESTAMP(created) AS createdts FROM post"; if (count($this->where) > 0) { $where = join(' AND ', $this->where); $query .= " WHERE $where"; } + $query .= " ORDER BY ". $this->order; + + if ($this->limit != 0) { + $query .= " LIMIT ". $this->limit; + } + $db = getDatabase(); $this->rows = $db->fetchAssocRows($query); -- cgit v1.2.3