[aur-dev] [PATCH] Prevent from merging a package base with itself
Lukas Fleischer
archlinux at cryptocrack.de
Wed Jul 23 10:02:49 EDT 2014
Instead of deleting the package, show an error message if a user tries
to merge a package base with itself.
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
web/html/pkgbase.php | 11 +++++++----
web/lib/pkgreqfuncs.inc.php | 4 ++++
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php
index 4f35a67..691639c 100644
--- a/web/html/pkgbase.php
+++ b/web/html/pkgbase.php
@@ -69,12 +69,15 @@ if (check_token()) {
}
else {
$merge_base_id = pkgbase_from_name($_POST['merge_Into']);
- if ($merge_base_id) {
- list($ret, $output) = pkgbase_delete($ids, $merge_base_id, $via);
- unset($_GET['ID']);
- } else {
+ if (!$merge_base_id) {
$output = __("Cannot find package to merge votes and comments into.");
$ret = false;
+ } elseif (in_array($merge_base_id, $ids)) {
+ $output = __("Cannot merge a package base with itself.");
+ $ret = false;
+ } else {
+ list($ret, $output) = pkgbase_delete($ids, $merge_base_id, $via);
+ unset($_GET['ID']);
}
}
}
diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php
index 41d1515..8fba838 100644
--- a/web/lib/pkgreqfuncs.inc.php
+++ b/web/lib/pkgreqfuncs.inc.php
@@ -110,6 +110,10 @@ function pkgreq_file($ids, $type, $merge_into, $comments) {
$base_id = intval($ids[0]);
$pkgbase_name = pkgbase_name_from_id($base_id);
+ if ($merge_into == $pkgbase_name) {
+ return array(false, __("Cannot merge a package base with itself."));
+ }
+
$q = "SELECT ID FROM RequestTypes WHERE Name = " . $dbh->quote($type);
$result = $dbh->query($q);
if ($row = $result->fetch(PDO::FETCH_ASSOC)) {
--
2.0.2
More information about the aur-dev
mailing list