[PATCH 1/1] WebUI: New public status page
Dominik Heidler
dominik at heidler.eu
Do Mär 10 00:42:21 CET 2016
Signed-off-by: Dominik Heidler <dominik at heidler.eu>
---
.../fff/fff-web/files/www/public/cgi-bin/status | 73 --
.../fff-web/files/www/public/cgi-bin/status.html | 71 ++
.../files/www/public/css/grids-responsive-min.css | 491 ------------
.../fff/fff-web/files/www/public/css/pure-min.css | 892 ---------------------
.../fff/fff-web/files/www/public/css/side-menu.css | 276 -------
.../fff/fff-web/files/www/public/css/style.css | 78 --
.../fff/fff-web/files/www/public/freifunk.svg | 1 +
.../fff/fff-web/files/www/public/index.html | 4 +-
.../fff/fff-web/files/www/public/style.css | 1 +
9 files changed, 75 insertions(+), 1812 deletions(-)
delete mode 100755 src/packages/fff/fff-web/files/www/public/cgi-bin/status
create mode 100755 src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
delete mode 100644 src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
delete mode 100644 src/packages/fff/fff-web/files/www/public/css/pure-min.css
delete mode 100644 src/packages/fff/fff-web/files/www/public/css/side-menu.css
delete mode 100644 src/packages/fff/fff-web/files/www/public/css/style.css
create mode 120000 src/packages/fff/fff-web/files/www/public/freifunk.svg
create mode 120000 src/packages/fff/fff-web/files/www/public/style.css
diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status b/src/packages/fff/fff-web/files/www/public/cgi-bin/status
deleted file mode 100755
index 63b9b3b..0000000
--- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/haserl
-<% echo -en "content-type: text/html\r\n\r\n" %>
-<% . /etc/firmware_release %>
-<!DOCTYPE html>
-<html lang="de"><head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>FFF Router :: <% echo $(uci get -q system. at system[0].hostname) %></title>
- <link rel="stylesheet" href="/css/pure-min.css">
- <link rel="stylesheet" href="/css/side-menu.css">
- <link rel="stylesheet" href="/css/grids-responsive-min.css">
- <link rel="stylesheet" href="/css/style.css">
-</head>
-<body>
- <div class="header">
- <div class="home-menu pure-menu pure-menu-open pure-menu-horizontal pure-menu-fixed">
- <a class="pure-menu-heading" href="http://www.freifunk-franken.de">freifunk-franken.de</a>
- <ul>
-<%
-contact="$(uci get -q system. at system[0].contact)"
-if [ -n "$contact" ]; then
- echo "<li> <a href="mailto:$contact">Kontakt: $contact</a></li>"
-fi
-
-description="$(uci get -q system. at system[0].description)"
-mac="$(uci -q get network.mesh.macaddr)"
-if [ -n "$description" ]; then
- echo " <li><a href='https://monitoring.freifunk-franken.de/api/get_router_by_mac/${mac}'>Beschreibung: $description</a></li>"
-fi
-
-lat="$(uci get -q system. at system[0].latitude)"
-lon="$(uci get -q system. at system[0].longitude)"
-if [ -n "$lat" -a -n "$lon" ]; then
- echo " <li><a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">Position: ${lat:0:8}N, ${lon:0:8}E</a></li>"
-fi
-position_comment="$(uci get -q system. at system[0].position_comment)"
-if [ -n "$position_comment" ]; then
- echo " <li><a href='#'>${position_comment}</a></li>"
-fi
-%>
- <li><form action="https://<% echo -n "$HTTP_HOST" %>"><button type="submit" class="pure-button">Login</button></form></li>
- </ul>
- </div>
- </div>
- <div class="header">
-<%
-echo " <h1>$(uci get -q system. at system[0].hostname)</h1>"
-%>
- <h2>Firmware Version <% echo -n $FIRMWARE_VERSION %></h2>
- </div>
- <div class="content">
- <div class="pure-g" style="text-align:center;">
- <div class="pure-u-1 pure-u-md-1-3">
- <div class="blockhead"></div>
- <h2>Nachbarknoten</h2>
- <h3><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null) %></h3>
- </div>
- <div class="pure-u-1 pure-u-md-1-3">
- <div class="blockhead"></div>
- <h2>Alle Knoten</h2>
- <h3><% echo -n $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1)) %></h3>
- </div>
- <div class="pure-u-1 pure-u-md-1-3">
- <div class="blockhead"></div>
- <h2>Lokale Clients</h2>
- <h3><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W') %></h3>
- </div>
- </div>
- </div>
-
-</body>
-</html>
diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
new file mode 100755
index 0000000..fcb047e
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
@@ -0,0 +1,71 @@
+#!/usr/bin/haserl
+
+<%
+echo -en "Content-Type: text/html\r\n\r\n"
+HOSTNAME=$(uci get -q 'system. at system[0].hostname')
+
+MAC="$(uci -q get network.mesh.macaddr)"
+lat="$(uci get -q system. at system[0].latitude)"
+lon="$(uci get -q system. at system[0].longitude)"
+contact="$(uci get -q system. at system[0].contact)"
+
+. /etc/firmware_release
+
+%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title><%= ${HOSTNAME} %></title>
+ <link href="/style.css" rel="stylesheet" type="text/css" media="screen" />
+</head>
+<body>
+ <div id="header" style="position: relative;">
+ <h1><%= ${HOSTNAME} %></h1>
+ <h2>Freifunk Franken Router</h2>
+ <img src="/freifunk.svg" style="position: absolute; top: 1px; right: 42px;" />
+ </div>
+ <div style="height: 30px; background-color: #ffb400; position: relative;">
+ <div style="position: absolute; top: 20%; bottom: 20%; left: 40px; width: 20em; text-align: left;">
+ <a style="color: #d22755; text-decoration: none; font-weight: bold;" href="http://www.freifunk-franken.de/">www.freifunk-franken.de</a>
+ </div>
+ <div style="background-color: #d22755; position: absolute; top: 20%; bottom: 20%; right: 42px; width: 3.4em; text-align: center; border-radius: 2px;">
+ <a style="color: #ffffff; text-decoration: none;" href="https://<%= ${HTTP_HOST} %>/">Login</a>
+ </div>
+ </div>
+ <div id="container" style="margin-top: 15px;">
+ <div id="primarycontainer">
+ <div id="primarycontent">
+ <table style="width: 100%;">
+ <tr><td>
+ <fieldset style="min-height: 15em;">
+ <legend>System</legend>
+ <table>
+ <tr><th>Name:</th><td><%= $HOSTNAME %></td></tr>
+ <tr><th>MAC-Adresse:</th><td style="text-transform: uppercase;"><a href="https://monitoring.freifunk-franken.de/api/get_router_by_mac/<%= $MAC %>"><%= $MAC %></a></td></tr>
+ <tr><th>Modell:</th><td><% cat /tmp/sysinfo/model 2>/dev/null %></td></tr>
+ <tr><th>Firmware:</th><td><%= ${FIRMWARE_VERSION} %></td></tr>
+ <tr><th>Beschreibung:</th><td><% uci get -q 'system. at system[0].description' %></td></tr>
+ <tr><th>Position:</th><td><% if [ -n "$lat" -a -n "$lon" ]; then
+ echo "<a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">${lat:0:8}N, ${lon:0:8}E</a>"
+ fi %></td></tr>
+ <tr><th>Standort:</th><td><% uci get -q 'system. at system[0].position_comment' %></td></tr>
+ <tr><th>E-Mail Adresse:</th><td><a href="mailto:<%= $contact %>"><%= $contact %></a></td></tr>
+ </table>
+ </fieldset>
+ </td><td>
+ <fieldset style="min-height: 15em;">
+ <legend>Status</legend>
+ <table>
+ <tr><th>Nachbarknoten:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null) %></td></tr>
+ <tr><th>Bekannte Knoten:</th><td><% echo -n $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1)) %></td></tr>
+ <tr><th>Lokale Clients:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W') %></td></tr>
+ </table>
+ </fieldset>
+ </td></tr>
+ </table>
+ </div>
+ </div>
+ <div class="clearit"></div>
+ </div>
+</body>
+</html>
diff --git a/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css b/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
deleted file mode 100644
index 63482de..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
+++ /dev/null
@@ -1,491 +0,0 @@
-/*!
-Pure v0.5.0
-Copyright 2014 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-https://github.com/yui/pure/blob/master/LICENSE.md
-*/
- at media screen and (min-width:35.5em){
-.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-sm-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-sm-1-12,.pure-u-sm-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-sm-1-8,.pure-u-sm-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-sm-1-6,.pure-u-sm-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-sm-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-sm-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-sm-1-4,.pure-u-sm-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-sm-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-sm-1-3,.pure-u-sm-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-sm-3-8,.pure-u-sm-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-sm-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-sm-5-12,.pure-u-sm-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-sm-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-sm-1-2,.pure-u-sm-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-sm-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-sm-7-12,.pure-u-sm-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-sm-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-sm-5-8,.pure-u-sm-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-sm-2-3,.pure-u-sm-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-sm-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-sm-3-4,.pure-u-sm-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-sm-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-sm-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-sm-5-6,.pure-u-sm-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-sm-7-8,.pure-u-sm-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-sm-11-12,.pure-u-sm-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-sm-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{
-width:100%
-}
-}@media screen and (min-width:48em){
-.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-md-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-md-1-12,.pure-u-md-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-md-1-8,.pure-u-md-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-md-1-6,.pure-u-md-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-md-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-md-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-md-1-4,.pure-u-md-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-md-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-md-1-3,.pure-u-md-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-md-3-8,.pure-u-md-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-md-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-md-5-12,.pure-u-md-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-md-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-md-1-2,.pure-u-md-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-md-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-md-7-12,.pure-u-md-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-md-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-md-5-8,.pure-u-md-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-md-2-3,.pure-u-md-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-md-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-md-3-4,.pure-u-md-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-md-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-md-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-md-5-6,.pure-u-md-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-md-7-8,.pure-u-md-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-md-11-12,.pure-u-md-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-md-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{
-width:100%
-}
-}@media screen and (min-width:64em){
-.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-lg-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-lg-1-12,.pure-u-lg-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-lg-1-8,.pure-u-lg-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-lg-1-6,.pure-u-lg-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-lg-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-lg-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-lg-1-4,.pure-u-lg-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-lg-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-lg-1-3,.pure-u-lg-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-lg-3-8,.pure-u-lg-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-lg-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-lg-5-12,.pure-u-lg-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-lg-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-lg-1-2,.pure-u-lg-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-lg-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-lg-7-12,.pure-u-lg-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-lg-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-lg-5-8,.pure-u-lg-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-lg-2-3,.pure-u-lg-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-lg-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-lg-3-4,.pure-u-lg-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-lg-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-lg-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-lg-5-6,.pure-u-lg-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-lg-7-8,.pure-u-lg-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-lg-11-12,.pure-u-lg-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-lg-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{
-width:100%
-}
-}@media screen and (min-width:80em){
-.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-xl-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-xl-1-12,.pure-u-xl-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-xl-1-8,.pure-u-xl-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-xl-1-6,.pure-u-xl-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-xl-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-xl-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-xl-1-4,.pure-u-xl-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-xl-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-xl-1-3,.pure-u-xl-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-xl-3-8,.pure-u-xl-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-xl-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-xl-5-12,.pure-u-xl-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-xl-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-xl-1-2,.pure-u-xl-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-xl-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-xl-7-12,.pure-u-xl-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-xl-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-xl-5-8,.pure-u-xl-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-xl-2-3,.pure-u-xl-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-xl-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-xl-3-4,.pure-u-xl-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-xl-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-xl-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-xl-5-6,.pure-u-xl-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-xl-7-8,.pure-u-xl-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-xl-11-12,.pure-u-xl-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-xl-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{
-width:100%
-}
-}
diff --git a/src/packages/fff/fff-web/files/www/public/css/pure-min.css b/src/packages/fff/fff-web/files/www/public/css/pure-min.css
deleted file mode 100644
index 1370a60..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/pure-min.css
+++ /dev/null
@@ -1,892 +0,0 @@
-/*!
-Pure v0.5.0
-Copyright 2014 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-https://github.com/yui/pure/blob/master/LICENSE.md
-*/
-/*!
-normalize.css v1.1.3 | MIT License | git.io/normalize
-Copyright (c) Nicolas Gallagher and Jonathan Neal
-*/
-/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
-display:block
-}
-audio,canvas,video{
-display:inline-block;
-*display:inline;
-*zoom:1
-}
-audio:not([controls]){
-display:none;
-height:0
-}
-[hidden]{
-display:none
-}
-html{
-font-size:100%;
--ms-text-size-adjust:100%;
--webkit-text-size-adjust:100%
-}
-html,button,input,select,textarea{
-font-family:sans-serif
-}
-body{
-margin:0
-}
-a:focus{
-outline:thin dotted
-}
-a:active,a:hover{
-outline:0
-}
-h1{
-font-size:2em;
-margin:.67em 0
-}
-h2{
-font-size:1.5em;
-margin:.83em 0
-}
-h3{
-font-size:1.17em;
-margin:1em 0
-}
-h4{
-font-size:1em;
-margin:1.33em 0
-}
-h5{
-font-size:.83em;
-margin:1.67em 0
-}
-h6{
-font-size:.67em;
-margin:2.33em 0
-}
-abbr[title]{
-border-bottom:1px dotted
-}
-b,strong{
-font-weight:700
-}
-blockquote{
-margin:1em 40px
-}
-dfn{
-font-style:italic
-}
-hr{
--moz-box-sizing:content-box;
-box-sizing:content-box;
-height:0
-}
-mark{
-background:#ff0;
-color:#000
-}
-p,pre{
-margin:1em 0
-}
-code,kbd,pre,samp{
-font-family:monospace,serif;
-_font-family:'courier new',monospace;
-font-size:1em
-}
-pre{
-white-space:pre;
-white-space:pre-wrap;
-word-wrap:break-word
-}
-q{
-quotes:none
-}
-q:before,q:after{
-content:'';
-content:none
-}
-small{
-font-size:80%
-}
-sub,sup{
-font-size:75%;
-line-height:0;
-position:relative;
-vertical-align:baseline
-}
-sup{
-top:-.5em
-}
-sub{
-bottom:-.25em
-}
-dl,menu,ol,ul{
-margin:1em 0
-}
-dd{
-margin:0 0 0 40px
-}
-menu,ol,ul{
-padding:0 0 0 40px
-}
-nav ul,nav ol{
-list-style:none;
-list-style-image:none
-}
-img{
-border:0;
--ms-interpolation-mode:bicubic
-}
-svg:not(:root){
-overflow:hidden
-}
-figure{
-margin:0
-}
-form{
-margin:0
-}
-fieldset{
-border:1px solid silver;
-margin:0 2px;
-padding:.35em .625em .75em
-}
-legend{
-border:0;
-padding:0;
-white-space:normal;
-*margin-left:-7px
-}
-button,input,select,textarea{
-font-size:100%;
-margin:0;
-vertical-align:baseline;
-*vertical-align:middle
-}
-button,input{
-line-height:normal
-}
-button,select{
-text-transform:none
-}
-button,html input[type=button],input[type=reset],input[type=submit]{
--webkit-appearance:button;
-cursor:pointer;
-*overflow:visible
-}
-button[disabled],html input[disabled]{
-cursor:default
-}
-input[type=checkbox],input[type=radio]{
-box-sizing:border-box;
-padding:0;
-*height:13px;
-*width:13px
-}
-input[type=search]{
--webkit-appearance:textfield;
--moz-box-sizing:content-box;
--webkit-box-sizing:content-box;
-box-sizing:content-box
-}
-input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
--webkit-appearance:none
-}
-button::-moz-focus-inner,input::-moz-focus-inner{
-border:0;
-padding:0
-}
-textarea{
-overflow:auto;
-vertical-align:top
-}
-table{
-border-collapse:collapse;
-border-spacing:0
-}
-[hidden]{
-display:none!important
-}
-.pure-img{
-max-width:100%;
-height:auto;
-display:block
-}
-.pure-g{
-letter-spacing:-.31em;
-*letter-spacing:normal;
-*word-spacing:-.43em;
-text-rendering:optimizespeed;
-font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;
-display:-webkit-flex;
--webkit-flex-flow:row wrap;
-display:-ms-flexbox;
--ms-flex-flow:row wrap
-}
-.opera-only :-o-prefocus,.pure-g{
-word-spacing:-.43em
-}
-.pure-u{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-g [class *="pure-u"]{
-font-family:sans-serif
-}
-.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-1-12,.pure-u-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-1-8,.pure-u-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-1-6,.pure-u-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-1-4,.pure-u-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-1-3,.pure-u-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-3-8,.pure-u-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-5-12,.pure-u-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-1-2,.pure-u-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-7-12,.pure-u-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-5-8,.pure-u-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-2-3,.pure-u-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-3-4,.pure-u-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-5-6,.pure-u-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-7-8,.pure-u-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-11-12,.pure-u-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{
-width:100%
-}
-.pure-button{
-display:inline-block;
-*display:inline;
-zoom:1;
-line-height:normal;
-white-space:nowrap;
-vertical-align:baseline;
-text-align:center;
-cursor:pointer;
--webkit-user-drag:none;
--webkit-user-select:none;
--moz-user-select:none;
--ms-user-select:none;
-user-select:none
-}
-.pure-button::-moz-focus-inner{
-padding:0;
-border:0
-}
-.pure-button{
-font-family:inherit;
-font-size:100%;
-*font-size:90%;
-*overflow:visible;
-padding:.5em 1em;
-color:#444;
-color:rgba(0,0,0,.8);
-*color:#444;
-border:1px solid #999;
-border:0 rgba(0,0,0,0);
-background-color:#E6E6E6;
-text-decoration:none;
-border-radius:2px
-}
-.pure-button-hover,.pure-button:hover,.pure-button:focus{
-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);
-background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));
-background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));
-background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));
-background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));
-background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))
-}
-.pure-button:focus{
-outline:0
-}
-.pure-button-active,.pure-button:active{
-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset
-}
-.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{
-border:0;
-background-image:none;
-filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);
-filter:alpha(opacity=40);
--khtml-opacity:.4;
--moz-opacity:.4;
-opacity:.4;
-cursor:not-allowed;
-box-shadow:none
-}
-.pure-button-hidden{
-display:none
-}
-.pure-button::-moz-focus-inner{
-padding:0;
-border:0
-}
-.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{
-background-color:#0078e7;
-color:#fff
-}
-.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{
-padding:.5em .6em;
-display:inline-block;
-border:1px solid #ccc;
-box-shadow:inset 0 1px 3px #ddd;
-border-radius:4px;
--webkit-box-sizing:border-box;
--moz-box-sizing:border-box;
-box-sizing:border-box
-}
-.pure-form input:not([type]){
-padding:.5em .6em;
-display:inline-block;
-border:1px solid #ccc;
-box-shadow:inset 0 1px 3px #ddd;
-border-radius:4px;
--webkit-box-sizing:border-box;
--moz-box-sizing:border-box;
-box-sizing:border-box
-}
-.pure-form input[type=color]{
-padding:.2em .5em
-}
-.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{
-outline:0;
-outline:thin dotted \9;
-border-color:#129FEA
-}
-.pure-form input:not([type]):focus{
-outline:0;
-outline:thin dotted \9;
-border-color:#129FEA
-}
-.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{
-outline:thin dotted #333;
-outline:1px auto #129FEA
-}
-.pure-form .pure-checkbox,.pure-form .pure-radio{
-margin:.5em 0;
-display:block
-}
-.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{
-cursor:not-allowed;
-background-color:#eaeded;
-color:#cad2d3
-}
-.pure-form input:not([type])[disabled]{
-cursor:not-allowed;
-background-color:#eaeded;
-color:#cad2d3
-}
-.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{
-background:#eee;
-color:#777;
-border-color:#ccc
-}
-.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{
-color:#b94a48;
-border-color:#ee5f5b
-}
-.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{
-border-color:#e9322d
-}
-.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{
-outline-color:#e9322d
-}
-.pure-form select{
-border:1px solid #ccc;
-background-color:#fff
-}
-.pure-form select[multiple]{
-height:auto
-}
-.pure-form label{
-margin:.5em 0 .2em
-}
-.pure-form fieldset{
-margin:0;
-padding:.35em 0 .75em;
-border:0
-}
-.pure-form legend{
-display:block;
-width:100%;
-padding:.3em 0;
-margin-bottom:.3em;
-color:#333;
-border-bottom:1px solid #e5e5e5
-}
-.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{
-display:block;
-margin:.25em 0
-}
-.pure-form-stacked input:not([type]){
-display:block;
-margin:.25em 0
-}
-.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{
-display:inline-block;
-*display:inline;
-*zoom:1;
-vertical-align:middle
-}
-.pure-form-aligned textarea{
-vertical-align:top
-}
-.pure-form-aligned .pure-control-group{
-margin-bottom:.5em
-}
-.pure-form-aligned .pure-control-group label{
-text-align:right;
-display:inline-block;
-vertical-align:middle;
-width:10em;
-margin:0 1em 0 0
-}
-.pure-form-aligned .pure-controls{
-margin:1.5em 0 0 10em
-}
-.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{
-border-radius:2em;
-padding:.5em 1em
-}
-.pure-form .pure-group fieldset{
-margin-bottom:10px
-}
-.pure-form .pure-group input{
-display:block;
-padding:10px;
-margin:0;
-border-radius:0;
-position:relative;
-top:-1px
-}
-.pure-form .pure-group input:focus{
-z-index:2
-}
-.pure-form .pure-group input:first-child{
-top:1px;
-border-radius:4px 4px 0 0
-}
-.pure-form .pure-group input:last-child{
-top:-2px;
-border-radius:0 0 4px 4px
-}
-.pure-form .pure-group button{
-margin:.35em 0
-}
-.pure-form .pure-input-1{
-width:100%
-}
-.pure-form .pure-input-2-3{
-width:66%
-}
-.pure-form .pure-input-1-2{
-width:50%
-}
-.pure-form .pure-input-1-3{
-width:33%
-}
-.pure-form .pure-input-1-4{
-width:25%
-}
-.pure-form .pure-help-inline,.pure-form-message-inline{
-display:inline-block;
-padding-left:.3em;
-color:#666;
-vertical-align:middle;
-font-size:.875em
-}
-.pure-form-message{
-display:block;
-color:#666;
-font-size:.875em
-}
- at media only screen and (max-width :480px){
-.pure-form button[type=submit]{
-margin:.7em 0 0
-}
-.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{
-margin-bottom:.3em;
-display:block
-}
-.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{
-margin-bottom:0
-}
-.pure-form-aligned .pure-control-group label{
-margin-bottom:.3em;
-text-align:left;
-display:block;
-width:100%
-}
-.pure-form-aligned .pure-controls{
-margin:1.5em 0 0
-}
-.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{
-display:block;
-font-size:.75em;
-padding:.2em 0 .8em
-}
-
-}
-.pure-menu ul{
-position:absolute;
-visibility:hidden
-}
-.pure-menu.pure-menu-open{
-visibility:visible;
-z-index:2;
-width:100%
-}
-.pure-menu ul{
-left:-10000px;
-list-style:none;
-margin:0;
-padding:0;
-top:-10000px;
-z-index:1
-}
-.pure-menu>ul{
-position:relative
-}
-.pure-menu-open>ul{
-left:0;
-top:0;
-visibility:visible
-}
-.pure-menu-open>ul:focus{
-outline:0
-}
-.pure-menu li{
-position:relative
-}
-.pure-menu a,.pure-menu .pure-menu-heading{
-display:block;
-color:inherit;
-line-height:1.5em;
-padding:5px 20px;
-text-decoration:none;
-white-space:nowrap
-}
-.pure-menu.pure-menu-horizontal>.pure-menu-heading{
-display:inline-block;
-*display:inline;
-zoom:1;
-margin:0;
-vertical-align:middle
-}
-.pure-menu.pure-menu-horizontal>ul{
-display:inline-block;
-*display:inline;
-zoom:1;
-vertical-align:middle
-}
-.pure-menu li a{
-padding:5px 20px
-}
-.pure-menu-can-have-children>.pure-menu-label:after{
-content:'\25B8';
-float:right;
-font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;
-margin-right:-20px;
-margin-top:-1px
-}
-.pure-menu-can-have-children>.pure-menu-label{
-padding-right:30px
-}
-.pure-menu-separator{
-background-color:#dfdfdf;
-display:block;
-height:1px;
-font-size:0;
-margin:7px 2px;
-overflow:hidden
-}
-.pure-menu-hidden{
-display:none
-}
-.pure-menu-fixed{
-position:fixed;
-top:0;
-left:0;
-width:100%
-}
-.pure-menu-horizontal li{
-display:inline-block;
-*display:inline;
-zoom:1;
-vertical-align:middle
-}
-.pure-menu-horizontal li li{
-display:block
-}
-.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{
-content:"\25BE"
-}
-.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{
-padding-right:30px
-}
-.pure-menu-horizontal li.pure-menu-separator{
-height:50%;
-width:1px;
-margin:0 7px
-}
-.pure-menu-horizontal li li.pure-menu-separator{
-height:1px;
-width:auto;
-margin:7px 2px
-}
-.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{
-background:#fff;
-border:1px solid #b7b7b7
-}
-.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{
-border:0
-}
-.pure-menu a{
-border:1px solid transparent;
-border-left:0;
-border-right:0
-}
-.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{
-color:#777
-}
-.pure-menu .pure-menu-can-have-children>li:hover:after{
-color:#fff
-}
-.pure-menu .pure-menu-open{
-background:#dedede
-}
-.pure-menu li a:hover,.pure-menu li a:focus{
-background:#eee
-}
-.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{
-background:#fff;
-color:#bfbfbf
-}
-.pure-menu .pure-menu-disabled>a{
-background-image:none;
-border-color:transparent;
-cursor:default
-}
-.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{
-color:#bfbfbf
-}
-.pure-menu .pure-menu-heading{
-color:#565d64;
-text-transform:uppercase;
-font-size:90%;
-margin-top:.5em;
-border-bottom-width:1px;
-border-bottom-style:solid;
-border-bottom-color:#dfdfdf
-}
-.pure-menu .pure-menu-selected a{
-color:#000
-}
-.pure-menu.pure-menu-open.pure-menu-fixed{
-border:0;
-border-bottom:1px solid #b7b7b7
-}
-.pure-paginator{
-letter-spacing:-.31em;
-*letter-spacing:normal;
-*word-spacing:-.43em;
-text-rendering:optimizespeed;
-list-style:none;
-margin:0;
-padding:0
-}
-.opera-only :-o-prefocus,.pure-paginator{
-word-spacing:-.43em
-}
-.pure-paginator li{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-paginator .pure-button{
-border-radius:0;
-padding:.8em 1.4em;
-vertical-align:top;
-height:1.1em
-}
-.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{
-outline-style:none
-}
-.pure-paginator .prev,.pure-paginator .next{
-color:#C0C1C3;
-text-shadow:0 -1px 0 rgba(0,0,0,.45)
-}
-.pure-paginator .prev{
-border-radius:2px 0 0 2px
-}
-.pure-paginator .next{
-border-radius:0 2px 2px 0
-}
- at media (max-width:480px){
-.pure-menu-horizontal{
-width:100%
-}
-.pure-menu-children li{
-display:block;
-border-bottom:1px solid #000
-}
-
-}
-.pure-table{
-border-collapse:collapse;
-border-spacing:0;
-empty-cells:show;
-border:1px solid #cbcbcb
-}
-.pure-table caption{
-color:#000;
-font:italic 85%/1 arial,sans-serif;
-padding:1em 0;
-text-align:center
-}
-.pure-table td,.pure-table th{
-border-left:1px solid #cbcbcb;
-border-width:0 0 0 1px;
-font-size:inherit;
-margin:0;
-overflow:visible;
-padding:.5em 1em
-}
-.pure-table td:first-child,.pure-table th:first-child{
-border-left-width:0
-}
-.pure-table thead{
-background:#e0e0e0;
-color:#000;
-text-align:left;
-vertical-align:bottom
-}
-.pure-table td{
-background-color:transparent
-}
-.pure-table-odd td{
-background-color:#f2f2f2
-}
-.pure-table-striped tr:nth-child(2n-1) td{
-background-color:#f2f2f2
-}
-.pure-table-bordered td{
-border-bottom:1px solid #cbcbcb
-}
-.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{
-border-bottom-width:0
-}
-.pure-table-horizontal td,.pure-table-horizontal th{
-border-width:0 0 1px;
-border-bottom:1px solid #cbcbcb
-}
-.pure-table-horizontal tbody>tr:last-child td{
-border-bottom-width:0
-}
diff --git a/src/packages/fff/fff-web/files/www/public/css/side-menu.css b/src/packages/fff/fff-web/files/www/public/css/side-menu.css
deleted file mode 100644
index bbe083e..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/side-menu.css
+++ /dev/null
@@ -1,276 +0,0 @@
-body {
- /* color: #777; */
-}
-
-.pure-img-responsive {
- max-width: 100%;
- height: auto;
-}
-
-/*
-Add transition to containers so they can push in and out.
-*/
-#layout,
-#menu,
-.menu-link {
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out;
-}
-
-/*
-This is the parent `<div>` that contains the menu and the content area.
-*/
-#layout {
- position: relative;
- padding-left: 0;
-}
- #layout.active {
- position: relative;
- left: 200px;
- }
- #layout.active #menu {
- left: 200px;
- width: 200px;
- }
-
- #layout.active .menu-link {
- left: 200px;
- }
-/*
-The content `<div>` is where all your content goes.
-*/
-.content {
- margin: 0 auto;
- padding: 0 2em;
- max-width: 800px;
- margin-bottom: 50px;
- line-height: 1.6em;
- color: #444;
-}
-
-.header {
- margin: 0;
- color: #333;
- text-align: center;
- padding: 2.5em 2em 0;
- border-bottom: 1px solid #eee;
- }
- .header h1 {
- margin: 0.2em 0;
- font-size: 3em;
- font-weight: 300;
- }
- .header h2 {
- font-weight: 300;
- color: #ccc;
- padding: 0;
- margin-top: 0;
- }
-
-.content-subhead {
- margin: 50px 0 20px 0;
- font-weight: 300;
- color: #888;
-}
-
-#inout {
-padding: 1em;
-}
-.blockhead {
- display: block;
- height: 1em;
-}
-
-.wanmarker {
- background: #77c;
- padding: 0.25em;
- color: #fff;
-}
-
-.lanmarker {
- background: #cc7;
- padding: 0.25em;
- color: #fff;
-}
-
-.wlanmarker {
- background: #7c7;
- padding: 0.25em;
- color: #fff;
-}
-
-.ffmarker {
- background: #ffc12e;
- padding: 0.25em;
- color: #fff;
-}
-
-.infotext {
- font-size: 0.8em;
- padding-right: 1em;
-}
-
-/*
-The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
-appears on the left side of the page.
-*/
-
-#menu {
- margin-left: -200px; /* "#menu" width */
- width: 200px;
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- z-index: 1000; /* so the menu or its navicon stays above all content */
- background: #191818;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
-}
- /*
- All anchors inside the menu should be styled like this.
- */
- #menu a {
- color: #aaa;
- border: none;
- padding: 0.6em 0 0.6em 0.6em;
- }
-
- /*
- Remove all background/borders, since we are applying them to #menu.
- */
- #menu .pure-menu,
- #menu .pure-menu ul {
- border: none;
- background: transparent;
- }
-
- /*
- Add that light border to separate items into groups.
- */
- #menu .pure-menu ul,
- #menu .pure-menu .menu-item-divided {
- border-top: 1px solid #333;
- }
- /*
- Change color of the anchor links on hover/focus.
- */
- #menu .pure-menu li a:hover,
- #menu .pure-menu li a:focus {
- background: #dc0067;
- color: #ffffff;
- }
-
- /*
- This styles the selected menu item `<li>`.
- */
-
- #menu .pure-menu-selected {
- background: #ffc12e;
- color: #fff;
- }
- /*
- This styles a link within a selected menu item `<li>`.
- */
- #menu .pure-menu-selected a {
- color: #fff;
- }
-
- /*
- This styles the menu heading.
- */
- #menu .pure-menu-heading {
- font-size: 110%;
- color: #fff;
- margin: 0;
- }
-
-/* -- Dynamic Button For Responsive Menu -------------------------------------*/
-
-/*
-The button to open/close the Menu is custom-made and not part of Pure. Here's
-how it works:
-*/
-
-/*
-`.menu-link` represents the responsive menu toggle that shows/hides on
-small screens.
-*/
-.menu-link {
- position: fixed;
- display: block; /* show this only on small screens */
- top: 0;
- left: 0; /* "#menu width" */
- background: #000;
- background: rgba(0,0,0,0.7);
- font-size: 10px; /* change this value to increase/decrease button size */
- z-index: 10;
- width: 2em;
- height: auto;
- padding: 2.1em 1.6em;
-}
-
- .menu-link:hover,
- .menu-link:focus {
- background: #000;
- }
-
- .menu-link span {
- position: relative;
- display: block;
- }
-
- .menu-link span,
- .menu-link span:before,
- .menu-link span:after {
- background-color: #fff;
- width: 100%;
- height: 0.2em;
- }
-
- .menu-link span:before,
- .menu-link span:after {
- position: absolute;
- margin-top: -0.6em;
- content: " ";
- }
-
- .menu-link span:after {
- margin-top: 0.6em;
- }
-
-
-/* -- Responsive Styles (Media Queries) ------------------------------------- */
-
-/*
-Hides the menu at `48em`, but modify this based on your app's needs.
-*/
- at media (min-width: 48em) {
-
- .header,
- .content {
- padding-left: 2em;
- padding-right: 2em;
- }
-
- #layout {
- padding-left: 200px; /* left col width "#menu" */
- left: 0;
- }
- #menu {
- left: 200px;
- }
-
- .menu-link {
- position: fixed;
- left: 200px;
- display: none;
- }
-
- #layout.active .menu-link {
- left: 200px;
- }
-}
\ No newline at end of file
diff --git a/src/packages/fff/fff-web/files/www/public/css/style.css b/src/packages/fff/fff-web/files/www/public/css/style.css
deleted file mode 100644
index a194087..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/style.css
+++ /dev/null
@@ -1,78 +0,0 @@
-* {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-body {
- line-height: 1.7em;
- color: #7f8c8d;
- font-size: 13px;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-label {
- color: #34495e;
-}
-
-.pure-img-responsive {
- max-width: 100%;
- height: auto;
-}
-
-.pure-button {
- background-color: #1f8dd6;
- color: white;
- padding: 0.5em 2em;
- border-radius: 5px;
-}
-
-a.pure-button-primary {
- background: white;
- color: #1f8dd6;
- border-radius: 5px;
- font-size: 120%;
-}
-
-.home-menu {
- padding: 0.5em;
- text-align: center;
- box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
-}
-
-.home-menu.pure-menu-open {
- background: #2d3e50;
-}
-
-.home-menu .pure-menu-heading {
- color: white;
- font-weight: 400;
- font-size: 120%;
-}
-
-.home-menu .pure-menu-selected a {
- color: white;
-}
-
-.home-menu a {
- color: #6FBEF3;
-}
-
-.home-menu li a:hover,
-.home-menu li a:focus {
- background: none;
- color: #AECFE5;
-}
-
-.home-menu {
- text-align: left;
-}
-
-.home-menu ul {
- float: right;
-}
diff --git a/src/packages/fff/fff-web/files/www/public/freifunk.svg b/src/packages/fff/fff-web/files/www/public/freifunk.svg
new file mode 120000
index 0000000..1f783ad
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/freifunk.svg
@@ -0,0 +1 @@
+../ssl/freifunk.svg
\ No newline at end of file
diff --git a/src/packages/fff/fff-web/files/www/public/index.html b/src/packages/fff/fff-web/files/www/public/index.html
index 2278278..c09da1d 100644
--- a/src/packages/fff/fff-web/files/www/public/index.html
+++ b/src/packages/fff/fff-web/files/www/public/index.html
@@ -1,13 +1,13 @@
<html>
<head>
<meta charset="utf-8"/>
- <meta http-equiv="refresh" content="0; URL=/cgi-bin/status">
+ <meta http-equiv="refresh" content="0; URL=/cgi-bin/status.html">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
<meta http-equiv="pragma" content="no-cache">
</head>
<body>
- <a href="/cgi-bin/status">Redirecting...</a>
+ <a href="/cgi-bin/status.html">Redirecting...</a>
</body>
</html>
diff --git a/src/packages/fff/fff-web/files/www/public/style.css b/src/packages/fff/fff-web/files/www/public/style.css
new file mode 120000
index 0000000..b862933
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/style.css
@@ -0,0 +1 @@
+../ssl/style.css
\ No newline at end of file
--
2.7.2
Mehr Informationen über die Mailingliste franken-dev