summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorcanyonknight <canyonknight@gmail.com>2012-05-25 17:45:53 -0400
committerLukas Fleischer <archlinux@cryptocrack.de>2012-07-06 11:27:06 +0200
commit41986bbc783f007c79df1b508942809a742876d2 (patch)
treef3f6c7847ebb6eba4099dba9023bd855f846566e /web
parentc15441762c2f6ab4438eaf2854c0ee3146a98b30 (diff)
rss.php: Pull out DB code
* Move DB code in rss.php to new function in aur.inc.php * Centralization of DB code important in a future transition to PDO interface Signed-off-by: canyonknight <canyonknight@gmail.com> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web')
-rw-r--r--web/html/rss.php8
-rw-r--r--web/lib/aur.inc.php19
2 files changed, 21 insertions, 6 deletions
diff --git a/web/html/rss.php b/web/html/rss.php
index c7de4c6..6f057bf 100644
--- a/web/html/rss.php
+++ b/web/html/rss.php
@@ -37,13 +37,9 @@ $image->description = "AUR Newest Packages Feed";
$rss->image = $image;
#Get the latest packages and add items for them
-$dbh = db_connect();
-$q = "SELECT * FROM Packages ";
-$q.= "ORDER BY SubmittedTS DESC ";
-$q.= "LIMIT 20";
-$result = db_query($q, $dbh);
+$packages = latest_pkgs(20);
-while ($row = mysql_fetch_assoc($result)) {
+while (list($indx, $row) = each($packages)) {
$item = new FeedItem();
$item->title = $row["Name"];
$item->link = "{$protocol}://{$host}/packages.php?ID={$row["ID"]}";
diff --git a/web/lib/aur.inc.php b/web/lib/aur.inc.php
index 1a294a9..4e6baa2 100644
--- a/web/lib/aur.inc.php
+++ b/web/lib/aur.inc.php
@@ -533,3 +533,22 @@ function last_insert_id($dbh=NULL) {
}
return mysql_insert_id($dbh);
}
+
+function latest_pkgs($numpkgs, $dbh=NULL) {
+ if(!$dbh) {
+ $dbh = db_connect();
+ }
+
+ $q = "SELECT * FROM Packages ";
+ $q.= "ORDER BY SubmittedTS DESC ";
+ $q.= "LIMIT " .intval($numpkgs);
+ $result = db_query($q, $dbh);
+
+ if ($result) {
+ while ($row = mysql_fetch_assoc($result)) {
+ $packages[] = $row;
+ }
+ }
+
+ return $packages;
+}