diff options
author | Lukas Fleischer <lfleischer@archlinux.org> | 2015-08-30 16:24:13 +0200 |
---|---|---|
committer | Lukas Fleischer <lfleischer@archlinux.org> | 2015-08-30 16:44:12 +0200 |
commit | e1a258bd832c3ba76b5f898cbd068c5bdf4eb4dc (patch) | |
tree | f24bf8f305d6493b23ad654ea0534ad4b851be9b | |
parent | 57250a164172672f26c763e8453855f74d72c191 (diff) |
Remember user ID when flagging package bases
Add a new FlaggerUID field to the database and use it to store the user
ID of the account who recently flagged a package out-of-date.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rw-r--r-- | schema/aur-schema.sql | 2 | ||||
-rw-r--r-- | upgrading/4.1.0.txt | 8 | ||||
-rw-r--r-- | web/lib/pkgbasefuncs.inc.php | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql index 444cb5e..9556b20 100644 --- a/schema/aur-schema.sql +++ b/schema/aur-schema.sql @@ -84,6 +84,7 @@ CREATE TABLE PackageBases ( OutOfDateTS BIGINT UNSIGNED NULL DEFAULT NULL, SubmittedTS BIGINT UNSIGNED NOT NULL, ModifiedTS BIGINT UNSIGNED NOT NULL, + FlaggerUID BIGINT UNSIGNED NULL DEFAULT NULL, -- who flagged the package out-of-date? SubmitterUID INTEGER UNSIGNED NULL DEFAULT NULL, -- who submitted it? MaintainerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- User PackagerUID INTEGER UNSIGNED NULL DEFAULT NULL, -- Last packager @@ -93,6 +94,7 @@ CREATE TABLE PackageBases ( INDEX (SubmitterUID), INDEX (MaintainerUID), INDEX (PackagerUID), + FOREIGN KEY (FlaggerUID) REFERENCES Users(ID) ON DELETE SET NULL, -- deleting a user will cause packages to be orphaned, not deleted FOREIGN KEY (SubmitterUID) REFERENCES Users(ID) ON DELETE SET NULL, FOREIGN KEY (MaintainerUID) REFERENCES Users(ID) ON DELETE SET NULL, diff --git a/upgrading/4.1.0.txt b/upgrading/4.1.0.txt index 7862030..c0bf573 100644 --- a/upgrading/4.1.0.txt +++ b/upgrading/4.1.0.txt @@ -7,3 +7,11 @@ ALTER TABLE PackageComments ADD COLUMN EditedUsersID INTEGER UNSIGNED NULL DEFAULT NULL, ADD FOREIGN KEY (EditedUsersID) REFERENCES Users(ID) ON DELETE SET NULL; ---- + +2. Add a field to store the ID of the last user who flagged a package +out-of-date: + +---- +ALTER TABLE PackageBases + ADD COLUMN FlaggerUID BIGINT UNSIGNED NULL DEFAULT NULL; +---- diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php index 677ae6b..df1ae18 100644 --- a/web/lib/pkgbasefuncs.inc.php +++ b/web/lib/pkgbasefuncs.inc.php @@ -328,15 +328,15 @@ function pkgbase_flag($base_ids) { return array(false, __("You did not select any packages to flag.")); } + $uid = uid_from_sid($_COOKIE['AURSID']); $dbh = DB::connect(); $q = "UPDATE PackageBases SET"; - $q.= " OutOfDateTS = UNIX_TIMESTAMP()"; + $q.= " OutOfDateTS = UNIX_TIMESTAMP(), FlaggerUID = " . $uid; $q.= " WHERE ID IN (" . implode(",", $base_ids) . ")"; $q.= " AND OutOfDateTS IS NULL"; $dbh->exec($q); - $uid = uid_from_sid($_COOKIE['AURSID']); foreach ($base_ids as $base_id) { notify(array('flag', $uid, $base_id)); } |