Index: /branches/releng-9.0/nanobsd/cfg-files/local/wlportal/login.tmpl
===================================================================
--- /branches/releng-9.0/nanobsd/cfg-files/local/wlportal/login.tmpl	(revision 10470)
+++ /branches/releng-9.0/nanobsd/cfg-files/local/wlportal/login.tmpl	(revision 10471)
@@ -1,11 +1,24 @@
 <html>
-  <!-- Please do mind to escape 'percent' with %% as this is technically an python template -->
+  <!-- This is an devel/py-Jinja2 template -->
   <head>
     <title>Welkom bij Wireless Leiden captive portal</title>
   </head>
+  <style type='text/css'>
+.status {
+  background-color: lightgrey;
+  text-align: center;
+}
+.warning {
+  background-color: orange;
+  text-align: center;
+}
+  </style>
   <body>
-<table width="100%%"><tr>
-  <td><img src="/static/wl-logo.png"></td>
-  <td><h2>%(status_msg)s</h2></td>
+<table width="100%"><tr>
+  <td>
+    <div class="status"><h2>{{ status_msg }}</h2></div>
+    <div class="warning">{{ warning_msg }}</div>
+  </td>
+  <td width="50px"><img src="/static/wl-logo.png"></td>
 </tr></table>
 <hr />
@@ -13,7 +26,13 @@
    <h3>Eerlijk gebruikmaken van Wireless Leiden</h3>
    <pre>
-   A) Het gebruik van het Wireless Leiden netwerk en de internettoegang zijn kostenloos en u hoeft zich niet aan te melden. 
-   B) U dient zich te houden aan de Nederlandse wetgeving en geen schade toe te brengen of ongemak te veroorzaken voor anderen.
-   C) De Stichting Wireless Leiden accepteert geen enkele aansprakelijkheid voor schade in welke vorm dan ook die is ontstaan door of verband houdt met het gebruik van het netwerk.</pre>
+   A) Het gebruik van het Wireless Leiden netwerk en de internettoegang zijn
+      kostenloos en u hoeft zich niet aan te melden. 
+   B) U dient zich te houden aan de Nederlandse wetgeving en geen schade toe te
+      brengen of ongemak te veroorzaken voor anderen.
+   C) De Stichting Wireless Leiden accepteert geen enkele aansprakelijkheid
+      voor schade in welke vorm dan ook die is ontstaan door of verband houdt
+      met het gebruik van het netwerk.
+   </pre>
+
    <h3>Internet Toegang</h3> 
    <p>Internetten op het Wireless Leiden netwerk kan op twee manieren:<br />
@@ -24,5 +43,5 @@
    </ol>
 
- <form action="http://%(portalroot)s/wlportal/" method="POST">
+ <form action="http://{{ portalroot }}/wlportal/" method="POST">
 <input name="action" type="hidden" value="login" />
 <input type="submit" value="I wil gebruik maken van iLeiden" style="color:#000000; background: green; font-weight: bold"/>
@@ -50,5 +69,5 @@
     The Wireless Leiden Foundation does not accept any responsibility whatsoever for damage related to or originated from the use of the network. 
 
-<form action="http://%(portalroot)s/wlportal/" method="POST">
+<form action="http://{{ portalroot }}/wlportal/" method="POST">
 <input name="action" type="hidden" value="login" />
 <input type="submit" value="OK, agreed" style="color:#000000; background: green; font-weight: bold" />
@@ -62,10 +81,10 @@
    </em>
 <h3>More options</h3>
-<form action="http://%(portalroot)s/wlportal/" method="POST">
+<form action="http://{{ portalroot }}/wlportal/" method="POST">
 <input name="action" type="hidden" value="logout" />
 <input type="submit" value="Cancel and/or Logout" style="color:#000000; background: red; font-weight: bold"/>
 </form>
 <hr /><em>Technical Details:</em><pre>
-%(tech_footer)s
+{{ tech_footer }}
 </pre>
   </body>
Index: /branches/releng-9.0/nanobsd/cfg/nanobsd.wleiden
===================================================================
--- /branches/releng-9.0/nanobsd/cfg/nanobsd.wleiden	(revision 10470)
+++ /branches/releng-9.0/nanobsd/cfg/nanobsd.wleiden	(revision 10471)
@@ -33,4 +33,5 @@
 PACKAGE_LIST=`cat <<EOF | sed 's/#.*$//g'
 $PORTSDIR/benchmarks/iperf
+$PORTSDIR/devel/py-Jinja2
 $PORTSDIR/devel/py-yaml
 $PORTSDIR/dns/dnsmasq
Index: /branches/releng-9.0/nanobsd/files/usr/local/www/wlportal/index.cgi
===================================================================
--- /branches/releng-9.0/nanobsd/files/usr/local/www/wlportal/index.cgi	(revision 10470)
+++ /branches/releng-9.0/nanobsd/files/usr/local/www/wlportal/index.cgi	(revision 10471)
@@ -39,4 +39,6 @@
 import urlparse
 import yaml
+
+from jinja2 import Template
 
 # XXX: Make me dynamic for example put me in the conf file
@@ -55,4 +57,5 @@
   'expire_time'   : None,
   'accessdb'      : '/var/db/clients',
+  'net_status'    : '/tmp/network.status',
 }
 
@@ -62,4 +65,11 @@
 if os.path.isfile(cfg['config_file']):
   cfg.update(yaml.load(open(cfg['config_file'])))
+
+internet_up = True
+if os.path.isfile(cfg['net_status']):
+  internet_up = 'internet=up' in open(cfg['net_status'], 'r').read().lower()
+
+if not internet_up:
+  cfg['warning_msg'] = "<b>Internet Problemen</b>: De laatste 15 minuten zijn er problemen met de (internet) verbinding geconstateerd, de gebruikers ervaring kan dus niet optimaal zijn. Onze excuses voor het eventuele ongemak. Bij aanhoudende problemen kunt u contact opnemen met gebruikers@lijst.wirelessleiden.nl" 
 
 def log_registered_host(remote_mac, remote_host):
@@ -233,5 +243,5 @@
 # Helpers for HTML 'templates'
 content = cfg.copy()
-content.update(extra_header='',tech_footer='',status_msg='')
+content.update(extra_header='')
 
 # IP or MAC on the whitelist does not need to authenticate, used for devices
@@ -309,3 +319,3 @@
 """
 
-print page % content
+print Template(page).render(content)
