if (isset($_GET['sort']) && preg_match("/^[a-zA-Z]{3,4}+\$/", $_GET['sort'])) { if (strcasecmp($_GET['sort'], "desc") === 0 || strcasecmp($_GET['sort'], "asc") === 0) { $sort = strtoupper($dbi->escape_string($_GET['sort'])); } } // Server Key clause $server_key_clause = 'serverKey IN (' . $helpers->keyToServerKeys($access_keys, $_GET['key']) . ') OR LENGTH(serverKey) < 1'; $fetchresult = $dbi->query("SELECT \n\t\t\t\t\t\t\tcallID, serverIP, serverPort, CONCAT(serverIP, ':', serverPort) as fullIP, serverName, targetName, targetID, targetReason, clientName, clientID, reportedAt, callHandled\n\t\t\t\t\t\tFROM \n\t\t\t\t\t\t\t`{$table}`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t({$from_query}) AND {$server_key_clause}\n\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\treportedAt {$sort}\n\t\t\t\t\t\tLIMIT 0, {$limit}"); // Retrieval failed if ($fetchresult === FALSE) { $dbi->close(); $helpers->printXmlError("DB_RETRIEVE_FAILURE", "CallAdmin_Notice"); } // Save this tracker if key is set, key was given, we have an valid remote address and the client sends an store (save him as available) if (isset($_SERVER['REMOTE_ADDR']) && isset($_GET['store'])) { $trackerIP = $dbi->escape_string($helpers->AnonymizeIP($_SERVER['REMOTE_ADDR'])); $trackerID = ""; // Steamid was submitted, this must have come from the client if (isset($_GET['steamid']) && $helpers->IsValidSteamID($_GET['steamid'])) { $trackerID = $dbi->escape_string($_GET['steamid']); } // Access query $access_query = '(SELECT SUM(`accessBit`) FROM `' . $table . '_Access` WHERE serverKey IN (' . $helpers->keyToServerKeys($access_keys, $_GET['key']) . '))'; $insertresult = $dbi->query("INSERT IGNORE INTO `" . $table . "_Trackers`\n\t\t\t\t\t\t(trackerIP, trackerID, lastView, accessID)\n\t\t\t\t\tVALUES\n\t\t\t\t\t\t('{$trackerIP}', '{$trackerID}', UNIX_TIMESTAMP(), {$access_query})\n\t\t\t\t\tON DUPLICATE KEY\n\t\t\t\t\t\tUPDATE lastView = UNIX_TIMESTAMP(), trackerID = '{$trackerID}', accessID = {$access_query}"); // Insert failed if ($insertresult === FALSE) { $dbi->close(); $helpers->printXmlError("DB_UPDATE_FAILURE", "CallAdmin_Notice"); } } $dbi->close();