e463be0c0c
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
210 lines
7.6 KiB
PHP
210 lines
7.6 KiB
PHP
<?php echo '<?xml version="1.0" encoding="iso-8859-1"?>' ?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
|
|
<head>
|
|
<title>euscan</title>
|
|
<meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" />
|
|
<link rel="stylesheet" type="text/css" href="/style.css" media="screen" title="Normal" />
|
|
<script src="sorttable.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="header">
|
|
<h1>euscan</h1>
|
|
</div>
|
|
<div id="content">
|
|
<?php
|
|
$db = new SQLite3('euscan.db');
|
|
|
|
$act = isset($_GET['act']) ? $_GET['act'] : "home";
|
|
$cat = isset($_GET['cat']) ? $_GET['cat'] : '';
|
|
$pkg = isset($_GET['pkg']) ? $_GET['pkg'] : '';
|
|
$herd = isset($_GET['herd']) ? $_GET['herd'] : '';
|
|
$mtnr = isset($_GET['maintainer']) ? $_GET['maintainer'] : '';
|
|
|
|
if ($act == "home") {
|
|
|
|
} else if ($act == "categories") {
|
|
$sql = "SELECT category, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM packages JOIN versions ON package_id = packages.id";
|
|
$sql.= " GROUP BY category";
|
|
|
|
$results = $db->query($sql);
|
|
|
|
echo "<table class=\"sortable\"><tr><th>Category</th><th>Ebuilds</th><th>New versions</th></tr>";
|
|
while ($row = $results->fetchArray()) {
|
|
$new = $row['versions'] - $row['ebuilds'];
|
|
$color = $new == 0 ? 'green' : 'red';
|
|
echo "<tr>";
|
|
echo "<td><a href=\"?act=packages&cat={$row['category']}\">{$row['category']}</a></td>";
|
|
echo "<td>{$row['ebuilds']}</td>";
|
|
echo "<td style=\"color: $color\">$new</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
} else if ($act == "herds") {
|
|
$sql = "SELECT herd, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM herds";
|
|
$sql.= " JOIN package_herds ON herds.id = herd_id";
|
|
$sql.= " JOIN packages ON package_herds.package_id = packages.id";
|
|
$sql.= " JOIN versions ON versions.package_id = packages.id";
|
|
$sql.= " GROUP BY herd";
|
|
|
|
$results = $db->query($sql);
|
|
|
|
echo "<table class=\"sortable\"><tr><th>Herd</th><th>Ebuilds</th><th>New versions</th></tr>";
|
|
while ($row = $results->fetchArray()) {
|
|
$new = $row['versions'] - $row['ebuilds'];
|
|
$color = $new == 0 ? 'green' : 'red';
|
|
echo "<tr>";
|
|
echo "<td><a href=\"?act=packages&herd={$row['herd']}\">{$row['herd']}</a></td>";
|
|
echo "<td>{$row['ebuilds']}</td>";
|
|
echo "<td style=\"color: $color\">$new</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
} else if ($act == "maintainers") {
|
|
$sql = "SELECT maintainer, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM maintainers";
|
|
$sql.= " JOIN package_maintainers ON maintainers.id = maintainer_id";
|
|
$sql.= " JOIN packages ON package_maintainers.package_id = packages.id";
|
|
$sql.= " JOIN versions ON versions.package_id = packages.id";
|
|
$sql.= " GROUP BY maintainer";
|
|
|
|
$results = $db->query($sql);
|
|
|
|
echo "<table class=\"sortable\"><tr><th>Maintainer</th><th>Ebuilds</th><th>New versions</th></tr>";
|
|
while ($row = $results->fetchArray()) {
|
|
$new = $row['versions'] - $row['ebuilds'];
|
|
$color = $new == 0 ? 'green' : 'red';
|
|
echo "<tr>";
|
|
echo "<td><a href=\"?act=packages&maintainer={$row['maintainer']}\">{$row['maintainer']}</a></td>";
|
|
echo "<td>{$row['ebuilds']}</td>";
|
|
echo "<td style=\"color: $color\">$new</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
} else if ($act == "categories") {
|
|
$sql = "SELECT category, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM packages JOIN versions ON package_id = packages.id";
|
|
$sql.= " GROUP BY category";
|
|
|
|
$results = $db->query($sql);
|
|
|
|
echo "<table class=\"sortable\"><tr><th>Category</th><th>Ebuilds</th><th>New versions</th></tr>";
|
|
while ($row = $results->fetchArray()) {
|
|
$new = $row['versions'] - $row['ebuilds'];
|
|
$color = $new == 0 ? 'green' : 'red';
|
|
echo "<tr>";
|
|
echo "<td><a href=\"?act=packages&cat={$row['category']}\">{$row['category']}</a></td>";
|
|
echo "<td>{$row['ebuilds']}</td>";
|
|
echo "<td style=\"color: $color\">$new</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
} else if ($act == 'packages') {
|
|
$db_cat = $db->escapeString($cat);
|
|
$db_herd = $db->escapeString($herd);
|
|
$db_mtnr = $db->escapeString($mtnr);
|
|
|
|
if ($db_cat) {
|
|
$sql = "SELECT category, package, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM packages JOIN versions ON package_id = packages.id";
|
|
$sql.= " WHERE category = '$db_cat'";
|
|
$sql.= " GROUP BY category, package";
|
|
} else if ($db_herd) {
|
|
$sql = "SELECT category, package, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM herds";
|
|
$sql.= " JOIN package_herds ON herds.id = herd_id";
|
|
$sql.= " JOIN packages ON package_herds.package_id = packages.id";
|
|
$sql.= " JOIN versions ON versions.package_id = packages.id";
|
|
$sql.= " WHERE herd LIKE '$db_herd'";
|
|
$sql.= " GROUP BY category, package";
|
|
} else if ($db_mtnr) {
|
|
$sql = "SELECT category, package, COUNT(version) as versions, SUM(packaged) as ebuilds";
|
|
$sql.= " FROM maintainers";
|
|
$sql.= " JOIN package_maintainers ON maintainers.id = maintainer_id";
|
|
$sql.= " JOIN packages ON package_maintainers.package_id = packages.id";
|
|
$sql.= " JOIN versions ON versions.package_id = packages.id";
|
|
$sql.= " WHERE maintainer LIKE '%$db_mtnr%'";
|
|
$sql.= " GROUP BY category, package";
|
|
}
|
|
|
|
if ($sql) {
|
|
$results = $db->query($sql);
|
|
|
|
echo "<table class=\"sortable\"><tr><th>Category</th><th>Ebuilds</th><th>New versions</th></tr>";
|
|
while ($row = $results->fetchArray()) {
|
|
$new = $row['versions'] - $row['ebuilds'];
|
|
$catpkg = "{$row['category']}/{$row['package']}";
|
|
$color = $new == 0 ? 'green' : 'red';
|
|
echo "<tr>";
|
|
echo "<td><a href=\"?act=package&pkg=$catpkg\">$catpkg</td>";
|
|
echo "<td>{$row['ebuilds']}</td>";
|
|
echo "<td style=\"color: $color\">$new</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
}
|
|
} else if ($act == 'package') {
|
|
$pkg = explode("/", $pkg);
|
|
|
|
if (count($pkg) == 2) {
|
|
$cat = $db->escapeString($pkg[0]);
|
|
$pkg = $db->escapeString($pkg[1]);
|
|
} else {
|
|
$cat = $pkg = "";
|
|
}
|
|
|
|
$sql = "SELECT * FROM packages WHERE category = '$cat' AND package = '$pkg'";
|
|
$infos = $db->query($sql);
|
|
$infos = $infos->fetchArray();
|
|
|
|
if ($infos) {
|
|
echo "<h3>{$infos['category']}/${infos['package']}</h3>";
|
|
|
|
$sql = "SELECT * FROM versions WHERE package_id = ${infos['id']} AND packaged = 1";
|
|
$results = $db->query($sql);
|
|
|
|
echo '<h3>Packaged versions:</h3><ul>';
|
|
while ($version = $results->fetchArray()) {
|
|
echo "<li>${version['version']}-${version['revision']}:${version['slot']}</li>";
|
|
}
|
|
|
|
$sql = "SELECT * FROM versions ";
|
|
$sql.= "JOIN upstream_urls ON versions.id = version_id ";
|
|
$sql.= "WHERE package_id = ${infos['id']} AND packaged = 0";
|
|
$results = $db->query($sql);
|
|
|
|
echo '</ul>';
|
|
echo '<h3>Upstream versions:</h3><ul>';
|
|
|
|
while ($version = $results->fetchArray()) {
|
|
echo "<li>${version['version']} - ${version['url']}</li>";
|
|
}
|
|
|
|
echo '</ul>';
|
|
} else {
|
|
echo '<div class="error">Invalid package</div>';
|
|
}
|
|
}
|
|
|
|
?>
|
|
</div>
|
|
<div id="menus">
|
|
<div id="menu">
|
|
<ul>
|
|
<li><a href="?act=categories">Categories</a></li>
|
|
<li><a href="?act=herds">Herds</a></li>
|
|
<li><a href="?act=maintainers">Maintainers</a></li>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="footer">
|
|
Powered by:
|
|
<a href="http://kernel.org"><img src="/linux.png" alt="Linux" /></a>
|
|
<a href="http://gentoo.org"><img src="/gentoo.png" alt="Gentoo Linux" /></a>
|
|
-
|
|
Copyright (C) 2011 <strong>Corentin Chary</strong>
|
|
</div>
|
|
</body>
|
|
</html>
|