|
From: <bla...@us...> - 2014-11-29 01:25:55
|
Revision: 22832
http://sourceforge.net/p/bzflag/code/22832
Author: blast007
Date: 2014-11-29 01:25:47 +0000 (Sat, 29 Nov 2014)
Log Message:
-----------
Eliminate senseless HTTP requests to look up owner information. Additionally, store the owner name with the server information to prevent needing additional database lookups.
Modified Paths:
--------------
trunk/web/bzfls/bzfls.php
Modified: trunk/web/bzfls/bzfls.php
===================================================================
--- trunk/web/bzfls/bzfls.php 2014-11-29 01:15:11 UTC (rev 22831)
+++ trunk/web/bzfls/bzfls.php 2014-11-29 01:25:47 UTC (rev 22832)
@@ -369,6 +369,7 @@
print "token = " . lua_quote($listing['token']) . ",\n";
}
print "fields = { 'version', 'hexcode', 'addr', 'ipaddr', 'title', 'owner' },\n";
+ //print "fields = { 'version', 'hexcode', 'addr', 'ipaddr', 'title', 'owner', 'ownername' },\n";
print "servers = {\n";
foreach ($listing['servers'] as $server) {
print "{"
@@ -377,7 +378,8 @@
. lua_quote($server[0]) . "," // addr
. lua_quote($server[3]) . "," // ipaddr
. lua_quote($server[4]) . "," // title
- . lua_quote($server[5]) . "},\n"; // owner
+ //. lua_quote($server[5]) . "," // owner
+ . lua_quote($server[6]) . "},\n"; // ownername
}
print "}\n"; // end the "servers" table
print "}\n";
@@ -391,6 +393,7 @@
print "token: " . json_quote($listing['token']) . ",\n";
}
print '"fields": ["version","hexcode","addr","ipaddr","title","owner"],' . "\n";
+ //print '"fields": ["version","hexcode","addr","ipaddr","title","owner","ownername"],' . "\n";
print '"servers": [';
$first = true;
foreach ($listing['servers'] as $server) {
@@ -405,7 +408,8 @@
. json_quote($server[0]) . "," // addr
. json_quote($server[3]) . "," // ipaddr
. json_quote($server[4]) . "," // title
- . json_quote($server[5]) . "]"; // owner
+ //. json_quote($server[5]) . "," // owner
+ . json_quote($server[6]) . "]"; // ownername
}
print "\n]\n";
print "}\n";
@@ -507,10 +511,10 @@
$fields = "nameport,version,gameinfo,ipaddr,title";
$listing['fields'] = Array("addr", "version", "hexcode", "ipaddr", "title");
- $needOwner = ($listformat == "lua") || ($listformat == "json");
- if ($needOwner) {
- $fields .= ",owner";
+ if ($listformat == "lua" || $listformat == "json") {
+ $fields .= ",owner,ownername";
$listing['fields'][] = "owner"; // append the owner field
+ $listing['fields'][] = "ownername"; // append the owner field
}
$result = sqlQuery("
@@ -521,19 +525,7 @@
$listing['servers'] = Array();
- while (true) {
- $row = mysql_fetch_row($result);
- if (!$row) {
- break;
- }
- if ($needOwner) {
- $owner = "";
- $ownerID = $row[5];
- if ($ownerID) {
- $owner = file_get_contents("http://my.bzflag.org/bzidtools.php?action=name&value=" . $ownerID);
- }
- $row[5] = $owner;
- }
+ while (($row = mysql_fetch_row($result)) !== FALSE) {
$listing['servers'][] = $row;
}
@@ -715,7 +707,7 @@
# -- ADD --
# Server either requests to be added to DB, or to issue a keep-alive so that it
# does not get dropped due to a timeout...
- global $link, $nameport, $version, $build, $gameinfo, $slashtitle, $checktokens, $groups, $debugNoIpCheck, $serverKey;
+ global $bbdbname, $dbname, $link, $nameport, $version, $build, $gameinfo, $slashtitle, $checktokens, $groups, $debugNoIpCheck, $serverKey;
header('Content-type: text/plain');
debug("Attempting to ADD $nameport $version $gameinfo " . stripslashes($slashtitle), 3);
@@ -744,13 +736,17 @@
}
// ok so the key is good, now to check the owner
- $owner = file_get_contents("http://my.bzflag.org/bzidtools.php?action=name&value=" . $ownerID);
-
- if (!$owner)
+ mysql_select_db($bbdbname);
+ $result = mysql_query("SELECT username_clean FROM bzbb3_users WHERE user_id='{$ownerID}'");
+ if (($row = mysql_fetch_row($result)) !== FALSE)
{
+ $owner = $row[0];
+ }
+ else {
print("ERROR: Owner lookup failure\n");
return;
}
+ mysql_select_db($dbname);
}
# Filter out badly formatted or buggy versions
@@ -796,6 +792,8 @@
fclose ($fp);
$curtime = time();
+
+ $ownerEsc = mysql_real_escape_string($owner);
$result = mysql_query("SELECT * FROM servers "
. "WHERE nameport = '".mysql_real_escape_string($nameport)."'", $link)
@@ -808,9 +806,9 @@
# Server does not already exist in DB so insert into DB
# FIXME escape title!
$result = mysql_query("INSERT INTO servers "
- . "(nameport, build, version, owner, gameinfo, ipaddr,"
+ . "(nameport, build, version, owner, ownername, gameinfo, ipaddr,"
. " title, lastmod) VALUES "
- . "('$nameport', '$build', '$version', '$ownerID',"
+ . "('$nameport', '$build', '$version', '$ownerID', '{$ownerEsc}', "
. " '$gameinfo', '$servip', '$slashtitle', $curtime)", $link)
or die ("Invalid query: ". mysql_error());
@@ -830,7 +828,8 @@
. "gameinfo = '$gameinfo', "
. "title = '$slashtitle', "
. "lastmod = $curtime, "
- . "owner = '$ownerID' "
+ . "owner = '$ownerID', "
+ . "ownername = '{$ownerEsc}' "
. "WHERE nameport = '$nameport'", $link)
or die ("Invalid query: ". mysql_error());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|