<?php
|
set_time_limit(120); //暂时设置本脚本执行时间秒
|
header("Content-type: text/html; charset=utf-8");
|
include_once "/Common/Logging.php";
|
include_once "/Common/CommFunc.php";
|
include_once "/Account/User.php";
|
include_once "/language/lang.php";
|
|
function Process()
|
{
|
\Logging\CreateLogging("QueryEventDataSend.php");
|
\Logging\LogInfo("Session数据" . print_r($_SESSION, true));
|
\Logging\LogInfo("Post数据" . print_r($_POST, true));
|
|
$user = new \User\User($_SESSION['UserAccount']);
|
if (!$user->HavePermission($_POST['Permission'])) {
|
return;
|
}
|
|
$pack_data = $_POST;
|
|
// echo "Session数据" . print_r($_SESSION, true), "<br/>";
|
// echo "Post数据" . print_r($_POST, true), "<br/>";
|
|
$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), "<br/>";
|
// echo "pack_data" . print_r($pack_data, true), "<br/>";
|
|
\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 "<center><p>" . $multiserversName . "</p></center>";
|
}
|
|
for ($i = 0; $i < $retCount; $i++) {
|
// 多服查询的情况,输出服务器名及合服明细
|
if ($multiserversName && $i < count($sendServers)) {
|
echo ($i + 1) . ". ";
|
$serverName = $sendServers[$i][0];
|
if ($serversArray[$serverName]["MixServerStr"]) {
|
echo $serverName . "--->" . \Lang\gettext("已合服") . "[" . $serversArray[$serverName]["MixServerStr"] . "]";
|
} else {
|
echo $serverName . "--->" . \Lang\gettext("未合服") . "";
|
}
|
echo "<br/>";
|
}
|
echo $retList[$i];
|
echo "<hr/>";
|
}
|
}
|
|
/**获取目标服务器流向查询url地址 */
|
function GetQueryEventUrl($tool_page)
|
{
|
// 在原GM工具地址下同层级
|
return substr($tool_page, 0, -strlen("tool.php")) . "eventdata/tool.php";
|
}
|
|
Process();
|
?>
|
|
<style type="text/css">
|
.border-table {
|
border-collapse: collapse;
|
border: none;
|
font-size: 13px;
|
}
|
|
.border-table td {
|
border: solid #000 1px;
|
padding: 0px 5px;
|
}
|
</style>
|