<!DOCTYPE html>
<!--
<?php
function get_command_list($command_file_name){
  echo "Getting commands from file $command_file_name...\n";
  $command_file = fopen($command_file_name, "r") or die("Could not read file $command_file_name. Aborting.\n");
  $commands = explode(PHP_EOL, fread($command_file, filesize($command_file_name)));
  fclose($command_file);
  echo "Done.\n";
  return $commands;
}

$status_commands = get_command_list("commands_status.conf");
$ondemand_commands = get_command_list("commands_ondemand.conf");
$git_commands = get_command_list("commands_git.conf");
?>
-->
<html>
  <head>
    <title> Strassenkind Server Status Page </title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <?php
    if (!isset($_POST['ondemand']) && !isset($_POST['git'])) {
      echo "<meta http-equiv=\"refresh\" content=\"20\" />";
    }
    ?>
  </head>
  <body class="status_page">
    <h1> Strassenkind Server Status </h1>
    <hr />
    <?php
    function add_button($button_text, $button_action){
      if (!isset($_POST[$button_action])) {
        echo "<form action=\"\" method=\"post\"><input type=\"submit\" value=\"$button_text\" name=\"$button_action\" /></form>";
      } else {
        echo "<a href=\"\"><button> Return to regular status commands </button></a>";
      }
    }

    add_button("Run ondemand commands", "ondemand");
    add_button("Force ThreadR update", "git");
    ?>
    <hr />
    <?php
    function execute_command_list($commands){
      foreach ($commands as $command) {
        if ($command != ""){
          // === is here on purpose.
          if (strpos($command, '>') === false) {
            $command = $command . " 2>&1";
          }
          $output = shell_exec($command);
          echo "<pre class=\"commandLine\"> " . htmlspecialchars($command, $flags=ENT_DISALLOWED | ENT_HTML5 | ENT_QUOTES) . " </pre>\n<pre class=\"commandLine\"> " . htmlspecialchars($output, $flags=ENT_DISALLOWED | ENT_HTML5 | ENT_QUOTES) . " </pre>\n<hr />";
        }
      }

    }

    // run ondemand command list if demanded
    if (isset($_POST['ondemand'])) {
      execute_command_list($ondemand_commands);
    } elseif (isset($_POST['git'])) {
      execute_command_list($git_commands);
    } else {
      //run status command list otherwise
      execute_command_list($status_commands);
    }
    ?>
  </body>
</html>
