Changeset 8


Ignore:
Timestamp:
Jun 5, 2008, 9:38:23 PM (16 years ago)
Author:
george
Message:

Přidáno: Zaznamenávání a zobrazování údaje o odezevně serverů.
Upraveno: Šablony stránek a použití jazykových proměnných ve větší míře.

Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • includes/config.sample.php

    r3 r8  
    44  'DisplayServerCountPerPage' => 40,
    55  'TopServersCount' => 10,
     6  'OnlineStatePeriodLength' => 7,
    67);
    78
  • index.php

    r3 r8  
    6969$tpl->output['url'] = $config['base_url'];
    7070$tpl->output['lang'] = $lang;
    71 $tpl->output['footer'] = 'Created by illi, Designed by Paranoik<br />Designed for <a href="http://www.opera.com/" target="_blank">Opera</a> and <a href="http://www.czilla.cz" target="_blank">Mozzila</a>.';
     71$tpl->output['footer'] = 'Vytvořeno členy komunity.';
    7272if (isset($_SESSION['id']))
    7373  {
  • lang/cs.php

    r1 r8  
    4242'abroad_servers' => 'Zahraniční servery',
    4343'th_players' => 'Hráči',
     44'th_recommend' => 'Doporučujeme',
     45'th_online_state' => 'Online',
     46'th_latency' => 'Odezva',
     47'th_xp' => 'XP násobek',
     48'th_type' => 'Typ',
     49'th_version' => 'Verze',
     50'th_rating' => 'Známka',
    4451'info_servers' =>'Servery',
    4552'info_num_of_servers' => 'Počet serverů',
     
    4754'users' => 'Uživatelé',
    4855'only_logged' => 'Pouze přihlášení uživatelé mohou přidávat servery.\nPřihlašte se prosím',
    49 'add_server_not_web' => 'Musíte vyplnit Webovou stranku a Registrační stránku'
     56'add_server_not_web' => 'Musíte vyplnit Webovou stranku a Registrační stránku',
     57);
    5058
    51 
    52 
    53 
    54 
    55 );
    5659$text['add_server_h2'] = 'Přidej server';
    5760$text['reg_name_server'] = 'Jméno serveru';
  • lang/en.php

    r3 r8  
    4242  'abroad_servers' => 'Foreign servers',
    4343  'th_players' => 'Players',
     44  'th_recommend' => 'Recommended',
     45  'th_online_state' => 'Online',
     46  'th_latency' => 'Latency',
     47  'th_xp' => 'XP rate',
     48  'th_type' => 'Type',
     49  'th_version' => 'Version',
     50  'th_rating' => 'Rating',
    4451  'info_servers' => 'Servers',
    4552  'info_num_of_servers' => 'Number of servers',
     
    4754  'users' => 'Users',
    4855  'only_logged' => 'Only registred users are able to add servers.\nLog-in, please',
    49   'add_server_not_web' => 'You have to fill Server webpages and Registration page in.'
     56  'add_server_not_web' => 'You have to fill Server webpages and Registration page in.',
     57  'latency' => 'Latency',
    5058);
    5159
  • pages/a_servers.php

    r6 r8  
    22$tpl->output['th_players'] = $text['th_players'];
    33$tpl->output['servers_h2'] = $text['abroad_servers'];
    4 $tpl->output['th_name'] =$text['name'];
     4$tpl->output['th_players'] = $text['th_players'];
     5$tpl->output['th_name'] = $text['name'];
     6$tpl->output['th_latency'] = $text['th_latency'];
     7$tpl->output['th_version'] = $text['th_version'];
     8$tpl->output['th_xp'] = $text['th_xp'];
     9$tpl->output['th_online_state'] = $text['th_online_state'];
     10$tpl->output['th_type'] = $text['th_type'];
     11$tpl->output['th_rating'] = $text['th_rating'];
     12$tpl->output['th_recommend'] = $text['th_recommend'];
    513$tpl->output['order_by'] = $text['order_by'];
    614$tpl->output['place'] = $text['info_place'];
     
    1725  case 5: $order = ' order by `players` desc '; break;
    1826  case 6: $order = ' order by `online` desc '; break;
     27  case 7: $order = ' order by `online` desc,`latency`'; break;
    1928  }
    2029$tpl->output['s0'] = '';
     
    2534$tpl->output['s5'] = '';
    2635$tpl->output['s6'] = '';
     36$tpl->output['s7'] = '';
    2737if (empty($order_index))
    2838  {
     
    3444  }
    3545 
    36 $pa = new CleverPager('select `id`,`wss_partner`,LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players` from `servers` where `place`=2 '.$order, 'p');
     46$pa = new CleverPager('select `id`,`wss_partner`,LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players`, `latency` from `servers` where `place`=2 '.$order, 'p');
    3747$pa->PageSize = 20;
    3848$pa->PageLinksDisplayed = 5;
     
    6777  $tpl->output['servers_data'] .='<td>'.(int)$row['players'].'</td>';
    6878  $tpl->output['servers_data'] .='<td>'.($row['online']).'%</td>';
     79  if($row['latency'] == 0) $Latency = '?'; else $Latency = round($row['latency']).'ms';
     80  $tpl->output['servers_data'] .='<td>'.$Latency.'</td>';
    6981  $tpl->output['servers_data'] .='</tr>';
    7082  }
  • pages/server.php

    r6 r8  
    11<?php
     2$tpl->output['th_players'] = $text['th_players'];
     3$tpl->output['th_name'] = $text['name'];
     4$tpl->output['th_latency'] = $text['th_latency'];
     5$tpl->output['th_version'] = $text['th_version'];
     6$tpl->output['th_xp'] = $text['th_xp'];
     7$tpl->output['th_online_state'] = $text['th_online_state'];
     8$tpl->output['th_type'] = $text['th_type'];
     9$tpl->output['th_rating'] = $text['th_rating'];
     10$tpl->output['th_recommend'] = $text['th_recommend'];
    211$tpl->output['server_reg_desc'] = $text['reg_desc'];
    312$tpl->output['info_place'] = $text['info_place'];
    413$tpl->output['info_avarage_players'] = $text['info_avarage_players'];
    514$tpl->output['info_owner'] = $text['info_owner'];
     15
    616$id = (int)$_GET['str1'];
    717$server_info = $db->strip($db->query_fetch_assoc('SELECT *, CAST(`online_players_sum`/`player_checks` AS UNSIGNED) as `online_players` FROM `servers` WHERE `id` = '.$id));
    818
    9 if ($server_info['wss_partner']==1)
    10   {
     19if($server_info['wss_partner'] == 1)
     20{
    1121  $tpl->output['server_name'] = '<img src="templates/img/hvezda.gif" alt="WSS Partner" title="WSS Partner">'.$server_info['name'];
    12   }
     22}
    1323else
    14   {
     24{
    1525  $tpl->output['server_name'] = $server_info['name'];
    16   }
     26}
    1727$tpl->output['title_name'] = $server_info['name'];
    1828$tpl->output['server_version'] = $server_info['version'];
     
    5262$tpl->output['server_port'] = $server_info['port'];
    5363$tpl->output['server_owner'] = print_nick($server_info['owner']);
     64if($server_info['latency'] == 0) $Latency = '?'; else $Latency = round($server_info['latency']).'ms';
     65$tpl->output['server_latency'] =         $Latency;
    5466
    5567if (empty($_SESSION['id']))
  • pages/servers.php

    r6 r8  
    22$tpl->output['th_players'] = $text['th_players'];
    33$tpl->output['th_name'] = $text['name'];
     4$tpl->output['th_latency'] = $text['th_latency'];
     5$tpl->output['th_version'] = $text['th_version'];
     6$tpl->output['th_xp'] = $text['th_xp'];
     7$tpl->output['th_online_state'] = $text['th_online_state'];
     8$tpl->output['th_type'] = $text['th_type'];
     9$tpl->output['th_rating'] = $text['th_rating'];
     10$tpl->output['th_recommend'] = $text['th_recommend'];
    411$tpl->output['order_by'] = $text['order_by'];
    512$tpl->output['place'] = $text['info_place'];
     
    1623  case 5: $order = ' order by `players` desc '; break;
    1724  case 6: $order = ' order by `online` desc '; break;
     25  case 7: $order = ' order by `online` desc,`latency`'; break;
    1826}
    1927$tpl->output['s0'] = '';
     
    2432$tpl->output['s5'] = '';
    2533$tpl->output['s6'] = '';
     34$tpl->output['s7'] = '';
    2635if (empty($order_index))
    2736{
     
    3342}
    3443 
    35 $pa = new CleverPager('select `id`,`wss_partner`, LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players` from `servers` where `place`=1 '.$order, 'p');
     44$pa = new CleverPager('select `id`,`wss_partner`, LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players`,`latency` from `servers` where `place`=1 '.$order, 'p');
    3645$pa->PageSize = $Config['DisplayServerCountPerPage'];
    3746$pa->PageLinksDisplayed = 5;
     
    6675  $tpl->output['servers_data'] .='<td>'.(int)$row['players'].'</td>';
    6776  $tpl->output['servers_data'] .='<td>'.$row['online'].'%</td>';
     77  if($row['latency'] == 0) $Latency = '?'; else $Latency = round($row['latency']).'ms';
     78  $tpl->output['servers_data'] .='<td>'.$Latency.'</td>';
    6879  $tpl->output['servers_data'] .='</tr>';
    6980  }
  • pages/wss_partners.php

    r6 r8  
    11<?php
    22$tpl->output['th_players'] = $text['th_players'];
    3 $tpl->output['th_name'] =$text['name'];
     3$tpl->output['th_name'] = $text['name'];
     4$tpl->output['th_latency'] = $text['th_latency'];
     5$tpl->output['th_version'] = $text['th_version'];
     6$tpl->output['th_xp'] = $text['th_xp'];
     7$tpl->output['th_online_state'] = $text['th_online_state'];
     8$tpl->output['th_type'] = $text['th_type'];
     9$tpl->output['th_rating'] = $text['th_rating'];
     10$tpl->output['th_recommend'] = $text['th_recommend'];
    411$tpl->output['order_by'] = $text['order_by'];
    512$tpl->output['place'] = $text['info_place'];
    613$tpl->output['wss_partners_h2'] = $menu['mm2'];
     14
    715if(!array_key_exists('order', $_GET)) $_GET['order'] = 0;
    816$order_index = (int) $_GET['order'];
     
    1624  case 5: $order = ' order by `players` desc '; break;
    1725  case 6: $order = ' order by `online` desc '; break;
     26  case 7: $order = ' order by `online` desc,`latency`'; break;
    1827  }
    1928$tpl->output['s0'] = '';
     
    2433$tpl->output['s5'] = '';
    2534$tpl->output['s6'] = '';
     35$tpl->output['s7'] = '';
    2636if (empty($order_index))
    2737  {
     
    3343  }
    3444 
    35 $pa = new CleverPager('select `id`,`wss_partner`, LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players` from `servers` where `wss_partner`=1 '.$order, 'p');
     45$pa = new CleverPager('select `id`,`wss_partner`, LEFT(`name`, 25) as `name`, `place`, `rating_sum`/`ratings` as `rating`, `version`, `type`, `xp`, `online`, `online_players_sum`/`player_checks` as `players`,`latency` from `servers` where `wss_partner`=1 '.$order, 'p');
    3646$pa->PageSize = 20;
    3747$pa->PageLinksDisplayed = 5;
     
    6676  $tpl->output['servers_data'] .='<td>'.(int)$row['players'].'</td>';
    6777  $tpl->output['servers_data'] .='<td>'.$row['online'].'%</td>';
     78  if($row['latency'] == 0) $Latency = '?'; else $Latency = round($row['latency']).'ms';
     79  $tpl->output['servers_data'] .='<td>'.$Latency.'</td>';
    6880  $tpl->output['servers_data'] .='</tr>';
    6981  }
  • scripts/online.php

    r7 r8  
    11<?php
     2
     3// Script executed by cron every 5 minutes
    24
    35include('../includes/config.php');
     
    3436{
    3537  echo($Server['name'].' - ');
     38  $MeasureStart = microtime(TRUE);
    3639  $OnlineState = CheckPortStatus($Server['ip'], $Server['port']);
     40  $Latency = (microtime(TRUE) - $MeasureStart) * 1000;
    3741  $OnlineCount += $OnlineState;
    3842  $OfflineCount += 1 - $OnlineState;
    3943  // Insert new online state
    40   $Database->query("INSERT INTO `servers_online` (`server` ,`time` ,`state` ,`players_count`) VALUES (".$Server['id'].", NOW() , ".$OnlineState.", ".$PlayersCount.")");
     44  $Database->query("INSERT INTO `servers_online` (`server`, `time`, `state`, `players_count`, `latency`) VALUES (".$Server['id'].", NOW() , ".$OnlineState.", ".$PlayersCount.", ".$Latency.")");
    4145
    4246  // Delete old records
    43   $Database->query("DELETE FROM `servers_online` WHERE `server` = ".$Server['id']." AND time < DATE_SUB(NOW(), INTERVAL 1 DAY)");
     47  $Database->query("DELETE FROM `servers_online` WHERE `server` = ".$Server['id']." AND time < DATE_SUB(NOW(), INTERVAL ".$Config['OnlineStatePeriodLength']." DAY)");
    4448 
     49  // Calculate latency average
     50  $DbResult = $Database->query("SELECT AVG(`latency`) as `latency` FROM `servers_online` WHERE `server` = ".$Server['id']." AND `state` = 1 AND `latency` != 0");
     51  $DbRow = $DbResult->fetch_array();
     52  $Latency = $DbRow['latency'];
     53  $DbResult->free();
     54
    4555  // Calculate cached percentage online state
    4656  $DbResult = $Database->query("SELECT COUNT(*) as `count`, SUM(`state`) as `online` FROM `servers_online` WHERE `server` = ".$Server['id']);
    4757  $DbRow = $DbResult->fetch_array();
    48   $Database->query("UPDATE `servers` SET `online` = ".round($DbRow['online'] / $DbRow['count'] * 100, 2)." WHERE `id` = ".$Server['id']);
     58
     59  // Update servers info
     60  $Database->query("UPDATE `servers` SET `online` = ".round($DbRow['online'] / $DbRow['count'] * 100, 2).", `latency` = ".$Latency." WHERE `id` = ".$Server['id']);
    4961  $DbResult->free();
    5062  echo($TextState[$OnlineState]."<br>\n");
  • templates/a_servers.html

    r3 r8  
    33<b>{order_by}:</b>  <select onchange="location.href='index.php?page=a-servers&amp;order='+this.selectedIndex">
    44    <option {s0}>{th_name}</option>
    5     <option {s1}>Rating</option>
    6     <option {s2}>Verze</option>
    7     <option {s3}>Typ</option>
    8     <option {s4}>XP Rate</option>
     5    <option {s1}>{th_rating}</option>
     6    <option {s2}>{th_version}</option>
     7    <option {s3}>{th_type}</option>
     8    <option {s4}>{th_xp}</option>
    99    <option {s5}>{th_players}</option>
    10     <option {s6}>Online</option>
     10    <option {s6}>{th_online_state}</option>
     11    <option {s7}>{th_latency}</option>
    1112  </select>
    1213</div>
     
    1718<table class="table">
    1819<tr>
    19   <th><img src="templates/img/hvezda.gif" alt="Doporučujeme" title="Doporučujeme"></th>
     20  <th><img src="templates/img/hvezda.gif" alt="{th_recommend}" title="{th_recommend}"></th>
    2021  <th>{th_name}</th>
    21   <th>Rating</th>
    22   <th>Verze</th>
    23   <th>Typ</th>
    24   <th>XP Rate</th>
     22  <th>{th_rating}</th>
     23  <th>{th_version}</th>
     24  <th>{th_type}</th>
     25  <th>{th_xp}</th>
    2526  <th>{th_players}</th>
    26   <th>Online</th>
     27  <th>{th_online_state}</th>
     28  <th>{th_latency}</th>
    2729</tr>
    2830{servers_data}
  • templates/server.html

    r1 r8  
    1111  <tr class="table">
    1212    <td align="left">
    13       <strong>Verze</strong></td>
     13      <strong>{th_version}</strong></td>
    1414    <td align="center">
    1515      {server_version}</td>
     
    1717  <tr class="table">
    1818    <td align="left">
    19       <strong>Typ</strong></td>
     19      <strong>{th_type}</strong></td>
    2020    <td align="center">
    2121      {server_typ}</td>
     
    2323  <tr class="table">
    2424    <td align="left">
    25       <strong>XP Rate</strong></td>
     25      <strong>{th_xp}</strong></td>
    2626    <td align="center">
    2727      {server_xp}</td>
     
    3939      {server_online_players}</td>
    4040  </tr>
    41   
     41 
    4242  <tr class="table">
    4343    <td align="left">
    44       <strong>Online</strong></td>
     44      <strong>{th_online_state}</strong></td>
    4545    <td align="center">
    4646      {server_online}</td>
    4747  </tr>
    4848 
     49  <tr class="table">
     50    <td align="left">
     51      <strong>{th_latency}</strong></td>
     52    <td align="center">
     53      {server_latency}</td>
     54  </tr>
     55
    4956  <tr class="table">
    5057    <td align="left">
  • templates/servers.html

    r3 r8  
    33<b>{order_by}:</b>  <select onchange="location.href='index.php?page=servers&amp;order='+this.selectedIndex">
    44    <option {s0}>{th_name}</option>
    5     <option {s1}>Rating</option>
    6     <option {s2}>Verze</option>
    7     <option {s3}>Typ</option>
    8     <option {s4}>XP Rate</option>
     5    <option {s1}>{th_rating}</option>
     6    <option {s2}>{th_version}</option>
     7    <option {s3}>{th_type}</option>
     8    <option {s4}>{th_xp}</option>
    99    <option {s5}>{th_players}</option>
    10     <option {s6}>Online</option>
     10    <option {s6}>{th_online_state}</option>
     11    <option {s7}>{th_latency}</option>
    1112  </select>
    1213</div>
     
    1718<table class="table">
    1819<tr>
    19   <th><img src="templates/img/hvezda.gif" alt="Doporučujeme" title="Doporučujeme"></th>
     20  <th><img src="templates/img/hvezda.gif" alt="{th_recommend}" title="{th_recommend}"></th>
    2021  <th>{th_name}</th>
    21   <th>Rating</th>
    22   <th>Verze</th>
    23   <th>Typ</th>
    24   <th>XP Rate</th>
     22  <th>{th_rating}</th>
     23  <th>{th_version}</th>
     24  <th>{th_type}</th>
     25  <th>{th_xp}</th>
    2526  <th>{th_players}</th>
    26   <th>Online</th>
     27  <th>{th_online_state}</th>
     28  <th>{th_latency}</th>
    2729</tr>
    2830{servers_data}
  • templates/style/screen2.css

    r3 r8  
    106106.table td {
    107107    border: 1px solid #b8b8b8;
    108     padding: 5px 10px 5px 10px;
     108    padding: 5px 5px 5px 5px;
    109109}
    110110
  • templates/wss_partners.html

    r3 r8  
    33<b>{order_by}:</b>  <select onchange="location.href='index.php?page=wss-partners&amp;order='+this.selectedIndex">
    44    <option {s0}>{th_name}</option>
    5     <option {s1}>Rating</option>
    6     <option {s2}>Verze</option>
    7     <option {s3}>Typ</option>
    8     <option {s4}>XP Rate</option>
     5    <option {s1}>{th_rating}</option>
     6    <option {s2}>{th_version}</option>
     7    <option {s3}>{th_type}</option>
     8    <option {s4}>{th_xp}</option>
    99    <option {s5}>{th_players}</option>
    10     <option {s6}>Online</option>
     10    <option {s6}>{th_online_state}</option>
     11    <option {s7}>{th_latency}</option>
    1112  </select>
    1213</div>
     
    1718<table class="table">
    1819<tr>
    19   <th><img src="templates/img/hvezda.gif" alt="Doporučujeme" title="Doporučujeme"></th>
     20  <th><img src="templates/img/hvezda.gif" alt="{th_recommend}" title="{th_recommend}"></th>
    2021  <th>{th_name}</th>
    21   <th>Rating</th>
    22   <th>Verze</th>
    23   <th>Typ</th>
    24   <th>XP Rate</th>
     22  <th>{th_rating}</th>
     23  <th>{th_version}</th>
     24  <th>{th_type}</th>
     25  <th>{th_xp}</th>
    2526  <th>{th_players}</th>
    26   <th>Online</th>
     27  <th>{th_online_state}</th>
     28  <th>{th_latency}</th>
    2729</tr>
    2830{servers_data}
Note: See TracChangeset for help on using the changeset viewer.