session_start();
require_once("../../psolbl/connect.inc.php");
require_once("../../psolbl/getLaanxStatus.inc.php");
require_once("../../psolbl/log_db_query.inc.php");
require_once("../../psolbl/log_errors.inc.php");
$names = $buddies = $players = array();
$laanx = $serverstatus;
$guild = $_GET["guild"];
?>
Guild buddy list
$query = "SELECT * FROM online";
$result = mysql_query($query);
if($result)
{
if(mysql_num_rows($result) > 0)
{
$online = mysql_fetch_assoc($result);
}
$dt = date("Y-m-d H:i");
$now = strtotime($dt);
$last_online = strtotime($online["lastupd"]);
$last_npconline = strtotime($online["lastnpc"]);
if((mysql_num_rows($result) == 0) || ($last_online < $now))
{
for($i = 0; $i < 3; $i++)
{
$laanx = getLaanxStatus();
if($laanx["result"] == LAANX_OK) break;
}
if($laanx["result"] == LAANX_OK)
{
$player_arr = $laanx["players"];
if(!is_array($player_arr) || empty($player_arr)) $player_arr = array();
foreach($player_arr as $playername => $guilddetails)
{
$names[] = $playername.":".$guilddetails["guild"].":".$guilddetails["title"];
if(!empty($guild) && (strtolower($guilddetails["guild"]) == strtolower($guild)))
{
$buddies[] = $playername;
}
else
{
$players[] = $playername;
}
$query_s = "SELECT lastonline FROM accounts WHERE name='".mysql_real_escape_string($playername)."'";
$result_s = mysql_query($query_s);
log_db_query($query_s, $result_s);
if(mysql_num_rows($result_s) < 1)
{
$query_i = "INSERT INTO accounts (name, guild, rank, lastonline) VALUES ('".mysql_real_escape_string($playername)."', '".mysql_real_escape_string($guilddetails["guild"])."', '".mysql_real_escape_string($guilddetails["title"])."', '$dt')";
$result_i = mysql_query($query_i);
log_db_query($query_i, $result_i);
}
else
{
$query_u = "UPDATE accounts SET guild='".mysql_real_escape_string($guilddetails["guild"])."', rank='".mysql_real_escape_string($guilddetails["title"])."', lastonline='$dt' WHERE name='".mysql_real_escape_string($playername)."'";
$result_u = mysql_query($query_u);
log_db_query($query_u, $result_u);
}
}
sort($names);
if($laanx["count"] == 0) $laanx["count"] = count($names);
$name_str = mysql_real_escape_string(implode("\n", $names));
$lastupd = date("Y-m-d H:i", $now);
$query = "UPDATE online SET names = '".$name_str."', lastupd = '".$lastupd."', lastnpc = '".($laanx["$npconline"] ? $lastupd : "")."'";
$result = mysql_query($query);
$sysmsg = "";
}
else
if($laanx["result"] == LAANX_NO_CONN)
{
$sysmsg = "(No connection)";
$laanx["count"] = "n/a";
}
else
if($laanx["result"] == LAANX_BAD_XML)
{
$sysmsg = "(Invalid report)";
$laanx["count"] = "n/a";
}
else
if($laanx["result"] == LAANX_OFFLINE)
{
$sysmsg = "(Server offline)";
$laanx["count"] = "n/a";
}
}
else
{
$name_arr = explode("\n", $online["names"]);
foreach($name_arr as $name_str)
{
$name_entry = explode(":", $name_str);
$names[] = $name_entry[0];
if(!empty($guild) && (strtolower($name_entry[1]) == strtolower($guild)))
{
$buddies[] = $name_entry[0];
}
else
{
$players[] = $name_entry[0];
}
}
$laanx["online"] = true;
$laanx["time"] = $last_online;
$laanx["count"] = count($names);
$laanx["players"] = $names;
$laanx["npconline"] = (abs($last_online - $last_npconline) < 120);
$laanx["npctime"] = $last_npconline;
}
}
sort($buddies);
sort($players);
?>
Guild buddy list
|
|
|
|
|
|
if(!empty($sysmsg))
{
?>
}
foreach($buddies as $buddy)
{
?>
}
foreach($players as $player)
{
?>
}
?>
|
|
|
|
|
|
if($laanx["online"])
{
?>
NPCs: offline
}
?>