From dd24e2c973a7979894971bdc38d904d2aecc7d5d Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 12 May 2011 16:59:36 -0700 Subject: Well, you can see posts on the moderation panel now --- htdocs/src/PostIterator.inc.php | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 htdocs/src/PostIterator.inc.php (limited to 'htdocs/src/PostIterator.inc.php') diff --git a/htdocs/src/PostIterator.inc.php b/htdocs/src/PostIterator.inc.php new file mode 100644 index 0000000..6106f23 --- /dev/null +++ b/htdocs/src/PostIterator.inc.php @@ -0,0 +1,67 @@ + + * + */ + +require_once "base.inc.php"; + +class PostIterator implements Iterator { + private $where; + private $rows; + private $position; + + public function __construct() { + $this->where = array(); + $this->rows = array(); + $this->position = 0; + } + + public function filterStage($stage) { + $this->where[] = "stage='$stage'"; + } + + public function filterSource($source) { + $this->where[] = "source_id='$source'"; + } + + public function rewind() { + $this->position = 0; + } + + public function current() { + return new Post($this->rows[$this->position]); + } + + public function key() { + return $this->rows[$this->position]['id']; + } + + public function next() { + ++$this->position; + } + + public function valid() { + return isset($this->rows[$this->position]); + } + + public function query() { + $query = "SELECT * FROM post"; + + if (count($this->where) > 0) { + $where = join(' AND ', $this->where); + $query .= " WHERE $where"; + } + + $db = getDatabase(); + + $this->rows = $db->fetchAssocRows($query); + $this->position = 0; + } +} + +?> -- cgit v1.2.3