hxp
2025-06-04 f4a514d5ac952110da846636ecbb9de951eaf3d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<div id="SelectServer">
    <?php echo \Lang\gettext("选择要发送的服务器"); ?>
    <br />
    <?php
    if (!function_exists('isQueryEvent')) {
    ?>
        <?php echo \Lang\gettext("子服是否各自发送一次?"); ?>:
        <select name="OnlyServerID" id="OnlyServerID" onchange="changeSelectAllServer()">
            <option value="0" selected><?php echo \Lang\gettext("否"); ?></option>
            <option value="1" <?php echo isset($OnlyServerID) ? "selected" : "" ?>><?php echo \Lang\gettext("是"); ?></option>
        </select><br />
        <?php echo \Lang\gettext("是:子服单独发送,即同台服务器可能收到多次,每次仅对勾选的服务器ID玩家有效,处理速度慢;"); ?><br />
        <?php echo \Lang\gettext("否:子服不会发送,即同台服务器只会收到一次,本服所有服务器ID玩家都有效,处理速度快。"); ?><br />
        <?php echo \Lang\gettext("【注】:如果是对同个主服(同个物理服务器)的不同子服发送的,则选择【是】"); ?><br />
    <?php
    } else {
        echo "<input type=\"hidden\" name=\"OnlyServerID\" id=\"OnlyServerID\" value=\"0\" />";
    }
    ?>
    <input type="hidden" name="MultiServer" id="MultiServer" value="1" />
    <input type="checkbox" name="server_select_all" id="server_select_all" onclick="changeSelectAllServer()" /><?php echo \Lang\gettext("全选"); ?><br />
 
    <table frame=void rules=none border=" 1">
        <?php
        $serverGroupArray = array();
        foreach ($serversArray as $serverName => $serverInfo) {
            if (array_key_exists('MainServer', $serverInfo)) {
                $serverGroup = $serverInfo['MainServer'];
            } elseif (array_key_exists('ServerID', $serverInfo)) {
                $serverGroup = $serverInfo['ServerID'];
            } else {
                $serverGroup = $serverName;
            }
 
            if (!array_key_exists($serverGroup, $serverGroupArray)) {
                $serverGroupArray[$serverGroup] = array();
            }
            array_push($serverGroupArray[$serverGroup], $serverName);
        }
        foreach ($serverGroupArray as $serverGroup => $serverList) {
            $sonHtml = "";
            $sonCount = 0;
            for ($serverIndex = 0; $serverIndex < count($serverList); $serverIndex++) {
                $serverName = $serverList[$serverIndex];
                $serverInfo = $serversArray[$serverName];
                $checkBoxName = urlencode($serverName);
                // 主服: 1-服务器名与组名相同 2-没有配置主服 3-配置的主服等于组名
                if ($serverName == $serverGroup || !$serverInfo['MainServer'] || $serverGroup == $serverInfo['ServerID'] || $serverName == $serverInfo['ServerID']) {
                    echo "<tr>";
                    echo "<td><input id=\"server_checkbox_" . $serverInfo['ServerID'] . "\" class=\"main_server_checkbox\" type=\"checkbox\" name=\"" . $checkBoxName . "\"";
                    if (count($serverList) > 0) {
                        echo " onclick=\"changeServerGroupCheck('main_server_" . $serverGroup . "', this.checked)\"";
                    }
                    if ($serverInfo['ServerID']) {
                        echo " ServerID=\"" . $serverInfo['ServerID'] . "\"";
                    }
                    echo " />" . $serverName;
                    echo "</td>";
                    echo "<td>&nbsp;&nbsp;" . $serverInfo['Page'] . "</td>";
                    echo "</tr>";
                } else {
                    if ($sonCount % 4 == 0) {
                        if ($sonCount > 0) {
                            $sonHtml .= "<br/>";
                        }
                        $sonHtml .= "&nbsp;&nbsp;";
                    }
                    $sonHtml .= "<input id=\"server_checkbox_" . $serverInfo['ServerID'] . "\" class=\"main_server_" . $serverInfo['MainServer'] . "\" type=\"checkbox\" name=\"" . $checkBoxName . "\" />" . $serverName;
                    $sonHtml .= "&nbsp;&nbsp;";
                    $sonCount += 1;
                }
            }
 
            if ($sonHtml != "") {
                echo "<tr><td></td><td>";
                echo $sonHtml . "<br/>";
                echo "</td></tr>";
            }
        }
 
        // foreach ($serversArray as $serverName => $serverInfo) {
        //     echo "<tr>";
        //     echo "<td><input id=\"server_checkbox\" class=\"server_checkbox\" type=\"checkbox\" name=\"" . $serverName . "\" >" . $serverName;
        //     if (array_key_exists('MainServer', $serverInfo)) {
        //         echo "-主(" . $serverInfo['MainServer'] . ")";
        //     }
        //     echo "</td>";
        //     echo "<td>&nbsp;&nbsp;" . $serverInfo['Page'] . "</td>";
        //     echo "</tr>";
        // }
        ?>
    </table>
    <font size="6" color="red">
        <b>
            <hr>
            <?php echo \Lang\gettext("请确认合服或混服对应的主服已配置正确!!!"); ?>
        </b>
    </font>
</div>