summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2010-10-06 04:25:53 +0200
committerLoui Chang <louipc.ist@gmail.com>2010-11-10 20:50:35 +0100
commiteda713032ce9bed773b6c927b2f6ac4b445fe577 (patch)
tree8091bc77f982d2d71a50dcd7b1facdd50a3f14c3
parentdbb8bb783f2f22b68ad2d65f020390428e77c479 (diff)
downloadaur-eda713032ce9bed773b6c927b2f6ac4b445fe577.tar.gz
aur-eda713032ce9bed773b6c927b2f6ac4b445fe577.tar.xz
Add timestamp when a package is flagged out-of-date (FS#20848).
Signed-off-by: Loui Chang <louipc.ist@gmail.com> - resolve conflict and omit i18n changes.
-rw-r--r--UPGRADING6
-rw-r--r--support/schema/aur-schema.sql3
-rw-r--r--web/html/pkgsubmit.php2
-rw-r--r--web/lib/aurjson.class.php2
-rw-r--r--web/lib/pkgfuncs.inc13
-rw-r--r--web/lib/stats.inc2
-rw-r--r--web/template/actions_form.php2
-rw-r--r--web/template/pkg_details.php5
-rw-r--r--web/template/pkg_search_results.php2
9 files changed, 24 insertions, 13 deletions
diff --git a/UPGRADING b/UPGRADING
index 743f4042..bbf60f08 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -1,6 +1,12 @@
Upgrading
=========
+From 1.7.0 to 1.8.0
+-------------------
+ALTER TABLE Packages ADD OutOfDateTS BIGINT UNSIGNED NULL DEFAULT NULL;
+UPDATE Packages SET OutOfDateTS = UNIX_TIMESTAMP() WHERE OutOfDate = 1;
+ALTER TABLE Packages DROP OutOfDate;
+
From 1.6.0 to 1.7.0
-------------------
ALTER TABLE Users ADD Salt CHAR(32) NOT NULL DEFAULT '';
diff --git a/support/schema/aur-schema.sql b/support/schema/aur-schema.sql
index 250d4058..93ec9a06 100644
--- a/support/schema/aur-schema.sql
+++ b/support/schema/aur-schema.sql
@@ -119,7 +119,7 @@ CREATE TABLE Packages (
License CHAR(40) NOT NULL DEFAULT '',
LocationID TINYINT UNSIGNED NOT NULL DEFAULT 1,
NumVotes INTEGER UNSIGNED NOT NULL DEFAULT 0,
- OutOfDate TINYINT UNSIGNED DEFAULT 0,
+ 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?
@@ -130,7 +130,6 @@ CREATE TABLE Packages (
INDEX (CategoryID),
INDEX (LocationID),
INDEX (DummyPkg),
- INDEX (OutOfDate),
INDEX (NumVotes),
INDEX (SubmitterUID),
INDEX (MaintainerUID),
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index 6f7a6697..5ce945dc 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -313,7 +313,7 @@ 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', LocationID = 2, FSPath = '%s', URLPath = '%s', OutOfDate = 0 WHERE ID = %d",
+ $q = sprintf("UPDATE Packages SET ModifiedTS = UNIX_TIMESTAMP(), Name = '%s', Version = '%s-%s', License = '%s', Description = '%s', URL = '%s', LocationID = 2, FSPath = '%s', URLPath = '%s', OutOfDateTS = NULL WHERE ID = %d",
mysql_real_escape_string($new_pkgbuild['pkgname']),
mysql_real_escape_string($new_pkgbuild['pkgver']),
mysql_real_escape_string($new_pkgbuild['pkgrel']),
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index a5b3f9e0..ab1bdbf2 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -21,7 +21,7 @@ class AurJSON {
private $exposed_methods = array('search','info','msearch');
private $fields = array('Packages.ID','Name','Version','CategoryID',
'Description', 'LocationID', 'URL','URLPath','License','NumVotes',
- 'OutOfDate');
+ '(OutOfDateTS IS NOT NULL) AS OutOfDate');
/**
* Handles post data, and routes the request.
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index 5605daa5..0f45124d 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -457,7 +457,7 @@ function pkg_search_page($SID="") {
PackageCategories.Category,
PackageLocations.Location,
Packages.Name, Packages.Version, Packages.Description, Packages.NumVotes,
- Packages.ID, Packages.OutOfDate
+ Packages.ID, Packages.OutOfDateTS
FROM Packages
LEFT JOIN Users ON (Packages.MaintainerUID = Users.ID) ";
@@ -510,7 +510,7 @@ function pkg_search_page($SID="") {
}
if (isset($_GET['outdated'])) {
- $q .= "AND OutOfDate = 1 ";
+ $q .= "AND OutOfDateTS IS NOT NULL ";
}
$order = $_GET["SO"] == 'd' ? 'DESC' : 'ASC';
@@ -642,8 +642,13 @@ function pkg_flag ($atype, $ids, $action = True) {
}
}
- $ood = $action ? 1 : 0;
- $q = "UPDATE Packages SET OutOfDate = " . $ood;
+ $q = "UPDATE Packages SET";
+ if ($action) {
+ $q.= " OutOfDateTS = UNIX_TIMESTAMP()";
+ }
+ else {
+ $q.= " OutOfDateTS = NULL";
+ }
$q.= " WHERE ID IN (" . $flag . ")";
db_query($q, $dbh);
diff --git a/web/lib/stats.inc b/web/lib/stats.inc
index 85c7e28e..6a765581 100644
--- a/web/lib/stats.inc
+++ b/web/lib/stats.inc
@@ -59,7 +59,7 @@ function user_table($user, $dbh)
$maintainer_unsupported_count = db_cache_value(sprintf($base_q, 'unsupported'), $dbh,
$apc_prefix . 'user_unsupported_count:' . $escuser);
- $q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDate = 1 AND Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'";
+ $q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDateTS IS NOT NULL AND Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'";
$flagged_outdated = db_cache_value($q, $dbh,
$apc_prefix . 'user_flagged_outdated:' . $escuser);
diff --git a/web/template/actions_form.php b/web/template/actions_form.php
index d1559f57..41d8df9b 100644
--- a/web/template/actions_form.php
+++ b/web/template/actions_form.php
@@ -27,7 +27,7 @@
echo " value='".__("UnNotify")."' title='".__("No New Comment Notification")."'> ";
}
-if ($row["OutOfDate"] == 0) {
+if ($row["OutOfDateTS"] === NULL) {
echo "<input type='submit' class='button' name='do_Flag'";
echo " value='".__("Flag Out-of-date")."'>\n";
} else {
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 30d17e17..a4b8f954 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -35,6 +35,7 @@ $license = empty($row['License']) ? $msg : $row['License'];
# Print the timestamps for last updates
$updated_time = ($row["ModifiedTS"] == 0) ? $msg : gmdate("r", intval($row["ModifiedTS"]));
$submitted_time = ($row["SubmittedTS"] == 0) ? $msg : gmdate("r", intval($row["SubmittedTS"]));
+$out_of_date_time = ($row["OutOfDateTS"] == 0) ? $msg : gmdate("r", intval($row["OutOfDateTS"]));
?>
<div class="pgbox">
@@ -69,8 +70,8 @@ $submitted_time = ($row["SubmittedTS"] == 0) ? $msg : gmdate("r", intval($row["S
print "<a href='$urlpath.tar.gz'>".__("Tarball")."</a> :: <a href='$urlpath'>".__("Files")."</a> :: <a href='$urlpath/PKGBUILD'>PKGBUILD</a></span>";
}
- if ($row["OutOfDate"] == 1) {
- echo "<br /><span class='f6'>".__("This package has been flagged out of date.")."</span>";
+ if ($row["OutOfDateTS"] !== NULL) {
+ echo "<br /><span class='f6'>".__("This package has been flagged out of date.")." (${out_of_date_time})</span>";
}
?>
</p>
diff --git a/web/template/pkg_search_results.php b/web/template/pkg_search_results.php
index ab49c6b9..bf00da5a 100644
--- a/web/template/pkg_search_results.php
+++ b/web/template/pkg_search_results.php
@@ -46,7 +46,7 @@
$atype = account_from_sid($_COOKIE['AURSID']);
for ($i = 0; $row = mysql_fetch_assoc($result); $i++) {
(($i % 2) == 0) ? $c = "data1" : $c = "data2";
- if ($row["OutOfDate"]): $c = "outofdate"; endif;
+ if ($row["OutOfDateTS"] !== NULL): $c = "outofdate"; endif;
?>
<tr>
<?php if ($SID): ?>