Так, там след. ошибки:
1. при проверке уровня доступа записи может не быть (по крайней мере в тринити). поэтому нужно по умолчанию считать, что уровень доступа равен 0 (а не писать "персонаж не найден"
2. с точки зрения php: 0 == false, соответственно, проверку на фракцию нужно переделать.
После нижеприведенных изменений у меня по крайней мере профиль попытался начать грузиться.
Код:
diff --git a/includes/classes/class.characters.php b/includes/classes/class.characters.php
index 1fd50e0..32aeb59 100644
--- a/includes/classes/class.characters.php
+++ b/includes/classes/class.characters.php
@@ -162,6 +162,7 @@ Class Characters extends Connector {
if(!is_string($name)) {
return false;
}
+
$player_data = $this->cDB->selectRow("
SELECT
`characters`.`guid`,
@@ -191,30 +192,15 @@ Class Characters extends Connector {
return false;
}
// Is character allowed to be displayed in Armory?
- $gmLevel = false;
+ $gmLevel = 0;
$gmLevel_mangos = $this->rDB->selectCell("SELECT `gmlevel` FROM `account` WHERE `id`=?d LIMIT 1", $player_data['account']);
$gmLevel_trinity = $this->rDB->selectCell("SELECT `gmlevel` FROM `account_access` WHERE `id`=? AND `RealmID` IN (-1, ?d)", $player_data['account'], $this->connectionData['id']);
- if($gmLevel_mangos && $gmLevel_trinity) {
- // MaNGOS doesn't have `account_access` table in `realmd` DB
- if($this->currentRealmInfo['type'] == 'trinity') {
- $gmLevel = $gmLevel_trinity;
- }
- else {
- // error?
- $gmLevel = $gmLevel_mangos;
- }
- }
- elseif($gmLevel_mangos && !$gmLevel_trinity) {
- $gmLevel = $gmLevel_mangos;
- }
- elseif($gmLevel_trinity && !$gmLevel_mangos) {
- $gmLevel = $gmLevel_trinity;
- }
- if(!$gmLevel) {
- unset($player_data);
- // Unknown account
- return false;
+ if ($this->currentRealmInfo['type'] == 'trinity') {
+ $gmLevel = $gmLevel_trinity || 0;
+ } else {
+ $gmLevel = $gmLevel_mangos || 0;
}
+
$allowed = ($gmLevel <= $this->armoryconfig['minGmLevelToShow']) ? true : false;
if(!$allowed || $player_data['level'] < $this->armoryconfig['minlevel']) {
unset($player_data);
@@ -232,7 +218,7 @@ Class Characters extends Connector {
return false;
}
$this->faction = Utils::GetFactionId($player_data['race']);
- if(!$this->faction) {
+ if($this->faction === false) {
// Unknown faction
unset($player_data);
return false;
@@ -255,6 +241,7 @@ Class Characters extends Connector {
if($this->chosenTitle > 0) {
$this->__GetTitleInfo();
}
+
return true;
}
@@ -2248,4 +2235,4 @@ Class Characters extends Connector {
return true;
}
}
-?>
\ No newline at end of file
+?>