public function next()
{
$this->init();
$this->entries->next();
if (!$this->entries->valid()) {
$this->days->next();
if (!$this->days->valid()) {
$this->months->next();
if (!$this->months->valid()) {
$this->years->next();
if ($this->years->valid()) {
$this->months = $this->getDirectoryIterator($this->years->current());
}
}
if ($this->months->valid()) {
$this->days = $this->getDirectoryIterator($this->months->current());
}
}
if ($this->days->valid()) {
$this->entries = $this->getEntryIterator();
}
}
}