mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Move code out of index.php
Move database queries to functions and html to templates. Signed-off-by: Loui Chang <louipc.ist@gmail.com>
This commit is contained in:
parent
4372ddb914
commit
36ee556103
5 changed files with 198 additions and 172 deletions
|
@ -5,66 +5,13 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR
|
||||||
# Add to handle the i18n of My Packages
|
# Add to handle the i18n of My Packages
|
||||||
include("pkgfuncs_po.inc");
|
include("pkgfuncs_po.inc");
|
||||||
include("aur.inc");
|
include("aur.inc");
|
||||||
|
include('stats.inc');
|
||||||
|
|
||||||
set_lang();
|
set_lang();
|
||||||
check_sid();
|
check_sid();
|
||||||
|
|
||||||
html_header( __("Home") );
|
html_header( __("Home") );
|
||||||
|
$dbh = db_connect();
|
||||||
# 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];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -106,127 +53,19 @@ print __( 'Contributed PKGBUILDs <b>must</b> conform to the %hArch Packaging Sta
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class='boxSoft' valign='top'>
|
<td class='boxSoft' valign='top'>
|
||||||
<table class="boxSoft">
|
<?php updates_table($dbh); ?>
|
||||||
<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>
|
||||||
<td class="boxSoft">
|
<td class='boxSoft' valign='top'>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$mod_int = intval($row["ModifiedTS"]);
|
$user = username_from_sid($_COOKIE["AURSID"]);
|
||||||
$sub_int = intval($row["SubmittedTS"]);
|
if (!empty($user)) {
|
||||||
|
user_table($user, $dbh);
|
||||||
|
echo '<br />';
|
||||||
|
}
|
||||||
|
|
||||||
if ($mod_int != 0):
|
general_stats_table($dbh);
|
||||||
$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; ?>
|
|
||||||
|
|
||||||
</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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -236,4 +75,3 @@ endif;
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
html_footer(AUR_VERSION);
|
html_footer(AUR_VERSION);
|
||||||
?>
|
|
||||||
|
|
72
web/lib/stats.inc
Normal file
72
web/lib/stats.inc
Normal file
|
@ -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');
|
||||||
|
}
|
||||||
|
|
38
web/template/stats/general_stats_table.php
Normal file
38
web/template/stats/general_stats_table.php
Normal file
|
@ -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>
|
||||||
|
|
40
web/template/stats/updates_table.php
Normal file
40
web/template/stats/updates_table.php
Normal file
|
@ -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>
|
||||||
|
|
38
web/template/stats/user_table.php
Normal file
38
web/template/stats/user_table.php
Normal file
|
@ -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>
|
||||||
|
|
Loading…
Add table
Reference in a new issue