diff options
author | Remi Collet <fedora@famillecollet.com> | 2010-05-26 22:22:33 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2010-05-26 22:22:33 +0200 |
commit | 707d798cd402a08157ef2a66eff6cbebe606d746 (patch) | |
tree | f5ace133c94721ec0fd665cbd0f9a2bbfb9b4dd1 /all.php | |
parent | ba771dc91b13c70509b6da1589e7e9c4a95b3384 (diff) | |
parent | 886b1ca73cc20b7c266dd0a7da0e863b722c47df (diff) |
Merge branch 'master' of http://github.com/trasher/rpmphp
Diffstat (limited to 'all.php')
-rw-r--r-- | all.php | 289 |
1 files changed, 126 insertions, 163 deletions
@@ -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> </td>"; + echo "\t<td> </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> - <img src='http://docs.fedoraproject.org/images/link-offsite-side.png' /> - <a href="./">Reports home</a> - <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"> </div> - <div class="fedora-corner-tl"> </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> </p> - -<table id='fedora-list-packages'><tr><th>Legend: </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"> </div> - <div class="fedora-corner-bl"> </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> |