Commit 00cffd7d authored by canyonknight's avatar canyonknight Committed by Lukas Fleischer
Browse files

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: default avatarcanyonknight <canyonknight@gmail.com>
Signed-off-by: default avatarLukas Fleischer <archlinux@cryptocrack.de>
parent d56a8889
...@@ -43,6 +43,9 @@ if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) { ...@@ -43,6 +43,9 @@ if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
case "unflag": case "unflag":
$_POST['do_UnFlag'] = __('UnFlag'); $_POST['do_UnFlag'] = __('UnFlag');
break; break;
case "delete":
include('pkgdel.php');
return;
} }
if (isset($_COOKIE['AURSID'])) { if (isset($_COOKIE['AURSID'])) {
......
<?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);
...@@ -54,6 +54,9 @@ $sources = package_sources($row["ID"]); ...@@ -54,6 +54,9 @@ $sources = package_sources($row["ID"]);
<?php else: ?> <?php else: ?>
<li><a href="<?= get_pkg_uri($row['Name']) . 'notify/'; ?>"><?= __('Notify of new comments'); ?></a></li> <li><a href="<?= get_pkg_uri($row['Name']) . 'notify/'; ?>"><?= __('Notify of new comments'); ?></a></li>
<?php endif; ?> <?php endif; ?>
<?php if ($atype == "Trusted User" || $atype == "Developer"): ?>
<li><a href="<?= get_pkg_uri($row['Name']) . 'delete/'; ?>"><?= __('Delete Package'); ?></a></li>
<?php endif; ?>
<?php endif; ?> <?php endif; ?>
</ul> </ul>
<?php if ($uid): ?> <?php if ($uid): ?>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment