changesets = $changesets; return $this; } public function render() { $against = array(); // TODO $edit = false; $changesets = $this->changesets; foreach ($changesets as $key => $changeset) { if (empty($against[$changeset->getID()])) { $type = $changeset->getChangeType(); if ($type == DifferentialChangeType::TYPE_MOVE_AWAY || $type == DifferentialChangeType::TYPE_MULTICOPY) { unset($changesets[$key]); } } } $output = array(); $mapping = array(); foreach ($changesets as $key => $changeset) { $file = $changeset->getFilename(); $class = 'differential-changeset'; if (!$edit) { $class .= ' differential-changeset-noneditable'; } $id = $changeset->getID(); if ($id) { $against_id = idx($against, $id); } else { $against_id = null; } /* $detail_uri = URI($render_uri) ->addQueryData(array( 'changeset' => $id, 'against' => $against_id, 'whitespace' => $whitespace, )); */ $detail_uri = '/differential/changeset/'.$changeset->getID().'/'; $detail = phutil_render_tag( 'a', array( 'style' => 'float: right', 'class' => 'button small grey', 'href' => $detail_uri, 'target' => '_blank', ), 'Standalone View'); // $div =