Changeset 697 for trunk


Ignore:
Timestamp:
Mar 21, 2010, 9:57:48 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Systém výběru světů pomocí indexů a cookies předělán na výběr pomocí URL.
Location:
trunk
Files:
8 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Readme.txt

    r686 r697  
    55
    66- Ve složkce inc zkopírovat soubor config.sample.php na config.php a vyplnit konfigurační údaje.
    7 - Ve složkce gh_system zkopírovat soubor conn.sample.php na conn.php a vyplnit konfigurační údaje.
    8 - Ve složkce bug_tracker zkopírovat soubor nastaveni.sample.php na nastaveni.php a vyplnit konfigurační údaje.
    97
    108
     
    1917stat - jde o XML export seznamu online hráčů, který je načítaný z webu wowstatus.net k určení počtu online hráčů na serveru.
    2018sql - struktura databáze a rozdílové aktualizace MySQL.
    21 gh_system - správa domků spolků ve hře (guild house).
    22 bug_tracker - webový systém hlášení chyb, jejich evidence a zpracování.
    2319forum - diskusní fórum phpBB 3
    2420download - soubory ke stažení
    2521client - původní složka programu Heroes of Fantasy client
    2622pages - složka se stránkami webu
    27 mangos_debug - záznam a zobrazování logů mangosu
    2823
    2924Neverzované
    30 gallery - obrázková galerie Plogger
     25galerie - obrázková galerie Plogger
    3126
    3227
  • trunk/inc/server.php

    r690 r697  
    375375  function RealmSelection($FormNameSufix = '')
    376376  {
     377    global $html, $QueryItems, $System;
     378   
    377379    $Output = '';
    378380    $DbResult = $this->Database->query('SELECT COUNT(*) FROM Realm WHERE Enabled=1');
     
    384386      if(array_key_exists('page', $_GET)) $Target = '?page='.$_GET['page'];
    385387        else $Target = '';
    386       $Output .= '<div style="text-align: center;"><form id="RealmSelection'.$FormNameSufix.'" action="'.$Target.'" method="post">'.
    387       '<div>Výběr světa <select name="RealmIndex" onchange="document.getElementById(\'RealmSelection'.$FormNameSufix.'\').submit()">';
     388      $Output .= '<div style="text-align: center;"><form name="realm_selection">'.
     389      '<div>Výběr světa <select onchange="loadPage(this.form.elements[0])">';
    388390     
    389       $DbResult = $this->Database->query('SELECT * FROM Realm WHERE Enabled=1');
     391      $DbResult = $this->Database->query('SELECT *, '.$System->SQLURLName('Name').' AS URLName FROM Realm WHERE Enabled=1');
    390392      while($Realm = $DbResult->fetch_assoc())
    391393      {
    392         if($_COOKIE['RealmIndex'] == $Realm['Id']) $Selected = ' selected="selected"';
     394        if($QueryItems[1] == $Realm['URLName']) $Selected = ' selected="selected"';
    393395         else $Selected = '';
    394         $Output .= '<option value="'.$Realm['Id'].'"'.$Selected.'>'.$Realm['Name'].'</option>';
     396        $NewQueryItems = $QueryItems;
     397        $NewQueryItems[0] = 'svety';
     398        $NewQueryItems[1] = $Realm['URLName'];
     399        $NewURL = $html->Link('/'.implode('/', $NewQueryItems).'/');
     400        $Output .= '<option value="'.$NewURL.'"'.$Selected.'>'.$Realm['Name'].'</option>';
    395401      }
    396402      $Output .= '</select></div>'.
  • trunk/index.php

    r695 r697  
    4141$_GET = $html->GetQueryStringArray();
    4242
    43 if(array_key_exists('RealmIndex', $_POST))
    44 {
    45   setcookie('RealmIndex', $_POST['RealmIndex']);
    46   $_COOKIE['RealmIndex'] = $_POST['RealmIndex'];
    47 }
    48 if(array_key_exists('RealmIndex', $_GET))
    49 {
    50   setcookie('RealmIndex', $_GET['RealmIndex']);
    51   $_COOKIE['RealmIndex'] = $_GET['RealmIndex'];
    52 }
    53 
    5443if(isset($_COOKIE['hof-random']) and $_COOKIE['hof-random'] == 'no') $num_headers = 1;
    5544  else $num_headers = 8;
    56 
    57 // Check right RealmIndex
    58 if(!array_key_exists('RealmIndex', $_COOKIE))
    59 {
    60   $_COOKIE['RealmIndex'] = $Config['Web']['DefaultRealmIndex'];
    61 } else
    62 {
    63   $DbResult = $System->Database->query('SELECT Id FROM Realm WHERE Id='.$_COOKIE['RealmIndex']);
    64   if($DbResult->num_rows == 0) $_COOKIE['RealmIndex'] = $Config['Web']['DefaultRealmIndex'];
    65 }
    6645
    6746echo('<div id="page">'.
     
    7049  '<div id="menu">');
    7150
    72 $ServerMenuItems = array(
    73   array('link' => $html->Link('/'), 'Text' => 'Úvod'),
    74   array('link' => $html->Link('/jak-zacit/'), 'Text' => 'Jak začít'),
    75   array('link' => $html->Link('/registrace/'), 'Text' => 'Registrace'),
    76   array('link' => $html->Link('/ucet/'), 'Text' => 'Správa účtu'),
    77   array('link' => $html->Link('/forum/'), 'Text' => 'Fórum'),
    78   array('link' => $html->Link('/server/'), 'Text' => 'Server'),
    79   array('link' => $html->Link('/galerie/'), 'Text' => 'Galerie'),     
    80   array('link' => $html->Link('/propagace/'), 'Text' => 'Propagace'),
    81   array('link' => $html->Link('/odkazy/'), 'Text' => 'Odkazy'),
    82   //array('link' => $html->Link('/blokovani-uctu/'), 'Text' => 'Bany'),
    83   array('link' => $html->Link('/finance/'), 'Text' => 'Dotace'),
    84   array('link' => $html->Link('/teamspeak/'), 'Text' => 'Team speak'),
    85   array('link' => $html->Link('/hledani/'), 'Text' => 'Vyhledávání'),
    86   array('link' => $html->Link('/svety/'), 'Text' => 'Světy'),   
    87 );
    88 
    89 $DbResult = $System->Database->query('SELECT '.$System->SQLURLName('Name').' AS URLName FROM Realm WHERE Id='.$_COOKIE['RealmIndex']);
    90 $Realm = $DbResult->fetch_assoc();
    91 $RealmMenuItems = array(
    92   array('link' => $html->Link('/svety/'.$Realm['URLName'].'/online-hraci/'), 'Text' => 'Online hráči'),
    93   array('link' => '#', 'Text' => 'Mapa hráčů', 'OnClick' => "popup('".$html->Link("/minimanager/map/?r_id=".$_COOKIE['RealmIndex'])."', 1000, 800); return false;"),
    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'),
    96   array('link' => $html->Link('/armory/'), 'Text' => 'Armory'),
    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'),
    100 );
     51if((count($QueryItems) > 1) and ($QueryItems['0'] == 'svety'))
     52{
     53  $DbResult = $System->Database->query('SELECT Id FROM Realm WHERE '.$System->SQLURLName('Name').'="'.$QueryItems[1].'"');
     54  if($DbResult->num_rows > 0)
     55  {
     56    $DbRow = $DbResult->fetch_assoc();
     57    $Realm = new Realm($System, $DbRow['Id']);
     58    $Realm->Data['URLName'] = $QueryItems[1];
     59 
     60  $MenuItems = array(
     61    array('link' => $html->Link('/'), 'Text' => 'Úvod'),
     62    array(),
     63    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/online-hraci/'), 'Text' => 'Online hráči'),
     64    array('link' => '#', 'Text' => 'Mapa hráčů', 'OnClick' => "popup('".$html->Link("/minimanager/map/?r_id=".$Realm->Data['Id'])."', 1000, 800); return false;"),
     65    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/nej-hraci/'), 'Text' => 'Nej hráči'),
     66    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/spolky/'), 'Text' => 'Spolky'),
     67    array('link' => $html->Link('/armory/'), 'Text' => 'Armory'),
     68    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/arena/'), 'Text' => 'Arény'),
     69    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/akce/'), 'Text' => 'Události'),
     70    array('link' => $html->Link('/svety/'.$Realm->Data['URLName'].'/prikazy/'), 'Text' => 'Příkazy'),
     71  );
     72  } else
     73  {
     74    echo('Svět nenalezen');
     75    $MenuItems = array(
     76      array('link' => $html->Link('/'), 'Text' => 'Úvod'),
     77    );
     78  }
     79} else
     80{
     81  $MenuItems = array(
     82    array('link' => $html->Link('/'), 'Text' => 'Úvod'),
     83    array('link' => $html->Link('/svety/'), 'Text' => 'Světy'),   
     84    array('link' => $html->Link('/jak-zacit/'), 'Text' => 'Jak začít'),
     85    array('link' => $html->Link('/registrace/'), 'Text' => 'Registrace'),
     86    array('link' => $html->Link('/ucet/'), 'Text' => 'Správa účtu'),
     87    array('link' => $html->Link('/forum/'), 'Text' => 'Fórum'),
     88    array('link' => $html->Link('/server/'), 'Text' => 'Server'),
     89    array('link' => $html->Link('/galerie/'), 'Text' => 'Galerie'),     
     90    array('link' => $html->Link('/propagace/'), 'Text' => 'Propagace'),
     91    array('link' => $html->Link('/odkazy/'), 'Text' => 'Odkazy'),
     92    //array('link' => $html->Link('/blokovani-uctu/'), 'Text' => 'Bany'),
     93    array('link' => $html->Link('/finance/'), 'Text' => 'Dotace'),
     94    array('link' => $html->Link('/teamspeak/'), 'Text' => 'Team speak'),
     95    array('link' => $html->Link('/hledani/'), 'Text' => 'Vyhledávání'),
     96  );
     97}
    10198
    10299echo('<br /><br />');
    103100echo('<div class="mainmenu">');
    104 foreach($ServerMenuItems as $Item)
     101foreach($MenuItems as $Item)
    105102{
    106   if(array_key_exists('OnClick', $Item)) $OnClick = ' onclick="'.$Item['OnClick'].'"';
    107     else $OnClick = '';
    108   if(array_key_exists('Target', $Item)) $Target = ' target="'.$Item['Target'].'"';
    109     else $Target = '';
    110 
    111   echo('<a href="'.$Item['link'].'"'.$OnClick.$Target.'>'.$Item['Text'].'</a><br />');
    112 }
    113 echo('</div>');
    114 
    115 echo($server->RealmSelection('Menu'));
    116 
    117 echo('<br /><br />');
    118 echo('<div class="mainmenu">');
    119 foreach($RealmMenuItems as $Item)
    120 {
    121   if(array_key_exists('OnClick', $Item)) $OnClick = ' onclick="'.$Item['OnClick'].'"';
    122     else $OnClick = '';
    123   if(array_key_exists('Target', $Item)) $Target = ' target="'.$Item['Target'].'"';
    124     else $Target = '';
    125 
    126   echo('<a href="'.$Item['link'].'"'.$OnClick.$Target.'>'.$Item['Text'].'</a><br />');
     103  if(array_key_exists('Text', $Item))
     104  {
     105    if(array_key_exists('OnClick', $Item)) $OnClick = ' onclick="'.$Item['OnClick'].'"';
     106      else $OnClick = '';
     107    if(array_key_exists('Target', $Item)) $Target = ' target="'.$Item['Target'].'"';
     108      else $Target = '';
     109    echo('<a href="'.$Item['link'].'"'.$OnClick.$Target.'>'.$Item['Text'].'</a><br />');
     110  } else
     111  {
     112    echo($server->RealmSelection());
     113    echo('<br/>');
     114    echo('<br/>');
     115  }
    127116}
    128117echo('</div>');
  • trunk/pages/akce.php

    r690 r697  
    8989
    9090echo('<h3 class="PageTitle">Události ve hře</h3>');
    91 echo($server->RealmSelection());
    9291$Realm = new Realm($System, $_COOKIE['RealmIndex']);
    9392$db = $Realm->MangosDatabase;
  • trunk/pages/arena.php

    r693 r697  
    2424$all_record = $count[0];
    2525echo('<h3 class="PageTitle">Arénové týmy :</h3>');
    26 echo($server->RealmSelection());
    2726echo('Celkem týmů : <strong>'.$all_record.'</strong>
    2827  <table class="BaseTable">
  • trunk/pages/nej-hraci.php

    r690 r697  
    2929$i = 0;
    3030echo('<h3 class="PageTitle">Nejlepších '.$top.' herních časů</h3>');
    31 echo($server->RealmSelection());
    3231
    3332echo('<table class="SimpleTable">');     
  • trunk/pages/online-hraci.php

    r691 r697  
    2323
    2424echo('<h3 class="PageTitle">Online hráči</h3>');
    25 echo($server->RealmSelection());
    2625
    2726$Realm = new Realm($System, $_COOKIE['RealmIndex']);
  • trunk/pages/prikazy.php

    r690 r697  
    22
    33$Output = '<h2 align="center">Herní příkazy</h2>';
    4 $Output .= $server->RealmSelection();
    54
    65$Realm = new Realm($System, $_COOKIE['RealmIndex']);
  • trunk/pages/spolky.php

    r695 r697  
    3333}
    3434
    35 $Realm = new Realm($System, $_COOKIE['RealmIndex']);
     35if(isset($Realm))
     36{
    3637$db2 = $Realm->CharactersDatabase;
    3738
     
    4647{
    4748echo('<h3 class="PageTitle">Seznam spolků</h3>');
    48 echo($server->RealmSelection());
    4949echo('<table class="BaseTable">
    5050  <tr>
     
    8484echo('</table>');
    8585}
     86} else echo('Musíte vybrat svět');
    8687
    8788?>
  • trunk/styles/global.js

    r445 r697  
    55  window.open(url, "_blank", "left=" + left + ",top=" + shora + ",scrollbars=yes,resiza ble=no,toolbar=no,menubar=no,status=no,location=0,width=" + wid + ",height =" + hei);
    66}
     7
     8function loadPage(list)
     9{
     10  location.href=list.options[list.selectedIndex].value
     11}
Note: See TracChangeset for help on using the changeset viewer.