Changeset 695


Ignore:
Timestamp:
Mar 20, 2010, 9:10:18 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Použití názvů světů v URL namísto RealmIndex.
  • Přidáno: Stránka zobrazující informace o jednotlivých světech.
  • Odebráno: Nezobrazovat kategorie aktualit. Stačí jen jedna.
  • Přidáno: Funkce pro generování XML seznamu hráčů ve stylu WoWEmu pro wowstatus.
Location:
trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/inc/html.php

    r693 r695  
    151151   
    152152    $db->select_db($Config['Database']['Database']);
    153 
    154     $Output = '<table class="NewsCategoryTable">'.
     153    $Output = '';
     154
     155    /*$Output = '<table class="NewsCategoryTable">'.
    155156      '<tr>';
    156157    $DbResult = $db->query('SELECT * FROM ArticleCategory');
     
    161162    $Output .= '<td><a href="?">Vše</a></td>'.
    162163      '</tr></table><br />';
     164    */
    163165    $this->QuickNew();
    164166
  • trunk/inc/realm.php

    r693 r695  
    145145    echo('</table>');
    146146  }
     147 
     148  function WoWEmuStat()
     149  {
     150    global $Config;
     151   
     152    $Result =
     153'<?xml version="1.0" encoding="UTF-8"'."?>\r\n".
     154"  <stats>\r\n".
     155"    <server>\r\n".
     156"      <version>0.16</version>\r\n".
     157"      <owner>Admin</owner>\r\n".
     158"      <servername>Server</servername>\r\n".
     159"      <uptime>0 weeks 1 days 0 hours 0 mins</uptime>\r\n".
     160"    </server>\r\n".
     161"    <serverload>\r\n".
     162"      <network>\r\n".
     163"        <configsleep>200</configsleep>\r\n".
     164"        <loops>0</loops>\r\n".
     165"        <totaltime>0</totaltime>\r\n".
     166"        <load>0.00%</load>\r\n".
     167"      </network>\r\n".
     168"      <world>\r\n".
     169"        <configsleep>600</configsleep>\r\n".
     170"        <loops>95222</loops>\r\n".
     171"        <totaltime>7594525</totaltime>\r\n".
     172"        <load>1.50%</load>\r\n".
     173"      </world>\r\n".
     174"    </serverload>\r\n".
     175"    <players>\r\n";
     176    if($this->CharactersDatabase->connect_error) return(0);
     177    else {
     178      $DbResult = $this->CharactersDatabase->query('SELECT *, CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, " ", '.$Config['Mangos']['CharacterDataOffset']['Level'].' + 1), " ", -1) AS UNSIGNED) AS level FROM `characters` WHERE `online` = 1');
     179      while($DbRow = $DbResult->fetch_assoc())
     180      {
     181         $Result .= "      <player>\r\n".
     182    "        <name>".$DbRow['name']."</name>\r\n".
     183    "        <race>".$DbRow['race']."</race>\r\n".
     184    "        <class>".$DbRow['class']."</class>\r\n".
     185    "        <level>".$DbRow['level']."</level>\r\n".
     186    "        <map>".$DbRow['map']."</map>\r\n".
     187    "        <zone>xxx</zone>\r\n".
     188    "        <ping>10</ping>\r\n".
     189    "        <plevel>0</plevel>\r\n".
     190    "        <ip>178.12.14.2</ip>\r\n".
     191    "      </player>\r\n";
     192      }
     193    }
     194    $Result .= "    </players>\r\n".
     195     "  </stats>\r\n";
     196    return($Result);
     197  }
    147198}
    148199
  • trunk/inc/system.php

    r690 r695  
    2828  }
    2929   
     30  function SQLURLName($Name)
     31  {
     32    return('LOWER(REPLACE('.$Name.', " ", "-"))');
     33  }
     34
    3035  function SeoUrl($Address)
    3136  { 
  • trunk/index.php

    r694 r695  
    1818if(file_exists('inc/config.php')) include_once('inc/config.php');
    1919  else die('Nenalezen soubor inc/config.php. Vytvořte jej z předlohy config.sample.php.');
    20 
    2120
    2221session_start();
     
    8887);
    8988
     89$DbResult = $System->Database->query('SELECT '.$System->SQLURLName('Name').' AS URLName FROM Realm WHERE Id='.$_COOKIE['RealmIndex']);
     90$Realm = $DbResult->fetch_assoc();
    9091$RealmMenuItems = array(
    91   array('link' => $html->Link('/online-hraci/'), 'Text' => 'Online hráči'),
     92  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/online-hraci/'), 'Text' => 'Online hráči'),
    9293  array('link' => '#', 'Text' => 'Mapa hráčů', 'OnClick' => "popup('".$html->Link("/minimanager/map/?r_id=".$_COOKIE['RealmIndex'])."', 1000, 800); return false;"),
    93   array('link' => $html->Link('/nej-hraci/'), 'Text' => 'Nej hráči'),
    94   array('link' => $html->Link('/spolky/'), 'Text' => 'Spolky'),
     94  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/nej-hraci/'), 'Text' => 'Nej hráči'),
     95  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/spolky/'), 'Text' => 'Spolky'),
    9596  array('link' => $html->Link('/armory/'), 'Text' => 'Armory'),
    96   array('link' => $html->Link('/arena/'), 'Text' => 'Arény'),
    97   array('link' => $html->Link('/akce/'), 'Text' => 'Události'),
    98   array('link' => $html->Link('/prikazy/'), 'Text' => 'Příkazy'),
     97  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/arena/'), 'Text' => 'Arény'),
     98  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/akce/'), 'Text' => 'Události'),
     99  array('link' => $html->Link('/svety/'.$Realm['URLName'].'/prikazy/'), 'Text' => 'Příkazy'),
    99100);
    100101
  • trunk/pages/jak-zacit.php

    r693 r695  
    2424<li>Můžete se zaregistrovat do diskuzního fóra serveru <a href="'.$html->Link('/forum/').'">zde</a>.</li>
    2525<li>Ve hře se můžete připojit příkazem /join world do společného textového chat kanálu.</li>
    26 <li>Prozkoumejte webové stránky serveru a sledujte <a href="rss.php?category=articles">nejnovější informace</a> přes RSS čtečku.</li>
     26<li>Prozkoumejte webové stránky serveru a sledujte <a href="'.$html->Link('/rss.php?category=articles').'">nejnovější informace</a> přes RSS čtečku.</li>
    2727</ul>
    2828<br />
  • trunk/pages/spolek.php

    r691 r695  
    2929  $time = mktime($time_stp[0], $time_stp[1], $time_stp[2], $date[1], $date[2], $date[0]);
    3030  $human_date = date('d.m.Y H:i:s', $time);
    31   echo('<a href="'.$html->Link('/spolky/').'">&lt;- Zpět na výpis</a><br />');
     31  //echo('<a href="'.$html->Link('/spolky/').'">&lt;- Zpět na výpis</a><br />');
    3232  echo('<table class="BaseTable">
    3333    <tr>
  • trunk/pages/spolky.php

    r691 r695  
    3333}
    3434
     35$Realm = new Realm($System, $_COOKIE['RealmIndex']);
     36$db2 = $Realm->CharactersDatabase;
     37
     38if(count($QueryItems) > 3)
     39{
     40  $GuildName = $QueryItems[3];
     41  $DbResult = $db2->query('SELECT guildid FROM guild WHERE '.$System->SQLURLName('Name').'="'.$GuildName.'"');
     42  $DbRow = $DbResult->fetch_assoc();
     43  $_GET['id'] = $DbRow['guildid'];
     44  include('spolek.php');
     45} else
     46{
    3547echo('<h3 class="PageTitle">Seznam spolků</h3>');
    3648echo($server->RealmSelection());
     
    4658  </tr>');
    4759
    48 $Realm = new Realm($System, $_COOKIE['RealmIndex']);
    49 $db2 = $Realm->CharactersDatabase;
    5060
    51 $sql = $db2->query('SELECT `guild`.name, `guild`.guildid, FROM_UNIXTIME(`guild`.`createdate`) AS `createdate`, COUNT(`guild_member`.`guildid`) AS member_count ,`leader`.`race` IN (1, 3, 4, 7, 11) AS fraction , `leader`.`guid` AS leader FROM `guild` JOIN `guild_member` ON `guild_member`.`guildid` = `guild`.`guildid` JOIN `characters` AS `memebers` ON `memebers`.`guid`= `guild_member`.`guid` JOIN `characters` AS `leader` ON `leader`.`guid`= `guild`.`leaderguid` GROUP BY guild.name ORDER BY '.$order_by.' '.$order_dir.';');
     61$sql = $db2->query('SELECT `guild`.name, '.$System->SQLURLName('`guild`.name').' AS URLName, `guild`.guildid, FROM_UNIXTIME(`guild`.`createdate`) AS `createdate`, COUNT(`guild_member`.`guildid`) AS member_count ,`leader`.`race` IN (1, 3, 4, 7, 11) AS fraction , `leader`.`guid` AS leader FROM `guild` JOIN `guild_member` ON `guild_member`.`guildid` = `guild`.`guildid` JOIN `characters` AS `memebers` ON `memebers`.`guid`= `guild_member`.`guid` JOIN `characters` AS `leader` ON `leader`.`guid`= `guild`.`leaderguid` GROUP BY guild.name ORDER BY '.$order_by.' '.$order_dir.';');
    5262while($row = $sql->fetch_assoc())
    5363{
     
    6474  echo('<tr>
    6575    <td align="center">'.FrakceImg($row['fraction']).'</td>
    66     <td align="center"><a href="'.$html->Link('/spolek/?id='.$row['guildid']).'">'.$row['name'].'</a></td>
     76    <td align="center"><a href="'.$html->Link($row['URLName'].'/').'">'.$row['name'].'</a></td>
    6777    <td align="center">'.$row['member_count'].'</td>
    6878    <td align="center">'.$online_mem['online_mem'].'</td>
     
    7383}
    7484echo('</table>');
     85}
    7586
    7687?>
  • trunk/pages/svety.php

    r693 r695  
    11<?php
    22
     3function RealmList()
     4{
     5  global $System, $html;
     6 
    37if(array_key_exists('Server', $_GET))
    48{
     
    3135    '</tr>';
    3236 
    33     $DbResult2 = $System->Database->query('SELECT * FROM Realm WHERE Logon='.$Server->Id.' AND Enabled=1 ORDER BY Name');
     37    $DbResult2 = $System->Database->query('SELECT *, '.$System->SQLURLName('Name').' AS URLName FROM Realm WHERE Logon='.$Server->Id.' AND Enabled=1 ORDER BY Name');
    3438    while($DbRow = $DbResult2->fetch_assoc())
    3539    {
    3640      $Realm = new Realm($System, $DbRow['Id']);
    37       $Output .= '<tr><td><a href="'.$html->Link('/online-hraci/?RealmIndex='.$Realm->Id).'">'.$Realm->Data['Name'].'</a></td><td>'.$Realm->Data['Rate'].'</td><td>'.$Realm->Data['Type'].'</td><td>'.$Server->OnlineStateImage($Realm->Data['Online']).'</td><td>'.$Realm->OnlineCharactersCount().' / '.$Realm->Data['MaxOnlinePlayers'].' / '.$Realm->CharacterCount().'</td></tr>';
     41      $Output .= '<tr><td><a href="'.$html->Link('/svety/'.$DbRow['URLName'].'/').'">'.$Realm->Data['Name'].'</a></td><td>'.$Realm->Data['Rate'].'</td><td>'.$Realm->Data['Type'].'</td><td>'.$Server->OnlineStateImage($Realm->Data['Online']).'</td><td>'.$Realm->OnlineCharactersCount().' / '.$Realm->Data['MaxOnlinePlayers'].' / '.$Realm->CharacterCount().'</td></tr>';
    3842      $Output .= '<tr><td colspan="5">'.$Realm->Data['Description'].'</td></tr>';
    3943      //if(array_key_exists($Index + 1, $Config['Mangos']['RealmList']))
     
    4448  echo($Output);
    4549}
     50}
     51
     52function RealmInfo()
     53{
     54  global $System;
     55 
     56  $DbResult = $System->Database->query('SELECT * FROM Realm WHERE Id='.$_COOKIE['RealmIndex']);
     57  $Realm = $DbResult->fetch_assoc();
     58  echo('<h2 align="center">'.$Realm['Name'].'</h2>');
     59  echo($Realm['Information']);
     60}
     61
     62if(count($QueryItems) > 1)
     63{
     64  $RealmName = $QueryItems[1];
     65  $DbResult = $System->Database->query('SELECT Id FROM Realm WHERE '.$System->SQLURLName('Name').'="'.$RealmName.'"');
     66  $DbRow = $DbResult->fetch_assoc();
     67  $_COOKIE['RealmIndex'] = $DbRow['Id'];
     68 
     69  if(count($QueryItems) > 2)
     70  {
     71    if($QueryItems[2] == 'online-hraci') include('online-hraci.php');
     72    else if($QueryItems[2] == 'prikazy') include('prikazy.php');
     73    else if($QueryItems[2] == 'akce') include('akce.php');
     74    else if($QueryItems[2] == 'arena') include('arena.php');
     75    else if($QueryItems[2] == 'nej-hraci') include('nej-hraci.php');
     76    else if($QueryItems[2] == 'mapa') include('mapa.php');
     77    else if($QueryItems[2] == 'spolek') include('spolek.php');
     78    else if($QueryItems[2] == 'spolky') include('spolky.php');
     79    else RealmInfo();
     80  } else RealmInfo();
     81} else RealmList();
    4682
    4783?>
Note: See TracChangeset for help on using the changeset viewer.