summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/configuration.md7
-rw-r--r--includes/config.defaults.php2
-rw-r--r--index.php39
3 files changed, 46 insertions, 2 deletions
diff --git a/docs/configuration.md b/docs/configuration.md
index d237231..47ef38e 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -54,6 +54,13 @@ Sets the link used in the header of the page. If set to null no link will be
used and the header will not be clickable.
```php
+$config['frontpage']['peering_policy_file'] = null;
+```
+Sets the path to the peering policy file. If set to null no peering policy
+will be able to be shown. The peering policy file must be located in a
+readable location and must contain only HTML formatted text.
+
+```php
$config['frontpage']['disclaimer'] = 'Disclaimer example';
```
Sets the disclaimer that should displayed. If set to null no disclaimer will
diff --git a/includes/config.defaults.php b/includes/config.defaults.php
index 9e44343..25eaf6f 100644
--- a/includes/config.defaults.php
+++ b/includes/config.defaults.php
@@ -46,6 +46,8 @@ $config = array(
'image' => null,
// Link for the title/image
'header_link' => null,
+ // Peering Policy file (null for no peering policy)
+ 'peering_policy_file' => null,
// Disclaimer (null for no disclaimer)
'disclaimer' => 'Disclaimer example',
// Display the title
diff --git a/index.php b/index.php
index 12ff3a4..3acee49 100644
--- a/index.php
+++ b/index.php
@@ -171,12 +171,17 @@ final class LookingGlass {
}
}
- if ($this->frontpage['disclaimer'] != null) {
+ if ($this->frontpage['disclaimer']) {
print($this->frontpage['disclaimer']);
print('<br /><br />');
}
- if (($this->contact['name'] != null) && ($this->contact['mail'] != null)) {
+ if ($this->frontpage['peering_policy_file']) {
+ print('<button type="button" class="btn btn-default btn-sm" data-toggle="modal" data-target="#peering-policy"><span class="glyphicon glyphicon-list-alt"></span> Peering Policy</button>');
+ print('<br/><br/>');
+ }
+
+ if ($this->contact['name'] && $this->contact['mail']) {
print('Contact:&nbsp;');
print('<a href="mailto:'.$this->contact['mail'].'">'.
htmlentities($this->contact['name']).'</a>');
@@ -188,6 +193,33 @@ final class LookingGlass {
print('</div>');
}
+ private function render_peering_policy_modal() {
+ print('<div id="peering-policy" class="modal fade">');
+ print('<div class="modal-dialog">');
+ print('<div class="modal-content">');
+ print('<div class="modal-header">');
+ print('<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>');
+ print('<h4 class="modal-title">Peering Policy</h4>');
+ print('</div>');
+ print('<div class="modal-body">');
+ if (!file_exists($this->frontpage['peering_policy_file'])) {
+ print('The peering policy file ('.
+ $this->frontpage['peering_policy_file'].') does not exist.');
+ } else if (!is_readable($this->frontpage['peering_policy_file'])) {
+ print('The peering policy file ('.
+ $this->frontpage['peering_policy_file'].') is not readable.');
+ } else {
+ include($this->frontpage['peering_policy_file']);
+ }
+ print('</div>');
+ print('<div class="modal-footer">');
+ print('<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>');
+ print('</div>');
+ print('</div>');
+ print('</div>');
+ print('</div>');
+ }
+
private function render_help_modal() {
print('<div id="help" class="modal fade">');
print('<div class="modal-dialog">');
@@ -234,6 +266,9 @@ final class LookingGlass {
$this->render_content();
$this->render_footer();
$this->render_help_modal();
+ if ($this->frontpage['peering_policy_file']) {
+ $this->render_peering_policy_modal();
+ }
print('</body>');
print('<script src="libs/jquery-2.2.0.min.js"></script>');
print('<script src="libs/bootstrap-3.3.6/js/bootstrap.min.js"></script>');