<?php
/*******************************************************************************
 * Copyright (c) 2015, 2016 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Eric Poirier (Eclipse Foundation) - initial API and implementation
 *    Christopher Guindon (Eclipse Foundation)
 *******************************************************************************/
if(!is_a($this, 'Firewall') || !$this->Friend->checkUserIsWebmaster()){
  exit();
}
$recent_blocks = $this->getRecentBlocks();
$search_results = $this->getSearchResults();
?>

<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
  <li role="presentation" class="active">
    <a href="#firewall-recent-block" aria-controls="firewall-recent-block" role="tab" data-toggle="tab">Recent Blocks</a>
  </li>
  <li role="presentation">
    <a href="#firewall-insert-block" aria-controls="firewall-insert-block" role="tab" data-toggle="tab">Insert a Block</a>
  </li>
  <li role="presentation">
    <a href="#firewall-search-block" aria-controls="firewall-search-block" role="tab" data-toggle="tab">Search</a>
  </li>
</ul>

<!-- Tab panes -->
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="firewall-recent-block">
    <p><strong>Show last:</strong></p>
    <form action="<?php print $this->getFormActionUrl();?>#firewall-recent-block" method="POST">
      <input type="hidden" name="form_name" value="webmaster-firewall">

      <div class="form-group">
        <label class="radio-inline">
          <input type="radio" name="period" value="12"> 12 hours
        </label>
        <label class="radio-inline">
          <input type="radio" name="period" value="24"> 24 hours
        </label>
        <label class="radio-inline">
          <input type="radio" name="period" value="48"> 48 hours
        </label>
        <label class="radio-inline">
          <input type="radio" name="period" value="72"> 72 hours
        </label>
      </div>
      <input type="hidden" name="state" value="change_recent_blocks_period">
      <input type="submit" class="btn btn-primary" value="Change">
    </form>
    <?php if (!empty($recent_blocks)):?>
      <hr>
      <?php if (is_array($recent_blocks)): ?>
      <table class="table table-stripped">
        <thead>
          <tr>
            <th>Subnet</th>
            <th>Port</th>
            <th>UserID</th>
            <th>Reporting Node</th>
            <th>Inserted</th>
            <th>Expires</th>
            <th>Delete</th>
          </tr>
        </thead>
        <tbody>

          <?php foreach ($recent_blocks as $recent_block): ?>
          <tr>
            <td><?php print $recent_block['Subnet']; ?></td>
            <td><?php print $recent_block['Port']; ?></td>
            <td><?php print $recent_block['UserID']; ?></td>
            <td><?php print $recent_block['VictimNode']; ?></td>
            <td><?php print $recent_block['AttackDateTime']; ?></td>
            <td><?php print $recent_block['ExpiryDateTime']; ?></td>
            <td>
              <form action="<?php print $this->getFormActionUrl();?>" method="POST">
                <input type="hidden" name="form_name" value="webmaster-firewall">
                <input type="hidden" name="state" value="delete_block">
                <input type="hidden" name="subnet_to_delete" value="<?php print $recent_block['Subnet']; ?>">
                <input type="submit" class="btn btn-default btn-xs" value="DELETE">
              </form>
            </td>
          </tr>
          <?php endforeach; ?>
        </tbody>
      </table>
      <?php else: ?>
        <tr>
          <td colspan="7"><?php print $recent_blocks; ?></td>
        </tr>
      <?php endif; ?>
    <?php endif; ?>
  </div>

  <div role="tabpanel" class="tab-pane" id="firewall-insert-block">
    <form class="form-horizontal" method="POST" action="<?php print $this->getFormActionUrl();?>#firewall-insert-block">
      <input type="hidden" name="form_name" value="webmaster-firewall">
      <div class="form-group">
        <label for="inputEmail3" class="col-sm-2 control-label">IP:<span class="required">*</span></label>
        <div class="col-sm-10">
          <input type="text" class="form-control" name="insert_block_ip" placeholder="IP Address">
        </div>
      </div>
      <div class="form-group">
        <label for="inputPassword3" class="col-sm-2 control-label">Port:</label>
        <div class="col-sm-10">
          <input type="text" class="form-control" name="insert_block_port" placeholder="Port">
        </div>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <div class="radio">
            <label><input type="radio" name="insert_block_time" value="1_day"> Block for 24 hours</label><br>
            <label><input type="radio" name="insert_block_time" value="6_month"> Block for 6 months</label><br>
            <label><input type="radio" name="insert_block_time" value="1_year"> Block for 1 year</label>
          </div>
        </div>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <input type="hidden" name="state" value="insert_block">
          <button type="submit" class="btn btn-primary">Block</button>
        </div>
      </div>
    </form>
  </div>

  <div role="tabpanel" class="tab-pane" id="firewall-search-block">
    <form method="POST" action="<?php print $this->getFormActionUrl();?>#firewall-search-block">
      <input type="hidden" name="form_name" value="webmaster-firewall">
      <div class="form-group">
        <input type="search" placeholder="Search for IP/Subnet" name="search_block_ip" class="form-control">
      </div>
      <input type="hidden" name="state" value="search_block">
      <input type="submit" class="btn btn-primary">
    </form>
    <?php if (!empty($search_results)): ?>
      <hr>
      <h3>Search Results</h3>
      <table class="table">
        <thead>
          <tr>
            <th>Subnet</th>
            <th>Port</th>
            <th>UserID</th>
            <th>VictimNode</th>
            <th>AttackDateTime</th>
            <th>ExpiryDateTime</th>
          </tr>
        </thead>
        <tbody>
          <?php foreach ($search_results as $result): ?>
            <tr>
              <?php if (!empty($result['no_results'])): ?>
                <td colspan="5"><?php print $result['no_results']; ?></td>
              <?php else: ?>
                <td><?php print $result['Subnet']; ?></td>
                <td><?php print $result['Port']; ?></td>
                <td><?php print $result['UserID']; ?></td>
                <td><?php print $result['VictimNode']; ?></td>
                <td><?php print $result['AttackDateTime']; ?></td>
                <td><?php print $result['ExpiryDateTime']; ?></td>
              <?php endif; ?>
            </tr>
          <?php endforeach; ?>
        </tbody>
      </table>
    <?php endif; ?>
  </div>
</div>