summaryrefslogtreecommitdiffstats
path: root/web/html
diff options
context:
space:
mode:
authorcanyonknight <canyonknight@gmail.com>2012-09-27 17:02:11 -0400
committerLukas Fleischer <archlinux@cryptocrack.de>2012-09-28 08:57:24 +0200
commit00cffd7ddba6bd7b65fcd4c1ce625515cf5489d0 (patch)
treeeeba9df3d5b2528c8b35583456004dc1b8cd17eb /web/html
parentd56a88897bcaa9d552d1d2b90c33b7c6e29e330a (diff)
downloadaurweb-00cffd7ddba6bd7b65fcd4c1ce625515cf5489d0.tar.xz
Move package deletion to a separate page
Package actions now have a separate box on the package details page. Make a package deletion link in that box. Link leads to a new page (pkgdel.php) that can be used to confirm package deletion. A separate page with confirmation is used to avoid CSRFs. Signed-off-by: canyonknight <canyonknight@gmail.com> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web/html')
-rw-r--r--web/html/index.php3
-rw-r--r--web/html/pkgdel.php44
2 files changed, 47 insertions, 0 deletions
diff --git a/web/html/index.php b/web/html/index.php
index 5c56868..0b5dfc8 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -43,6 +43,9 @@ if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
case "unflag":
$_POST['do_UnFlag'] = __('UnFlag');
break;
+ case "delete":
+ include('pkgdel.php');
+ return;
}
if (isset($_COOKIE['AURSID'])) {
diff --git a/web/html/pkgdel.php b/web/html/pkgdel.php
new file mode 100644
index 0000000..7f244eb
--- /dev/null
+++ b/web/html/pkgdel.php
@@ -0,0 +1,44 @@
+<?php
+
+set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
+
+include_once("aur.inc.php");
+include_once("pkgfuncs.inc.php");
+
+set_lang();
+check_sid();
+
+html_header(__("Package Deletion"));
+
+$atype = "";
+
+if (isset($_COOKIE["AURSID"])) {
+ $atype = account_from_sid($_COOKIE["AURSID"]);
+}
+
+if ($atype == "Trusted User" || $atype == "Developer"): ?>
+<div class="box">
+ <h2><?= __('Delete Package: %s', htmlspecialchars($pkgname)) ?></h2>
+ <p>
+ <?= __('Use this form to delete the package (%s%s%s) from the AUR. ',
+ '<strong>', htmlspecialchars($pkgname), '</strong>'); ?>
+ <?= __('Deletion of a package is permanent. '); ?>
+ <?= __('Select the checkbox to confirm action.') ?>
+ </p>
+ <form action="<?= get_uri('/packages/'); ?>" method="post">
+ <fieldset>
+ <input type="hidden" name="IDs[<?= $pkgid ?>]" value="1" />
+ <input type="hidden" name="ID" value="<?= $pkgid ?>" />
+ <input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
+ <p><input type="checkbox" name="confirm_Delete" value="1" />
+ <?= __("Confirm package deletion") ?></p>
+ <p><input type="submit" class="button" name="do_Delete" value="<?= __("Delete") ?>" /></p>
+ </fieldset>
+ </form>
+</div>
+
+<?php else:
+ print __("Only Trusted Users and Developers can delete packages.");
+endif;
+
+html_footer(AUR_VERSION);