Skip to content
Snippets Groups Projects
index.php 5.81 KiB
<?php
$directory = "../output";
$files = scandir ($directory);
$firstFile = $files[3]; // [0] = '.' ; [1] = '..' ; [2] = '.gitignore'

$str2strip = array("eccs_", ".log");
$firstDate = str_replace($str2strip, "", $firstFile);

$files = scandir($directory, SCANDIR_SORT_DESCENDING);
$lastFile = $files[0];
$lastDate = str_replace($str2strip, "", $lastFile);

$data = array();
$data['firstDate'] = $firstDate;
$data['lastDate'] = $lastDate;
$data['idp'] = htmlspecialchars($_GET["idp"]);
$data['reg_auth'] = htmlspecialchars($_GET["reg_auth"]);
$data['date'] = (htmlspecialchars($_GET["date"]) ? htmlspecialchars($_GET["date"]) : $lastDate);
$data['status'] = htmlspecialchars($_GET["status"]);
$data['check_result'] = htmlspecialchars($_GET["check_result"]);
?>

<!DOCTYPE html>
<html>
   <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="icon" href="favicon.ico" type="image/x-icon" />

    <link rel="stylesheet" type="text/css" href="master.css?v=1" />
    <link rel="stylesheet" type="text/css" href="et-menu-master.css" />
    <link rel="stylesheet" type="text/css" href="et-menu-min-600.css" media="(min-width: 800px)" />
    <link rel="stylesheet" type="text/css" href="min-800.css" media="(min-width: 800px)" />

    <!-- Template JS -->
    <script src="jquery.js"></script>
    <script src="jquery-ui.js"></script>
    <link rel="stylesheet" href="jquery-ui.css">
    
    <script type="text/javascript" src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css"/>
    
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>

    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"/>
    <link rel="stylesheet" type="text/css" href="eccs.css" />
    <link rel="stylesheet" type="text/css" href="statistics.css" />
    <script>
       $( function() {
          $( "#datepicker" ).datepicker({
             dateFormat: "yy-mm-dd",
             minDate: "<?php echo $data['firstDate'] ?>",
             maxDate: "<?php echo $data['lastDate'] ?>",
             defaultDate: "<?php echo $data['date'] ?>"
          }).datepicker("setDate","<?php echo $data['date'] ?>");
       } );
    </script>
    <title>eduGAIN Connectivity Check Service</title>
  </head>
  <body>
    <div class="eccs-central">

       <h1><a href="/eccs" target="_self">eduGAIN Connectivity Check Service</a> (<a href="https://wiki.geant.org/display/eduGAIN/eduGAIN+Connectivity+Check">Instructions</a>, <a href="mailto:support@edugain.org">Contacts</a>)</h1>
       <p>The purpose of the eduGAIN Connectivity Check is to identify eduGAIN Identity Providers (IdP) that does not properly consume eduGAIN SAML2 SP metadata.</p>
       <div id="status">
          <hr>
          <div class="clearfix">
             <div class="boxStatus">
                <strong>Show IdPs with status:</strong>
                <label id="lbl-error" for="error">ERROR</label>
                <input id="error" type="checkbox" name="status" value="ERROR"/>
                <label id="lbl-ok" for="ok">OK</label>
                <input id="ok" type="checkbox" name="status" value="OK"/>
                <label id="lbl-unknown" for="unknown">UNKNOWN</label>
                <input id="unknown" type="checkbox" name="status" value="UNKNOWN"/>
                <label id="lbl-disabled" for="disabled">DISABLED</label>
                <input id="disabled" type="checkbox" name="status" value="DISABLE"/>
             </div> <!-- END boxStatus -->
             <div class="boxCalendar">
                <div id="calendarGo">
                   <button id="goButton" onclick="getPastResults()">Go</button>
                   <button id="statisticsButton">Statistics</button>
                   <label id="lbl-datepicker" for="datepicker" class="strong">Select date:</label>
                   <input type="text" id="datepicker" />
                </div> <!-- END calendarGo -->
             </div> <!-- END boxCalendar -->
          </div> <!-- END clearFix -->
          <hr>
       </div> <!-- END status -->
       <!--<button id="btn-show-all-children" type="button">Expand All</button>
       <button id="btn-hide-all-children" type="button">Collapse All</button>
       <hr>-->
       <div class="container">
          <div class="loader"></div>      
          <table id="eccstable" class="cell-border" style="width:100%">
             <thead>
                <tr>
                   <th></th>
                   <th>DisplayName</th>
                   <th>EntityID</th>
                   <th>Registration Authority</th>
                </tr>
             </thead>
          </table>
       </div> <!-- END container -->
       <script type="text/javascript">
          var date = "<?php echo $data['date'] ?>";
          var reg_auth = "<?php echo $data['reg_auth'] ?>";
          var idp = "<?php echo $data['idp'] ?>";
          var status = "<?php echo $data['status'] ?>";
          var check_result = "<?php echo $data['check_result'] ?>";
       </script>
       <script type="text/javascript" src="eccs.js" /></script>
       <script type="text/javascript" src="statistics.js" /></script>
    </div> <!-- END eccs-central -->
   <div id="statisticsModal" class="modal">
      <div class="modal-content" style="height:45vh; width:85vw">
         <span class="close">&times;</span>
         <div class="chart-error" style="display: none;">
            <i class="fa fa-exclamation-triangle"></i> Something happened. Can't retrieve data
         </div>
         <div class="chart-container" style="position: relative; height:40vh; width:80vw">
            <canvas id="statistics"></canvas>
         </div>
      </div>
   </div>
  </body>
</html>