| <?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> |