<?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>