<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Page Title -->
  <title>Web Infra Reports IT</title>
  <link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">

  <!-- JQuery -->
  <script src="/js/jquery-3.6.1.min.js"></script>
  <!-- Bootstrap -->
  <link rel="stylesheet" href="/css/bootstrap.min.css">
  <link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
  <link rel="stylesheet" href="/css/preloader.css">
  <script src="/js/bootstrap.bundle.min.js"></script>
  <!-- Bootstrap-tables -->
  <link rel="stylesheet" href="/css/bootstrap-table.min.css">
  <script src="/js/bootstrap-table.min.js"></script>
  <script src="/js/bootstrap-table-fr-FR.min.js"></script>
  <script src="/js/tableExport.min.js"></script>
  <script src="/js/bootstrap-table-export.min.js"></script>
  <script src="/js/libs/js-xlsx/xlsx.core.min.js"></script>


</head>

<body class="bg-light text-dark">
<?php include $_SERVER['DOCUMENT_ROOT'] . "/include/all.php"; ?> <!-- Include All -->
<?php $script = $_GET['s']; ?>
<!-- HTML -->
<div class="container-fluid" id="content">
  <div class="row flex-nowrap">
    <!-- Left NAVBAR -->
    <div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark vh-100 position-sticky top-0" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
      <?php include $_SERVER['DOCUMENT_ROOT'] . "/navbar.html"; ?>
    </div>
    <!-- Display -->
    <div class="col py-3">
      <!-- Page Title -->
      <h1><span class="badge text-bg-secondary font-weight-bold"
                style="width:100%;">Script <b><?php echo $script; ?></b> Details</span></h1>

      <!-- Main content -->
      <div class="container-fluid">
        <!-- MODAL WAIT -->
        <div class="modal fade bs-example-modal-sm" id="wait" tabindex="-1" role="dialog" aria-hidden="true"
             data-backdrop="static" style="padding-top: 15%;">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <h4 class="modal-title mb-1 text-dark text-uppercase text-center" style="font-size: 1.2rem;">
                  <i class="bi bi-hourglass-split"></i><br> Work in progress ...
                </h4>
              </div>
              <div class="modal-body">
                <div class="progress">
                  <div class="progress-bar progress-bar-secondary progress-bar-striped progress-bar-animated"
                       style="width: 100%"></div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- TABLE -->
        <div>
          <?php
            $aix = $linux = $dun = $azt = $other = "Checked";
            $where = " and OS_TYPE IN (";
            if (isset($_GET['AIX'])) {
              if ($_GET['AIX'] == 1) {
                $where .= "'AIX',";
              } else {
                $aix = "Unchecked";
              }
            } else {
              $aix = "Unchecked";
            }
            if (isset($_GET['linux'])) {
              if ($_GET['linux'] == 1) {
                $where .= "'LINUX',";
              } else {
                $linux = "Unchecked";
              }
            } else {
              $linux = "Unchecked";
            }
            $where = rtrim($where, ',') . ")";
            $site = "";
            if (isset($_GET['DUN'])) {
              if ($_GET['DUN'] == 1) {
                $site .= " or UPPER(HOSTNAME) like 'DUN%' or UPPER(HOSTNAME) like 'DMV%' or UPPER(HOSTNAME) like 'MDK%' or UPPER(HOSTNAME) like 'APPQPC%'";
              } else {
                $dun = "Unchecked";
              }
            } else {
              $dun = "Unchecked";
            }
            if (isset($_GET['AZT'])) {
              if ($_GET['AZT'] == 1) {
                $site .= " or UPPER(HOSTNAME) like 'AZT%'";
              } else {
                $azt = "Unchecked";
              }
            } else {
              $azt = "Unchecked";
            }
            if (isset($_GET['other'])) {
              if ($_GET['other'] == 1) {
                $site .= " or UPPER(HOSTNAME) like 'BAD%' or UPPER(HOSTNAME) like 'FLO%' or UPPER(HOSTNAME) like 'MON%'";
              } else {
                $other = "Unchecked";
              }
            } else {
              $other = "Unchecked";
            }
            $site = " and (" . ltrim($site, ' or') . ") ";
            $where .= $site;

            $sql = "select hostname, os_type from srvall where decomtime is null and (ucase(filter) not like 'X_%' or filter is null) $where order by hostname";
            $hosts = Invoke_aixcmdb($sql);

            $taix = $aixok = $aixko = $tlinux = $linuxok = $linuxko = 0;
            $resultsByHost = [];
            if (!empty($hosts)) {
              $hostnames = array_map(function ($h) {
                return "'" . strtoupper($h['HOSTNAME']) . "'";
              }, $hosts);
              $hostnamesList = implode(',', $hostnames);

              $sqlResults = "SELECT * FROM x_stdout WHERE cmd = '$script' AND host IN ($hostnamesList)";
              $allAnswers = Invoke_Infra($sqlResults);
              if (is_array($allAnswers)) {
                foreach ($allAnswers as $answer) {
                  $resultsByHost[strtoupper($answer['host'])] = $answer;
                }
              }
            }
          ?>

          <form class="row">
            <div class="col border rounded">
              <b>Filters : </b>
              <div class="form-check form-check-inline form-switch">
                <input class="form-check-input" type="checkbox" role="switch" id="AIX" <?php echo $aix; ?> name="AIX" value="1">
                <label class="form-check-label" for="AIX">AIX</label>
              </div>
              &nbsp;
              <div class="form-check form-check-inline form-switch">
                <input class="form-check-input" type="checkbox" role="switch" id="linux" <?php echo $linux; ?> name="linux" value="1">
                <label class="form-check-label" for="linux">Linux</label>
              </div>
              &nbsp; | &nbsp;
              <div class="form-check form-check-inline form-switch">
                <input class="form-check-input" type="checkbox" role="switch" id="DUN" <?php echo $dun; ?> name="DUN" value="1">
                <label class="form-check-label" for="DUN">DMV/DUN/MDK</label>
              </div>
              &nbsp;
              <div class="form-check form-check-inline form-switch">
                <input class="form-check-input" type="checkbox" role="switch" id="AZT" <?php echo $azt; ?> name="AZT" value="1">
                <label class="form-check-label" for="AZT">Azure</label>
              </div>
              &nbsp;
              <div class="form-check form-check-inline form-switch">
                <input class="form-check-input" type="checkbox" role="switch" id="other" <?php echo $other; ?> name="other" value="1">
                <label class="form-check-label" for="other">Other</label>
              </div>
              <input type="hidden" name="s" value="<?php echo $script; ?>">
              <button type="submit" class="btn btn-success btn-small mb-2 mt-2">Apply</button>
            </div>
          </form>


          <table class='table table-bordered table-hover table-sm' id='t1' data-height="620" data-toggle="table" data-search="true" data-show-columns="true" data-export-types="['xlsx','csv','json']" data-show-export="true" data-sortable="true" data-sort-name="vm">
            <thead> <tr>
              <th data-field='host' data-sortable='true'>Host</th>
              <th data-field='OS' data-sortable='true'>OS</th>
              <th data-field='TimeStamp' data-sortable='true'>TimeStamp</th>
              <th data-field='RC' data-sortable='true'>RC</th>
              <th data-field='Result' data-sortable='true'>StdOut</th>
            </tr>
            </thead>
            <tbody> <?php
              foreach ($hosts as $h) {
                $host = strtoupper($h['HOSTNAME']);
                $os = strtoupper($h['OS_TYPE']);

                if ($os == "AIX") {
                  $taix++;
                } else {
                  $tlinux++;
                }

                $answer = $resultsByHost[$host] ?? null;

                if ($answer) {
                  $rc = $answer['rc'];
                  $stdout = $answer['stdout'];
                  $ts = $answer['ts'];

                  if ($os == "AIX") {
                    if ($rc == 0 && (string)$rc <> "") {
                      $aixok++;
                    } elseif ((string)$rc <> "") {
                      $aixko++;
                    }
                  } else { // Linux
                    if ($rc == 0 && (string)$rc <> "") {
                      $linuxok++;
                    } elseif ((string)$rc <> "") {
                      $linuxko++;
                    }
                  }
                } else {
                  $rc = $stdout = $ts = "";
                }

                echo "<tr><td><b>$host</b></td>";
                echo "<td>$os</td>";
                echo "<td>" . $ts . "</td>";
                if ($rc == 0 && (string)$rc <> "") {
                  echo "<td class='table-success'>" . $rc . "</td>";
                } else {
                  if ((string)$rc <> "") {
                    echo "<td class='table-danger'>" . $rc . "</td>";
                  } else {
                    echo "<td></td>";
                  }
                }
                echo "<td>" . $stdout . "</td></tr>";
              }
            ?>
            </tbody>
            <br>
            <?php
              $aixNO = $taix - $aixok - $aixko;
              $linuxNO = $tlinux - $linuxok - $linuxko;
              echo "<div class='row'><div class='col text-center h4'><b>$taix AIX : </b>";
              echo "<span class='badge bg-success'>$aixok</span>&nbsp;<span class='badge bg-danger'>$aixko</span>&nbsp;<span class='badge bg-secondary'>$aixNO</span></div>";
              echo "<div class='col text-center h4'><b>$tlinux Linux : </b>";
              echo "<span class='badge bg-success'>$linuxok</span>&nbsp;<span class='badge bg-danger'>$linuxko</span>&nbsp;<span class='badge bg-secondary'>$linuxNO</span></div></div> ";
            ?>
        </div>
      </div>
      <!-- End of main content -->
    </div>
  </div>
</div>
</body>
<script src="/js/switch.js"></script>
</HTML>