<?php

// Funkce pro měření stavových veličin emulátoru hry World of Warcraft

include_once(dirname(__FILE__).'/Measurement.php');

class WoWMeasurement extends Measurement
{
  function WoWPlayersOnline()
  {
    $this->Database->select_db('realmd');
    $DbResult = $Database->query('SELECT COUNT(*) FROM account WHERE online=1');
    $Row = $DbResult->fetch_array();
    return $Row[0];
  }

  function WoWGMOnline()
  {
    $this->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()
  {
    $this->Database->select_db('realmd');
    $DbResult = $Database->query('SELECT COUNT(*) FROM account');
    $Row = $DbResult->fetch_array();
    return $Row[0];
  }

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

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

  function WoWEmulatorRestartCount()
  {
    $this->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()
  {
    $this->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;
  }
}
