aboutsummaryrefslogtreecommitdiff
path: root/lib/MasterWebInterface/Database/ServerInfo.pm
blob: 6aeddd47247f609530c22663bdc5b3faff2f61cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package MasterWebInterface::Database::ServerInfo;
use strict;
use warnings;
use Exporter 'import';
our @EXPORT = qw| dbGetServerInfo dbGetPlayerInfoList |;

## get server details for list of servers (gamename/all/recent)
sub dbGetServerInfo 
{
  my $s = shift;
  my %o = @_;
  
  my %where = (
    $o{ip}        ? (  'ip = ?'           => $o{ip})       : (),
    $o{port}      ? (  'queryport = ?'    => $o{port})     : (),
    $o{hostport}  ? (  'hostport = ?'     => $o{hostport}) : (),
  );

  return $s->dbAll( q|SELECT * FROM serverlist
                      LEFT JOIN serverinfo ON serverlist.id = serverinfo.sid
                      !W LIMIT 1|, \%where );
}


## get player details for one particular server
sub dbGetPlayerInfoList 
{
  my $s = shift;
  my %o = (sort => '', @_ );
  
  my %where = (
    $o{sid} ? ( 'sid = ?' => $o{sid})    : (),
  );
  
  my @select = ( qw| name team frags mesh skin face ping | );

  return $s->dbAll( q|SELECT * FROM playerinfo !W ORDER BY team, name|, \%where );
}

1;