<?php
$app->get('{repo}/', function($repo) use($app) {
$repository = $app['git']->getRepository($app['git.repos'] . $repo);
$tree = $repository->getTree('master');
$breadcrumbs = $app['utils']->getBreadcrumbs("$repo/");
return $app['twig']->render('tree.twig', array(
'baseurl' => $app['baseurl'],
'page' => 'files',
'files' => $tree->output(),
'repo' => $repo,
'branch' => 'master',
'path' => '',
'parent' => '',
'breadcrumbs' => $breadcrumbs,
'branches' => $repository->getBranches(),
'tags' => $repository->getTags(),
));
})->assert('repo', '[\w-._]+');
$app->get('{repo}/tree/{branch}/', function($repo, $branch) use($app) {
$repository = $app['git']->getRepository($app['git.repos'] . $repo);
$tree = $repository->getTree($branch);
$breadcrumbs = $app['utils']->getBreadcrumbs("$repo/");
return $app['twig']->render('tree.twig', array(
'baseurl' => $app['baseurl'],
'page' => 'files',
'files' => $tree->output(),
'repo' => $repo,
'branch' => $branch,
'path' => '',
'parent' => '',
'breadcrumbs' => $breadcrumbs,
'branches' => $repository->getBranches(),
'tags' => $repository->getTags(),
));
})->assert('repo', '[\w-._]+')
->assert('branch', '[\w-._]+');
$app->get('{repo}/tree/{branch}/{tree}/', function($repo, $branch, $tree) use($app) {
$repository = $app['git']->getRepository($app['git.repos'] . $repo);
$files = $repository->getTree("$branch:$tree/");
$breadcrumbs = $app['utils']->getBreadcrumbs("$repo/tree/$branch/$tree");
if (($slash = strrpos($tree, '/')) !== false) {
$parent = '/' . substr($tree, 0, $slash);
} else {
$parent = '/';
}
return $app['twig']->render('tree.twig', array(
'baseurl' => $app['baseurl'],
'page' => 'files',
'files' => $files->output(),
'repo' => $repo,
'branch' => $branch,
'path' => "$tree/",
'parent' => $parent,
'breadcrumbs' => $breadcrumbs,
'branches' => $repository->getBranches(),
'tags' => $repository->getTags(),
));
})->assert('tree', '.+')
->assert('repo', '[\w-._]+')
->assert('branch', '[\w-._]+');