From 636a54c70d782bfb6072f85f9e7533c130b85219 Mon Sep 17 00:00:00 2001 From: slawkens1 Date: Thu, 4 May 2017 17:36:08 +0200 Subject: [PATCH] Fixed https://otland.net/threads/myaac-v0-0-1.251454/page-2#post-2440320 --- system/libs/pot/OTS_GuildRank.php | 2 +- system/libs/pot/OTS_ServerInfo.php | 9 +++++++-- system/pages/characters.php | 18 ++++++++++-------- system/pages/guilds.php | 2 +- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/system/libs/pot/OTS_GuildRank.php b/system/libs/pot/OTS_GuildRank.php index 58a10b79..75339639 100644 --- a/system/libs/pot/OTS_GuildRank.php +++ b/system/libs/pot/OTS_GuildRank.php @@ -176,7 +176,7 @@ class OTS_GuildRank extends OTS_Row_DAO implements IteratorAggregate, Countable { if( !isset($this->data['guild_id']) ) { - throw new E_OTS_NotLoaded(); + return new OTS_Guild(); } $guild = new OTS_Guild(); diff --git a/system/libs/pot/OTS_ServerInfo.php b/system/libs/pot/OTS_ServerInfo.php index 36d7ae7c..e34ce23c 100644 --- a/system/libs/pot/OTS_ServerInfo.php +++ b/system/libs/pot/OTS_ServerInfo.php @@ -75,7 +75,10 @@ class OTS_ServerInfo fwrite($socket, $packet); // reads respond - $data = stream_get_contents($socket); + //$data = stream_get_contents($socket); + $data = ''; + while (!feof($socket)) + $data .= fgets($socket, 1024); // closing connection to current server fclose($socket); @@ -121,7 +124,9 @@ class OTS_ServerInfo { // loads respond XML $info = new OTS_InfoRespond(); - $info->loadXML( $status->getBuffer() ); + if(!$info->loadXML( $status->getBuffer())) + return false; + return $info; } diff --git a/system/pages/characters.php b/system/pages/characters.php index ec309bd5..786b17b9 100644 --- a/system/pages/characters.php +++ b/system/pages/characters.php @@ -254,20 +254,22 @@ if(check_name($name)) } $rank_of_player = $player->getRank(); - if($rank_of_player->isLoaded()) - { - $guild_name = $rank_of_player->getGuild()->getName(); - echo - ''. - 'Guild membership:'.$rank_of_player->getName().' of the ' . getGuildLink($guild_name) . ''. - ''; + if($rank_of_player->isLoaded()) { + $guild = $rank_of_player->getGuild(); + if($guild->isLoaded()) { + $guild_name = $guild->getName(); + echo + ''. + 'Guild membership:'.$rank_of_player->getName().' of the ' . getGuildLink($guild_name) . ''. + ''; + } } echo 'Last login:'; $lastlogin = $player->getLastLogin(); if(empty($lastlogin)) - echo'Never logged in.'; + echo 'Never logged in.'; else echo date("M d Y, H:i:s", $lastlogin).' CEST'; diff --git a/system/pages/guilds.php b/system/pages/guilds.php index 5faa6c8d..15397e2a 100644 --- a/system/pages/guilds.php +++ b/system/pages/guilds.php @@ -1026,7 +1026,7 @@ if($action == 'kickplayer') { } else { - if($player->getRank()->isLoaded() && $player->getRank()->getGuild()->getName() != $guild->getName()) { + if($player->getRank()->isLoaded() && $player->getRank()->getGuild()->isLoaded() && $player->getRank()->getGuild()->getName() != $guild->getName()) { $guild_errors[] = 'Character '.$name.' isn\'t from your guild.'; } }