<pre style='margin:0'>
raimue pushed a commit to branch master
in repository macports-www.
</pre>
<p><a href="https://github.com/macports/macports-www/commit/4150e65e90f554037ff68538d7749c3c94847130">https://github.com/macports/macports-www/commit/4150e65e90f554037ff68538d7749c3c94847130</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 4150e65 Switch to Postgres DB
</span>4150e65 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 4150e65e90f554037ff68538d7749c3c94847130
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Mon Oct 31 00:23:12 2016 +0100
<span style='display:block; white-space:pre;color:#404040;'> Switch to Postgres DB
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The authentication is automatically granted based on the UNIX account
</span><span style='display:block; white-space:pre;color:#404040;'> running the webserver. No username, password or database name are
</span><span style='display:block; white-space:pre;color:#404040;'> required.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes https://trac.macports.org/ticket/40579
</span>---
includes/common.inc | 28 ++++-----------
index.php | 2 +-
ports.php | 100 +++++++++++++++++++++++++++-------------------------
3 files changed, 60 insertions(+), 70 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/includes/common.inc b/includes/common.inc
</span><span style='display:block; white-space:pre;color:#808080;'>index f70eaf1..7355738 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/includes/common.inc
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/includes/common.inc
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,15 +38,6 @@ $guide_url = 'https://guide.macports.org/';
</span>
#####################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Ports database connection parameters:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-$portsdb_host = 'data.macports.org';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-$portsdb_name = 'macports';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-$portsdb_user = 'macports';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-$portsdb_passwd = trim(file_get_contents('/var/www/script_data'));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-######################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Page header:
function print_header($title, $encoding) {
global $trac_url, $svn_url, $downloads, $guide_url;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,13 +67,12 @@ function print_warnings() {
</span> ######################################################################
# Connect to the portsdb and gather miscellaneous information:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-function portsdb_connect($portsdb_host, $portsdb_user, $portsdb_passwd) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+function portsdb_connect() {
</span> $script = basename($_SERVER['PHP_SELF']);
$portsdb_connection = FALSE;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if (function_exists('mysql_connect')) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $portsdb_connection = mysql_connect($portsdb_host, $portsdb_user, $portsdb_passwd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (function_exists('pg_connect')) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $portsdb_connection = pg_connect("");
</span> }
if ($portsdb_connection === FALSE) {
switch ($script) {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,11 +116,9 @@ function portsdb_connect($portsdb_host, $portsdb_user, $portsdb_passwd) {
</span>
# Total count of currently available ports:
function ports_count() {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global $portsdb_name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $result = mysql_query("SELECT COUNT(DISTINCT name) FROM $portsdb_name.portfiles");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $result = pg_query("SELECT COUNT(DISTINCT name) FROM portfiles");
</span> if ($result) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $row = mysql_fetch_array($result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $row = pg_fetch_array($result);
</span> $count = $row[0];
} else {
$count = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,11 +131,9 @@ function ports_count() {
</span>
# Total count of port categories:
function categories_count() {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global $portsdb_name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $result = mysql_query("SELECT COUNT(DISTINCT category) FROM $portsdb_name.categories");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $result = pg_query("SELECT COUNT(DISTINCT category) FROM categories");
</span> if ($result) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $row = mysql_fetch_array($result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $row = pg_fetch_array($result);
</span> $count = $row[0];
} else {
$count = 0;
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/index.php b/index.php
</span><span style='display:block; white-space:pre;color:#808080;'>index 09598f3..9961bb1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/index.php
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/index.php
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,6 +72,6 @@
</span> <?php
print_footer();
if ($portsdb_info['connection_handler'] !== false) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- mysql_close($portsdb_info['connection_handler']);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pg_close($portsdb_info['connection_handler']);
</span> }
?>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ports.php b/ports.php
</span><span style='display:block; white-space:pre;color:#808080;'>index dfbf33b..d31b94b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/ports.php
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ports.php
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,10 +7,10 @@
</span>
include_once("includes/common.inc");
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $portsdb_info = portsdb_connect($portsdb_host, $portsdb_user, $portsdb_passwd);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $sql = "SELECT UNIX_TIMESTAMP(activity_time) FROM $portsdb_name.log ORDER BY UNIX_TIMESTAMP(activity_time) DESC";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $result = mysql_query($sql);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($result && $row = mysql_fetch_row($result)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $portsdb_info = portsdb_connect();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $sql = "SELECT ceil(extract( epoch from activity_time)) as tim FROM log ORDER BY tim DESC";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $result = pg_query($sql);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ($result && $row = pg_fetch_row($result)) {
</span> $date = date('Y-m-d', $row[0]);
$time = date('H:i:s e', $row[0]);
} else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,8 +64,8 @@
</span> /* If no valid search criteria is specified (by set and not equal to all and a valid substring) we output port categories
as possible searches */
if (!$by || ($by != 'all' && !$substr)) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $query = "SELECT DISTINCT category FROM $portsdb_name.categories ORDER BY category";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $result = mysql_query($query);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $query = "SELECT DISTINCT category FROM categories ORDER BY category";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $result = pg_query($query);
</span> if ($result) {
$max_entries_per_column = floor($portsdb_info['num_categories']/4);
$columns = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,7 @@
</span> while ($columns < 4) {
$entries_per_column = 0;
print '<li><ul>';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($row = mysql_fetch_assoc($result)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($row = pg_fetch_assoc($result)) {
</span> print "<li><a href=\"$phpself?by=category&substr=" . urlencode($row['category']) . '">'
. htmlspecialchars($row['category']) . '</a></li>';
if ($entries_per_column == $max_entries_per_column) break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -89,34 +89,35 @@
</span> /* If valid criteria is specified (by set and a valid substring, or by set to all) we poll the db and display the results */
if ($by && ($substr || $by == 'all')) {
$fields = 'name, path, version, description';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $tables = "$portsdb_name.portfiles AS p";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $tables = "portfiles AS p";
</span> switch ($by) {
case 'name':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "p.name LIKE '%" . mysql_real_escape_string($substr) . "%'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #TODO: was pg_escape_string. Current charset taken into account ?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "p.name LIKE '%" . pg_escape_string($substr) . "%'";
</span> break;
case 'category':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $tables .= ", $portsdb_name.categories AS c";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "c.portfile = p.name AND c.category = '" . mysql_real_escape_string($substr) . "'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $tables .= ", categories AS c";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "c.portfile = p.name AND c.category = '" . pg_escape_string($substr) . "'";
</span> break;
case 'maintainer':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $tables .= ", $portsdb_name.maintainers AS m";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "m.portfile = p.name AND m.maintainer LIKE '%" . mysql_real_escape_string($substr) . "%'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $tables .= ", maintainers AS m";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "m.portfile = p.name AND m.maintainer LIKE '%" . pg_escape_string($substr) . "%'";
</span> break;
case 'library':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "p.name = '" . mysql_real_escape_string($substr) . "'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "p.name = '" . pg_escape_string($substr) . "'";
</span> break;
case 'variant':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $tables .= ", $portsdb_name.variants AS v";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "v.portfile = p.name AND v.variant = '" . mysql_real_escape_string($substr) . "'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $tables .= ", variants AS v";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "v.portfile = p.name AND v.variant = '" . pg_escape_string($substr) . "'";
</span> break;
case 'platform':
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $tables .= ", $portsdb_name.platforms AS pl";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "pl.portfile = p.name AND pl.platform = '" . mysql_real_escape_string($substr) . "'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $tables .= ", platforms AS pl";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "pl.portfile = p.name AND pl.platform = '" . pg_escape_string($substr) . "'";
</span> break;
/*
case 'license':
$tables .= ", $portsdb_name.licenses AS lc";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $criteria = "lc.portfile = p.name AND lc.license = '" . mysql_real_escape_string($substr) . "'";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $criteria = "lc.portfile = p.name AND lc.license = '" . pg_escape_string($substr) . "'";
</span> break;
*/
case 'all':
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -128,12 +129,12 @@
</span> }
$where = ($criteria == '' ? '' : "WHERE $criteria");
$query = "SELECT DISTINCT $fields FROM $tables $where ORDER BY name";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $result = mysql_query($query);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $result = pg_query($query);
</span>
/* Main query sent to the DB */
if ($result) {
$paging = false;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $numrows = mysql_num_rows($result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $numrows = pg_num_rows($result);
</span> if ($numrows > $pagesize) {
$paging = true;
$pagecount = ceil($numrows / $pagesize);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -154,8 +155,11 @@
</span> }
$pagecontrol .= "</p>";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # seek the data pointer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mysql_data_seek($result, $offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # seek the data pointer by fetching the row before the interesting one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FIXME: maybe should be offset - 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if($offset > 0){
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pg_fetch_row($result, $offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
print '<h3>Query Results</h3>';
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -169,9 +173,9 @@
</span>
print '<dl>';
/* Iterate over the entire set of returned ports */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- for ($row = mysql_fetch_assoc($result), $i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for ($row = pg_fetch_assoc($result), $i = 0;
</span> $row && (!$paging || $i < $curpagesize);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $row = mysql_fetch_assoc($result), $i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $row = pg_fetch_assoc($result), $i++) {
</span>
/* Port name and Portfile URL */
print "<dt><b><a href=\"${trac_url}browser/trunk/dports/" . $row['path'] . "/Portfile\">" . htmlspecialchars($row['name'])
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -182,12 +186,12 @@
</span> print htmlspecialchars($row['description']) . '<br />';
/* Licenses */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT license FROM $portsdb_name.licenses WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT license FROM licenses WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY license";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($nresult && mysql_num_rows($nresult) > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ($nresult && pg_num_rows($nresult) > 0) {
</span> print '<i>Licenses:</i> ';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> print "<a href=\"$phpself?by=license&substr=" . urlencode($nrow[0]) . '">'
. htmlspecialchars($nrow[0]) . '</a> ';
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -195,13 +199,13 @@
</span> }
/* Maintainers */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT maintainer FROM $portsdb_name.maintainers WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT maintainer FROM maintainers WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY is_primary DESC, maintainer";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span> if ($nresult) {
$primary = 1;
print '<i>Maintained by:</i>';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> if ($primary) { print ' <b>'; }
else { print ' '; }
print obfuscate_email($nrow[0]);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,13 +215,13 @@
</span> }
/* Categories */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT category FROM $portsdb_name.categories WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT category FROM categories WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY is_primary DESC, category";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span> if ($nresult) {
$primary = 1;
print '<br /><i>Categories:</i>';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> if ($primary) { print ' <b>'; }
else { print ' '; }
print "<a href=\"$phpself?by=category&substr=" . urlencode($nrow[0]) . '">'
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -228,24 +232,24 @@
</span> }
/* Platforms */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT platform FROM $portsdb_name.platforms WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT platform FROM platforms WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY platform";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span> if ($nresult) {
print '<br /><i>Platforms:</i> ';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> print "<a href=\"$phpself?by=platform&substr=" . urlencode($nrow[0]) . '">'
. htmlspecialchars($nrow[0]) . '</a> ';
}
}
/* Dependencies */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT library FROM $portsdb_name.dependencies WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT library FROM dependencies WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY library";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($nresult && mysql_num_rows($nresult) > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ($nresult && pg_num_rows($nresult) > 0) {
</span> print '<br /><i>Dependencies:</i> ';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> $library = preg_replace('/^(?:[^:]*:){1,2}/', '', $nrow[0]);
print "<a href=\"$phpself?by=library&substr=" . urlencode($library) . '">'
. htmlspecialchars($library) . '</a> ';
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -253,12 +257,12 @@
</span> }
/* Variants */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nquery = "SELECT variant FROM $portsdb_name.variants WHERE portfile='" . mysql_real_escape_string($row['name']) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nquery = "SELECT variant FROM variants WHERE portfile='" . pg_escape_string($row['name']) .
</span> "' ORDER BY variant";
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $nresult = mysql_query($nquery);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($nresult && mysql_num_rows($nresult) > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $nresult = pg_query($nquery);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ($nresult && pg_num_rows($nresult) > 0) {
</span> print '<br /><i>Variants:</i> ';
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while ($nrow = mysql_fetch_row($nresult)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while ($nrow = pg_fetch_row($nresult)) {
</span> print "<a href=\"$phpself?by=variant&substr=" . urlencode($nrow[0]) . '">'
. htmlspecialchars($nrow[0]) . '</a> ';
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -274,7 +278,7 @@
</span>
/* When we hit this else, the query failed for some reason */
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- print '<p>An Error Occurred: '. mysql_error($portsdb_info['connection_handler']) . '</p>';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ print '<p>An Error Occurred: '. pg_last_error($portsdb_info['connection_handler']) . '</p>';
</span> }
} /* if (main query sent to the DB) */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -285,5 +289,5 @@
</span>
<?php
print_footer();
<span style='display:block; white-space:pre;background:#ffe0e0;'>- mysql_close($portsdb_info['connection_handler']);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pg_close($portsdb_info['connection_handler']);
</span> ?>
</pre><pre style='margin:0'>
</pre>