<?php require "config.inc.php"; require "FedoraClient.php"; $fedcli = new FedoraPkgdb(); $name = $_GET['rpm']; $ajax_infos = '<span class="ajax">(wit for ajax or <a href="' . $_SERVER['PHP_SELF'] . '?rpm='.$name.'&pkgdb=1">reload with pkgdb</a>)</span>'; ?> <!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">--> <script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="scripts/rpmphp.js"></script> <?php if ( isset($name) && $name != '' ) { ?> <script type="text/javascript"> // <![CDATA[ $(function(){ initZoomJS('<?php echo $name; ?>'); }); //]]> </script> <?php } ?> <link rel="shortcut icon" href="images/favicon.ico"/> <link rel="icon" href="images/favicon.ico"/> </head> <body> <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="#">Package detail</a></li> </ul> </div> <?php if ( !isset($name) || !$name ) { ?> <h1>Missing package name</h1> <form action="?" method="get"> <p>You have not specified any package name.</p> <p><label for="rpm">Please enter one package name: </label><input type="text" name="rpm" id="rpm"/> <input type="submit"/></p> </form> <?php } else { try { $db = new PDO ("mysql:dbname=" . MYBASE . ";host=" . MYHOST, MYUSER, MYPASS); $sql = "SELECT rpm.* FROM rpm INNER JOIN repo ON (repo.main=rpm.repo_main AND repo.sub=rpm.repo_sub) WHERE rpm.name='$name' ORDER BY repo.id DESC"; $resrpm = $db->query($sql); $rpm = ($resrpm ? $resrpm->fetchObject() : false); $sql = "SELECT * FROM upstream WHERE name = '$name'"; $resup=$db->query($sql); $up = ($resup ? $resup->fetchObject() : false); $sql = "SELECT * FROM acls WHERE name = '$name'"; $resown=$db->query($sql); $owner = ($resown ? $resown->fetchObject() : false); if (!$rpm) { echo "<h1>$name not found</h1>\n"; } else { echo "<h1>Package: $name</h1>\n"; if (isset($_GET['pkgdb'])) { $fedpkg = $fedcli->getPackageInfo($name); echo "<p id=\"pkgdb-link\"><a href='".$_SERVER['PHP_SELF']."?rpm=$name'>Hide pkgdb informations</a></p>"; } else { $fedpkg = false; echo "<p id=\"pkgdb-link\"><a href='".$_SERVER['PHP_SELF']."?rpm=$name&pkgdb=1'>Show more informations from pkgdb</a></p>"; } echo "<table id=\"upstream\">\n"; echo "<caption>Upstream info</caption>\n"; $i=0; if ($rpm->summary) { echo "<tr><th>"; $i++; echo "Summary: </th><td><strong>". $rpm->summary . "</strong></td></tr>\n"; } else if ($owner->summary) { echo "<tr><th>"; $i++; echo "Summary: </th><td><strong>". $owner->summary . "</strong></td></tr>\n"; } echo "<tr><th>"; $i++; echo "Description: </th><td id=\"" . $name . "_desc\">" . ((isset($fedpkg['devel']['package']['description'])) ? $fedpkg['devel']['package']['description'] : $ajax_infos) . "</td></tr>\n"; if ($rpm->url) { echo "<tr><th>"; $i++; echo "URL: </th><td><strong><a href='".$rpm->url."'>". $rpm->url . "</a></strong></td></tr>\n"; } if ($up && $up->type) { echo "<tr><th>"; $i++; echo "Type: </th><td><strong>". $up->type . "</strong></td></tr>\n"; } if ($up && $up->channel) { echo "<tr><th>"; $i++; echo "Channel: </th><td><strong>". $up->channel . "</strong></td></tr>\n"; } if ($up && $up->stable) { echo "<tr><th>"; $i++; echo "Stable version: </th><td><strong>". $up->stable . "</strong></td></tr>\n"; } if ($up && $up->unstable && $up->stable!=$up->unstable) { echo "<tr><th>"; $i++; echo "Unstable version: </th><td><strong>". $up->unstable . "</strong>"; if ($up->state) { echo " (". $up->state . ")\n"; } echo "</td></tr>\n"; } if ($owner && $owner->owner) { echo "<tr><th>"; $i++; echo "Owner: </th><td><strong>". $owner->owner . "</strong>"; if ($owner->cc) { echo " (". $owner->cc . ")\n"; } echo "</td></tr>\n"; } echo "<tr><th>ViewVC: </th>"; $i++; echo "<td><a href=\"http://cvs.fedoraproject.org/viewvc/rpms/$name/\">http://cvs.fedoraproject.org/viewvc/rpms/$name/</a>"; echo "</td></tr>\n"; echo "</table>"; echo "<table id=\"list-packages\">\n"; echo "<caption>Packages available in Fedora Repositories</caption>\n"; echo "<thead><tr><th>Branch</th><th>Repository</th><th>Version-Release</th><th>Owner</th><th>Co-maintainers</th></tr></thead><tbody>\n"; $prev=false; do { if ($rpm->repo_main=='rawhide' && isset($fedpkg['devel']['owner'])) { $owner = $fedpkg['devel']['owner']; $people = $fedpkg['devel']['people']; } else if (isset($fedpkg[$rpm->repo_main]['owner'])) { $owner = $fedpkg[$rpm->repo_main]['owner']; $people = $fedpkg[$rpm->repo_main]['people']; } else { $owner =" "; $people = false; } $comaint = ''; if ($people) foreach ($people as $user) { if (isset($user['aclOrder']['commit']['statuscode']) && $user['aclOrder']['commit']['statuscode']==3) { if ( $comaint !== '' ) { $comaint .= ', '; } $comaint .= $user['username']; } } echo "<tr class='".($i%2 ? 'odd' : 'even')."'>"; $i++; echo "<td><strong>".($rpm->repo_main==$prev ? " " : $rpm->repo_main)."</strong></td>"; echo "<td>".$rpm->repo_sub."</td>"; echo "<td>".($rpm->epoch ? $rpm->epoch.":" : "").$rpm->ver."-".$rpm->rel."</td>"; $id = 'pkgdb_' . $rpm->repo_main; if ( $rpm->repo_main != $prev ) { echo "<td id=\"" . $id . "_owner\">" . (($fedpkg) ? $owner : $ajax_infos) . "</td><td id=\"" . $id . "_maintainers\">" . (($fedpkg) ? $comaint : $ajax_infos) . "</td></tr>\n"; } else { echo '<td> </td><td> </td></tr>'; } if( $rpm->repo_main != $prev ) { $prev = $rpm->repo_main; } } while ($rpm = $resrpm->fetchObject()); echo "</tbody></table>"; } } catch(PDOException $e) { printf("%s ERREUR : %s\n", date("r"), $e->getMessage()); } } ?> <!-- document END --> </div> <!-- content END --> <?php include '_footer.php'; ?> </div> </body> </html>