summaryrefslogtreecommitdiffstats
path: root/all.php
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2010-05-26 22:22:33 +0200
committerRemi Collet <fedora@famillecollet.com>2010-05-26 22:22:33 +0200
commit707d798cd402a08157ef2a66eff6cbebe606d746 (patch)
treef5ace133c94721ec0fd665cbd0f9a2bbfb9b4dd1 /all.php
parentba771dc91b13c70509b6da1589e7e9c4a95b3384 (diff)
parent886b1ca73cc20b7c266dd0a7da0e863b722c47df (diff)
Merge branch 'master' of http://github.com/trasher/rpmphp
Diffstat (limited to 'all.php')
-rw-r--r--all.php289
1 files changed, 126 insertions, 163 deletions
diff --git a/all.php b/all.php
index 2dfe2f4..08e6618 100644
--- a/all.php
+++ b/all.php
@@ -1,68 +1,33 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
- <title>Packages in Fedora</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <link rel="stylesheet" type="text/css" media="print" href="http://docs.fedoraproject.org/css/print.css">
- <style type="text/css" media="screen">
- @import url("http://docs.fedoraproject.org/css/layout.css");
- @import url("http://docs.fedoraproject.org/css/content.css");
- @import url("http://docs.fedoraproject.org/css/docbook.css");
-
-body {
- background-image:none;
-}
-.error {
- background:url(http://fedoraproject.org/wikidata/kindofblue/img/icon-error.png) no-repeat left;
- padding-left: 21px;
-}
-
-.info {
- background:url(http://fedoraproject.org/wikidata/kindofblue/img/icon-info.png) no-repeat left;
- padding-left: 21px;
-}
-
-.attn {
- background:url(http://fedoraproject.org/wikidata/kindofblue/img/attention.png) no-repeat left;
- padding-left: 21px;
-}
-
-.check {
- background:url(http://fedoraproject.org/wikidata/kindofblue/img/checkmark.png) no-repeat left;
- padding-left: 21px;
-}
-
-.cpan {
- background:url(http://www.perl.com/favicon.ico) no-repeat left;
- padding-left: 18px;
-}
-
-.rt {
- background:url(/img/rt.png) no-repeat left;
- padding-left: 18px;
-}
-
-.bz {
- background:url(/img/bz.png) no-repeat left;
- padding-left: 18px;
-}
-
<?php
$what=(isset($_GET["what"]) ? $_GET["what"] : false);
require "config.inc.php";
-function Report ($db) {
- global $what;
-
- echo "<h1>Packages in Fedora</h1>\n";
+function listRepos($db){
+ $repos = array();
+ $res=$db->query("SELECT * FROM repo WHERE active=1 ORDER BY ID");
+ if ($res) while ($repo = $res->fetchObject()) {
+ $repos[$repo->main][$repo->sub]=$repo;
+ }
+ // echo "<pre>"; print_r($repos);echo "</pre>";
+ foreach($repos as $repomain) {
+ foreach ($repomain as $repo) {
+ /*printf ("<th align='left'>%s</th>", $repo->main);*/
+ $repos[$repo->main][$repo->sub] = $repo;
+ break;
+ }
+ }
+ return $repos;
+}
+function Report ($db, $repos) {
+ global $what;
- $repos=array();
+ /*$repos=array();
$res=$db->query("SELECT * FROM repo WHERE active=1 ORDER BY ID");
if ($res) while ($repo = $res->fetchObject()) {
$repos[$repo->main][$repo->sub]=$repo;
- }
+ }*/
if (substr($what,0,1)=='%') {
$sql=sprintf("SELECT DISTINCT name FROM rpm WHERE SUBSTRING(name,1,1)='%s' ORDER BY name", substr($what,1,1));
@@ -71,7 +36,7 @@ function Report ($db) {
}
//echo "<p>SQL=$sql</p>";
- echo "<table id='fedora-list-packages'>\n";
+ /*echo "<table id='fedora-list-packages'>\n";
echo "<tr class='odd'><th>Package</th><th>Owner(s)</th>";
foreach($repos as $repomain) {
@@ -80,7 +45,7 @@ function Report ($db) {
break;
}
}
- echo "</tr>\n";
+ echo "</tr>\n";*/
$i=0;
$res=$db->query($sql);
@@ -91,8 +56,8 @@ function Report ($db) {
$res2=$db->query($sql2);
$dispowner="";
if ($res2) while ($owner= $res2->fetchObject()) {
- if ($dispowner) $dispowner .= "<br>";
- $dispowner .= sprintf ("<a href='%s?what=%s'>%s</a>", $_SERVER["PHP_SELF"], $owner->owner, $owner->owner);
+ if ($dispowner) $dispowner .= "<br/>";
+ $dispowner .= sprintf ("<a href=\"%s?what=%s\">%s</a>", $_SERVER["PHP_SELF"], $owner->owner, $owner->owner);
}
$sql3 = "SELECT * FROM rpm WHERE name LIKE '$rpmname'";
@@ -101,14 +66,14 @@ function Report ($db) {
if ($rpm) {
$url = $rpm->url;
- $des = $rpm->summary;
+ $des = htmlentities($rpm->summary);
$rpms=array();
do {
$rpms[$rpm->repo_main."-".$rpm->repo_sub]=$rpm;
} while ($rpm = $res3->fetchObject());
- printf ("<tr class='%s'><td><a href='zoom.php?rpm=%s' title='%s'>%s</a></td><td>%s</td>",
+ printf ("<tr class=\"%s\">\n\t<td><a href=\"zoom.php?rpm=%s\" title=\"%s\">%s</a></td>\n\t<td>%s</td>\n",
($i%2 ? "odd" : "even"), $rpmname, $des, $rpmname, $dispowner);
@@ -116,171 +81,169 @@ function Report ($db) {
$display="";
$class="";
foreach ($repomain as $repo) {
- if (isset($rpms[$repo->main."-".$repo->sub])) {
+ if (isset($rpms[$repo->main."-".$repo->sub])) {
$rpm=$rpms[$repo->main."-".$repo->sub];
-
+
$maxver = (isset($rpms["rawhide-"]) ? $rpms["rawhide-"]->ver : "");
switch ($repo->sub) {
case "base":
if (isset($rpms[$repo->main."-updates"])) {
- $display .= sprintf("%s-%s<br>", $rpm->ver, $rpm->rel);
+ $display .= sprintf("%s-%s<br/>", $rpm->ver, $rpm->rel);
} else {
- $display .= sprintf("<b>%s</b>-%s<br>", $rpm->ver, $rpm->rel);
+ $display .= sprintf("<strong>%s</strong>-%s<br/>", $rpm->ver, $rpm->rel);
$class = ($rpm->ver == $maxver ? "check" : "attn");
}
break;
case "":
- $display .= sprintf("<b>%s</b>-%s<br>", $rpm->ver, $rpm->rel);
+ $display .= sprintf("<strong>%s</strong>-%s<br/>", $rpm->ver, $rpm->rel);
break;
case "updates":
- $display .= sprintf("<b>%s</b>-%s <small>(updates)</small><br>", $rpm->ver, $rpm->rel);
+ $display .= sprintf("<strong>%s</strong>-%s <small>(updates)</small><br/>", $rpm->ver, $rpm->rel);
$class = ($rpm->ver == $maxver ? "check" : "attn");
break;
case "testing":
- $display .= sprintf("%s-%s <small>(testing)</small><br>", $rpm->ver, $rpm->rel);
+ $display .= sprintf("%s-%s <small>(testing)</small><br/>", $rpm->ver, $rpm->rel);
$class = ($rpm->ver == $maxver ? "info" : "attn");
- break;
+ break;
}
} // RPM exists
} // sub repo
if ($class && $maxver) {
- printf("<td><div class='%s'>%s</div></td>", $class, $display);
+ printf("\t<td class=\"%s\">%s</td>\n", $class, $display);
} else if ($display) {
- printf("<td>%s</td>", $display);
+ printf("\t<td>%s</td>\n", $display);
} else {
- echo "<td>&nbsp;</td>";
+ echo "\t<td>&nbsp;</td>\n";
}
} // mainrepo
echo "</tr>\n";
- $i++;
+ $i++;
}
} // each Line
- echo "</table>\n";
}
-
-try {
- $db = new PDO ("mysql:dbname=" . MYBASE . ";host=" . MYHOST, MYUSER, MYPASS);
?>
- </style>
-
- <meta name="MSSmartTagsPreventParsing" content="TRUE">
- <link rel="shortcut icon" href="http://docs.fedoraproject.org/images/favicon.ico">
- <link rel="icon" href="http://docs.fedoraproject.org/images/favicon.ico">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Packages in Fedora</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <link rel="stylesheet" type="text/css" media="screen" href="css/rpmphp.css"/>
+ <!--<link rel="stylesheet" type="text/css" media="print" href="css/rpmphp-print.css">-->
+ <link rel="shortcut icon" href="images/favicon.ico"/>
+ <link rel="icon" href="images/favicon.ico"/>
</head>
<body>
- <!-- header BEGIN -->
- <div id="fedora-header">
- <div id="fedora-header-logo">
-
- <a href="http://fedoraproject.org"><img src="http://docs.fedoraproject.org/images/header-fedora_logo01.png" alt="Fedora Project"></a>
- </div>
-
- <div id="fedora-header-items">
- <span class="fedora-header-search">
+ <div id="wrapper">
+<?php
+include '_header.php';
+?>
+ <div id="fedora-content">
+ <div id="ariane">
+ <p>You are here: </p>
+ <ul>
+ <li><a href="./">Reports home</a></li>
+ <li><a href="#">All packages</a></li>
+ </ul>
+ </div>
+ <div id="filter">
<form action='<?php echo $_SERVER["PHP_SELF"]; ?>' method='get'>
- <select name='what' size='1'>
- <optgroup label='Pakages'>
+ <fieldset>
+ <legend>Filter packages</legend>
+ <label for="what">Criteria: </label>
+ <select name="what" id="what">
+ <optgroup label="Pakages">
<?php
+try {
+ $db = new PDO ("mysql:dbname=" . MYBASE . ";host=" . MYHOST, MYUSER, MYPASS);
+
$sql="SELECT DISTINCT CONCAT('%',SUBSTRING(name,1,1)) as init FROM rpm ORDER BY init";
$res=$db->query($sql);
if ($res)while ($start = $res->fetchObject()) {
- printf("<option value='%s' %s>Start with %s</option>", $start->init, ($what==$start->init ? "selected='1'" : ""), substr($start->init,1));
+ printf("\t\t\t\t\t\t\t\t\t<option value=\"%s\" %s>Start with %s</option>\n", $start->init, ($what==$start->init ? " selected=\"selected\"" : ""), substr($start->init,1));
} else {
- echo "<option value='remi'>remi</option>";
+ echo "\t\t\t\t\t\t\t\t\t<option value=\"remi\">remi</option>\n";
}
?>
- </optgroup>
- <optgroup label='Owner'>
+ </optgroup>
+ <optgroup label="Owner">
<?php
$sql="SELECT DISTINCT owner FROM acls ORDER BY owner";
$res=$db->query($sql);
if ($res)while ($owner = $res->fetchObject()) {
- printf("<option value='%s' %s>%s</option>", $owner->owner, ($what==$owner->owner ? "selected='1'" : ""), $owner->owner);
+ printf("\t\t\t\t\t\t\t\t\t<option value=\"%s\" %s>%s</option>\n", $owner->owner, ($what==$owner->owner ? " selected=\"selected\"" : ""), $owner->owner);
} else {
- echo "<option value='remi'>remi</option>";
+ echo "\t\t\t\t\t\t\t\t\t<option value=\"remi\">remi</option>\n";
}
?>
- </optgroup>
- </select>
- <input type="image" src='http://docs.fedoraproject.org/images/header-search.png' alt="Search" />
- </form></span>
-
- </div>
-
- </div>
-
- <div id="fedora-nav"></div>
- &nbsp;<img src='http://docs.fedoraproject.org/images/link-offsite-side.png' />
- <a href="./">Reports home</a>
- &nbsp;<img src='http://docs.fedoraproject.org/images/link-offsite-side.png' />
- All packages
- <!-- header END -->
-
- <!-- leftside BEGIN -->
- <div id="fedora-side-left">
- </div>
-
- <!-- leftside END -->
-
- <!-- content BEGIN -->
- <div id="fedora-middle-one">
- <div class="fedora-corner-tr">&nbsp;</div>
- <div class="fedora-corner-tl">&nbsp;</div>
- <div id="fedora-content">
-
- <!-- document BEGIN -->
-
-
-
+ </optgroup>
+ </select>
+ <input type="submit" value="Filter" />
+ </fieldset>
+ </form>
+ </div>
<?php
-
$sql='SELECT MAX(stamp) AS stamp FROM repo';
$res=$db->query($sql);
if ($res && $row=$res->fetchObject()) {
printf("<p>Repositories last updated %s.</p>", date("r", $row->stamp));
}
- if ($what) Report($db);
- else echo "<h2>Choose a criteria from the search menu</h2>";
+?>
+ <h1>Packages in Fedora</h1>
+ <table id="list-packages">
+ <thead>
+ <tr>
+ <th>Package</th>
+ <th>Owner(s)</th>
+ <th>Upstream</th>
+<?php
+ $repos = listRepos($db);
+ $repos_k = array_keys($repos);
+ foreach ( $repos_k as $r ) {
+?>
+ <th><?php echo $r; ?></th>
+<?php
+ }
+?>
+ </tr>
+ </thead>
+ <tbody>
+<?php
+ if ($what) Report($db, $repos);
+ else echo "<tr><td colspan=\"" . (count($repos) + 3) . "\"><h2>Choose a criteria from the filter menu</h2></td></tr>";
//echo "<pre>"; print_r($rpms); echo "</pre>";
-
-}
-catch(PDOException $e) {
+} catch(PDOException $e) {
+?>
+ <tr>
+ <td colspan="<?php echo count($repos_k) + 3; ?>">
+<?php
printf("%s ERREUR : %s\n", date("r"), $e->getMessage());
+?>
+ </td>
+ </tr>
+<?php
}
-
?>
-<p>&nbsp;</p>
-
-<table id='fedora-list-packages'><tr><th>Legend:&nbsp;</th>
-<td><b>Repo</b>: bold for latest release.</td>
-<td><div class='check'>Lastest released (as in rawhide)</div></td>
-<td><div class='info'>Lastest in testing</div></td>
-<td><div class='attn'>Lastest not available</div></td>
-</tr></table>
-
- <!-- document END -->
- </div>
- <div class="fedora-corner-br">&nbsp;</div>
- <div class="fedora-corner-bl">&nbsp;</div>
- </div>
-
- <!-- content END -->
-
- <!-- footer BEGIN -->
-
- <div id="fedora-footer">
- <br/>The Fedora Project is maintained and driven by the community and sponsored by Red Hat.
- <br/><a href="http://fedoraproject.org/wiki/Legal">Legal</a> | <a href="http://fedoraproject.org/wiki/Legal/TrademarkGuidelines">Trademark Guidelines</a>
- <br>
+ </tbody>
+ </table>
+ <ul id="legend">
+ <li>Legend: </li>
+ <li><strong>Upstream</strong>: bold if stable. </li>
+ <li><strong>Repo</strong>: bold for latest release.</li>
+ <li class='check'>Lastest released (stable if exists)</li>
+ <li class='info'>Lastest in testing</li>
+ <li class='attn'>Lastest not available</li>
+ </ul>
+ </div><!-- /fedora-content -->
+<?php
+include '_footer.php';
+?>
</div>
-
- <!-- footer END -->
</body>
</html>