hxp
2024-12-16 3bc897685e16d0855fec1aebaee3c90466fa851b
Common/CommFunc.php
@@ -1447,3 +1447,50 @@
{
   return json_decode(GetFileContents(dirname(__FILE__) . "/mailtypes.json", "[]"), true);
}
// 组合服务器ID查询条件,搭配 common.js AddServerIDCondition 使用
function MatchServerIDCond(&$find, &$serverIDCondArray)
{
   if (!isset($serverIDCondArray)) {
      $serverIDCondArray = array();
   }
   $serverIDCondNumMax = 20;
   $serverIDCondIn = array();
   $serverIDCondFind = array();
   for ($i = 1; $i < $serverIDCondNumMax + 1; $i++) {
      if (!array_key_exists("ServerIDGTE" . $i, $_POST)) {
         continue;
      }
      $eValue = intval($_POST["ServerIDE" . $i]);
      $gteValue = intval($_POST["ServerIDGTE" . $i]);
      $lteValue = intval($_POST["ServerIDLTE" . $i]);
      // \Logging\LogInfo("serverIDCond." . $i . " : eValue:" . $eValue . " gteValue:" . $gteValue . " lteValue:" . $lteValue);
      if ($eValue <= 0 && $gteValue <= 0 && $lteValue <= 0) {
         continue;
      }
      if ($gteValue > 0 && $lteValue > 0 && $gteValue > $lteValue) {
         continue;
      }
      if ($eValue > 0) {
         array_push($serverIDCondIn, $eValue);
      }
      $cond = array();
      if ($gteValue > 0) {
         $cond['$gte'] = $gteValue;
      }
      if ($lteValue > 0) {
         $cond['$lte'] = $lteValue;
      }
      if (count($cond)) {
         array_push($serverIDCondFind, array("ServerID" => $cond));
      }
      array_push($serverIDCondArray, array($eValue, $gteValue, $lteValue));
   }
   if (count($serverIDCondIn) > 0) {
      array_push($serverIDCondFind, array("ServerID" => array('$in' => $serverIDCondIn)));
   }
   if (count($serverIDCondFind) > 0) {
      $find['$or'] = $serverIDCondFind;
   }
   // \Logging\LogInfo("find:" . json_encode($find));
}