mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Automatically adopt when updating an orphan package (fixes FS#22992).
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
parent
bc207d25cd
commit
31b0b68b47
2 changed files with 8 additions and 6 deletions
|
@ -255,15 +255,14 @@ if ($_COOKIE["AURSID"]):
|
|||
|
||||
$dbh = db_connect();
|
||||
|
||||
# This is an overwrite of an existing package, the database ID
|
||||
# needs to be preserved so that any votes are retained. However,
|
||||
# PackageDepends and PackageSources can be purged.
|
||||
|
||||
$q = "SELECT * FROM Packages WHERE Name = '" . mysql_real_escape_string($new_pkgbuild['pkgname']) . "'";
|
||||
$result = db_query($q, $dbh);
|
||||
$pdata = mysql_fetch_assoc($result);
|
||||
|
||||
if ($pdata) {
|
||||
# This is an overwrite of an existing package, the database ID
|
||||
# needs to be preserved so that any votes are retained. However,
|
||||
# PackageDepends and PackageSources can be purged.
|
||||
|
||||
# Flush out old data that will be replaced with new data
|
||||
$q = "DELETE FROM PackageDepends WHERE PackageID = " . $pdata["ID"];
|
||||
|
@ -291,13 +290,14 @@ if ($_COOKIE["AURSID"]):
|
|||
}
|
||||
|
||||
# Update package data
|
||||
$q = sprintf("UPDATE Packages SET ModifiedTS = UNIX_TIMESTAMP(), Name = '%s', Version = '%s-%s', License = '%s', Description = '%s', URL = '%s', OutOfDateTS = NULL WHERE ID = %d",
|
||||
$q = sprintf("UPDATE Packages SET ModifiedTS = UNIX_TIMESTAMP(), Name = '%s', Version = '%s-%s', License = '%s', Description = '%s', URL = '%s', OutOfDateTS = NULL, MaintainerUID = '%d' WHERE ID = %d",
|
||||
mysql_real_escape_string($new_pkgbuild['pkgname']),
|
||||
mysql_real_escape_string($new_pkgbuild['pkgver']),
|
||||
mysql_real_escape_string($new_pkgbuild['pkgrel']),
|
||||
mysql_real_escape_string($new_pkgbuild['license']),
|
||||
mysql_real_escape_string($new_pkgbuild['pkgdesc']),
|
||||
mysql_real_escape_string($new_pkgbuild['url']),
|
||||
uid_from_sid($_COOKIE["AURSID"]),
|
||||
$pdata["ID"]);
|
||||
|
||||
db_query($q, $dbh);
|
||||
|
@ -329,6 +329,8 @@ if ($_COOKIE["AURSID"]):
|
|||
}
|
||||
}
|
||||
|
||||
if (!$pdata["MaintainerUID"]) pkg_notify(account_from_sid($_COOKIE["AURSID"]), array($pdata["ID"]));
|
||||
|
||||
header('Location: packages.php?ID=' . $pdata['ID']);
|
||||
|
||||
} else {
|
||||
|
|
|
@ -339,7 +339,7 @@ function can_submit_pkg($name="", $sid="") {
|
|||
if ($row[1] == "1") { return 1; }
|
||||
$my_uid = uid_from_sid($sid);
|
||||
|
||||
if ($row[0] == $my_uid) {
|
||||
if (!$row[0] || $row[0] == $my_uid) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue