public function next() { if (!$this->valid()) { return; } $lastOffset = $this->key(); do { while ($this->topicIdIterator->valid()) { $topicId = $this->topicIdIterator->current(); $this->topicIdIterator->next(); // this topic id has been seen before. if ($topicId <= $lastOffset) { continue; } // hidden and deleted threads come back as null $topic = $this->importSource->getTopic($topicId); if ($topic === null) { continue; } $this->current = $topicId; $this->currentTopic = $topic; return; } } while ($this->loadMore()); // nothing found, nothing more to load $this->current = false; }
public function getObjectKey() { return $this->source->getObjectKey('header_for', $this->title); }