blob: 6106f23825788f81142106247e3be76af3369235 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<?php
/* Foursquare Community Site
*
* Copyright (C) 2011 Foursquare Church.
*
* Developers: Jesse Morgan <jmorgan@foursquarestaff.com>
*
*/
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;
}
}
?>
|