/** * Fetch next row into variable * @return bool if next row exists */ public function nextRow() { if (!$this->results) { return false; } while (true) { if (!$this->onFirstRow) { $this->row = mysql_fetch_assoc($this->results); } $this->onFirstRow = false; if (!$this->row) { mysql_free_result($this->results); $this->results = null; return false; } // Format the date $submitTime = $this->row['Submitted']; $this->row['submit_time'] = $submitTime; $this->row['Submitted'] = $this->plugin->formatDate($submitTime); // Determine if row is filtered if ($this->rowFilter) { $match = $this->rowFilter->evaluate($this->row); if (!$match) { continue; } } $this->idx += 1; if ($this->limitStart && $this->idx < $this->limitStart) { continue; } if ($this->limitEnd && $this->idx >= $this->limitEnd) { while (mysql_fetch_array($this->results)) { } mysql_free_result($this->results); $this->results = null; $this->row = null; return false; } // Keep the unformatted submitTime if needed if ($this->submitTimeKeyName) { $this->row[$this->submitTimeKeyName] = $submitTime; } break; } if (!$this->row) { mysql_free_result($this->results); $this->results = null; } return $this->row ? true : false; }