77
fgets(period,sizeof(period),fp_in);
79
if (!fgets(period,sizeof(period),fp_in)) {
80
fprintf(stderr,"SARG: (topuser) read error in %s\n",per);
80
sprintf(csort,"sort -k 4,4 -o '%s' '%s'",general2,general);
85
sprintf(csort,"sort -k 4,4 -o \"%s\" \"%s\"",general2,general);
86
cstatus=system(csort);
87
if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
88
fprintf(stderr, "SARG: sort command return status %d\n",WEXITSTATUS(cstatus));
89
fprintf(stderr, "SARG: sort command: %s\n",csort);
83
93
if((fp_in=fopen(general2,"r"))==NULL) {
84
94
fprintf(stderr, "SARG: (topsite) %s: %s\n",text[8],general2);
95
fprintf(stderr, "SARG: sort command: %s\n",csort);
93
104
while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
94
getword(url,sizeof(url),buf,' ');
105
if (getword(url,sizeof(url),buf,' ')<0) {
106
printf("SARG: Maybe you have an invalid user in your %s file of the topsites.\n",general2);
95
109
if(strcmp(url,"TOTAL") == 0) {
96
getword(ttnacc,sizeof(ttnacc),buf,' ');
97
getword(ttnbytes,sizeof(ttnbytes),buf,' ');
98
getword(ttntime,sizeof(ttntime),buf,' ');
110
if (getword(ttnacc,sizeof(ttnacc),buf,' ')<0) {
111
printf("SARG: Maybe you have an invalid total number of access in your %s file of the topsites.\n",general2);
114
if (getword(ttnbytes,sizeof(ttnbytes),buf,' ')<0) {
115
printf("SARG: Maybe you have an invalid total number of bytes in your %s file of the topsites.\n",general2);
118
if (getword(ttntime,sizeof(ttntime),buf,' ')<0) {
119
printf("SARG: Maybe you have an invalid total time in your %s file of the topsites.\n",general2);
101
getword(nacc,sizeof(nacc),buf,' ');
102
getword(nbytes,sizeof(nbytes),buf,' ');
103
getword(url,sizeof(url),buf,' ');
104
getword(ntemp,sizeof(ntemp),buf,' ');
105
getword(ntemp,sizeof(ntemp),buf,' ');
106
getword(ntemp,sizeof(ntemp),buf,' ');
107
getword(ntime,sizeof(ntime),buf,' ');
124
if (getword(nacc,sizeof(nacc),buf,' ')<0) {
125
printf("SARG: Maybe you have an invalid number of access in your %s file of the topsites.\n",general2);
128
if (getword(nbytes,sizeof(nbytes),buf,' ')<0) {
129
printf("SARG: Maybe you have an invalid number of bytes in your %s file of the topsites.\n",general2);
132
if (getword(url,sizeof(url),buf,' ')<0) {
133
printf("SARG: Maybe you have an invalid url in your %s file of the topsites.\n",general2);
136
if (getword(ntemp,sizeof(ntemp),buf,' ')<0) {
137
printf("SARG: Maybe you have a broken record or garbage in column 5 in your %s file of the topsites.\n",general2);
140
if (getword(ntemp,sizeof(ntemp),buf,' ')<0) {
141
printf("SARG: Maybe you have a broken record or garbage in column 6 in your %s file of the topsites.\n",general2);
144
if (getword(ntemp,sizeof(ntemp),buf,' ')<0) {
145
printf("SARG: Maybe you have a broken record or garbage in column 7 in your %s file of the topsites.\n",general2);
148
if (getword(ntime,sizeof(ntime),buf,' ')<0) {
149
printf("SARG: Maybe you have a broken record or garbage in column 8 in your %s file of the topsites.\n",general2);
110
154
strcpy(ourl,url);
150
192
if(strcmp(TopsitesSortType,"d") == 0)
151
193
strcpy(sortt,"-r");
153
sprintf(csort,"sort %s -k %s -o '%s' '%s'",sortt,sortf,sites,general3);
195
sprintf(csort,"sort %s -k %s -o \"%s\" \"%s\"",sortt,sortf,sites,general3);
196
cstatus=system(csort);
197
if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
198
fprintf(stderr, "SARG: sort command return status %d\n",WEXITSTATUS(cstatus));
199
fprintf(stderr, "SARG: sort command: %s\n",csort);
202
if((fp_in=fopen(sites,"r"))==NULL) {
203
fprintf(stderr, "SARG: (topsite) %s: %s\n",text[8],sites);
204
fprintf(stderr, "SARG: sort command: %s\n",csort);
156
208
unlink(general2);
157
209
unlink(general3);
159
if((fp_in=fopen(sites,"r"))==NULL) {
160
fprintf(stderr, "SARG: (topsite) %s: %s\n",text[8],sites);
164
211
if((fp_ou=fopen(report,"w"))==NULL) {
165
212
fprintf(stderr, "SARG: (topsite) %s: %s\n",text[8],report);
171
218
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);
173
220
fputs("</head>\n",fp_ou);
174
fprintf(fp_ou,"<body bgcolor=%s text=%s background='%s'>\n",BgColor,TxColor,BgImage);
175
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);
221
fprintf(fp_ou,"<body bgcolor=\"%s\" text=\"%s\" background=\"%s\">\n",BgColor,TxColor,BgImage);
222
write_logo_image(fp_ou);
177
224
if(strcmp(IndexTree,"date") == 0)
178
225
show_sarg(fp_ou,"../../..");
180
227
show_sarg(fp_ou, "..");
182
fputs("<center><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
183
sprintf(url,"<tr><th class=\"title\">%s</th></tr>\n",Title);
186
sprintf(url,"<tr><td class=\"header3\">%s: %s</td></tr>\n",text[89],period);
188
sprintf(url,"<tr><th class=\"header3\">%s %s %s</th></tr>\n",text[83],TopSitesNum,text[84]);
190
fputs("</table></center>\n",fp_ou);
192
fputs("<center><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_ou);
229
fputs("<div align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\">\n",fp_ou);
230
fprintf(fp_ou,"<tr><th class=\"title\">%s</th></tr>\n",Title);
232
fprintf(fp_ou,"<tr><td class=\"header3\">%s: %s</td></tr>\n",text[89],period);
233
fprintf(fp_ou,"<tr><th class=\"header3\">%s %s %s</th></tr>\n",text[83],TopSitesNum,text[84]);
234
fputs("</table></div>\n",fp_ou);
236
fputs("<div align=\"center\"><table cellpadding=\"1\" cellspacing=\"2\">\n",fp_ou);
193
237
fputs("<tr><td></td></tr>\n",fp_ou);
194
sprintf(url,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th> \
238
fprintf(fp_ou,"<tr><th class=\"header\">%s</th><th class=\"header\">%s</th> \
195
239
<th class=\"header\">%s</th><th class=\"header\">%s</th> \
196
240
<th class=\"header\">%s</th></tr>\n", \
197
241
text[100],text[91],text[92],text[93],text[99]);
203
246
while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
204
247
if(regs>atoi(TopSitesNum))
206
getword(nacc,sizeof(nacc),buf,' ');
249
if (getword(nacc,sizeof(nacc),buf,' ')<0) {
250
printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",sites);
207
253
if (atoi(nacc) == 0) continue;
209
getword(nbytes,sizeof(nbytes),buf,' ');
210
getword(ntime,sizeof(ntime),buf,' ');
211
getword(url,sizeof(url),buf,' ');
254
if (getword(nbytes,sizeof(nbytes),buf,' ')<0 ||
255
getword(ntime,sizeof(ntime),buf,' ')<0 || getword(url,sizeof(url),buf,' ')<0) {
256
printf("SARG: Maybe you have a broken record or garbage in your %s file.\n",sites);
213
260
twork1=my_atoll(nacc);
214
261
twork2=my_atoll(nbytes);
215
262
twork3=my_atoll(ntime);
217
sprintf(wwork1,"%s",fixnum(twork1,1));
218
sprintf(wwork2,"%s",fixnum(twork2,1));
219
sprintf(wwork3,"%s",fixtime(twork3,1));
264
strcpy(wwork1,fixnum(twork1,1));
265
strcpy(wwork2,fixnum(twork2,1));
266
strcpy(wwork3,fixtime(twork3));
221
268
if(strlen(BlockIt) > 0)
222
269
sprintf(BlockImage,"<a href=\"%s%s?url=%s\"><img src=\"../images/sarg-squidguard-block.png\" border=\"0\"></a> ",wwwDocumentRoot,BlockIt,url);
223
270
else BlockImage[0]='\0';
226
sprintf(ourl,"<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);
273
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);
232
fputs("</table></center>\n",fp_ou);
278
fputs("</table>\n</div>\n",fp_ou);
234
280
show_info(fp_ou);
236
282
fputs("</body>\n</html>\n",fp_ou);