From 34b309d58d0791ee9f0d7247febc117fd8d2c52a Mon Sep 17 00:00:00 2001 From: "Cathy J. Fitzpatrick" Date: Sun, 17 Feb 2013 21:53:02 -0700 Subject: [PATCH] Add `serverlist` action to action.php The `serverlist` action returns a list of registered servers. It accepts cross-domain requests, which is safe since it merely returns publicly available information. --- action.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/action.php b/action.php index 5e8c87a0b..93af41ed7 100644 --- a/action.php +++ b/action.php @@ -217,6 +217,22 @@ foreach ($reqs as $reqData) { $out = ($user['rating']['r']+$user['rating']['rpr'])/2; } break; + case 'serverlist': + if ($multiReqs) die(); // necessary for security purposes + if (empty($PokemonServers)) die(); // shouldn't happen + header('Access-Control-Allow-Origin: *'); // allow cross-domain requests + $out['servers'] = array(); + foreach ($PokemonServers as &$i) { + if (!empty($i['hidden'])) continue; + $out['servers'][] = array( + 'serverid' => @$i['id'], + 'name' => @$i['name'], + 'server' => @$i['server'], + 'port' => @$i['port'], + 'protocol' => @$i['protocol'] + ); + } + break; } if ($multiReqs) $outArray[] = $out;