[PATCH] Copy Git repository URL on click

Lukas Fleischer lfleischer at archlinux.org
Wed Dec 11 20:41:04 UTC 2019


The Git repository URLs are not meant to be visited using a web browser.
Copy the link to the clipboard instead.

Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
 web/template/pkg_details.php     | 17 +++++++++++++++--
 web/template/pkgbase_details.php | 17 +++++++++++++++--
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 93b5f1e..c6bb32d 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -100,9 +100,9 @@ $base_uri = get_pkgbase_uri($row['BaseName']);
 		<tr>
 			<th><?= __('Git Clone URL') . ': ' ?></th>
 			<td>
-				<a href="<?= $git_clone_uri_anon ?>"><?= $git_clone_uri_anon ?></a> (<?= __('read-only') ?>)
+				<a class="copy" href="<?= $git_clone_uri_anon ?>"><?= $git_clone_uri_anon ?></a> (<?= __('read-only') ?>, <?= __('click to copy') ?>)
 				<?php if (in_array($uid, $maintainers)): ?>
-				<br /> <a href="<?= $git_clone_uri_priv ?>"><?= $git_clone_uri_priv ?></a>
+				<br /> <a class="copy" href="<?= $git_clone_uri_priv ?>"><?= $git_clone_uri_priv ?></a> (<?= __('click to copy') ?>)
 				<?php endif; ?>
 			</td>
 		</tr>
@@ -306,3 +306,16 @@ endif;
 		<?php endif; ?>
 	</div>
 </div>
+
+<script>
+$(document).ready(function() {
+	$('.copy').click(function(e) {
+		var tmp = $("<input>");
+		$("body").append(tmp);
+		tmp.val($(this).text()).select();
+		document.execCommand("copy");
+		tmp.remove();
+		e.preventDefault();
+	});
+});
+</script>
diff --git a/web/template/pkgbase_details.php b/web/template/pkgbase_details.php
index b2ce8cb..a6857c4 100644
--- a/web/template/pkgbase_details.php
+++ b/web/template/pkgbase_details.php
@@ -49,9 +49,9 @@ $base_uri = get_pkgbase_uri($row['Name']);
 		<tr>
 			<th><?= __('Git Clone URL') . ': ' ?></th>
 			<td>
-				<a href="<?= $git_clone_uri_anon ?>"><?= $git_clone_uri_anon ?></a> (<?= __('read-only') ?>)
+				<a class="copy" href="<?= $git_clone_uri_anon ?>"><?= $git_clone_uri_anon ?></a> (<?= __('read-only') ?>, <?= __('click to copy') ?>)
 				<?php if (in_array($uid, $maintainers)): ?>
-				<br /> <a href="<?= $git_clone_uri_priv ?>"><?= $git_clone_uri_priv ?></a>
+				<br /> <a class="copy" href="<?= $git_clone_uri_priv ?>"><?= $git_clone_uri_priv ?></a> (<?= __('click to copy') ?>)
 				<?php endif; ?>
 			</td>
 		</tr>
@@ -135,3 +135,16 @@ endif;
 		</div>
 	</div>
 </div>
+
+<script>
+$(document).ready(function() {
+	$('.copy').click(function(e) {
+		var tmp = $("<input>");
+		$("body").append(tmp);
+		tmp.val($(this).text()).select();
+		document.execCommand("copy");
+		tmp.remove();
+		e.preventDefault();
+	});
+});
+</script>
-- 
2.24.0


More information about the aur-dev mailing list