mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Move package merging to a separate page
Package actions now have a separate box on the package details page. Add a package merge link in that box. Link leads to a new page (pkgmerge.php) that can be used to confirm package merging. 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>
This commit is contained in:
parent
00cffd7ddb
commit
752c5a6e34
3 changed files with 51 additions and 0 deletions
|
@ -46,6 +46,9 @@ if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
|
||||||
case "delete":
|
case "delete":
|
||||||
include('pkgdel.php');
|
include('pkgdel.php');
|
||||||
return;
|
return;
|
||||||
|
case "merge":
|
||||||
|
include('pkgmerge.php');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_COOKIE['AURSID'])) {
|
if (isset($_COOKIE['AURSID'])) {
|
||||||
|
|
47
web/html/pkgmerge.php
Normal file
47
web/html/pkgmerge.php
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<?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 Merging"));
|
||||||
|
|
||||||
|
$atype = "";
|
||||||
|
|
||||||
|
if (isset($_COOKIE["AURSID"])) {
|
||||||
|
$atype = account_from_sid($_COOKIE["AURSID"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($atype == "Trusted User" || $atype == "Developer"): ?>
|
||||||
|
<div class="box">
|
||||||
|
<h2><?= __('Merge Package: %s', htmlspecialchars($pkgname)) ?></h2>
|
||||||
|
<p>
|
||||||
|
<?= __('Use this form to merge the package (%s%s%s) into another package. ',
|
||||||
|
'<strong>', htmlspecialchars($pkgname), '</strong>'); ?>
|
||||||
|
<?= __('Once the package has been merged it cannot be reversed. '); ?>
|
||||||
|
<?= __('Enter the package name you wish to merge the package into. '); ?>
|
||||||
|
<?= __('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><label for="merge_Into" ><?= __("Merge into:") ?></label>
|
||||||
|
<input type="text" id="merge_Into" name="merge_Into" /></p>
|
||||||
|
<p><input type="checkbox" name="confirm_Delete" value="1" />
|
||||||
|
<?= __("Confirm package merge") ?></p>
|
||||||
|
<p><input type="submit" class="button" name="do_Delete" value="<?= __("Merge") ?>" /></p>
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php else:
|
||||||
|
print __("Only Trusted Users and Developers can merge packages.");
|
||||||
|
endif;
|
||||||
|
|
||||||
|
html_footer(AUR_VERSION);
|
|
@ -56,6 +56,7 @@ $sources = package_sources($row["ID"]);
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php if ($atype == "Trusted User" || $atype == "Developer"): ?>
|
<?php if ($atype == "Trusted User" || $atype == "Developer"): ?>
|
||||||
<li><a href="<?= get_pkg_uri($row['Name']) . 'delete/'; ?>"><?= __('Delete Package'); ?></a></li>
|
<li><a href="<?= get_pkg_uri($row['Name']) . 'delete/'; ?>"><?= __('Delete Package'); ?></a></li>
|
||||||
|
<li><a href="<?= get_pkg_uri($row['Name']) . 'merge/'; ?>"><?= __('Merge Package'); ?></a></li>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
Loading…
Add table
Reference in a new issue