<?php

// Funkce pro měření stavových veličin herního serveru hry World of Warcraft

include_once('Global.php');
include_once('Linux.php');

function WoWPlayersOnline()
{
  global $Database;

  $Database->select_db('realmd');
  $DbResult = $Database->query('SELECT COUNT(*) FROM account WHERE online=1');
  $Row = $DbResult->fetch_array();
  return($Row[0]);
}

function WoWGMOnline()
{
  global $Database;

  $Database->select_db('realmd');
  $DbResult = $Database->query('SELECT COUNT(*) FROM account WHERE online=1 AND gmlevel > 0');
  $Row = $DbResult->fetch_array();
  return($Row[0]);
}

function WoWAccountCount()
{
  global $Database;

  $Database->select_db('realmd');
  $DbResult = $Database->query('SELECT COUNT(*) FROM account');
  $Row = $DbResult->fetch_array();
  return($Row[0]);  
}

function WoWGuildCount()
{
  global $Database;
 
  $Database->select_db('characters');
  $DbResult = $Database->query('SELECT COUNT(*) FROM guild');
  $Row = $DbResult->fetch_array();
  return($Row[0]);
}

function WoWCharacterCount()
{
  global $Database;

  $Database->select_db('characters');
  $DbResult = $Database->query('SELECT COUNT(*) FROM `characters`');
  $Row = $DbResult->fetch_array();
  return($Row[0]);
}

function WoWEmulatorRestartCount()
{
  global $Database;

  $Database->select_db('mangos');
  $DbResult = $Database->query('SELECT COUNT(*) FROM uptime');
  $Row = $DbResult->fetch_array();
  return($Row[0]);
}

function WoWEmulatorAvailability()
{
  if(CheckPortStatus('localhost', 8085)) return(100); else return(0);  
}

function WoWTranslatedQuestsCount()
{
  global $Database;

  $Database->select_db('quests');
  $DbResult = $Database->query('SELECT ((SELECT count(*) FROM `quests` WHERE Complete = 1 AND Language <> 0) + '.
  '(SELECT count(*) FROM `npc_text` WHERE Complete = 1 AND Language <> 0) +'.
  '(SELECT count(*) FROM `page_text` WHERE Complete = 1 AND Language <> 0)'.
  ') as NumberTranslate');
  $Row = $DbResult->fetch_array();
  $Value = $Row[0];
  return($Value);
}
