diff --git a/module/repo/control.php b/module/repo/control.php index 130f006218..8445e36a33 100644 --- a/module/repo/control.php +++ b/module/repo/control.php @@ -345,6 +345,7 @@ class repo extends control public function browse($repoID = 0, $branchID = '', $objectID = 0, $path = '', $revision = 'HEAD', $refresh = 0) { $repoID = $this->repo->saveState($repoID, $objectID); + if($branchID) $branchID = base64_decode($branchID); /* Get path and refresh. */ if($this->get->repoPath) $path = $this->get->repoPath; @@ -1145,6 +1146,7 @@ class repo extends control { $repo = $this->repo->getRepoByID($repoID); $branches = $this->repo->getBranches($repo); + if($branchID) $branchID = base64_decode($branchID); $branchesHtml = "
"; foreach($branches as $id => $branchName) diff --git a/module/repo/model.php b/module/repo/model.php index 4678b98dec..f4957003c4 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -104,7 +104,7 @@ class repoModel extends model $branchName = isset($branches[$branch]) ? $branches[$branch] : $branches[0]; - $dropMenuLink = helper::createLink('repo', 'ajaxGetBranchDropMenu', "repID=$repoID&branchID=$branchID&objectID=$objectID"); + $dropMenuLink = helper::createLink('repo', 'ajaxGetBranchDropMenu', "repID=$repoID&branchID=" . base64_encode($branchID) . "&objectID=$objectID"); $output .= "
"; diff --git a/module/repo/view/blame.html.php b/module/repo/view/blame.html.php index f9f945b4d9..dd129dc110 100644 --- a/module/repo/view/blame.html.php +++ b/module/repo/view/blame.html.php @@ -31,14 +31,15 @@ css::import($jsRoot . 'misc/highlight/styles/github.css');
repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'"); + $base64BranchID = base64_encode($branchID); + echo html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'"); $paths = explode('/', $entry); $fileName = array_pop($paths); $postPath = ''; foreach($paths as $pathName) { $postPath .= $pathName . '/'; - echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); + echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); } echo '/' . ' ' . $fileName; echo " " . $revisionName . ''; diff --git a/module/repo/view/browse.html.php b/module/repo/view/browse.html.php index b3ca9cf324..d04c2be3a6 100644 --- a/module/repo/view/browse.html.php +++ b/module/repo/view/browse.html.php @@ -29,7 +29,8 @@ $branchName) { - echo "
  • " . html::a($this->createLink('repo', 'browse', "repoID=$repoID&branchID=$id&objectID=$objectID"), $branchName, '', "title='{$branchName}' class='text-ellipsis' data-app='{$app->openApp}'") . "
  • "; + $base64BranchID = base64_encode($id); + echo "
  • " . html::a($this->createLink('repo', 'browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID"), $branchName, '', "title='{$branchName}' class='text-ellipsis' data-app='{$app->openApp}'") . "
  • "; } ?> @@ -38,14 +39,15 @@
    repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'"); + $base64BranchID = base64_encode($branchID); + echo html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'"); $paths= explode('/', $path); $fileName = array_pop($paths); $postPath = ''; foreach($paths as $pathName) { $postPath .= $pathName . '/'; - echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); + echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); } echo '/' . ' ' . $fileName; ?> @@ -54,7 +56,7 @@
    repo->notice->lastSyncTime . $cacheTime?> - repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($path) . "&revision=$revision&refresh=1"), " " . $lang->refresh, '', "class='btn btn-primary' data-app={$app->openApp}");?> + repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID&path=" . $this->repo->encodePath($path) . "&revision=$revision&refresh=1"), " " . $lang->refresh, '', "class='btn btn-primary' data-app={$app->openApp}");?>
    @@ -80,7 +82,7 @@ name, '/'); - $link = $info->kind == 'dir' ? $this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($infoPath)) : $this->repo->createLink('view', "repoID=$repoID&objectID=$objectID&entry=" . $this->repo->encodePath($infoPath)); + $link = $info->kind == 'dir' ? $this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID&path=" . $this->repo->encodePath($infoPath)) : $this->repo->createLink('view', "repoID=$repoID&objectID=$objectID&entry=" . $this->repo->encodePath($infoPath)); echo html::a($link, $info->name, '', "title='{$info->name}' data-app={$app->openApp}"); ?> diff --git a/module/repo/view/diff.html.php b/module/repo/view/diff.html.php index 59e039f51c..0eb648aa81 100644 --- a/module/repo/view/diff.html.php +++ b/module/repo/view/diff.html.php @@ -29,13 +29,14 @@
    repo->createLink('browse', "repoID=$repoID&branchID=&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'"); - $paths = explode('/', $entry); - $fileName = array_pop($paths); - $postPath = ''; + $paths = explode('/', $entry); + $fileName = array_pop($paths); + $postPath = ''; + $base64BranchID = base64_encode($branchID); foreach($paths as $pathName) { $postPath .= $pathName . '/'; - echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); + echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$base64BranchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath)), trim($pathName, '/'), '', "data-app='{$app->openApp}'"); } echo '/' . ' ' . $fileName; if(strpos($repo->SCM, 'Subversion') === false) diff --git a/module/repo/view/revision.html.php b/module/repo/view/revision.html.php index 8da20df320..ffe68e3566 100644 --- a/module/repo/view/revision.html.php +++ b/module/repo/view/revision.html.php @@ -19,7 +19,7 @@ $typeInfo = $type == 'file' ? '&type=file' : '';