aboutsummaryrefslogtreecommitdiff
path: root/lib/MasterServer/Database/dbGetServers.pm
diff options
context:
space:
mode:
authorDarkelarious <darkelarious@333networks.com>2016-11-20 19:30:58 +0100
committerDarkelarious <darkelarious@333networks.com>2016-11-20 19:30:58 +0100
commit702d1898b012d6d992d66b996508610890bf2963 (patch)
tree9556d890c4afdb7062f5b63277aa6b3d5c5d9d03 /lib/MasterServer/Database/dbGetServers.pm
parentc3f8d65a4fb1f5674557ee67cf7f74369df86ad1 (diff)
downloadMasterServer-Perl-702d1898b012d6d992d66b996508610890bf2963.tar.gz
MasterServer-Perl-702d1898b012d6d992d66b996508610890bf2963.zip
Restore SQLite support
Diffstat (limited to 'lib/MasterServer/Database/dbGetServers.pm')
-rwxr-xr-xlib/MasterServer/Database/dbGetServers.pm139
1 files changed, 0 insertions, 139 deletions
diff --git a/lib/MasterServer/Database/dbGetServers.pm b/lib/MasterServer/Database/dbGetServers.pm
deleted file mode 100755
index 5069462..0000000
--- a/lib/MasterServer/Database/dbGetServers.pm
+++ /dev/null
@@ -1,139 +0,0 @@
-package MasterServer::Database::dbGetServers;
-
-use strict;
-use warnings;
-use Exporter 'import';
-
-our @EXPORT = qw| get_server
- get_pending
- get_gamenames |;
-
-################################################################################
-## get server details for one or multiple servers
-## opts: limit, see $order
-################################################################################
-sub get_server {
- my $s = shift;
- my %o = (
- sort => '',
- @_
- );
-
- my %where = (
- $o{next_id} ? ( 'id > ?' => $o{next_id}) : (),
- $o{id} ? ( 'id = ?' => $o{id}) : (),
- $o{ip} ? ( 'ip = ?' => $o{ip}) : (),
- $o{port} ? ( 'port = ?' => $o{port}) : (),
- $o{gamename} ? ( 'gamename = ?' => lc $o{gamename}) : (),
- $o{gamever} ? ( 'gamever = ?' => $o{gamever}) : (),
- $o{hostname} ? ( 'hostname = ?' => $o{hostname}) : (),
- $o{hostport} ? ( 'hostport = ?' => $o{hostport}) : (),
- $o{country} ? ( 'country = ?' => $o{country}) : (),
- $o{b333ms} ? ( 'b333ms = ?' => $o{b333ms}) : (),
- $o{blacklisted} ? ('blacklisted = ?' => $o{blacklisted}) : (),
- $o{added} ? ( 'added < to_timestamp(?)' => (time-$o{added})) : (),
- $o{beacon} ? ( 'beacon > to_timestamp(?)' => (time-$o{beacon})) : (),
- $o{updated} ? ('updated > to_timestamp(?)' => (time-$o{updated})) : (),
- $o{before} ? ('updated < to_timestamp(?)' => (time-$o{before})) : (),
- );
-
- my @select = ( qw|
- id
- ip
- port
- gamename
- gamever
- hostname
- hostport
- country
- b333ms
- blacklisted
- added
- beacon
- updated
- |);
-
- my $order = sprintf {
- id => 'id %s',
- ip => 'ip %s',
- port => 'port %s',
- gamename => 'gamename %s',
- gamever => 'gamever %s',
- hostname => 'hostname %s',
- hostport => 'hostport %s',
- country => 'country %s',
- b333ms => 'b333ms %s',
- blacklisted => 'blacklisted %s',
- added => 'added %s',
- beacon => 'beacon %s',
- updated => 'updated %s',
- }->{ $o{sort}||'id' }, $o{reverse} ? 'DESC' : 'ASC';
-
- return $s->db_all( q|
- SELECT !s FROM serverlist
- !W
- ORDER BY !s|
- .($o{limit} ? " LIMIT ?" : ""),
- join(', ', @select), \%where, $order, ($o{limit} ? $o{limit} : ()),
- );
-}
-
-################################################################################
-## get server details for one or multiple pending servers
-## opts: limit, next_id, beaconport, heartbeat, gamename, secure, enctype, added
-################################################################################
-sub get_pending {
- my $s = shift;
- my %o = (
- sort => '',
- @_
- );
-
- my %where = (
- $o{next_id} ? ( 'id > ?' => $o{next_id}) : (),
- $o{id} ? ( 'id = ?' => $o{id}) : (),
- $o{ip} ? ( 'ip = ?' => $o{ip}) : (),
- $o{beaconport} ? ('beaconport = ?' => $o{beaconport}) : (),
- $o{heartbeat} ? ( 'heartbeat = ?' => $o{heartbeat}) : (),
- $o{gamename} ? ( 'gamename = ?' => lc $o{gamename}) : (),
- $o{secure} ? ( 'secure = ?' => $o{secure}) : (),
- $o{enctype} ? ( 'enctype = ?' => $o{enctype}) : (),
- $o{added} ? ('added < to_timestamp(?)' => (time-$o{added})) : (),
- $o{after} ? ('added > to_timestamp(?)' => (time-$o{after})) : (),
- );
-
- my @select = ( qw| id ip beaconport heartbeat gamename secure enctype added |,);
- my $order = sprintf {
- id => 'id %s',
- ip => 'ip %s',
- beaconport => 'beaconport %s',
- heartbeat => 'heartbeat %s',
- gamename => 'gamename %s',
- secure => 'secure %s',
- enctype => 'enctype %s',
- added => 'added %s',
- }->{ $o{sort}||'id' }, $o{reverse} ? 'DESC' : 'ASC';
-
- return $s->db_all( q|
- SELECT !s FROM pending
- !W
- ORDER BY !s|
- .($o{limit} ? " LIMIT ?" : ""),
- join(', ', @select), \%where, $order, ($o{limit} ? $o{limit} : ()),
- );
-}
-
-################################################################################
-## get a list of distinct gamenames currently in the database. it does not
-## matter whether they are recent or old, as long as the game is currently in
-## the database.
-################################################################################
-sub get_gamenames {
- my $self = shift;
-
- return $self->{dbh}->selectall_arrayref(
- "SELECT distinct gamename
- FROM serverlist");
-}
-
-1;