public function fetchRepositoriesPerMirrorPresenters(Git_Mirror_Mirror $mirror) { $presenters = array(); $previous_group_id = -1; foreach ($this->dao->fetchAllRepositoryMirroredByMirror($mirror->id) as $row) { if ($previous_group_id !== $row['group_id']) { $project_presenter = new Git_AdminRepositoryListForProjectPresenter($row['group_id'], $row['group_name']); $presenters[] = $project_presenter; } $project_presenter->repositories[] = array('repository_id' => $row['repository_id'], 'repository_path' => $row['repository_path']); $previous_group_id = $row['group_id']; } return $presenters; }