From 1e3fa38de5f940fef474fc3961c70b357b976308 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sun, 27 Feb 2011 17:12:43 +0100 Subject: Define "Packages.SubmitterUID" and "Packages.MaintainerUID" as "NULL". Signed-off-by: Lukas Fleischer --- UPGRADING | 5 +++++ support/schema/aur-schema.sql | 4 ++-- support/schema/gendummydata.py | 7 ++++++- web/README | 2 +- web/html/pkgsubmit.php | 2 +- web/lib/aur.inc | 2 +- web/lib/pkgfuncs.inc | 6 +++--- web/template/actions_form.php | 2 +- 8 files changed, 20 insertions(+), 10 deletions(-) diff --git a/UPGRADING b/UPGRADING index 56ab1198..392090db 100644 --- a/UPGRADING +++ b/UPGRADING @@ -28,6 +28,11 @@ ALTER TABLE TU_Votes ALTER TABLE PackageComments MODIFY DelUsersID INTEGER UNSIGNED NULL DEFAULT NULL; UPDATE PackageComments SET DelUsersID = NULL WHERE DelUsersID = 0; +ALTER TABLE Packages + MODIFY SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, + MODIFY MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL; +UPDATE Packages SET SubmitterUID = NULL WHERE SubmitterUID = 0; +UPDATE Packages SET MaintainerUID = NULL WHERE MaintainerUID = 0; ---- 3. (optional) If you converted your database from MyISAM to InnoDB during the diff --git a/support/schema/aur-schema.sql b/support/schema/aur-schema.sql index be1296a7..c896aa37 100644 --- a/support/schema/aur-schema.sql +++ b/support/schema/aur-schema.sql @@ -104,8 +104,8 @@ CREATE TABLE Packages ( OutOfDateTS BIGINT UNSIGNED NULL DEFAULT NULL, SubmittedTS BIGINT UNSIGNED NOT NULL, ModifiedTS BIGINT UNSIGNED NOT NULL, - SubmitterUID INTEGER UNSIGNED NOT NULL DEFAULT 0, -- who submitted it? - MaintainerUID INTEGER UNSIGNED NOT NULL DEFAULT 0, -- User + SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, -- who submitted it? + MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- User PRIMARY KEY (ID), UNIQUE (Name), INDEX (CategoryID), diff --git a/support/schema/gendummydata.py b/support/schema/gendummydata.py index e3c14f83..45812a9c 100755 --- a/support/schema/gendummydata.py +++ b/support/schema/gendummydata.py @@ -228,8 +228,13 @@ for p in seen_pkgs.keys(): uuid = genUID() # the submitter/user - s = "INSERT INTO Packages (ID, Name, Version, CategoryID, SubmittedTS, SubmitterUID, MaintainerUID) VALUES (%d, '%s', '%s', %d, %d, %d, %d);\n" % (seen_pkgs[p], p, genVersion(), + if muid == 0: + s = "INSERT INTO Packages (ID, Name, Version, CategoryID, SubmittedTS, SubmitterUID, MaintainerUID) VALUES (%d, '%s', '%s', %d, %d, %d, NULL);\n" % (seen_pkgs[p], p, genVersion(), + genCategory(), NOW, uuid) + else: + s = "INSERT INTO Packages (ID, Name, Version, CategoryID, SubmittedTS, SubmitterUID, MaintainerUID) VALUES (%d, '%s', '%s', %d, %d, %d, %d);\n" % (seen_pkgs[p], p, genVersion(), genCategory(), NOW, uuid, muid) + out.write(s) if count % 100 == 0: if DBUG: print ".", diff --git a/web/README b/web/README index 041b521f..d4991bde 100644 --- a/web/README +++ b/web/README @@ -152,7 +152,7 @@ Scripts: can also set the account type to Dev. TUs and Devs are able to delete accounts. If an account is deleted, all "Unsupported" packages are orphaned (the MaintainerUID field in the Packages - table is set to Null). + table is set to NULL). - html/packages.php PHP script to search the package database. It should support diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index 246dc903..edffbfa1 100644 --- a/web/html/pkgsubmit.php +++ b/web/html/pkgsubmit.php @@ -344,7 +344,7 @@ if ($_COOKIE["AURSID"]): } } - if (!$pdata["MaintainerUID"]) pkg_notify(account_from_sid($_COOKIE["AURSID"]), array($pdata["ID"])); + if ($pdata["MaintainerUID"] === NULL) pkg_notify(account_from_sid($_COOKIE["AURSID"]), array($pdata["ID"])); header('Location: packages.php?ID=' . $pdata['ID']); diff --git a/web/lib/aur.inc b/web/lib/aur.inc index 5a60c4c6..b59addbf 100644 --- a/web/lib/aur.inc +++ b/web/lib/aur.inc @@ -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] || $row[0] == $my_uid) { + if ($row[0] === NULL || $row[0] == $my_uid) { return 1; } diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index 6da29b4c..a0cd2692 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -487,7 +487,7 @@ function pkg_search_page($SID="") { } if ($_GET["do_Orphans"]) { - $q.= "AND MaintainerUID = 0 "; + $q.= "AND MaintainerUID IS NULL "; } if (isset($_GET['outdated'])) { @@ -813,7 +813,7 @@ function pkg_adopt ($atype, $ids, $action = True) { if ($action) { $user = uid_from_sid($_COOKIE["AURSID"]); } else { - $user = 0; + $user = 'NULL'; } $q.= "SET $field = $user "; @@ -821,7 +821,7 @@ function pkg_adopt ($atype, $ids, $action = True) { if ($action && $atype == "User") { # Regular users may only adopt orphan packages from unsupported - $q.= "AND $field = 0 "; + $q.= "AND $field IS NULL "; } else if ($atype == "User") { $q.= "AND $field = " . uid_from_sid($_COOKIE["AURSID"]); } diff --git a/web/template/actions_form.php b/web/template/actions_form.php index 41d8df9b..5eab2340 100644 --- a/web/template/actions_form.php +++ b/web/template/actions_form.php @@ -35,7 +35,7 @@ if ($row["OutOfDateTS"] === NULL) { echo " value='".__("UnFlag Out-of-date")."'>\n"; } -if ($row["MaintainerUID"] == 0) { +if ($row["MaintainerUID"] === NULL) { echo "\n"; } else if ($uid == $row["MaintainerUID"] || -- cgit v1.2.3-24-g4f1b