HavePermission($_POST['Permission'])) {
return;
}
$pack_data = $_POST;
// echo "Session数据" . print_r($_SESSION, true), "
";
// echo "Post数据" . print_r($_POST, true), "
";
$sendServers = array();
$serversArray = $user->GetServers();
$multiserversName = "";
// 多服查询的
if (array_key_exists("multiservers", $_POST) && $_POST["multiservers"] != "") {
$onlyServerID = 0; // 默认0
$multiserversName = $_POST["multiservers"];
foreach ($serversArray as $serverName => $serverInfo) {
$postServerName = urlencode($serverName);
if (!array_key_exists($postServerName, $_POST)) {
continue;
}
if (!$_POST[$postServerName] == 'on') {
continue;
}
unset($pack_data[$postServerName]);
if ($serverInfo['MainServer'] && !$onlyServerID && $serverInfo['MainServer'] != $serverInfo['ServerID']) {
# 有主服的代表是合服的,只发主服;因为子服是同一台服务器,没必要重复发送
continue;
}
$sendServers[] = array($serverName, GetQueryEventUrl($serverInfo['Page'], array()));
}
} else if ($_SESSION['server_id']) {
$sendServers[] = array($_SESSION['server_id'], GetQueryEventUrl($_SESSION['tool_page']), array());
}
if (!$sendServers) {
echo "Error. " . \Lang\gettext("请先选择服务器");
return;
}
// 去除参数
unset($pack_data['submit']);
unset($pack_data["pack_type"]);
unset($pack_data["OnlyServerID"]);
unset($pack_data["multiservers"]);
unset($pack_data["server_select_all"]);
$UserAccount = $_SESSION['UserAccount'];
\CommFunc\GetConfig("ServerInfo", "SpecialServerIDStart", $SpecialServerIDStart);
\CommFunc\GetConfig("ServerInfo", "SpecialAccountList", $SpecialAccountList);
$SpecialAccountList = explode(",", $SpecialAccountList);
$SpecialServerIDStart = intval($SpecialServerIDStart);
$isSpecialUser = in_array($UserAccount, $SpecialAccountList);
$pack_data["spID"] = $user->GetSPID();
$pack_data["lang"] = \Lang\getLang();
for ($i = 0; $i < count($sendServers); $i++) {
$serverName = $sendServers[$i][0];
if ($serversArray[$serverName]["MixServerStr"]) {
$pack_data["mixServerIDInfo"] = $serversArray[$serverName]["MixServerStr"];
} else {
$pack_data["mixServerIDInfo"] = $serversArray[$serverName]["ServerID"];
}
$pack_data["serverID"] = $serversArray[$serverName]["ServerID"];
if ($isSpecialUser) { // 特殊账号默认只查本服ID
// 270只查自己的
if (strpos($pack_data["mixServerIDInfo"], '270') != false) {
$pack_data["OnlyServerID"] = "270";
} else if ($pack_data["OnlyServerID"] == "270") {
unset($pack_data['OnlyServerID']);
}
}
$sendServers[$i][2] = $pack_data;
}
// echo "sendServers" . print_r($sendServers, true), "
";
// echo "pack_data" . print_r($pack_data, true), "
";
\Logging\LogInfo("待发送的服务器信息: " . count($sendServers) . " " . print_r($sendServers, true));
$retList = array();
if (count($sendServers) == 1) {
$retList[] = \CommFunc\DoPost($sendServers[0][1], $sendServers[0][2]);
} else {
$retList = \CommFunc\DoPostMulti($sendServers);
}
$retCount = count($retList);
\Logging\LogInfo("返回查询结果: " . $retCount . " " . print_r($retList, true));
// 多服查询总标题
if ($multiserversName) {
echo "
" . $multiserversName . "