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.
This commit is contained in:
Lukas Fleischer 2010-10-06 04:25:53 +02:00 committed by Loui Chang
parent dbb8bb783f
commit eda713032c
9 changed files with 24 additions and 13 deletions

View file

@ -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.

View file

@ -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);

View file

@ -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);