diff options
author | Remi Collet <fedora@famillecollet.com> | 2010-05-22 14:51:15 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2010-05-22 14:51:15 +0200 |
commit | 1d9140560f969d4545e5b1ba762a90a5385f62f4 (patch) | |
tree | 9dce9dd2107e4669ff51db3562e3d66e872bfd16 /all.php | |
parent | f34b8b332def3600ef49feb1699fa9b1adb2369b (diff) |
import current version
Diffstat (limited to 'all.php')
-rw-r--r-- | all.php | 286 |
1 files changed, 286 insertions, 0 deletions
@@ -0,0 +1,286 @@ +<!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"; + + + $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)); + } else { + $sql=sprintf("SELECT DISTINCT name FROM acls WHERE owner='%s' ORDER BY name", $what); + } + //echo "<p>SQL=$sql</p>"; + + echo "<table id='fedora-list-packages'>\n"; + echo "<tr class='odd'><th>Package</th><th>Owner(s)</th>"; + + foreach($repos as $repomain) { + foreach ($repomain as $repo) { + printf ("<th align='left'>%s</th>", $repo->main); + break; + } + } + echo "</tr>\n"; + + $i=0; + $res=$db->query($sql); + if ($res) while ($desc = $res->fetchObject()) { + $rpmname = $desc->name; + + $sql2="SELECT DISTINCT owner FROM acls WHERE name LIKE '$rpmname'"; + $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); + } + + $sql3 = "SELECT * FROM rpm WHERE name LIKE '$rpmname'"; + $res3=$db->query($sql3); + $rpm = ($res3 ? $res3->fetchObject() : false); + + if ($rpm) { + $url = $rpm->url; + $des = $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>", + ($i%2 ? "odd" : "even"), $rpmname, $des, $rpmname, $dispowner); + + + foreach($repos as $repomain) { + $display=""; + $class=""; + foreach ($repomain as $repo) { + 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); + } else { + $display .= sprintf("<b>%s</b>-%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); + break; + case "updates": + $display .= sprintf("<b>%s</b>-%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); + $class = ($rpm->ver == $maxver ? "info" : "attn"); + break; + } + } // RPM exists + } // sub repo + + if ($class && $maxver) { + printf("<td><div class='%s'>%s</div></td>", $class, $display); + } else if ($display) { + printf("<td>%s</td>", $display); + } else { + echo "<td> </td>"; + } + } // mainrepo + + echo "</tr>\n"; + $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"> + </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"> + <form action='<?php echo $_SERVER["PHP_SELF"]; ?>' method='get'> + <select name='what' size='1'> + <optgroup label='Pakages'> +<?php + $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)); + } else { + echo "<option value='remi'>remi</option>"; + } +?> + </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); + } else { + echo "<option value='remi'>remi</option>"; + } +?> + </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 --> + + + +<?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>"; + + //echo "<pre>"; print_r($rpms); echo "</pre>"; + +} +catch(PDOException $e) { + printf("%s ERREUR : %s\n", date("r"), $e->getMessage()); +} + +?> +<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> + </div> + + <!-- footer END --> + </body> +</html> + |