/** * Get changes * * @param string $since * @return Update[] */ public function getChanges($since) { $query = $this->database->prepare("SELECT\n du_sequence sequence,\n d_id id,\n d_revision revision\n FROM\n document_update\n WHERE\n du_sequence > :sequence\n ORDER BY\n du_sequence ASC;"); $query->execute(array('sequence' => $since)); $updates = $query->fetchAll(); $updates = array_map(function ($row) { return new Update($row['sequence'], $row['id'], array(new Revision($row['revision']))); }, $updates); $filter = new ChangesFilter\Dispatcher(array(new ChangesFilter\ConflictMerger($this->revisionCalculator), new ChangesFilter\Dublicates())); return $filter->filterChanges($updates); }
/** * Get changes * * @param string $since * @return Update[] */ public function getChanges($since) { $filter = new ChangesFilter\Dispatcher(array(new ChangesFilter\Since($since), new ChangesFilter\ConflictMerger($this->revisionCalculator), new ChangesFilter\Dublicates())); return $filter->filterChanges($this->updates); }