Application.php
'amount_fill_servers' => self::getPercent($stats['players_num'], $stats['players_max']),
To polecam zdebugować. Nie mam jak to przetestować ale wydaje mi się, że tutaj może się coś krzaczyć. Może w ['players_max'] jest zero i mamy błąd dzielenia? Ewentualnie może:
'amount_fill_servers' => ($stats['players_num'] / $stats['players_max']) * 100,
Z resztą w szablonie tabelki jest taki kod:
<div style='width: 100%;' class='serverlist_progress ipsBadge ipsBadge_small ipsBadge_neutral ipsResponsive_hideTablet ipsResponsive_hidePhone'>
<div class='serverlist_progress-bar' style='width: {$allServerStats['amount_fill_servers']}; background: #3498db'></div>
<div class='ipsType_center' style='position: absolute; width: 100%;'>
{lang="sl_fill_servers"}: {$allServerStats['amount_fill_servers']}
</div>
</div>
Sprawdźcie za pomocą firebuga / jakiegoś innego narzędzia co się kryje na stronie np. w tym miejscu
style="width: [..]"
Tak teraz patrzę to ta funkcja po prostu jest skopana:
public function getPercent($num, $max, $withoutSign = FALSE)
{
if($num <= 0 OR $max <= 0):
return $withoutSign ? 0 : '0%';
endif;
if(extension_loaded('intl')):
$formatter = new \NumberFormatter('en_EN', \NumberFormatter::PERCENT);
$formatter->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, 0);
$return = $formatter->format($num / $max);
else:
$return = \IPS\Member::loggedIn()->language()->formatNumber($num / $max * 100).'%';
endif;
return $withoutSign ? \substr($return, 0, -1) : $return;
}
Nie chce mi się jej analizować, możecie się pobawić sami. To ona jest powodem tych NaN wszędzie. Nan (not a number), pewnie zwraca jakiś syf zamiast liczby.