summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Heß <jannehess@gmail.com>2017-02-12 17:37:38 +0100
committerLukas Fleischer <lfleischer@archlinux.org>2017-02-12 17:53:13 +0100
commit9df1bd5fe2f781d1b8341496378c605b34cde64f (patch)
tree8be87405f43e58da970fb2d6f3c2b52d4088d838
parent3a167a109b240ef7c8c2fa7363156456c6861521 (diff)
downloadaur-9df1bd5fe2f781d1b8341496378c605b34cde64f.tar.gz
aur-9df1bd5fe2f781d1b8341496378c605b34cde64f.tar.xz
Add direct links to each source file
Currently, each source file which is an external link (http://, https://, ...) is a clickable link. This commit extends the behaviour by making files from the repository clickable as well. The link brings the user to the corresponding cgit page. Also, the link to the PKGBUILD is altered to make the configuration more consistent. Signed-off-by: Janne Heß <jannehess@gmail.com> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rw-r--r--conf/config.proto2
-rw-r--r--web/lib/pkgfuncs.inc.php6
-rw-r--r--web/template/pkg_details.php4
3 files changed, 7 insertions, 5 deletions
diff --git a/conf/config.proto b/conf/config.proto
index c1be2816..01a907a6 100644
--- a/conf/config.proto
+++ b/conf/config.proto
@@ -27,7 +27,7 @@ aur_request_ml = aur-requests@archlinux.org
request_idle_time = 1209600
auto_orphan_age = 15552000
auto_delete_age = 86400
-pkgbuild_uri = https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=%s
+source_file_uri = https://aur.archlinux.org/cgit/aur.git/tree/%s?h=%s
log_uri = https://aur.archlinux.org/cgit/aur.git/log/?h=%s
snapshot_uri = /cgit/aur.git/snapshot/%s.tar.gz
enable-maintenance = 1
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index 030ec9a1..adb21f66 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -481,17 +481,19 @@ function pkg_rel_html($name, $cond, $arch) {
*
* @param string $url The URL of the source
* @param string $arch The source architecture
+ * @param string $package The name of the package
*
* @return string The HTML code of the label to display
*/
-function pkg_source_link($url, $arch) {
+function pkg_source_link($url, $arch, $package) {
$url = explode('::', $url);
$parsed_url = parse_url($url[0]);
if (isset($parsed_url['scheme']) || isset($url[1])) {
$link = '<a href="' . htmlspecialchars((isset($url[1]) ? $url[1] : $url[0]), ENT_QUOTES) . '">' . htmlspecialchars($url[0]) . '</a>';
} else {
- $link = htmlspecialchars($url[0]);
+ $file_url = sprintf(config_get('options', 'source_file_uri'), htmlspecialchars($url[0]), $package);
+ $link = '<a href="' . $file_url . '">' . htmlspecialchars($url[0]) . '</a>';
}
if ($arch) {
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 32693948..ed8974a3 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -1,6 +1,6 @@
<?php
-$pkgbuild_uri = sprintf(config_get('options', 'pkgbuild_uri'), urlencode($row['BaseName']));
+$pkgbuild_uri = sprintf(config_get('options', 'source_file_uri'), 'PKGBUILD', urlencode($row['BaseName']));
$log_uri = sprintf(config_get('options', 'log_uri'), urlencode($row['BaseName']));
$snapshot_uri = sprintf(config_get('options', 'snapshot_uri'), urlencode($row['BaseName']));
$git_clone_uri_anon = sprintf(config_get('options', 'git_clone_uri_anon'), htmlspecialchars($row['BaseName']));
@@ -299,7 +299,7 @@ endif;
<div>
<ul id="pkgsrcslist">
<?php while (list($k, $src) = each($sources)): ?>
- <li><?= pkg_source_link($src[0], $src[1]) ?></li>
+ <li><?= pkg_source_link($src[0], $src[1], urlencode($row['BaseName'])) ?></li>
<?php endwhile; ?>
</ul>
</div>