url('change', array('change' => $change->getId()));
$changeLink = '
' . $change->getId() . '';
$againstUrl = $against ? $this->url('change', array('change' => $against->getId())) : null;
$againstLink = $against ? '
' . $against->getId() . '' : null;
$pathUrl = $this->url('file', array('path' => trim($basePath, '/')));
$pathLink = '
' . $this->decodeFilespec($basePath) . '';
if (!$against) {
echo '
#' . $changeRev . ': ' . $this->te('Change') . ' ';
echo $change->isSubmitted() ? $changeLink . ' ' . $this->te('committed') : $change->getId() . ' ' . $this->te('shelved');
} else {
echo '
#' . $againstRev . '-' . $changeRev . ':' . ' ' . $this->te('Changes between') . ' ';
echo $against->isSubmitted() ? $this->te('commit') . ' ' . $againstLink : $this->te('shelf') . ' ' . $against->getId();
echo ' ' . $this->te('and') . ' ';
echo $change->isSubmitted() ? $this->te('commit') . ' ' . $changeLink : $this->te('shelf') . ' ' . $change->getId();
}
echo $basePath ? ' ' . $this->te('into') . ' ' . $pathLink : null;
?>
decodeFilespec(substr($file['depotFile'], strlen($basePath) + 1));
$md5 = md5($file['depotFile']);
$rev = null;
$url = null;
if ($file['rev']) {
$rev = $change->isPending() ? '@=' . $change->getId() : $file['rev'];
$url = $this->url('file', array('path' => ltrim($file['depotFile'], '/')))
. '?' . http_build_query(array('v' => $rev));
}
// determine simple action class of add/edit/delete.
$actionClass = $file['isAdd'] ? 'add' : 'edit';
$actionClass = $file['isDelete'] ? 'delete' : $actionClass;
$actionTitle = $this->t(ucfirst($file['action'])) . " (" . $this->t($file['type']) . ")";
// file info (if present) contains read-by data
$fileInfoId = FileInfo::composeId($review->getId(), $file['depotFile']);
$fileInfo = isset($fileInfos[$fileInfoId]) ? $fileInfos[$fileInfoId] : null;
$digest = isset($file['digest']) ? $file['digest'] : null;
$readBy = $fileInfo ? $fileInfo->getReadBy($changeRev, $digest) : array();
$isRead = $fileInfo && $fileInfo->isReadBy($this->user()->getId(), $changeRev, $digest);
$readClass = 'file-' . ($isRead ? 'read' : 'unread');
?>
te('Snip')?> (> te('files')?>)
te($against ? 'No modified files.' : 'No files.') ?>
te("Tip: Use %sn%s and %sp%s to cycle through the changes."),
"",
"",
"",
""
); ?>
activity('review-' . $review->getId(), false, 'condensed'); ?>