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 56ab119..392090d 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 be1296a..c896aa3 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 e3c14f8..45812a9 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 041b521..d4991bd 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 246dc90..edffbfa 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 5a60c4c..b59addb 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 6da29b4..a0cd269 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 41d8df9..5eab234 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-70-g09d2