83,6 → 83,35 |
return $url; |
} |
|
function fileLinkGetFile($path, $file) |
{ |
global $rep, $passrev, $showchanged, $config; |
|
if ($path == "" || $path{0} != "/") |
$ppath = "/".$path; |
else |
$ppath = $path; |
|
if ($ppath{strlen($ppath)-1} != "/") |
$ppath .= "/"; |
|
if ($file{0} == "/") |
$pfile = substr($file, 1); |
else |
$pfile = $file; |
|
$isDir = $pfile{strlen($pfile) - 1} == "/"; |
|
if (!$isDir) |
{ |
$url = $config->getURL($rep, $ppath.$pfile, "file"); |
$url = removeURLSeparator($url); |
$url = "<a href=\"${url}&getfile\">Get</a>"; |
} |
|
return $url; |
} |
|
function showDirFiles($svnrep, $subs, $level, $limit, $rev, $listing, $index, $treeview = true) |
{ |
global $rep, $passrev, $showchanged, $config, $lang; |
89,6 → 118,20 |
|
$path = ""; |
|
// Explicitly requested file as attachment |
if (isset($_REQUEST['getfile'])) |
{ |
$base = basename($path); |
|
header("Content-Type: application/octet-stream"); |
header("Content-Length: $size"); |
header("Content-Disposition: inline; filename=".urlencode($base)); |
|
$svnrep->getFileContents($path, "", $rev); |
|
exit; |
} |
|
if (!$treeview) |
$level = $limit; |
|
116,7 → 159,7 |
{ |
$access = true; |
$openDir = (!strcmp($subs[$level+1]."/", $file) || !strcmp($subs[$level+1], $file)); |
|
|
if ($openDir) |
$listing[$index]["filetype"] = "diropen"; |
else |
146,26 → 189,31 |
$listing[$index]["filetype"] = strrchr($file, "."); |
} |
} |
|
|
if ($access) |
{ |
$listing[$index]["rowparity"] = ($index % 2)?"1":"0"; |
$listing[$index]["rowparity"] = ($index % 2)?"L1":"L0"; |
|
if ($treeview) |
$listing[$index]["compare_box"] = "<input type=\"checkbox\" name=\"compare[]\" value=\"".fileLink($path, $file, true)."@$passrev\" onclick=\"checkCB(this)\" />"; |
else |
$listing[$index]["compare_box"] = ""; |
|
|
if ($openDir) |
$listing[$index]["filelink"] = "<b>".fileLink($path, $file)."</b>"; |
else |
$listing[$index]["filelink"] = fileLink($path, $file); |
|
|
if ($isDir) |
$listing[$index]["filelinkgetfile"] = ""; |
else |
$listing[$index]["filelinkgetfile"] = fileLinkGetFile($path, $file); |
|
// The history command doesn't return with a trailing slash. We need to remember here if the |
// file is a directory or not! |
|
|
$listing[$index]["isDir"] = $isDir; |
|
|
if ($treeview) |
$listing[$index]["level"] = $level; |
else |
172,10 → 220,10 |
$listing[$index]["level"] = 0; |
|
$listing[$index]["node"] = 0; // t-node |
|
|
$fileurl = $config->getURL($rep, $path.$file, "log"); |
$listing[$index]["fileviewloglink"] = "<a href=\"${fileurl}rev=$passrev&sc=$showchanged&isdir=$isDir\">${lang["VIEWLOG"]}</a>"; |
|
|
$rssurl = $config->getURL($rep, $path.$file, "rss"); |
if ($rep->getHideRss()) |
{ |
182,11 → 230,11 |
$listing[$index]["rsslink"] = "<a href=\"${rssurl}rev=$passrev&sc=$showchanged&isdir=$isDir\">${lang["RSSFEED"]}</a>"; |
$listing[$index]["rssanchor"] = "<a href=\"${rssurl}rev=$passrev&sc=$showchanged&isdir=$isDir\">"; |
} |
|
|
$index++; |
$loop++; |
$last_index = $index; |
|
|
if (($level != $limit) && ($isDir)) |
{ |
if (!strcmp($subs[$level + 1]."/", $file)) |
194,7 → 242,7 |
$listing = showDirFiles($svnrep, $subs, $level + 1, $limit, $rev, $listing, $index); |
$index = count($listing); |
} |
} |
} |
|
} |
} |
338,7 → 386,7 |
$vars["newfilesbr"] .= fileLink("", $file->path); |
$vars["newfiles"] .= " ".fileLink("", $file->path); |
break; |
|
|
case "M": |
if (!$firstModded) $vars["changedfilesbr"] .= "<br />"; |
$firstModded = false; |
354,9 → 402,9 |
break; |
} |
} |
|
|
$vars["hidechangeslink"] = "<a href=\"${dirurl}rev=$passrev&sc=0\">${lang["HIDECHANGED"]}</a>"; |
|
|
$vars["hidechanges"] = false; |
$vars["showchanges"] = true; |
} |
371,14 → 419,14 |
|
if (isset($history->entries[1]->rev)) |
{ |
$vars["curdircomplink"] = "<a href=\"${compurl}compare[]=". |
urlencode($history->entries[1]->path)."@".$history->entries[1]->rev. |
"&compare[]=".urlencode($history->entries[0]->path)."@".$history->entries[0]->rev. |
"\">${lang["DIFFPREV"]}</a>"; |
$vars["curdircomplink"] = "<a href=\"${compurl}compare[]=". |
urlencode($history->entries[1]->path)."@".$history->entries[1]->rev. |
"&compare[]=".urlencode($history->entries[0]->path)."@".$history->entries[0]->rev. |
"\">${lang["DIFFPREV"]}</a>"; |
} |
else |
{ |
$vars["curdircomplink"] = ""; |
$vars["curdircomplink"] = ""; |
} |
|
if ($rep->getHideRss()) |