From af731c7dc5e4d947893bcd1427d14195665bcb4f Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Sun, 5 Jan 2014 14:04:59 +0100 Subject: [PATCH] New theme for the IPFire web user interface --- html/html/themes/ipfire-new/images/n2.gif | Bin 0 -> 449 bytes html/html/themes/ipfire-new/images/n3.gif | Bin 0 -> 155 bytes html/html/themes/ipfire-new/images/n5.gif | Bin 0 -> 72 bytes html/html/themes/ipfire-new/images/n6.gif | Bin 0 -> 70 bytes html/html/themes/ipfire-new/images/tux2.png | Bin 0 -> 9640 bytes .../html/themes/ipfire-new/include/colors.txt | 25 + .../themes/ipfire-new/include/css/style.css | 631 ++++++++++++++++++ .../themes/ipfire-new/include/functions.pl | 270 ++++++++ .../ipfire-new/include/js/refreshInetInfo.js | 53 ++ 9 files changed, 979 insertions(+) create mode 100644 html/html/themes/ipfire-new/images/n2.gif create mode 100644 html/html/themes/ipfire-new/images/n3.gif create mode 100644 html/html/themes/ipfire-new/images/n5.gif create mode 100644 html/html/themes/ipfire-new/images/n6.gif create mode 100644 html/html/themes/ipfire-new/images/tux2.png create mode 100644 html/html/themes/ipfire-new/include/colors.txt create mode 100644 html/html/themes/ipfire-new/include/css/style.css create mode 100644 html/html/themes/ipfire-new/include/functions.pl create mode 100644 html/html/themes/ipfire-new/include/js/refreshInetInfo.js diff --git a/html/html/themes/ipfire-new/images/n2.gif b/html/html/themes/ipfire-new/images/n2.gif new file mode 100644 index 0000000000000000000000000000000000000000..b92a19de7af7153d9c02a92866fcdcaab1d5d914 GIT binary patch literal 449 zc-jHM0Y3gmNk%w1VFdt90M!5h{{H^_{QUp_|NHy<`T6+9<3>hSRJ?(XjC>FMw9@9600*4Nqa@$v5O@7USd z=I7_$-QVTr=HcMt+}_^W+1u~#?(pyL>FVn3?(W~=;n~~U>g(&|o;=H=($-{IQa+}qvV)z;Y4)YjYD z+~efrA^8LV00000EC2ui00jU|06+%bK-a5MxiliDPQzodP*x07gTYu>9gKojOXzk7 zV6b647MRTvUMLcQKpLG7=Q61)6eW!!@#rTGfPe^tg8_zy0EvlbXc84Y8#-(fGCMhL z4G~G8!1hQCP8JK>z?dJcIpz literal 0 Hc-jL100001 diff --git a/html/html/themes/ipfire-new/images/n3.gif b/html/html/themes/ipfire-new/images/n3.gif new file mode 100644 index 0000000000000000000000000000000000000000..6627c91a15b21f67fd2d4b52a78f9c7d3513b6ab GIT binary patch literal 155 zc-nLKbhEHbWMoiaIKseiN?(7OvhqG{?PGd+v*hIVXlZTN)I6l4vqDAXfR4^Q1%=hB zsz-En7b+@Fk(J%0rFB$K@1(x|I#ty<^77MVWtS)^ZBSF&s-ba0Uw^Z@Is*n!{K*2Q nbwC8jP6t+r1XRrnU)8Zxw literal 0 Hc-jL100001 diff --git a/html/html/themes/ipfire-new/images/n5.gif b/html/html/themes/ipfire-new/images/n5.gif new file mode 100644 index 0000000000000000000000000000000000000000..a03224278920646cba16f1047d653cc34851d45a GIT binary patch literal 72 zc-nLKbhEHb1(2n;owx?soLv%w4u)&T5W7e@d9 literal 0 Hc-jL100001 diff --git a/html/html/themes/ipfire-new/images/tux2.png b/html/html/themes/ipfire-new/images/tux2.png new file mode 100644 index 0000000000000000000000000000000000000000..cd84ad53d54b0b0d2fa7646fee9746c160bc6841 GIT binary patch literal 9640 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 eHUG2Q{~Z8dO$RMK111Fk0000 ul > li { + display: inline-block; + line-height: 20px; +} + +#cssmenu > ul > li.active a, +#cssmenu > ul > li:hover > a { + color: white; + background: #aaaaaa; +} + +#cssmenu .has-sub { + z-index: 1; +} +#cssmenu .has-sub:hover > ul { + display: block; +} +#cssmenu .has-sub ul { + display: none; + position: absolute; + width: 160px; + top: 100%; + left: 0; +} +#cssmenu .has-sub ul li a { + border-radius: 7px 7px 7px 7px; + background: #ffffff; + color: grey; + font-size: 12px; + display: block; + line-height: 40%; + padding: 12px 5px; + border: 1px solid black; +} +#cssmenu .has-sub ul li:hover a { + background: #dddddd; + box-shadow: inset 0 5px 1px rgba(0, 0, 0, 0.15); + -webkit-box-shadow: inset 0 5px 1px rgba(0, 0, 0, 0.15); +} +#cssmenu .has-sub .has-sub:hover > ul { + display: block; +} +#cssmenu .has-sub .has-sub ul { + display: none; + position: absolute; +} +#cssmenu .has-sub .has-sub ul li a { + background: #606a76; + box-shadow: none; + -webkit-box-shadow: none; +} +#cssmenu .has-sub .has-sub ul li a:hover { + background: #4a5662; + box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15); + -webkit-box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15); +} + + + + +/* Table */ +/* when using class='bordered' after tabletag */ + +table { + *border-collapse: collapse; /* IE7 and lower */ + border-spacing: 0; +} + +.bordered th{ + border-top: 1px solid grey; + border-bottom: 1px solid grey; + background: #cccccc; +} + +.bordered th:first-child{ + -moz-border-radius: 6px 0 0 0; + -webkit-border-radius: 6px 0 0 0; + border-radius: 6px 0 0 0; + border-left: 1px solid grey; + border-top: 1px solid grey; + border-bottom: 1px solid grey; +} + +.bordered th:last-child { + -moz-border-radius: 0 6px 0 0; + -webkit-border-radius: 0 6px 0 0; + border-radius: 0 6px 0 0; + border-right: 1px solid grey; + border-top: 1px solid grey; + border-bottom: 1px solid grey; +} + +.bordered th:only-child{ + -moz-border-radius: 6px 6px 0 0; + -webkit-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; + border: 1px solid grey; +} + +.bordered tr:first-child td:first-child{ + -moz-border-radius: 6px 0 0 0; + -webkit-border-radius: 6px 0 0 0; + border-radius: 6px 0 0 0; + border-left: 1px solid grey; + border-top: 1px solid grey; +} + +.bordered tr:first-child td:last-child{ + -moz-border-radius: 0 6px 0 0; + -webkit-border-radius: 0 6px 0 0; + border-radius: 0 6px 0 0; + border-top: 1px solid grey; +} +.bordered tr:first-child td:only-child{ + -moz-border-radius: 6px 6px 0 0; + -webkit-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; + border-left: 1px solid grey; + border-right: 1px solid grey; + border-top: 1px solid grey; +} + +.bordered tr:first-child td{ + border-top: 1px solid grey; +} + +.bordered tr:last-child{ + border-left: 1px solid grey; + border-right: 1px solid grey; +} + +.bordered tr:last-child td:first-child { + -moz-border-radius: 0 0 0 6px; + -webkit-border-radius: 0 0 0 6px; + border-radius: 0 0 0 6px; + border-bottom: 1px solid grey; +} + +.bordered tr:last-child td:last-child { + -moz-border-radius: 0 0 6px 0; + -webkit-border-radius: 0 0 6px 0; + border-radius: 0 0 6px 0; + border-bottom: 1px solid grey; +} + +.bordered tr:last-child td:only-child { + -moz-border-radius: 0 0 6px 6px; + -webkit-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + border-bottom: 1px solid grey; +} + +.bordered tr:last-child td { + border-bottom: 1px solid grey; +} + +.bordered td:first-child { + border-left: 1px solid grey; +} + +.bordered td:last-child { + border-right: 1px solid grey; +} + + +/* This controls the width of the fluid width layouts */ + +div.fluid +{ +width: 90% !important; +} + +/* This controls the width of the fixed width layouts */ + +div.fixed +{ +width: 910px !important; +} + +/* Basic Stuff */ + +* +{ +margin: 0em; +padding: 0em; +} + +/* body */ + +body +{ +background: #ffffff; +background-image: -webkit-linear-gradient(#880400 0%, black 100%); +background-image: -moz-linear-gradient(#880400 0%, black 100%); +background-image: -o-linear-gradient(#880400 0%, black 100%); +background-image: linear-gradient(#880400 0%, black 100%); +background-attachment: fixed; +font-size: 9pt; +font-family: "trebuchet ms", helvetica, sans-serif; +} + + +h1,h3,h4,h5,h6 +{ +font-size: 20px; +font-weight: normal; +letter-spacing: -1px; +text-transform: lowercase; +text-align: left; +} + + +h3,h4,h5,h6 +{ +color: #66000F; +} + +h1 span +{ +position: absolute; +font-weight: bold; +padding-left: 1.7em; +} + +h3 span +{ +font-weight: bold; +} + +h4 span +{ +font-weight: bold; +} + +br.clear +{ +clear: both; +} + +img +{ +padding: 3px; +} + +img.floatTL +{ +float: left; +margin-right: 1.5em; +margin-bottom: 1.5em; +margin-top: 0.5em; +} + +a +{ +text-decoration: underline; +color: #D90000; +} + +a:hover +{ +text-decoration: none; +} + +ul.links +{ +list-style: none; +} + +ul.links li +{ +line-height: 2em; +} + +ul.links li.first +{ +} + +p +{ +line-height: 1.8em; +} + +iframe { + border: 0; + padding: 0; +} + +/* Header */ + +#header +{ +width:100%; +height:80px; +} + +#header_inner +{ +position: relative; +width: 910px; +height:80px; +margin: 0 auto; +} + +/* Logo */ + +#logo +{ +position: absolute; +width: 200px; +height:65px; +bottom: 0em; +background: url('/themes/ipfire-new/images/tux2.png') no-repeat; +background-position: left; +} + +#logo h1 +{ +display: inline; +color: #fff; +font-size: 3.6em; +} + +#logo h2 +{ +position: relative; +width: 300px; +height: 20px; +top: 70px; +left: 0px; +display: block; +padding-left: 0.5em; +color: #880400; +font-size: 14px; +z-index: 1; +} + + +/* Main */ + +#main +{ +position: relative; +width: 910px; +margin: 0 auto; +margin-top: 1em; +padding-left: 20px; +padding-right: 20px; +border-radius: 8px 8px 8px 8px; +-webkit-border-radius: 8px 8px 8px 8px; +background: #fff url('/themes/ipfire-new/images/n2.gif') 0px 0px repeat-x; +border: 1px solid black; +} + +#main_inner p +{ +text-align: justify; +margin-bottom: 2.0em; +} + +#main_inner ul +{ +margin-bottom: 2.0em; +} + +#main_inner +{ +position: relative; +width: 910px; +margin: 0 auto; +padding-top: 3.5em; +} + +#main_inner h3,h4 +{ +border-bottom: dotted 1px #E1E1E1; +position: relative; +} + +#main_inner h3 +{ +font-size: 2.1em; +padding-bottom: 0.1em; +margin-bottom: 0.8em; +} + +#main_inner h4 +{ +font-size: 1.2em; +padding-bottom: 0.175em; +margin-bottom: 1.4em; +margin-top: 0.95em; +} + +#main_inner .post +{ +position: relative; +border-radius: 8px 8px 8px 8px; +-webkit-border-radius: 8px 8px 8px 8px; +border: 1px solid silver; +padding-left: 2em; +padding-right: 2em; +padding-bottom: 1em; +padding-top: 1em; +} + +#main_inner .post h3 +{ +font-size: 1.7em; +padding-bottom: 1.2em; +} + +#main_inner .post ul.post_info +{ +list-style: none; +position: absolute; +top: 3em; +font-size: 0.8em; +} + +#main_inner .post ul.post_info li +{ +background-position: 0em 0.2em; +background-repeat: no-repeat; +display: inline; +padding-left: 18px; +} + +#main_inner .post ul.post_info li.date +{ +background-image: url('/themes/ipfire-new/images/n5.gif'); +} + +#main_inner .post ul.post_info li.comments +{ +background-image: url('/themes/ipfire-new/images/n6.gif'); +margin-left: 1.1em; +} + +/* Footer */ + +#footer +{ +width: 930px; +margin: 0 auto; +text-align: center; +clear: both; +border-top: dotted 1px #E1E1E1; +margin-top: 1.0em; +margin-bottom: 1.0em; +padding-top: 1.0em; +text-transform: lowercase; +} + +/* Search */ + +input +{ +margin: 0.2em; +} + +input.button +{ +background: #CA2F2F url('/themes/ipfire-new/images/n3.gif') repeat-x; +color: #fff; +border: solid 1px #A94B4B; +font-weight: bold; +text-transform: lowercase; +font-size: 0.8em; +height: 2.0em; +} + +input.text +{ +border: solid 1px #F1F1F1; +font-size: 1.0em; +padding: 0.25em 0.25em 0.25em 0.25em; +} + +#search +{ +width: 100%; +margin-bottom: 2.0em; +} + +#search input.text +{ +position: absolute; +top: 0em; +left: 0em; +width: 9.5em; +} + +#search input.button +{ +position: absolute; +top: 0em; +right: 0em; +min-width: 2.0em; +max-width: 2.5em; +} + +#traffic +{ +margin-top: -2.2em; +margin-left: 60em; +} +/* LAYOUT - 3 COLUMNS */ + + /* Primary content */ + + #primaryContent_3columns + { + margin-right: 34em; + } + + #columnA_3columns + { + float: left; + width: 100%; + margin-right: -34em; + padding-right: 2em; + } + + /* Secondary Content */ + + #secondaryContent_3columns + { + float: right; + } + + #columnB_3columns + { + width: 13.0em; + float: left; + padding: 0em 2em 0.5em 2em; + border-left: dotted 1px #E1E1E1; + } + + #columnC_3columns + { + width: 13.0em; + float: left; + padding: 0em 0em 0.5em 2em; + border-left: dotted 1px #E1E1E1; + } + #columnC_2columns + { + float: left; + width: 100%; + } + +/* LAYOUT - COLUMNLESS */ + + /* Primary content */ + + #primaryContent_columnless + { + position: relative; + } + + #columnA_columnless + { + position: relative; + margin-left: -5em; + } + +/* status */ +.statusdisplay { + + border-radius: 8px 8px 8px 8px; + -webkit-border-radius: 8px 8px 8px 8px; + padding-left: 20px; + padding-right: 20px; + margin: 0 auto; + width: 950px; + height:100px; + margin-left: -1.6em; + margin-top: 1em; + margin-bottom: 1em; + background: #fff url('/themes/ipfire-new/images/n2.gif') 0px 0px repeat-x; +} +/* Bandwidth Calculation */ + +#bandwidthCalculationContainer { + display: block; +} diff --git a/html/html/themes/ipfire-new/include/functions.pl b/html/html/themes/ipfire-new/include/functions.pl new file mode 100644 index 0000000000..b644c073d5 --- /dev/null +++ b/html/html/themes/ipfire-new/include/functions.pl @@ -0,0 +1,270 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### +# # +# Theme file for IPfire (based on ipfire theme) # +# Author kay-michael köhler kmk # +# # +# Version 1.0 March, 6th 2013 # +############################################################################### +# # +# Modyfied theme by a.marx@ipfire.org January 2014 # +# # +# Cleanup code, deleted unused code and rewrote the rest to get a new working # +# IPFire default theme. # +############################################################################### + +use File::Basename; +require "${General::swroot}/lang.pl"; +############################################################################### +# +# print menu html elements for submenu entries +# @param submenu entries +sub showsubmenu() { + my $submenus = shift; + + print "
    "; + foreach my $item (sort keys %$submenus) { + $link = getlink($submenus->{$item}); + next if (!is_menu_visible($link) or $link eq ''); + + my $subsubmenus = $submenus->{$item}->{'subMenu'}; + + if ($subsubmenus) { + print '
  • '; + } else { + print '
  • '; + } + print ''.$submenus->{$item}->{'caption'}.''; + + &showsubmenu($subsubmenus) if ($subsubmenus); + print '
  • '; + } + print "
" +} + +############################################################################### +# +# print menu html elements +sub showmenu() { + print '
    '; + foreach my $k1 ( sort keys %$menu ) { + $link = getlink($menu->{$k1}); + next if (!is_menu_visible($link) or $link eq ''); + print '
  • '.$menu->{$k1}->{'caption'}.''; + my $submenus = $menu->{$k1}->{'subMenu'}; + &showsubmenu($submenus) if ($submenus); + print "
  • "; + } + if ($settings{'SPEED'} ne 'off') { + print"
    "; + print""; + print""; + print"
    Traffic:  In   Out
    "; + print '
'; + } +} + +############################################################################### +# +# print page opening html layout +# @param page title +# @param boh +# @param extra html code for html head section +# @param suppress menu option, can be numeric 1 or nothing. +# menu will be suppressed if param is 1 +sub openpage { + my $title = shift; + my $boh = shift; + my $extrahead = shift; + my $suppressMenu = shift; + my @tmp = split(/\./, basename($0)); + my $scriptName = @tmp[0]; + my $h2 = $title; + + @URI=split ('\?', $ENV{'REQUEST_URI'} ); + &General::readhash("${swroot}/main/settings", \%settings); + &genmenu(); + + $title = "IPFire - $title"; + if ($settings{'WINDOWWITHHOSTNAME'} eq 'on') { + $title = "$settings{'HOSTNAME'}.$settings{'DOMAINNAME'} - $title"; + } + +print < + + + $title + $extrahead + + + + +END +; +if ($settings{'SPEED'} ne 'off') { +print < +END +; +} + +if ($settings{'FX'} ne 'off') { +print < + +END +; +} + +print < + +END +; + +print < +
+ +
+END +; + +&showmenu() if ($suppressMenu != 1); + +print < +
+
+END +; +} + +############################################################################### +# +# print page opening html layout without menu +# @param page title +# @param boh +# @param extra html code for html head section +sub openpagewithoutmenu { + openpage(shift,shift,shift,1); + return; +} + + +############################################################################### +# +# print page closing html layout + +sub closepage () { + my $status = &connectionstatus(); + my $uptime = `/usr/bin/uptime|cut -d \" \" -f 4-`; + $uptime =~ s/year(s|)/$Lang::tr{'year'}/; + $uptime =~ s/month(s|)/$Lang::tr{'month'}/; + $uptime =~ s/days/$Lang::tr{'days'}/; + $uptime =~ s/day /$Lang::tr{'day'}/; + $uptime =~ s/user(s|)/$Lang::tr{'user'}/; + $uptime =~ s/load average/$Lang::tr{'uptime load average'}/; +print < +
+
+END +; + +print "
"; +print < + $status Uptime: $uptime +END +; + +print < +
+ + + + +END +; +} + +############################################################################### +# +# print big box opening html layout +sub openbigbox +{ +} + +############################################################################### +# +# print big box closing html layout +sub closebigbox +{ +} + +############################################################################### +# +# print box opening html layout +# @param page width +# @param page align +# @param page caption +sub openbox +{ + $width = $_[0]; + $align = $_[1]; + $caption = $_[2]; + +print < +
+END +; +if ($caption) { print "

$caption

\n"; } else { print " "; } +} + +############################################################################### +# +# print box closing html layout +sub closebox +{ + print < +
+ +END +; +} + +1; diff --git a/html/html/themes/ipfire-new/include/js/refreshInetInfo.js b/html/html/themes/ipfire-new/include/js/refreshInetInfo.js new file mode 100644 index 0000000000..7ead8330ae --- /dev/null +++ b/html/html/themes/ipfire-new/include/js/refreshInetInfo.js @@ -0,0 +1,53 @@ +/* refreshInetInfo.js +* functions for retrieving status information via jQuery +* Modified: March 6th, 2013 by michael@koehler.tk +* Authors: IPFire Team (info@ipfire.org) + Kay-Michael Köhler (michael@koehler.tk) +* Visit http://www.ipfire.org/ +*/ + +var t_current; +var t_last = 0; +var rxb_current; +var rxb_last = 0; +var txb_current; +var txb_last = 0; + +$(document).ready(function(){ + refreshInetInfo(); +}); + +function refreshInetInfo() { + $.ajax({ + url: '/cgi-bin/speed.cgi', + success: function(xml){ + + t_current = new Date(); + var t_diff = t_current - t_last; + + rxb_current = $("rxb",xml).text(); + var rxb_diff = rxb_current - rxb_last; + rxb_last = rxb_current; + + var rx_kbs = rxb_diff/t_diff; + rx_kbs = Math.round(rx_kbs*10)/10; + + txb_current = $("txb",xml).text(); + var txb_diff = txb_current - txb_last; + txb_last = txb_current; + + var tx_kbs = txb_diff/t_diff; + tx_kbs = Math.round(tx_kbs*10)/10; + + if (t_last != 0) { + $("#rx_kbs").text(rx_kbs + ' kb/s'); + $("#tx_kbs").text(tx_kbs + ' kb/s'); + if ($("#bandwidthCalculationContainer").css('display') == 'none') + $("#bandwidthCalculationContainer").css('display','block'); + } + + t_last = t_current; + } + }); + window.setTimeout("refreshInetInfo()", 2000); +} -- 2.39.5