strcpy(tmp6,"../../images");
if((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0) {
- url_to_file(url,siteind,sizeof(siteind));
- fprintf(fp_ou,"<td class=\"data\"><a href=\"tt%s-%s.html\"><img src=\"%s/datetime.png\" title=\"%s\" alt=\"T\"></a></td>",uinfo->filename,siteind,tmp6,_("date/time report"));
+ url_to_anchor(url,siteind,sizeof(siteind));
+ fprintf(fp_ou,"<td class=\"data\"><a href=\"tt.html#%s\"><img src=\"%s/datetime.png\" title=\"%s\" alt=\"T\"></a></td>",siteind,tmp6,_("date/time report"));
} else {
fprintf(fp_ou,"<td class=\"data\"></td>");
}
fputs("</tr>\n",fp_ou);
count++;
} else if ((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0) {
- url_to_file(url,siteind,sizeof(siteind));
- snprintf(warea,sizeof(warea),"%s/%s/tt%s-%s.html",outdirname,uinfo->filename,uinfo->filename,siteind);
+ snprintf(warea,sizeof(warea),"%s/%s/tt.html",outdirname,uinfo->filename);
if (unlink(warea)!=0) {
debuga(_("Cannot delete \"%s\": %s\n"),warea,strerror(errno));
}
static FILE *maketmp(const char *user, const char *dirname, int debug);
static void gravatmp(FILE *fp_ou, const char *oldurl, long long int nacc, long long int nbytes, const char *oldmsg, long long int nelap, long long int incache, long long int oucache);
+static void closett(void);
static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname, const char *url, const char *ip, const char *data, const char *hora, long long int tam, long long int elap);
static void gravager(FILE *fp_gen,const char *filename, const struct userinfostruct *uinfo, long long int nacc, const char *url, long long int nbytes, const char *ip, const char *hora, const char *dia, long long int nelap, long long int incache, long long int oucache);
static void grava_SmartFilter(const char *dirname, const char *user, const char *ip, const char *data, const char *hora, const char *url, const char *smart);
snprintf(arqtt,sizeof(arqtt),"%s/%s",outdirname,uinfo->filename);
if(access(arqtt, R_OK) != 0)
my_mkdir(arqtt);
- url_to_file(accurl,siteind,sizeof(siteind));
- snprintf(arqtt,sizeof(arqtt),"%s/%s/tt%s-%s.html",outdirname,uinfo->filename,uinfo->filename,siteind);
+ snprintf(arqtt,sizeof(arqtt),"%s/%s/tt.html",outdirname,uinfo->filename);
if ((fp_tt = fopen(arqtt, "w")) == 0) {
debuga(_("(report) Cannot open file %s: %s\n"),arqtt,strerror(errno));
exit(EXIT_FAILURE);
close_html_header(fp_tt);
fputs("<div class=\"report\"><table cellpadding=\"0\" cellspacing=\"2\">\n",fp_tt);
- fprintf(fp_tt,"<tr><th class=\"header_l\">%s</th>",_("ACCESSED SITE"));
- fprintf(fp_tt,"<th class=\"header_l\">%s</th>",_("IP"));
+ }
+ if (!oldurltt || strcmp(oldurltt,accurl)) {
+ const char *url=accurl;
+ if (*url==ALIAS_PREFIX) url++;
+ url_to_anchor(accurl,siteind,sizeof(siteind));
+ fprintf(fp_tt,"<tr class=\"tt\"><td colspan=\"3\"><a name=\"%s\">",siteind);
+ fprintf(fp_tt,"<b>%s</b>",_("Accessed site: "));
+ output_html_string(fp_tt,url,100);
+ fputs("</a></td></tr>\n",fp_tt);
+ fprintf(fp_tt,"<tr><th class=\"header_l\">%s</th>",_("IP"));
fprintf(fp_tt,"<th class=\"header_l\">%s</th><th class=\"header_l\">%s</th></tr>\n",_("DATE"),_("TIME"));
}
- fputs("<tr><td class=\"data\">",fp_tt);
- output_html_string(fp_tt,accurl,100);
- fputs("</td>",fp_tt);
- fprintf(fp_tt,"<td class=\"data\">%s</td>",accip);
+ fprintf(fp_tt,"<tr><td class=\"data2\">%s</td>",accip);
fprintf(fp_tt,"<td class=\"data\">%s</td><td class=\"data\">%s</td></tr>\n",accdia,acchora);
url_len=strlen(accurl);
else
strcpy(oldmsg,"OK");
if (fp_tmp) gravatmp(fp_tmp,oldurl,nacc,nbytes,oldmsg,nelap,incache,oucache);
+ closett();
gravager(fp_gen,wdirname,uinfo,nacc,oldurl,nbytes,oldaccip,oldacchora,oldaccdia,nelap,incache,oucache);
free(oldurl);
oldurl=NULL;
*/
fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)nacc,(uint64_t)nbytes,oldurl,oldmsg,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache);
+ return;
+}
+
+static void closett(void)
+{
ttopen=0;
if(fp_tt) {
}
fp_tt=NULL;
}
-
- return;
}
static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname, const char *url, const char *ip, const char *data, const char *hora, long long int tam, long long int elap)