packages feed

iptadmin-1.1.0: src/Template.hs

module Template where

htmlWrapper content = unlines ["",
 ""++"<?xml version=\"1.0\" encoding=\"utf-8\"?>",
 ""++"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">",
 ""++"<html xmlns=\"http://www.w3.org/1999/xhtml\">",
 ""++"    <head>",
 ""++"        <title>IptAdmin</title>",
 ""++"        <meta name=\"AUTHOR\" content=\"Evgeny Tarasov\" />",
 ""++"        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />",
 ""++"        <meta name=\"DESCRIPTION\" content=\"iptables web interface\"/>",
 ""++"        <meta name=\"KEYWORDS\" content=\"iptables, haskell\" />",
 ""++"        <style type=\"text/css\">",
 ""++"            body {",
 ""++"                font-family:Arial,Helvetica,sans-serif;",
 ""++"                background-color: #f7f7f7;",
 ""++"                color: #5b5b5b;",
 ""++"            }",
 ""++"            tr.even {",
 ""++"                background-color:#f0f0f0;",
 ""++"            }",
 ""++"            table {",
 ""++"                border-collapse : collapse;",
 ""++"                background-color: #ffffff;",
 ""++"            }",
 ""++"            th {",
 ""++"                background-color: #b7b7b7;",
 ""++"                color: #f7f7f7;",
 ""++"            }",
 ""++"            table, th, td {",
 ""++"                border: 1px dotted black;",
 ""++"                padding: 5px;",
 ""++"            }",
 ""++"            td.rightAlign {",
 ""++"                text-align:right;",
 ""++"            }",
 ""++"            a:link, a:visited {",
 ""++"                color: #856767;",
 ""++"            }",
 ""++"            a:hover {",
 ""++"                color: #bb1010;",
 ""++"            }",
 ""++"            a:active {",
 ""++"                color: #666666;",
 ""++"            }",
 ""++"            a.title:link, a.title:visited {",
 ""++"                color: #856767;",
 ""++"                text-decoration: none;",
 ""++"            }",
 ""++"            a.title:active, a.title:hover {",
 ""++"                text-decoration: underline;",
 ""++"            }",
 ""++"            a.button:link, a.button:visited {",
 ""++"                display: block;",
 ""++"                float: right;",
 ""++"                font-weigth: bold;",
 ""++"                color: #f7f7f7;",
 ""++"                background-color: #b5aaaa;",
 ""++"                width: 10px;",
 ""++"                padding: 0px 4px 0px 4px;",
 ""++"                margin: 0px 3px 0px 0px;",
 ""++"                text-decoration: none;",
 ""++"                text-align: center;",
 ""++"            }",
 ""++"            a.button:hover, a.button:active {",
 ""++"                background-color: #bb1010;",
 ""++"            }",
 ""++"            div.logout {",
 ""++"                float:right;",
 ""++"                padding: 20px;",
 ""++"            }",
 ""++"            #title {",
 ""++"                float: left;",
 ""++"                padding: 15px;",
 ""++"                color: #bbbbbb;",
 ""++"                font-size: 26px;",
 ""++"            }",
 ""++"            span.version {",
 ""++"                margin-left: 0.5em;",
 ""++"                font-size: 0.5em;",
 ""++"            }",
 ""++"            #links {",
 ""++"                margin-left: auto;",
 ""++"                margin-right: auto;",
 ""++"                width: 9.5em;",
 ""++"                padding: 20px;",
 ""++"                /*padding-left: 65px;",
 ""++"                */",
 ""++"                text-align: center;",
 ""++"                /*",
 ""++"                margin-left: 200px;",
 ""++"                */",
 ""++"            }",
 ""++"            a.activeTableLink:link, a.activeTableLink:visited {",
 ""++"                display: block;",
 ""++"                float:left;",
 ""++"                color: #f7f7f7;",
 ""++"                background-color: #b5aaaa;",
 ""++"                padding: 4px;",
 ""++"                margin: 0px 3px 0px 0px;",
 ""++"                text-decoration: none;",
 ""++"            }",
 ""++"            a.activeTableLink:hover, a.activeTableLink:active {",
 ""++"                background-color: #bb1010;",
 ""++"            }",
 ""++"            a.tableLink:link, a.tableLink:visited {",
 ""++"                display: block;",
 ""++"                float:left;",
 ""++"                color: #856767;",
 ""++"                background-color: #f7f7f7;",
 ""++"                padding: 4px;",
 ""++"                margin: 0px 3px 0px 0px;",
 ""++"                text-decoration: none;",
 ""++"            }",
 ""++"            a.tableLink:hover, a.tableLink:active {",
 ""++"                color: #bb1010;",
 ""++"            }",
 ""++"            #localLinks {",
 ""++"                float: left;",
 ""++"                background: #deeeee;",
 ""++"                margin-left: 100px;",
 ""++"                padding: 10px;",
 ""++"            }",
 ""++"            div.pageHeader {",
 ""++"                width: 50%;",
 ""++"                margin-top: 10px;",
 ""++"                margin-left: auto;",
 ""++"                margin-right: auto;",
 ""++"                text-align: center;",
 ""++"            }",
 ""++"            #rules {",
 ""++"                margin-left: auto;",
 ""++"                margin-right: auto;",
 ""++"                width: 100%;",
 ""++"                max-width: 1000px;",
 ""++"                padding-top: 10px;",
 ""++"            }",
 ""++"            input.resetButton {",
 ""++"                padding: 0;",
 ""++"            }",
 ""++"            div.loginForm {",
 ""++"                /*float: left;",
 ""++"                margin-left: auto;",
 ""++"                margin-right: auto;",
 ""++"                */",
 ""++"                position: absolute;",
 ""++"                top: 50%;",
 ""++"                left: 50%;",
 ""++"                margin-top: -40px;",
 ""++"                margin-left: -130px;",
 ""++"            }",
 ""++"            div.loginForm2 {",
 ""++"                height: 80px;",
 ""++"                width: 280px;",
 ""++"                background: #ffffff;",
 ""++"                border: 1px solid #666666;",
 ""++"                border-radius: 15px;",
 ""++"                -moz-border-radius: 15px;",
 ""++"                padding: 15px;",
 ""++"                text-align: center;",
 ""++"            }",
 ""++"            span.loginForm {",
 ""++"                color: #ababab;",
 ""++"            }",
 ""++"            table.loginForm, td.loginForm {",
 ""++"                border: none;",
 ""++"                padding: 0px;",
 ""++"            }",
 ""++"            td.loginForm {",
 ""++"                padding: 2px;",
 ""++"            }",
 ""++"            div.editForm {",
 ""++"                padding-top: 20px;",
 ""++"                margin-left: auto;",
 ""++"                margin-right: auto;",
 ""++"                max-width: 700px",
 ""++"            }",
 ""++"            table.rules {",
 ""++"                margin-top: 10px;",
 ""++"                border: 1px solid #666666;",
 ""++"                width: 100%;",
 ""++"            }",
 ""++"            table.editForm {",
 ""++"                border: 1px solid #666666;",
 ""++"            }",
 ""++"            th.col0 {",
 ""++"                width : 5px;",
 ""++"                padding: 0;",
 ""++"            }",
 ""++"            th.col1 {",
 ""++"                width : 15px;",
 ""++"            }",
 ""++"            th.col4 {",
 ""++"                width : 60px;",
 ""++"            }",
 ""++"            th.col6 {",
 ""++"                width : 64px;",
 ""++"            }",
 ""++"            /*",
 ""++"            Цвета для различных targets",
 ""++"            */",
 ""++"            span.acceptTarget {",
 ""++"                color: #4e994f;",
 ""++"            }",
 ""++"            span.dropTarget {",
 ""++"                color: #dd2222;",
 ""++"            }",
 ""++"            span.rejectTarget {",
 ""++"                color: #a54638;",
 ""++"            }",
 ""++"            span.snatTarget {",
 ""++"                color: #7a997b;",
 ""++"            }",
 ""++"            span.masqueradeTarget {",
 ""++"                color: #4e994f;",
 ""++"            }",
 ""++"            span.dnatTarget {",
 ""++"                color: #77aac5;",
 ""++"            }",
 ""++"            span.redirectTarget {",
 ""++"                color: #7783c5;",
 ""++"            }",
 ""++"            span.chainTarget {",
 ""++"                color: #000000;",
 ""++"            }",
 ""++"            span.unknownTarget {",
 ""++"                color: #ababab;",
 ""++"            }",
 ""++"            /*",
 ""++"            Стили для вложенной таблицы и элемента таблицы,",
 ""++"            в которой вкладывается таблица",
 ""++"            */",
 ""++"            td.inline {",
 ""++"                margin: 0;",
 ""++"                padding: 0;",
 ""++"            }",
 ""++"            table.inline {",
 ""++"                border-style: none;",
 ""++"                width: 100%",
 ""++"            }",
 ""++"            /*",
 ""++"            Стили элементов таблиц для скрытия рамки вокруг таблицы,",
 ""++"            это приводило к утолщению сетки в местах сопряжения",
 ""++"            */",
 ""++"            th.target {",
 ""++"                border-left: none;",
 ""++"                border-top: none;",
 ""++"            }",
 ""++"            th.targetParam {",
 ""++"                border-right: none;",
 ""++"                border-top: none;",
 ""++"            }",
 ""++"            td.target {",
 ""++"                border-bottom: none;",
 ""++"                border-left: none;",
 ""++"            }",
 ""++"            td.targetParam {",
 ""++"                border-bottom: none;",
 ""++"                border-right: none;",
 ""++"            }",
 ""++"        </style>",
 ""++"    </head>",
 ""++"    <body>",
 ""++content,
 ""++"    </body>",
 ""++"</html>",
 ""]