[aur-dev] [PATCH] Move code out of index.php

Loui louipc.ist at gmail.com
Mon Jul 7 11:51:49 EDT 2008


Pushed to testing.

-------------- next part --------------
>From 36ee5561035af335bc3c900ded7aa89066421226 Mon Sep 17 00:00:00 2001
From: Loui Chang <louipc.ist at gmail.com>
Date: Tue, 24 Jun 2008 02:53:16 -0400
Subject: [PATCH] Move code out of index.php

Move database queries to functions and html to templates.

Signed-off-by: Loui Chang <louipc.ist at gmail.com>
---
 web/html/index.php                         |  182 ++--------------------------
 web/lib/stats.inc                          |   72 +++++++++++
 web/template/stats/general_stats_table.php |   38 ++++++
 web/template/stats/updates_table.php       |   40 ++++++
 web/template/stats/user_table.php          |   38 ++++++
 5 files changed, 198 insertions(+), 172 deletions(-)
 create mode 100644 web/lib/stats.inc
 create mode 100644 web/template/stats/general_stats_table.php
 create mode 100644 web/template/stats/updates_table.php
 create mode 100644 web/template/stats/user_table.php

diff --git a/web/html/index.php b/web/html/index.php
index 7a95abf..ce5e009 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -5,66 +5,13 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR
 # Add to handle the i18n of My Packages
 include("pkgfuncs_po.inc");
 include("aur.inc");
+include('stats.inc');
 
 set_lang();
 check_sid();
 
 html_header( __("Home") );
-
-# Newest packages
-$q = "SELECT * FROM Packages WHERE DummyPkg != 1 ORDER BY GREATEST(SubmittedTS,ModifiedTS) DESC LIMIT 0 , 10";
-$newest_packages = db_query($q, $dbh);
-
-# AUR statistics
-$q = "SELECT count(*) FROM Packages,PackageLocations WHERE Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'unsupported'";
-$result = db_query($q, $dbh);
-$row = mysql_fetch_row($result);
-$unsupported_count = $row[0];
-
-$q = "SELECT count(*) FROM Packages,PackageLocations WHERE Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'community'";
-$result = db_query($q, $dbh);
-$row = mysql_fetch_row($result);
-$community_count = $row[0];
-
-$q = "SELECT count(*) from Users";
-$result = db_query($q, $dbh);
-$row = mysql_fetch_row($result);
-$user_count = $row[0];
-
-$q = "SELECT count(*) from Users,AccountTypes WHERE Users.AccountTypeID = AccountTypes.ID AND AccountTypes.AccountType = 'Trusted User'";
-$result = db_query($q, $dbh);
-$row = mysql_fetch_row($result);
-$tu_count = $row[0];
-
-$targstamp = intval(strtotime("-7 days"));
-$q = "SELECT count(*) from Packages WHERE (Packages.SubmittedTS >= $targstamp OR Packages.ModifiedTS >= $targstamp)";
-$result = db_query($q, $dbh);
-$row = mysql_fetch_row($result);
-$update_count = $row[0];
-
-$user = username_from_sid($_COOKIE["AURSID"]);
-
-if (!empty($user)) {
-    $q = "SELECT count(*) FROM Packages,PackageLocations,Users WHERE Packages.MaintainerUID = Users.ID AND Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'unsupported' AND Users.Username='".mysql_real_escape_string($user)."'";
-    $result = db_query($q, $dbh);
-    $row = mysql_fetch_row($result);
-    $maintainer_unsupported_count = $row[0];
-    
-    $q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDate = 1 AND Packages.MaintainerUID = Users.ID AND Users.Username='".mysql_real_escape_string($user)."'";
-    $result = db_query($q, $dbh);
-    $row = mysql_fetch_row($result);
-    $flagged_outdated = $row[0];
-    
-    # If the user is a TU calculate the number of the packages
-    $atype = account_from_sid($_COOKIE["AURSID"]);
-    
-    if ($atype == 'Trusted User') {    
-        $q = "SELECT count(*) FROM Packages,PackageLocations,Users WHERE Packages.MaintainerUID = Users.ID AND Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'community' AND Users.Username='".mysql_real_escape_string($user)."'";
-        $result = db_query($q, $dbh);
-        $row = mysql_fetch_row($result);
-        $maintainer_community_count = $row[0];
-    }
-}
+$dbh = db_connect();
 
 ?>
 
@@ -106,127 +53,19 @@ print __( 'Contributed PKGBUILDs <b>must</b> conform to the %hArch Packaging Sta
 </tr>
 <tr>
 <td class='boxSoft' valign='top'>
-<table class="boxSoft">
-<tr>
-<th colspan="2" class="boxSoftTitle" style="text-align: right">
-<a href="/rss2.php"><img src="/images/rss.gif"></a> <span class="f3"><?php print __("Recent Updates") ?><span class="f5"></span></span>
-</th>
-</tr>
-
-<?php while ($row = mysql_fetch_assoc($newest_packages)): ?>
-
-<tr>
-<td class="boxSoft">
-<span class="f4"><span class="blue"><a href="/packages.php?ID=<?php print intval($row["ID"]); ?>">
-<?php print $row["Name"] . ' ' . $row["Version"]; ?>
-</a></span>
+<?php updates_table($dbh); ?>
 </td>
-<td class="boxSoft">
-
+<td class='boxSoft' valign='top'>
 <?php
-$mod_int = intval($row["ModifiedTS"]);
-$sub_int = intval($row["SubmittedTS"]);
+$user = username_from_sid($_COOKIE["AURSID"]);
+if (!empty($user)) {
+	user_table($user, $dbh);
+	echo '<br />';
+}
 
-if ($mod_int != 0):
-  $modstring = gmdate("r", $mod_int);
-elseif ($sub_int != 0):
-  $modstring = '<img src="/images/new.gif"/> ' . gmdate("r", $sub_int);
-else:
-  $modstring = '(unknown)';
-endif;
+general_stats_table($dbh);
 ?>
 
-<span class="f4"><?php print $modstring; ?></span>
-</td>
-</tr>
-
-<?php endwhile; ?>
-
-</td>
-</tr>
-</table>
-<td class='boxSoft' valign='top'>
-
-<?php if (!empty($user)): ?>
-
-<table class='boxSoft'>
-<tr>
-<th colspan='2' class='boxSoftTitle'>
-<span class='f3'><?php print __("My Statistics"); ?></span>
-</th>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Packages in unsupported"); ?></span>
-</td>
-<td class='boxSoft'>
-<span class='f4'><?php print $maintainer_unsupported_count; ?></span>
-</td>
-</tr>
-
-<?php if ($atype == 'Trusted User'): ?>
-
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Packages in [community]"); ?></span>
-</td>
-<td class='boxSoft'>
-<span class='f4'><?php print $maintainer_community_count; ?></span>
-</td>
-</tr>
-
-<?php endif; ?>
-
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Out-of-date"); ?></span>
-</td>
-<td class='boxSoft'>
-<span class='f4'><?php print $flagged_outdated ?></span>
-</td>
-</tr>
-</table>
-<br />
-
-<?php endif; ?>
-
-<table class='boxSoft'>
-<tr>
-<th colspan='2' class='boxSoftTitle'>
-<span class='f3'><?php print __("Statistics") ?></span>
-</th>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Packages in unsupported"); ?></span>
-</td>
-<td class='boxSoft'><span class='f4'><?php print $unsupported_count; ?></span></td>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Packages in [community]"); ?></span>
-</td>
-<td class='boxSoft'><span class='f4'><?php print $community_count; ?></span></td>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Packages added or updated in the past 7 days"); ?></span>
-</td>
-<td class='boxSoft'><span class='f4'><?php print $update_count; ?></span></td>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='blue'><span class='f4'><?php print __("Registered Users"); ?></span></span>
-</td>
-<td class='boxSoft'><span class='f4'><?php print $user_count; ?></span></td>
-</tr>
-<tr>
-<td class='boxSoft'>
-<span class='f4'><?php print __("Trusted Users"); ?></span>
-</td>
-<td class='boxSoft'><span class='f4'><?php print $tu_count; ?></span></td>
-</tr>
-</table>
 </td>
 </tr>
 </table>
@@ -236,4 +75,3 @@ endif;
 
 <?php
 html_footer(AUR_VERSION);
-?>
diff --git a/web/lib/stats.inc b/web/lib/stats.inc
new file mode 100644
index 0000000..e659210
--- /dev/null
+++ b/web/lib/stats.inc
@@ -0,0 +1,72 @@
+<?php
+
+include_once('aur.inc');
+
+function updates_table($dbh)
+{
+	$q = 'SELECT * FROM Packages WHERE DummyPkg != 1 ORDER BY GREATEST(SubmittedTS,ModifiedTS) DESC LIMIT 0 , 10';
+	$newest_packages = db_query($q, $dbh);
+	include('stats/updates_table.php');
+}
+
+function user_table($user, $dbh)
+{
+
+	$base_q = 'SELECT count(*) FROM Packages,PackageLocations,Users WHERE Packages.MaintainerUID = Users.ID AND Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = "%s" AND Users.Username="' .
+	mysql_real_escape_string($user).'"';
+
+	$result = db_query(sprintf($base_q, 'unsupported'), $dbh);
+	$row = mysql_fetch_row($result);
+	$maintainer_unsupported_count = $row[0];
+
+	$q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDate = 1 AND Packages.MaintainerUID = Users.ID AND Users.Username='" .
+	mysql_real_escape_string($user)."'";
+
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$flagged_outdated = $row[0];
+
+	# If the user is a TU calculate the number of the packages
+	$atype = account_from_sid($_COOKIE["AURSID"]);
+
+	if ($atype == 'Trusted User') {
+		$result = db_query(sprintf($base_q, 'community'), $dbh);
+		$row = mysql_fetch_row($result);
+		$maintainer_community_count = $row[0];
+	}
+
+	include('stats/user_table.php');
+}
+
+function general_stats_table($dbh)
+{
+	# AUR statistics
+	$q = "SELECT count(*) FROM Packages,PackageLocations WHERE Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'unsupported'";
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$unsupported_count = $row[0];
+
+	$q = "SELECT count(*) FROM Packages,PackageLocations WHERE Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'community'";
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$community_count = $row[0];
+
+	$q = "SELECT count(*) from Users";
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$user_count = $row[0];
+
+	$q = "SELECT count(*) from Users,AccountTypes WHERE Users.AccountTypeID = AccountTypes.ID AND AccountTypes.AccountType = 'Trusted User'";
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$tu_count = $row[0];
+
+	$targstamp = intval(strtotime("-7 days"));
+	$q = "SELECT count(*) from Packages WHERE (Packages.SubmittedTS >= $targstamp OR Packages.ModifiedTS >= $targstamp)";
+	$result = db_query($q, $dbh);
+	$row = mysql_fetch_row($result);
+	$update_count = $row[0];
+
+	include('stats/general_stats_table.php');
+}
+
diff --git a/web/template/stats/general_stats_table.php b/web/template/stats/general_stats_table.php
new file mode 100644
index 0000000..254b6b6
--- /dev/null
+++ b/web/template/stats/general_stats_table.php
@@ -0,0 +1,38 @@
+<table class='boxSoft'>
+<tr>
+<th colspan='2' class='boxSoftTitle'>
+<span class='f3'><?php print __("Statistics") ?></span>
+</th>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Packages in unsupported"); ?></span>
+</td>
+<td class='boxSoft'><span class='f4'><?php print $unsupported_count; ?></span></td>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Packages in [community]"); ?></span>
+</td>
+<td class='boxSoft'><span class='f4'><?php print $community_count; ?></span></td>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Packages added or updated in the past 7 days"); ?></span>
+</td>
+<td class='boxSoft'><span class='f4'><?php print $update_count; ?></span></td>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='blue'><span class='f4'><?php print __("Registered Users"); ?></span></span>
+</td>
+<td class='boxSoft'><span class='f4'><?php print $user_count; ?></span></td>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Trusted Users"); ?></span>
+</td>
+<td class='boxSoft'><span class='f4'><?php print $tu_count; ?></span></td>
+</tr>
+</table>
+
diff --git a/web/template/stats/updates_table.php b/web/template/stats/updates_table.php
new file mode 100644
index 0000000..e1eb888
--- /dev/null
+++ b/web/template/stats/updates_table.php
@@ -0,0 +1,40 @@
+<table class="boxSoft">
+<tr>
+<th colspan="2" class="boxSoftTitle" style="text-align: right">
+<a href="rss2.php"><img src="images/rss.gif"></a>
+<span class="f3"><?php print __("Recent Updates") ?><span class="f5"></span></span>
+</th>
+</tr>
+
+<?php while ($row = mysql_fetch_assoc($newest_packages)): ?>
+
+<tr>
+<td class="boxSoft">
+<span class="f4"><span class="blue">
+<a href="packages.php?ID=<?php print intval($row["ID"]); ?>">
+<?php print $row["Name"] . ' ' . $row["Version"]; ?>
+</a></span>
+</td>
+<td class="boxSoft">
+
+<?php
+$mod_int = intval($row["ModifiedTS"]);
+$sub_int = intval($row["SubmittedTS"]);
+
+if ($mod_int != 0):
+  $modstring = gmdate("r", $mod_int);
+elseif ($sub_int != 0):
+  $modstring = '<img src="images/new.gif" /> ' . gmdate("r", $sub_int);
+else:
+  $modstring = '(unknown)';
+endif;
+?>
+
+<span class="f4"><?php print $modstring; ?></span>
+</td>
+</tr>
+
+<?php endwhile; ?>
+
+</table>
+
diff --git a/web/template/stats/user_table.php b/web/template/stats/user_table.php
new file mode 100644
index 0000000..b844662
--- /dev/null
+++ b/web/template/stats/user_table.php
@@ -0,0 +1,38 @@
+<table class='boxSoft'>
+<tr>
+<th colspan='2' class='boxSoftTitle'>
+<span class='f3'><?php print __("My Statistics"); ?></span>
+</th>
+</tr>
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Packages in unsupported"); ?></span>
+</td>
+<td class='boxSoft'>
+<span class='f4'><?php print $maintainer_unsupported_count; ?></span>
+</td>
+</tr>
+
+<?php if ($atype == 'Trusted User'): ?>
+
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Packages in [community]"); ?></span>
+</td>
+<td class='boxSoft'>
+<span class='f4'><?php print $maintainer_community_count; ?></span>
+</td>
+</tr>
+
+<?php endif; ?>
+
+<tr>
+<td class='boxSoft'>
+<span class='f4'><?php print __("Out-of-date"); ?></span>
+</td>
+<td class='boxSoft'>
+<span class='f4'><?php print $flagged_outdated ?></span>
+</td>
+</tr>
+</table>
+
-- 
1.5.6.2



More information about the aur-dev mailing list