fputs("</head>\n",fp_ou);
if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou,"..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=0 cellspacing=0>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[117]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
return;
}
- fprintf(fp_css,"<style>\n.logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:%s;}\n",LogoTextColor);
+ fprintf(fp_css,"<style type=\"text/css\">\n");
+ fprintf(fp_css,".logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:%s;vertical-align:middle;border:none;padding:0px;}\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;color:%s;background-color:%s;}\n",FontFace,TxColor,BgColor);
fprintf(fp_css,".info {font-family:%s;font-size:10px;}\n", FontFace);
fprintf(fp_css,".info a:link,a:visited {font-family:%s;color:#0000FF;font-size:10px;text-decoration:none;}\n", FontFace);
fputs("</head>\n",fp_ou);
if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
-
+ write_logo_image(fp_ou);
+
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou,"..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[128]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=1 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[98],text[111],text[110],text[91],text[129]);
fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
fputs("</head>\n",fp_ou);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou, "..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</b></th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[46]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[98],text[111],text[110],text[91]);
The total number of files seen as downloaded.
*/
+/*! \var LogoImage
+The image to link in the HTML files as the logo of the organisation generating the reports.
+*/
+
+/*! \var Width
+The width in pixel of the logo ::LogoImage to display in the HTML reports.
+*/
+
+/*! \var Height
+The height in pixel of the logo ::LogoImage to display in the HTML reports.
+*/
+
+/*! \var LogoText
+The text to display next to the logo of the organisation producing the reports.
+*/
+
+/*! \var LogoTextColor
+The color to write the text of the logo in ::LogoText.
+*/
\note A URL embedding another web site's address ending by .com at the end of the URL will match the download
extension com if it is defined in the ::DownloadSuffix.
*/
+
+
+
+
+/*! \fn void write_logo_image(FILE *fp_ou)
+Write a link of the logo of the organisation that generate the report in the HTML file. The logo
+is written in a centered table.
+
+\param fp_ou The handle of the HTML file being written.
+*/
+
+
+
+
+/*! \fn void output_html_string(FILE *fp_ou,const char *str)
+Write a string in a file and replace the problematic ASCII characters by their equivalent HTML entities.
+
+\param fp_ou The handle of the output file.
+\param str The string to output.
+*/
char *str;
int z=0;
int count=0;
+ int i;
ouser[0]='\0';
exit(1);
}
- fputs("<html>\n",fp_ou);
- fputs("<head>\n",fp_ou);
- fprintf(fp_ou," <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
+ fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
fputs("</head>\n",fp_ou);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou, "..");
-
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
- fprintf(fp_ou,"<tr><th class=\"title\">%s</b></th></tr>\n",Title);
+
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
+ fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[125]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[98],text[111],text[110],text[91]);
printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",report_in);
exit(1);
}
-
+
if((str=(char *) strstr(user, "_")) != (char *) NULL ) {
if((str=(char *) strstr(str+1, "_")) != (char *) NULL )
fixip(user);
continue;
}
- if(strlen(BlockIt) > 0)
- sprintf(BlockImage,"<a href=\"%s%s?url=%s\"><img src=\"%s/sarg-squidguard-block.png\" border=\"0\"></a> ",wwwDocumentRoot,BlockIt,url,ImageFile);
- else BlockImage[0]='\0';
+ for (i=strlen(url)-1 ; i>=0 && (unsigned char)url[i]<' ' ; i--) url[i]=0;
- fprintf(fp_ou,"<tr><td class=\"data\">%s</td><td class=\"data\">%s</td><td class=\"data\">%s-%s</td><td class=\"data2\">%s<a href=\"%s\">%s</a></td></th>\n",name,ip,data,hora,BlockImage,url,url);
+ fprintf(fp_ou,"<tr><td class=\"data\">%s</td><td class=\"data\">%s</td><td class=\"data\">%s-%s</td><td class=\"data2\">",name,ip,data,hora);
+ if(BlockIt[0]!='\0')
+ fprintf(fp_ou,"<a href=\"%s%s?url=%s\"><img src=\"%s/sarg-squidguard-block.png\" border=\"0\"></a> ",wwwDocumentRoot,BlockIt,url,ImageFile);
+ fprintf(fp_ou,"<a href=\"%s\">",url);
+ output_html_string(fp_ou,url);
+ fputs("</a></td></tr>\n",fp_ou);
}
fputs("</table>\n",fp_ou);
show_info(fp_ou);
- fputs("</html>\n",fp_ou);
+ fputs("</body>\n</html>\n",fp_ou);
fclose(fp_in);
fclose(fp_ou);
int cstatus;
const char txtext[]=".txt";
int dlen;
+ char href2[MAXLEN];
if(strstr(ReportType,"users_sites") == 0) return;
exit(1);
}
- fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"",fp_ou);
- fputs(" \"http://www.w3.org/TR/html4/loose.dtd\">\n",fp_ou);
+ fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n",fp_ou);
fputs("<html>\n",fp_ou);
fputs("<head>\n",fp_ou);
fprintf(fp_ou," <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
fprintf(fp_ou,"<body style=\"font-family:%s;font-size:%s;background-color:%s; \
background-image:url(%s)\">\n",FontFace,TitleFontSize,BgColor,BgImage);
- if(strlen(LogoImage) > 0) {
- fputs("<center><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
- fprintf(fp_ou,"<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n",LogoImage,Width,Height,LogoText);
- fputs("<tr><td height=\"5\"></td></tr>\n",fp_ou);
- fputs("</table>\n",fp_ou);
- }
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../../..");
else
show_sarg(fp_ou, "../..");
- fputs("<center><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\" colspan=\"2\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\" colspan=\"2\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><td class=\"header\" colspan=\"2\">%s: %s</td></tr>\n",text[90],name2);
fprintf(fp_ou,"<tr><td class=\"header\" colspan=\"2\">%s: %s, %s</td></tr>\n",text[104],UserSortField,UserSortOrder);
- fprintf(fp_ou,"<tr><td class=\"header3\" colspan=2>%s %s</td></tr>\n",text[32],text[55]);
+ fprintf(fp_ou,"<tr><td class=\"header3\" colspan=\"2\">%s %s</td></tr>\n",text[32],text[55]);
fputs("<tr><td></td></tr>\n",fp_ou);
- fputs("</table></center>\n",fp_ou);
- fputs("<center><table cellpadding=\"2\" cellspacing=\"1\">\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"2\" cellspacing=\"1\">\n",fp_ou);
if(strlen(denied_report) > 0) {
- fprintf(fp_ou,"<tr><td class=\"header\" colspan=11><a href=\"denied_%s.html\">%s</a> %s</td></tr>\n",denied_report,text[116],text[55]);
+ fprintf(fp_ou,"<tr><td class=\"header\" colspan=\"11\"><a href=\"denied_%s.html\">%s</a> %s</td></tr>\n",denied_report,text[116],text[55]);
}
strcpy(val3,text[92]);
strcpy(val6,text[94]);
strcpy(val7,text[95]);
sprintf(val8,"%%%s",text[99]);
- strcpy(val9,"colspan=2");
+ strcpy(val9,"colspan=\"2\"");
bzero(val10, 255);
if(strstr(UserReportFields,"CONNECT") == 0)
}
if(strcmp(Privacy,"yes") == 0)
- sprintf(httplink,"<font color=%s><href=http://%s>%s", \
- PrivacyStringColor,PrivacyString,PrivacyString);
+ sprintf(httplink,"<span style=\"color:%s;\">%s</span>",PrivacyStringColor,PrivacyString);
else {
- strcpy(tmp6,"../../images");
- if(strcmp(IndexTree,"date") == 0)
- sprintf(tmp6,"../%s",ImageFile);
- if(strlen(BlockIt) > 0)
- sprintf(httplink,"<a href=\"%s%s?url=%s\"><img src=\"%s/sarg-squidguard-block.png\" border=\"0\"></a><a href=http://%s> %s</a>",wwwDocumentRoot,BlockIt,urly,tmp6,urly,urly);
- else
- sprintf(httplink,"<a href=http://%s title=\"%s\">%s</a>",urly,urly,url);
+ if(strcmp(IndexTree,"date") == 0)
+ sprintf(tmp6,"../%s",ImageFile);
+ else
+ strcpy(tmp6,"../../images");
+ if(BlockIt[0]!='\0')
+ snprintf(httplink,sizeof(httplink),"<a href=\"%s%s?url=%s\"><img src=\"%s/sarg-squidguard-block.png\" border=\"0\"></a><a href=http://%s> %s</a>",wwwDocumentRoot,BlockIt,urly,tmp6,urly,urly);
+ else
+ snprintf(httplink,sizeof(httplink),"<a href=\"http://%s\" title=\"%s\">%s</a>",urly,urly,url);
}
if(strstr(ReportType,"site_user_time_date") != 0) {
str[z1]=='\'' || str[z1]=='\"' || str[z1]=='$')
str[z1]='_';
}
- sprintf(href2,"<a href=\"tt%s-%s.html\"><img src=\"%s/datetime.png\" border=\"0\" title=\"%s %s\"></a>",usuario,siteind,tmp6,ltext110,text[55]);
+ sprintf(href2,"<a href=\"tt%s-%s.html\"><img src=\"%s/datetime.png\" border=\"0\" title=\"%s %s\" alt=\"T\"></a>",usuario,siteind,tmp6,ltext110,text[55]);
} else {
bzero(href2, MAXLEN);
bzero(ltext110, 50);
sprintf(val5,"%3.2f%%",ouperc);
sprintf(val6,"%s",buildtime(nnelap));
sprintf(val7,"%3.2f%%",perc2);
-
+
if(strstr(UserReportFields,"CONNECT") == 0) {
bzero(wwork1, 255);
bzero(hbc1, 30);
fscanf(fp_ip,"%s",userhora);
fscanf(fp_ip,"%s",userbytes);
fscanf(fp_ip,"%s",userelap);
-
+
strcpy(olduserip,user_ip);
-
+
while(!feof(fp_ip)) {
if(strcmp(user_ip,olduserip) != 0) {
my_lltoa(unelap,val2,0);
sprintf(wwork1,"%s",fixnum(unbytes,1));
fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%s</td></tr>\n",olduserip,wwork1,buildtime(unelap),val2);
-
+
strcpy(olduserip,user_ip);
unacc=0;
unbytes=0;
unelap=0;
}
-
+
unbytes=unbytes+my_atoll(userbytes);
unelap=unelap+my_atoll(userelap);
-
+
fscanf(fp_ip,"%s",user_ip);
fscanf(fp_ip,"%s",userurl);
fscanf(fp_ip,"%s",userdia);
fscanf(fp_ip,"%s",userhora);
fscanf(fp_ip,"%s",userbytes);
fscanf(fp_ip,"%s",userelap);
-
+
}
fclose(fp_ip);
my_lltoa(unelap,val3,0);
sprintf(wwork1,"%s",fixnum(unbytes,1));
- fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%s</font></td></tr>\n",olduserip,wwork1,buildtime(unelap),val3);
+ fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%s</td></tr>\n",olduserip,wwork1,buildtime(unelap),val3);
}
unacc=0;
perc=totbytes / 100;
perc=tnbytes / perc;
} else perc=0;
-
+
if(tnelap) {
perc2=totelap / 100;
perc2=tnelap / perc2;
} else perc2=0;
-
+
if(tnoucache) {
ouperc=tnoucache * 100;
ouperc=ouperc / tnbytes;
} else ouperc=0;
-
+
if(tnincache) {
inperc=tnincache * 100;
inperc=inperc / tnbytes;
} else inperc=0;
-
+
sprintf(wwork1,"%s",fixnum(tnacc,1));
sprintf(wwork2,"%s",fixnum(tnbytes,1));
sprintf(wwork3,"%s",fixnum2(tnelap,1));
}
if(strstr(UserReportFields,"TOTAL") != 0) {
- fprintf(fp_ou,"<tr><th></th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</font></th><th %s>%s</font></th></tr>\n",hbc9,text[107],hbc1,wwork1,hbc2,wwork2,hbc4,val3,hbc5,val4,hbc6,val5,hbc7,val6,hbc3,wwork3,hbc8,val7);
+ fprintf(fp_ou,"<tr><th></th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th %s>%s</th></tr>\n",hbc9,text[107],hbc1,wwork1,hbc2,wwork2,hbc4,val3,hbc5,val4,hbc6,val5,hbc7,val6,hbc3,wwork3,hbc8,val7);
}
fclose(fp_in);
if (strstr(ReportType,"topuser") != 0) {
strcpy(arqper,dirname);
strcat(arqper,"/sarg-users");
-
+
if ((fp_in = fopen(arqper, "r")) == 0){
fprintf(stderr, "SARG: (html11) %s: %s\n",text[45],arqper);
exit(1);
fgets(totuser,8,fp_in);
fclose(fp_in);
-
+
totbytes2=totbytes/my_atoll(totuser);
totelap2=totelap/my_atoll(totuser);
-
+
if(totbytes2) {
perc = totbytes / 100;
perc = totbytes2 / perc;
} else perc=0;
-
+
if(totelap2) {
perc2 = totelap / 100;
perc2 = totelap2 / perc2;
} else perc2=0;
-
+
twork2=my_atoll(totuser);
twork=ttnacc/twork2;
-
+
strcpy(wwork1,fixnum(twork,1));
strcpy(wwork2,fixnum(totbytes2,1));
strcpy(wwork3,fixnum2(totelap2,1));
sprintf(val6,"%s",buildtime(totelap2));
sprintf(val7,"%3.2f%%",perc2);
-
+
strcpy(hbc1,"class=\"header2\"");
strcpy(hbc2,"class=\"header2\"");
strcpy(hbc3,"class=\"header2\"");
}
if(strstr(UserReportFields,"AVERAGE") != 0) {
- fprintf(fp_ou,"<tr><th></th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th></th><th></th><th></th><th %s>%s</th><th %s>%s</font></th><th %s>%s</th></tr>\n",hbc6,text[96],hbc1,wwork1,hbc2,wwork2,hbc4,val6,hbc3,wwork3,hbc5,val7);
+ fprintf(fp_ou,"<tr><th></th><th %s>%s</th><th %s>%s</th><th %s>%s</th><th></th><th></th><th></th><th %s>%s</th><th %s>%s</th><th %s>%s</th></tr>\n",hbc6,text[96],hbc1,wwork1,hbc2,wwork2,hbc4,val6,hbc3,wwork3,hbc5,val7);
}
} /* added */
tnacc=0;
tnincache=0;
tnoucache=0;
- fputs("</center></table>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
show_info(fp_ou);
char *fixtime(long int elap);
void show_info(FILE *fp_ou);
void show_sarg(FILE *fp_ou, const char *ind);
+void write_logo_image(FILE *fp_ou);
void write_html_header(FILE *fp_ou, const char * ind);
void write_html_trailer(FILE *fp_ou);
+void output_html_string(FILE *fp_ou,const char *str);
void subs(char *str, int size, char *from, char *to);
void conv_month(char *month);
void debuga(const char *msg,...);
strcpy(ourl,url);
}
- puts("</table>\n</html>\n");
+ puts("</table>\n</div>\n</body>\n</html>\n");
fclose(fin);
unlink(tmp);
fflush(NULL);
-
+
}
static void header(void)
css(stdout);
puts("</head>\n");
printf(buf,"<body style=\"font-family:%s;font-size:%s;background-color:%s;background-image:url(%s)\">\n",FontFace,TitleFontSize,BgColor,BgImage);
- puts("<center><table cellpadding=\"1\" cellspacing=\"1\">\n");
+ puts("<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"1\">\n");
printf("<tr><th class=\"title2\" colspan=\"10\">SARG %s</th></tr>\n",text[134]);
printf("<tr><th class=\"text\" colspan=\"10\">%s: %d s</th></tr>\n",text[136],realtime_refresh);
printf("<tr><th class=\"header3\">%s</th><th class=\"header3\">%s</th><th class=\"header3\">%s</th><th class=\"header3\">%s</th><th class=\"header\">%s</th></tr>\n",text[110],text[111],text[98],text[135],text[91]);
fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
fputs("</head>\n",fp_ou);
- if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ //if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../../..");
else
show_sarg(fp_ou, "../..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
- fprintf(fp_ou,"<tr><th class=\"title\" colspan=2>%s</th></tr>\n",Title);
-
- fputs("</table></center>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
+ fprintf(fp_ou,"<tr><th class=\"title\" colspan=\"2\">%s</th></tr>\n",Title);
+
+ fputs("</table></div>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><td class=\"header3\" colspan=\"2\">%s: %s</td></tr>\n",text[89],period);
fputs("<tr><td></td></tr><tr><td></td></tr>\n",fp_ou);
fputs("<tr><td></td></tr><tr><td></td></tr></table>\n",fp_ou);
- fputs("<table cellpadding=0 cellspacing=2>\n", fp_ou);
+ fputs("<table cellpadding=\"0\" cellspacing=\"2\">\n", fp_ou);
- fputs( "<tr><td border=0></td>\n", fp_ou );
+ fputs( "<tr><td></td>\n", fp_ou );
if(strcmp(datetimeby,"bytes") == 0)
strcpy( html, text[93] );
strcpy( html, "H:M:S" );
for( i = 0; i < hours.len; i++ )
- fprintf( fp_ou,
- "<td class=\"header3\">%02dH<br>%s</td>\n", hours.list[ i ], html );
+ fprintf( fp_ou, "<td class=\"header3\">%02dH<br>%s</td>\n", hours.list[ i ], html );
fprintf( fp_ou,
"<td class=\"header3\">%s<br>%s</td></tr>\n", text[107], html );
if(strcmp(data,odata) != 0) {
strcpy(oelap,elap);
- for( i = 0; i < hours.len; i++ )
- sprintf(c[ hours.list[ i ] ],"%s",fixtime(v[ hours.list[ i ] ]));
-
- for( i = 8; i <= 17; i++ )
- if(strcmp(c[ hours.list[ i ] ],"00:00:00") == 0)
- bzero(c[ hours.list[ i ] ],12);
-
- fprintf( fp_ou,
- "<tr><td class=\"data\">%s</td>\n", odata );
- for( i = 0; i < hours.len; i++ )
- fprintf( fp_ou,
- "<td class=\"data\">%s</td>\n", c[ hours.list[ i ] ] );
- fprintf( fp_ou,
- "<td class=\"data\">%s</td>\n", fixtime(tt) );
-
+ for( i = 0; i < hours.len; i++ )
+ sprintf(c[ hours.list[ i ] ],"%s",fixtime(v[ hours.list[ i ] ]));
+
+ for( i = 8; i <= 17; i++ )
+ if(strcmp(c[ hours.list[ i ] ],"00:00:00") == 0)
+ bzero(c[ hours.list[ i ] ],12);
+
+ fprintf(fp_ou, "<tr><td class=\"data\">%s</td>\n", odata );
+ for( i = 0; i < hours.len; i++ )
+ fprintf(fp_ou,"<td class=\"data\">%s</td>\n", c[ hours.list[ i ] ] );
+ fprintf( fp_ou, "<td class=\"data\">%s</td>\n", fixtime(tt) );
+
tt=0;
- for( i = 0; i < hours.len; i++ ) v[ hours.list[ i ] ]=0;
+ for( i = 0; i < hours.len; i++ ) v[ hours.list[ i ] ]=0;
strcpy(odata,data);
strcpy(elap,oelap);
}
for( i = 0; i < hours.len; i++ )
if(strcmp(c[ hours.list[ i ] ],"00:00:00") == 0) bzero(c[ hours.list[ i ] ],12);
-
- fprintf( fp_ou,
- "<tr><td class=\"data\">%s</td>\n", data );
+
+ fprintf(fp_ou, "<tr><td class=\"data\">%s</td>\n", data );
for( i = 0; i < hours.len; i++ )
- fprintf( fp_ou,
- "<td class=\"data\">%s</td>\n", c[ hours.list[ i ] ] );
- fprintf( fp_ou,
- "<td class=\"data\">%s</td></tr>\n", fixtime(tt) );
+ fprintf(fp_ou, "<td class=\"data\">%s</td>\n", c[ hours.list[ i ] ] );
+ fprintf(fp_ou, "<td class=\"data\">%s</td></tr>\n", fixtime(tt) );
for( i = 0; i < hours.len; i++ )
sprintf(c[ hours.list[ i ] ],"%s",fixtime(t[ hours.list[ i ] ]));
- fprintf( fp_ou,
- "<tr><td class=\"header\">%s</td>\n", text[107] );
+ fprintf(fp_ou, "<tr><td class=\"header\">%s</td>\n", text[107] );
for( i = 0; i < hours.len; i++ )
- fprintf( fp_ou,
- "<td class=\"header2\">%s</td>\n", c[ hours.list[ i ] ] );
- fprintf( fp_ou,
- "<td class=\"header2\">%s</td></tr>\n", fixtime(ttt) );
+ fprintf(fp_ou, "<td class=\"header2\">%s</td>\n", c[ hours.list[ i ] ] );
+ fprintf(fp_ou, "<td class=\"header2\">%s</td></tr>\n", fixtime(ttt) );
- fputs("</body>\n</html>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
show_info(fp_ou);
+ fputs("</body>\n</html>\n",fp_ou);
fclose(fp_in);
fclose(fp_ou);
return;
fprintf(fp_tt, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_tt);
fputs("</head>\n",fp_tt);
- fprintf(fp_tt,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_tt, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_tt,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ write_logo_image(fp_tt);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_tt, "../../../..");
else
show_sarg(fp_tt, "../..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_tt);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_tt);
fprintf(fp_tt,"<tr><th class=\"title\" colspan=\"2\">%s</th></tr>\n",Title);
fprintf(fp_tt,"<tr><td class=\"header\" colspan=\"2\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_tt,"<tr><td class=\"header\" colspan=\"2\">%s: %s, %s</td></tr>\n",text[104],UserSortField,UserSortOrder);
fprintf(fp_tt,"<tr><th class=\"header3\" colspan=2>%s</th></tr>\n",text[32]);
- fputs("</table></center>\n",fp_tt);
- fputs("<center><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_tt);
+ fputs("</table></div>\n",fp_tt);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_tt);
fputs("<tr><td></td><td></td></tr>",fp_tt);
bzero(tmp4, MAXLEN);
strncpy(tmp4,text[110],4);
fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
fputs("</head>\n",fp_ou);
- if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ //if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=\"%s\">\n",FontFace);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou, "..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header3\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[85]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
if(strncmp(strlow(BytesInSitesUsersReport),"yes",3) == 0)
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[100],text[91],text[93],text[103]);
else
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[100],text[91],text[103]);
-
+
user[0]='\0';
ourl[0]='\0';
obytes[0]='\0';
strcpy(obytes,nbytes);
regs++;
}
-
+
sprintf(wuser," %s ",name);
if(strstr(users,wuser) == 0 && strcmp(url,ourl) == 0) {
strcat(users,name);
continue;
}
- if(strlen(BlockIt) > 0)
+ if(BlockIt[0]!='\0')
sprintf(BlockImage,"<a href=\"%s%s?url=%s\"><img src=\"../images/sarg-squidguard-block.png\" border=\"0\"></a> ",wwwDocumentRoot,BlockIt,ourl);
else BlockImage[0]='\0';
if(strncmp(strlow(BytesInSitesUsersReport),"yes",3) == 0) {
llbytes=my_atoll(obytes);
sprintf(wwork2,"%s",fixnum(llbytes,1));
- fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\">%s</td><td class=\"data\">%s</td><td class=\"data2\">%s</td></tr>\n",regs,BlockImage,ourl,ourl,wwork2,users);
+ fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\">%s</a></td><td class=\"data\">%s</td><td class=\"data2\">%s</td></tr>\n",regs,BlockImage,ourl,ourl,wwork2,users);
} else
- fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\">%s</td><td class=\"data2\">%s</td></tr>\n",regs,BlockImage,ourl,ourl,users);
+ fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\">%s</a></td><td class=\"data2\">%s</td></tr>\n",regs,BlockImage,ourl,ourl,users);
regs++;
ucount=0;
strcpy(users,name);
}
if(nsitesusers) {
- fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\"><a href=\"http://%s\">%s</td><td class=\"data2\">%s</td></tr>\n",regs,ourl,ourl,users);
+ fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\"><a href=\"http://%s\">%s</a></td><td class=\"data2\">%s</td></tr>\n",regs,ourl,ourl,users);
}
unlink(general2);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table>\n</div>\n",fp_ou);
show_info(fp_ou);
fputs("</body>\n</html>\n",fp_ou);
-
+
fclose(fp_in);
fclose(fp_ou);
fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
fputs("</head>\n",fp_ou);
if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
+ write_logo_image(fp_ou);
- fprintf(fp_ou,"<tr><th align=center><b><font color=%s size=+1>%s</font></b></th></tr>\n",TiColor,Title);
- fprintf(fp_ou,"<tr><td align=center bgcolor=%s><font size=%s>%s: %s</font></td></tr>\n",HeaderBgColor,FontSize,text[89],period);
- fprintf(fp_ou,"<tr><th bgcolor=%s align=center><font size=%s>%s</font></th></tr>\n",HeaderBgColor,FontSize,text[116]);
- fputs("</table></center>\n",fp_ou);
+ fprintf(fp_ou,"<tr><th align=\"center\"><b><font color=\"%s\" size=\"+1\">%s</font></b></th></tr>\n",TiColor,Title);
+ fprintf(fp_ou,"<tr><td align=\"center\" bgcolor=\"%s\"><font size=\"%s\">%s: %s</font></td></tr>\n",HeaderBgColor,FontSize,text[89],period);
+ fprintf(fp_ou,"<tr><th bgcolor=\"%s\" align=\"center\"><font size=\"%s\">%s</font></th></tr>\n",HeaderBgColor,FontSize,text[116]);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
- fprintf(fp_ou,"<tr><th bgcolor=%s><font size=%s>%s</font></th><th bgcolor=%s><font size=%s>%s</font></th><th bgcolor=%s><font size=%s>%s</font></th><th bgcolor=%s><font size=%s>%s</font></th><th bgcolor=%s><font size=%s>%s</font></th></tr>\n",HeaderBgColor,FontSize,text[98],HeaderBgColor,FontSize,text[111],HeaderBgColor,FontSize,text[110],HeaderBgColor,FontSize,text[91],HeaderBgColor,FontSize,smartheader);
+ fprintf(fp_ou,"<tr><th bgcolor=%s><font size=\"%s\">%s</font></th><th bgcolor=\"%s\"><font size=\"%s\">%s</font></th><th bgcolor=\"%s\"><font size=\"%s\">%s</font></th><th bgcolor=\"%s\"><font size=\"%s\">%s</font></th><th bgcolor=\"%s\"><font size=\"%s\">%s</font></th></tr>\n",HeaderBgColor,FontSize,text[98],HeaderBgColor,FontSize,text[111],HeaderBgColor,FontSize,text[110],HeaderBgColor,FontSize,text[91],HeaderBgColor,FontSize,smartheader);
while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
if (getword(user,sizeof(user),buf,' ')<0 || getword(data,sizeof(data),buf,' ')<0 ||
fputs("</table>\n",fp_user);
if(strcmp(ShowSargInfo,"yes") == 0) {
zdate(ftime, DateFormat);
- fprintf(fp_user,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
+ fprintf(fp_user,"<br><br><div align=\"center\"><font size=\"-2\">%s <a href=\"%s\">%s-%s</a> %s %s</font></div>\n",text[108],URL,PGM,VERSION,text[109],ftime);
}
fputs("</body>\n</html>\n",fp_user);
fclose(fp_user);
*/
fprintf(fp_user,"<font face=%s>\n",FontFace);
}
- fprintf(fp_user,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_user);
- if(strlen(LogoImage) > 0) fprintf(fp_user,"<tr><th align=left><img src='%s' border=0 align=absmiddle width=%s height=%s><font color=%s>%s</font>\n",LogoImage,Width,Height,LogoTextColor,LogoText);
- fprintf(fp_user,"<tr><th align=center><b><font color=%s size=+1>%s</font></b></th></tr>\n",TiColor,Title);
+ fprintf(fp_user,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_user);
+ if(LogoImage[0]!='\0') fprintf(fp_user,"<tr><th align=left><img src=\"%s\" border=\"0\" align=\"absmiddle\" width=\"%s\" height=\"%s\"><font color=\"%s\">%s</font>\n",LogoImage,Width,Height,LogoTextColor,LogoText);
+ fprintf(fp_user,"<tr><th align=\"center\"><b><font color=\"%s\" size=\"+1\">%s</font></b></th></tr>\n",TiColor,Title);
fprintf(fp_user,"<tr><td align=center bgcolor=%s><font size=%s>%s: %s</font></td></tr>\n",HeaderBgColor,FontSize,text[89],period);
fprintf(fp_user,"<tr><td align=center bgcolor=%s><font size=%s>%s:</font><font size=%s> %s</font></td></tr>\n",HeaderBgColor,FontSize,text[90],FontSize,user);
- fputs("</table></center>\n",fp_user);
- fputs("<center><table cellpadding=0 cellspacing=2>\n",fp_user);
+ fputs("</table></div>\n",fp_user);
+ fputs("<div align=\"center\"><table cellpadding=0 cellspacing=2>\n",fp_user);
fputs("<tr><td></td></tr>\n",fp_user);
fputs("<tr><td></td></tr>\n",fp_user);
fputs("<tr><td></td></tr>\n",fp_user);
if(strcmp(ShowSargInfo,"yes") == 0) {
zdate(ftime, DateFormat);
- fprintf(fp_ou,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
+ fprintf(fp_ou,"<br><br><div align=\"center\"><font size=\"-2\">%s <a href=\"%s\">%s-%s</a> %s %s</font></div>\n",text[108],URL,PGM,VERSION,text[109],ftime);
}
fputs("</body>\n</html>\n",fp_user);
fputs("</table>\n",fp_user);
if(strcmp(ShowSargInfo,"yes") == 0) {
zdate(ftime, DateFormat);
- fprintf(fp_user,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
+ fprintf(fp_user,"<br><br><div align=\"center\"><font size=\"-2\">%s <a href=\"%s\">%s-%s</a> %s %s</font></div>\n",text[108],URL,PGM,VERSION,text[109],ftime);
}
fputs("</body>\n</html>\n",fp_user);
fclose(fp_user);
fputs("</head>\n",fp_ou);
if(strlen(FontFace) > 0) fprintf(fp_ou,"<font face=%s>\n",FontFace);
fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou, "../../..");
else
show_sarg(fp_ou,"..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s</th></tr>\n",text[120]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=1 cellspacing=2>\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=1 cellspacing=2>\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th><th class=\"header\">%s</th></tr>\n",text[98],text[111],text[110],text[91],text[121]);
fputs("</table>\n",fp_ou);
show_info(fp_ou);
-
+
fputs("</body>\n</html>\n",fp_ou);
fclose(fp_in);
fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
fputs("</head>\n",fp_ou);
- fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
+ write_logo_image(fp_ou);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ou,"../../..");
else
show_sarg(fp_ou, "..");
- fputs("<center><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_ou,"<tr><td class=\"header3\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_ou,"<tr><th class=\"header3\">%s %s %s</th></tr>\n",text[83],TopSitesNum,text[84]);
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
- fputs("<center><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_ou);
+ fputs("<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_ou);
fputs("<tr><td></td></tr>\n",fp_ou);
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th> \
<th class=\"header\">%s</th><th class=\"header\">%s</th> \
else BlockImage[0]='\0';
- fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\"><font class=\"link\">%s</font></td><td class=\"data\">%s</td><td class=\"data\">%s</td><td class=\"data\">%s</td></tr>\n",regs,BlockImage,url,url,wwork1,wwork2,wwork3);
+ fprintf(fp_ou,"<tr><td class=\"data\">%d</td><td class=\"data2\">%s<a href=\"http://%s\"><font class=\"link\">%s</font></a></td><td class=\"data\">%s</td><td class=\"data\">%s</td><td class=\"data\">%s</td></tr>\n",regs,BlockImage,url,url,wwork1,wwork2,wwork3);
regs++;
}
- fputs("</table></center>\n",fp_ou);
+ fputs("</table>\n</div>\n",fp_ou);
show_info(fp_ou);
char warea[1500];
char user2[MAXLEN];
char name[MAXLEN];
+ char href1[MAXLEN];
+ char href2[MAXLEN];
+ char href3[MAXLEN];
+ char href1end[5];
+ char href2end[5];
+ char href3end[5];
ipantes[0]='\0';
nameantes[0]='\0';
fclose(fp_in);
fprintf(fp_top3, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
- fputs("</head>\n",fp_top3);
css(fp_top3);
- fprintf(fp_top3,"<body class=\"body\">");
- if(strlen(LogoImage) > 0) fprintf(fp_top3, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_top3,"</head>\n<body class=\"body\">");
+ write_logo_image(fp_top3);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_top3, "../../..");
else
show_sarg(fp_top3, "..");
- fputs("<center><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_top3);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_top3);
fprintf(fp_top3,"<tr><th align=\"center\" class=\"title\">%s</th></tr>\n",Title);
fprintf(fp_top3,"<tr><td class=\"header3\">%s: %s</td></tr>\n",text[89],period);
fprintf(fp_top3,"<tr><td class=\"header3\">%s</td></tr>\n",wheader);
fprintf(fp_top3,"<tr><th class=\"header3\">%s</th></tr>\n",text[137]);
- fputs("</table></center>\n",fp_top3);
- fputs("<center><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_top3);
+ fputs("</table></div>\n",fp_top3);
+ fputs("<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_top3);
fputs("<tr><td><br></td><td></td></tr>\n",fp_top3);
- if(strstr(ReportType,"topsites") != 0 && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"topsites.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[119]);
- if(strstr(ReportType,"sites_users") != 0 && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"siteuser.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[85]);
- if(dansguardian_count) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"dansguardian.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[128]);
+ if(strstr(ReportType,"topsites") != 0 && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"topsites.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[119]);
+ if(strstr(ReportType,"sites_users") != 0 && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"siteuser.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[85]);
+ if(dansguardian_count) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"dansguardian.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[128]);
if(squidguard_count) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"squidguard.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[122]);
- if (strstr(ReportType,"downloads") != 0 && download_count && strcmp(Privacy,"yes") != 0 && ndownload) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"download.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[125]);
- if (strstr(ReportType,"denied") != 0 && denied_count && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"denied.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[118]);
- if (strstr(ReportType,"auth_failures") != 0 && authfail_count && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"authfail.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[117]);
- if(smartfilter) fprintf(fp_top3,"<tr><td class=\"link\" colspan=11><a href=\"smartfilter.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[116]);
+ if (strstr(ReportType,"downloads") != 0 && download_count && strcmp(Privacy,"yes") != 0 && ndownload) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"download.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[125]);
+ if (strstr(ReportType,"denied") != 0 && denied_count && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"denied.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[118]);
+ if (strstr(ReportType,"auth_failures") != 0 && authfail_count && strcmp(Privacy,"yes") != 0) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"authfail.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[117]);
+ if(smartfilter) fprintf(fp_top3,"<tr><td class=\"link\" colspan=\"11\"><a href=\"smartfilter.html\"><font class=\"link\">%s</font></a><font class=\"text\"></font></td></tr>\n",text[116]);
fputs("<tr><td></td></tr>\n",fp_top3);
if (strstr(ReportType,"topuser") == 0) {
ouperc=((ouperc * 100) / tnbytes);
} else ouperc = 0;
- strcpy(href," ");
- strcpy(href2," ");
- strcpy(href3," ");
-
if(strcmp(user,"TOTAL") != 0){
- sprintf(href,"<a href='%s/",user);
- sprintf(href2,"<a href='%s/d",user);
- sprintf(href3,"<a href='%s/graph_day.png'>",user);
- strcat(href,user);
+ sprintf(href1,"<a href=\"%s/",user);
+ strcpy(href1end,"</a>");
+ sprintf(href2,"<a href=\"%s/d",user);
+ strcpy(href2end,"</a>");
+ sprintf(href3,"<a href=\"%s/graph_day.png\">",user);
+ strcpy(href3end,"</a>");
+ strcat(href1,user);
strcat(href2,user);
- strcat(href,".html'>");
- strcat(href2,".html'>");
+ strcat(href1,".html\">");
+ strcat(href2,".html\">");
+ } else {
+ strcpy(href1," ");
+ strcpy(href1end,"");
+ strcpy(href2," ");
+ strcpy(href2end,"");
+ strcpy(href3," ");
+ strcpy(href3end,"");
}
- if(strcmp(Graphs,"yes") != 0)
+ if(strcmp(Graphs,"yes") != 0) {
bzero(href3,MAXLEN);
+ strcpy(href3end,"");
+ }
posicao++;
} else strcpy(user2,nameantes);
}
}
-
+
if(strstr(ReportType,"date_time") != 0) {
sprintf(ltext110,"%s",text[110]);
for(s=ltext110; *s; ++s)
*s=tolower(*s);
} else {
bzero(href2, MAXLEN);
+ href2end[0]='\0';
bzero(ltext110, 50);
sprintf(val1,"%s/d%s.html",dirname,user);
unlink(val1);
sprintf(val1,"%d",posicao);
#ifdef HAVE_GD
- sprintf(val2,"%s<img src=\"%s/graph.png\" border=\"0\" title=\"%s\"></a> %s<img src=\"%s/datetime.png\" border=\"0\" title=\"%s %s\">\n",href3,ImageFile,text[126],href2,ImageFile,ltext110,text[55]);
+ sprintf(val2,"%s<img src=\"%s/graph.png\" border=\"0\" title=\"%s\" alt=\"G\">%s %s<img src=\"%s/datetime.png\" border=\"0\" title=\"%s %s\" alt=\"T\">%s\n",href3,ImageFile,text[126],href3end,href2,ImageFile,ltext110,text[55],href2end);
#else
- sprintf(val2,"%s<img src=\"%s/datetime.png\" border=\"0\" title=\"%s\">\n",href2,ImageFile,ltext110);
+ sprintf(val2,"%s<img src=\"%s/datetime.png\" border=\"0\" title=\"%s\" alt=\"T\">%s\n",href2,ImageFile,ltext110,href2end);
#endif
sprintf(val3,"%3.2f%%",perc);
bzero(hbc10, 30);
}
- if(strstr(ReportType,"users_sites") == 0)
- href[0]='\0';
+ if(strstr(ReportType,"users_sites") == 0) {
+ href1[0]='\0';
+ href1end[0]='\0';
+ }
if(dotinuser && strchr(name,'_')) {
subs(name,sizeof(name),"_",".");
}
- sprintf(preg,"<tr><td %s>%s</td><td %s>%s</td><td %s>%s%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s<td %s>%s</td></tr>\n",hbc1,val1,hbc2,val2,hbc2,href,name,hbc3,wwork1,hbc4,wwork2,hbc5,val3,hbc6,val4,hbc7,val5,hbc8,val6,hbc9,wwork3,hbc10,val7);
+ sprintf(preg,"<tr><td %s>%s</td><td %s>%s</td><td %s>%s%s%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s</td><td %s>%s<td %s>%s</td></tr>\n",hbc1,val1,hbc2,val2,hbc2,href1,name,href1end,hbc3,wwork1,hbc4,wwork2,hbc5,val3,hbc6,val4,hbc7,val5,hbc8,val6,hbc9,wwork3,hbc10,val7);
if(strstr(user,"TOTAL") != 0) {
if(strlen(UserAgentLog) > 0) {
fputs("<tr><td></td></tr>\n",fp_top3);
fputs("<tr><td></td></tr>\n",fp_top3);
- fputs("<td align=\"left\" colspan=8><font size=-1><a href='useragent.html'>Useragent</a> Report</td>\n",fp_top3);
+ fputs("<td align=\"left\" colspan=\"8\"><font size=-1><a href='useragent.html'>Useragent</a> Report</td>\n",fp_top3);
}
- fputs("</table></center>",fp_top3);
+ fputs("</table></div>",fp_top3);
show_info(fp_top3);
fputs("</head>\n",fp_ht);
if(strlen(FontFace) > 0) fprintf(fp_ht,"<font face=%s>\n",FontFace);
fprintf(fp_ht,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ht, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ write_logo_image(fp_ht);
if(strcmp(IndexTree,"date") == 0)
show_sarg(fp_ht, "../../..");
else
show_sarg(fp_ht,"..");
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
- fprintf(fp_ht,"<tr><th align=center colspan=2><b><font color=%s size=+1>%s</font></b></th></tr>\n",TiColor,text[105]);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ht);
+ fprintf(fp_ht,"<tr><th align=\"center\" colspan=\"2\"><b><font color=\"%s\" size=\"+1\">%s</font></b></th></tr>\n",TiColor,text[105]);
fputs("<tr><td></td></tr><tr><td></td></tr>",fp_ht);
- fputs("</table></center>\n",fp_ht);
+ fputs("</table></div>\n",fp_ht);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ht);
- fprintf(fp_ht,"<tr><td align=right bgcolor=%s><font size=%s>%s:</font><td align=left bgcolor=%s><font size=%s>%s - %s</font></td></td></tr>\n",HeaderBgColor,FontSize,text[89],TxBgColor,FontSize,idate,fdate);
+ fprintf(fp_ht,"<tr><td align=\"right\" bgcolor=\"%s\"><font size=\"%s\">%s:</font><td align=\"left\" bgcolor=\"%s\"><font size=\"%s\">%s - %s</font></td></td></tr>\n",HeaderBgColor,FontSize,text[89],TxBgColor,FontSize,idate,fdate);
- fputs("</table></center>\n",fp_ht);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
+ fputs("</table></div>\n",fp_ht);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ht);
fputs("<tr><td></td><td></td></tr>",fp_ht);
fprintf(fp_ou,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[98],HeaderBgColor,FontSize,HeaderColor,text[106]);
fputs("<br><br>\n",fp_ht);
- fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
- fprintf(fp_ht,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th><th align=center bgcolor=%s><font size=%s color=%s>%%</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[106],HeaderBgColor,FontSize,HeaderColor,text[107],HeaderBgColor,FontSize,HeaderColor);
+ fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ht);
+ fprintf(fp_ht,"<tr><th align=\"left\" bgcolor=\"%s\"><font size=\"%s\" color=\"%s\">%s</font></th><th bgcolor=\"%s\" align=\"left\"><font size=\"%s\" color=\"%s\">%s</font></th><th align=\"center\" bgcolor=\"%s\"><font size=\"%s\" color=\"%s\">%%</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[106],HeaderBgColor,FontSize,HeaderColor,text[107],HeaderBgColor,FontSize,HeaderColor);
while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
buf[strlen(buf)-1]='\0';
fputs("</table></html>\n",fp_ht);
if(strcmp(ShowSargInfo,"yes") == 0) {
zdate(ftime, DateFormat);
- fprintf(fp_ht,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
+ fprintf(fp_ht,"<br><br><div align=\"center\"><font size=\"-2\">%s <a href=\"%s\">%s-%s</a> %s %s</font></div>\n",text[108],URL,PGM,VERSION,text[109],ftime);
}
fputs("</table>\n</body>\n</html>\n",fp_ht);
}
-void show_info(FILE *fp_ou)
-{
- char ftime[127];
-
- if(strcmp(ShowSargInfo,"yes") != 0) return;
- zdate(ftime, DateFormat);
- fprintf(fp_ou,"<center><table><tr><td><br><br></td><td class=\"info\">%s <a href='%s'><font class=\"info\">%s-%s</font></a> %s %s</td></tr></table></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
-}
-
-void show_sarg(FILE *fp_ou, const char *ind)
-{
- if(strcmp(ShowSargLogo,"yes") == 0) fprintf(fp_ou,"<center><table cellpadding=0 cellspacing=0>\n<tr><th class=\"logo\"><a href=\"http://sarg.sourceforge.net\"><img src=\"%s/images/sarg.png\" border=\"0\" align=\"absmiddle\" title=\"SARG, Squid Analysis Report Generator. Logo by Osamu Matsuzaki\"></a> <font class=\"logo\">Squid Analysis Report Generator</font></th></tr>\n<tr><th class=\"title\"> </th></tr>\n<table>\n",ind);
-}
-
char *get_size(const char *path, const char *file)
{
FILE *fp;
return (val5);
}
+void show_info(FILE *fp_ou)
+{
+ char ftime[127];
+
+ if(strcmp(ShowSargInfo,"yes") != 0) return;
+ zdate(ftime, DateFormat);
+ fprintf(fp_ou,"<div align=\"center\"><table><tr><td><br><br></td><td class=\"info\">%s <a href='%s'><font class=\"info\">%s-%s</font></a> %s %s</td></tr></table></div>\n",text[108],URL,PGM,VERSION,text[109],ftime);
+}
+
+void show_sarg(FILE *fp_ou, const char *ind)
+{
+ if(strcmp(ShowSargLogo,"yes") == 0) fprintf(fp_ou,"<div align=\"center\"><table class=\"logo\">\n<tr><th><a href=\"http://sarg.sourceforge.net\"><img src=\"%s/images/sarg.png\" title=\"SARG, Squid Analysis Report Generator. Logo by Osamu Matsuzaki\" alt=\"Sarg\"></a> Squid Analysis Report Generator</th></tr>\n<tr><th class=\"title\"> </th></tr>\n</table></div>\n",ind);
+}
+
+void write_logo_image(FILE *fp_ou)
+{
+ if(LogoImage[0]!='\0')
+ fprintf(fp_ou, "<div align=\"center\"><table class=\"logo\">\n<tr><th><img src=\"%s\" width=\"%s\" height=\"%s\" alt=\"Logo\"> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n</div>\n",LogoImage,Width,Height,LogoText);
+}
void write_html_header(FILE *fp_ou, const char * ind)
{
- fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n</head>\n",CharSet);
+ fprintf(fp_ou, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">\n",CharSet);
css(fp_ou);
- fprintf(fp_ou,"<body style=\"font-family:%s;font-size:%s;background-color:%s;background-image:url(%s)\">\n",FontFace,TitleFontSize,BgColor,BgImage);
- if(strlen(LogoImage) > 0) fprintf(fp_ou, "<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"logo\"><img src='%s' border=0 align=absmiddle width=%s height=%s> %s</th></tr>\n<tr><td height=\"5\"></td></tr>\n</table>\n",LogoImage,Width,Height,LogoText);
+ fprintf(fp_ou,"</head>\n<body style=\"font-family:%s;font-size:%s;background-color:%s;background-image:url(%s)\">\n",FontFace,TitleFontSize,BgColor,BgImage);
+ write_logo_image(fp_ou);
show_sarg(fp_ou, ind);
- fprintf(fp_ou,"<center><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"title\">%s</th></tr>\n</table></center>\n<center><table cellpadding=\"1\" cellspacing=\"2\">\n<tr><td></td><td></td></tr>\n",Title);
+ fprintf(fp_ou,"<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n<tr><th class=\"title\">%s</th></tr>\n</table></div>\n<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"2\">\n<tr><td></td><td></td></tr>\n",Title);
+}
+
+void output_html_string(FILE *fp_ou,const char *str)
+{
+
+ while (*str) {
+ switch (*str) {
+ case '&':
+ fputs("&",fp_ou);
+ break;
+ case '<':
+ fputs("<",fp_ou);
+ break;
+ case '>':
+ fputs(">",fp_ou);
+ break;
+ case '"':
+ fputs(""",fp_ou);
+ break;
+ case '\'':
+ fputs("'",fp_ou);
+ break;
+ default:
+ fputc(*str,fp_ou);
+ }
+ str++;
+ }
}
void baddata(void)
void write_html_trailer(FILE *fp_ou)
{
- fputs("</table></center>\n",fp_ou);
+ fputs("</table></div>\n",fp_ou);
zdate(ftime, DateFormat);
show_info(fp_ou);
fputs("</body>\n</html>\n",fp_ou);