]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - css.c
Add support to decompress xz files
[thirdparty/sarg.git] / css.c
diff --git a/css.c b/css.c
index cd7c3aaff37bc9170f07f756b4f7cff937f0624f..35d79da9055827f6c08cc3d548df38ec370ee553 100644 (file)
--- a/css.c
+++ b/css.c
@@ -1,10 +1,11 @@
 /*
- * AUTHOR: Pedro Lineu Orso                      orso@penguintech.com.br
- *                                                            1998, 2005
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
+ * Support:
+ *     http://sourceforge.net/projects/sarg/forums/forum/363374
  * ---------------------------------------------------------------------
  *
  *  This program is free software; you can redistribute it and/or modify
  */
 
 #include "include/conf.h"
+#include "include/defs.h"
 
-int css(FILE *fp_css)
+void css_content(FILE *fp_css)
 {
-   FILE *fp_in, *fp_ou;
-   char csstext[512];
-
-   fp_ou = fp_css;
-   if(strlen(ExternalCSSFile) > 0) {
-      if((fp_in=fopen(ExternalCSSFile,"r"))==NULL) {
-         fprintf(stderr, "SARG: (css) %s: %s\n",text[45],ExternalCSSFile);
-         exit(1);
-      }
-      fputs("<style>\n",fp_ou);
-      while(fgets(buf,MAXLEN,fp_in)!=NULL)
-         fputs(buf,fp_ou);
-      fputs("</style>\n",fp_ou);
-      return;
-   }
-
-   fputs("<style>\n",fp_ou);
-   sprintf(csstext,".logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:%s;}\n",LogoTextColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".body {font-family:%s;color:%s;background-color:%s;}\n",FontFace,TxColor,BgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".info {font-family:%s;font-size:9px;}\n", FontFace);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".info a:link,a:visited {font-family:%s;color:#0000FF;font-size:9px;text-decoration:none;}\n", FontFace);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".title {font-family:%s;font-size:%s;color:%s;background-color:%s;}\n",FontFace,TitleFontSize,TiColor,BgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".title2 {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;}\n",FontFace,TitleFontSize,TiColor,BgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".title3 {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;}\n",FontFace,TitleFontSize,TiColor,BgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".header {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".header2 {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".header3 {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".text {font-family:%s;color:%s;font-size:%s;}\n", FontFace, TxColor, FontSize);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:right;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;background-color:%s;text-align:right;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data2 {font-family:%s;color:%s;font-size:%s;background-color:%s;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data2 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data3 {font-family:%s;color:%s;font-size:%s;text-align:center;background-color:%s;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".data3 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;text-align:center;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".text {font-family:%s;color:%s;font-size:%s;text-align:right;}\n", FontFace, TxColor, FontSize, TxBgColor);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".link {font-family:%s;font-size:%s;color:#0000FF;}\n", FontFace, FontSize);
-   fputs(csstext,fp_ou);
-   sprintf(csstext,".link a:link,a:visited {font-family:%s;font-size:%s;color:#0000FF;text-decoration:none;}\n", FontFace, FontSize);
-   fputs(csstext,fp_ou);
-   fputs("</style>\n",fp_ou);
-
-   return;
-;}
+       fprintf(fp_css,".logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:%s;text-align:center;vertical-align:middle;border:none;padding:0px;margin-bottom:5px;}\n",LogoTextColor);
+       fprintf(fp_css,".logo th {padding:0px;}\n");
+       fprintf(fp_css,".logo img {vertical-align:middle;padding:0px;border:0px none;}\n");
+       fprintf(fp_css,".body {font-family:%s;font-size:%s;color:%s;background-color:%s;background-image:url(%s);}\n",FontFace,TitleFontSize,TxColor,BgColor,BgImage);
+       fprintf(fp_css,".info {font-family:%s;font-size:10px;text-align:center;margin-top:1em;margin-bottom:1em;}\n", FontFace);
+       fprintf(fp_css,".info a:link,a:visited {font-family:%s;color:#0000FF;font-size:10px;text-decoration:none;}\n", FontFace);
+
+       fprintf(fp_css,".title {width:100%%;text-align:center;margin-bottom:1em;}\n");
+       fprintf(fp_css,"div.title > table {margin:auto;}\n");
+       fprintf(fp_css,".title_c {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:center;}\n",FontFace,TitleFontSize,TiColor,BgColor);
+       fprintf(fp_css,".title_l {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;}\n",FontFace,TitleFontSize,TiColor,BgColor);
+       fprintf(fp_css,".title_r {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;}\n",FontFace,TitleFontSize,TiColor,BgColor);
+
+       fprintf(fp_css,".index {width:100%%;text-align:center;}\n");
+       fprintf(fp_css,"div.index > table {margin:auto;}\n");
+       fprintf(fp_css,".report {width:100%%;text-align:center;}\n");
+       fprintf(fp_css,"div.report > table {margin:auto;}\n");
+
+       fprintf(fp_css,".header_l {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
+       fprintf(fp_css,".header_r {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
+       fprintf(fp_css,".header_c {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor);
+
+       fprintf(fp_css,".data {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:right;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
+       fprintf(fp_css,".data a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;background-color:%s;text-align:right;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
+
+       fprintf(fp_css,".data2 {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:left;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
+       fprintf(fp_css,".data2 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;text-align:left;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
+
+       fprintf(fp_css,".data3 {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:center;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor);
+       fprintf(fp_css,".data3 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;text-align:center;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor);
+
+       fprintf(fp_css,".text {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:right;}\n", FontFace, TxColor, FontSize, TxBgColor);
+       fprintf(fp_css,".more {font-style: italic;color:#777;}\n");
+
+       fprintf(fp_css,".link {font-family:%s;font-size:%s;color:#0000FF;}\n", FontFace, FontSize);
+       fprintf(fp_css,".link a:link,a:visited {font-family:%s;font-size:%s;color:#0000FF;text-decoration:none;}\n", FontFace, FontSize);
+
+       fprintf(fp_css,"a > img {border:none;}\n");
+
+       fputs(".warn {margin:0.5em;}\n",fp_css);
+       fprintf(fp_css,".warn > span {padding:0.5em;border:2px solid black;background-color:orange;font-family:%s;font-size:%s;}\n",FontFace,FontSize);
+
+       fprintf(fp_css,"tr.tt > td {font-family:%s;color:%s;font-size:%s;text-align:left;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;padding-top:0.5em;border:none;}\n", FontFace, TxColor, FontSize);
+
+       if (SortTableJs[0]) {
+               fprintf(fp_css,".sorttable_nosort {cursor:default !important;}\n");
+               fprintf(fp_css,".sortable thead th {cursor:pointer;}\n");
+       }
+}
+
+void css(FILE *fp_css)
+{
+       if(ExternalCSSFile[0] != '\0') {
+               fprintf(fp_css,"<link rel=\"stylesheet\" href=\"%s\" type=\"text/css\">\n",ExternalCSSFile);
+               return;
+       }
+
+       fprintf(fp_css,"<style type=\"text/css\">\n");
+       css_content(fp_css);
+       fputs("</style>\n",fp_css);
+}